|
|
|
|
|
by einpoklum
317 days ago
|
|
Two notes from reading the first several paragraphs: 1.
It seems one needs to know some Scheme in order to write these files: https://www.scheme.org/ I don't think it's possible to just "wing it" by copy-and-paste. 2.
I did not understand the introductory paragraph about how services "extend" each other. Does every service have hooks for possible extensions? What if a new service doesn't fit existing extension hooks? (I can understand service dependencies of course, but it seems to go beyond that.) |
|
No, only few services define service extensions.
It's more common for services to be configured solely via their configuration struct.
See the following for docs:
* https://guix.gnu.org/manual/en/html_node/Service-Composition...
* https://guix.gnu.org/manual/en/html_node/Service-Types-and-S...
This is less flexible-by-default than NixOS module, where any module can modify any other module. That is by design. The Guix developers see NixOS's approach as failing the principle-of-least-authority, where any arbitrary module (even those imported via flakes) can add a root SSH key.
I use NixOS, but it's an interesting tradeoff.