gpg -vv -r myid -e -a name, on Nostr: Where #NixOS has Modules that are enabled and disabled through attribute sets in the ...
Where #NixOS has Modules that are enabled and disabled through attribute sets in the system, #Guix has System Services which provide a more structured way of assembling your system.
System services are bits of self-contained logic that can "extend" your system in some way. They usually do this by providing extensions to other services. These extension points can be thought of as hooks. A few illustrative examples: the "user account" service provides an extension to add new users, the "shepherd" service provides an extension to add new daemons to the system, the "activation" service provides a hook to run code when you "start" the system. This mechanism is open, so you can write services to extend existing services, as well as write services which provide extension points for other services.
On the whole, I think the abstraction of system services makes it a bit easier to reason about the final system than NixOS's "big ball of merged modules". That said, I think NixOS's modules have had more development time put into them, so it's more likely that you can find a module that does what you want and enable it with less fuss. Guix's services are bit rougher around the edges, so it's not always as obvious/trivial how to get things working.
https://www.reddit.com/r/GUIX/comments/p9n8xd/does_guix_have_modules_options_that_abstract_away/Published at
2023-12-31 13:27:09Event JSON
{
"id": "f3a05cea3fb8eea3c279a6195dfa5026c9980306ce24eda206c8ed7c025146f9",
"pubkey": "75fa3ebb1419481aa23d1d2fda8e0f665e627cf41562306ff7e34ccd2cd07c25",
"created_at": 1704029229,
"kind": 1,
"tags": [
[
"t",
"nixos"
],
[
"t",
"guix"
],
[
"content-warning",
"a very cool thread for my purpose"
],
[
"proxy",
"https://emacs.ch/users/brokenix/statuses/111675259605497951",
"activitypub"
]
],
"content": "Where #NixOS has Modules that are enabled and disabled through attribute sets in the system, #Guix has System Services which provide a more structured way of assembling your system.\nSystem services are bits of self-contained logic that can \"extend\" your system in some way. They usually do this by providing extensions to other services. These extension points can be thought of as hooks. A few illustrative examples: the \"user account\" service provides an extension to add new users, the \"shepherd\" service provides an extension to add new daemons to the system, the \"activation\" service provides a hook to run code when you \"start\" the system. This mechanism is open, so you can write services to extend existing services, as well as write services which provide extension points for other services.\nOn the whole, I think the abstraction of system services makes it a bit easier to reason about the final system than NixOS's \"big ball of merged modules\". That said, I think NixOS's modules have had more development time put into them, so it's more likely that you can find a module that does what you want and enable it with less fuss. Guix's services are bit rougher around the edges, so it's not always as obvious/trivial how to get things working.\nhttps://www.reddit.com/r/GUIX/comments/p9n8xd/does_guix_have_modules_options_that_abstract_away/",
"sig": "4fd8c2cc1736532d7021fa55261c81f5670bad010714c51c907de8aa01644a520f37c3fdc16ee6f03fb88b88ee4f913fc4a916b5d52acb666b3d2373a4777af2"
}