← Back to context

Comment by SuperSandro2000

4 days ago

Guix has stripped away the biggest plus from NixOS: the module system and replaced it with a half assed system

In all those years working on and playing with free software, I still cannot understand the incessant need for badmouthing other projects and calling things "half-assed". What a destructive habit!

I mean, modules are just regular guile modules. It feels somewhat clunky, but at the same time you can use guile's introspection to do fun stuff.

I always found it more flexible, but on the other hand I never liked NixOS modules.

Can you say why you think nix modules are the "biggest plus" from NixOS? They don't even make the top 5 for me.

  • When installing Nextcloud I basically have the following 4 options: - Do everything by hand and read through the docs on every update. Does not sound like fun. - Use someones Ansible playbook and hope that they update it on time. meh, also customizing it is not a walk in the park and requires some effort on my side. - Use the upstream Docker container which has the same customization problem as Ansible - Use the NixOS module. Updates are fast. Configuration changes are being handled by NixOS and I can easily inject a nginx location block in my declarative config. I also can easily describe extra bits like pre-compressed assets which then are served by nginx in my normal workflow without having to think about them at all on updates.

    overlays and the module system are THE killer features. Almost no one else has something comparable to offer and if those powerful features are well understood, they can save you soo much hassle.

    • Isn't that just a function of how well-packaged the service is? If this is what you meant by "modules" then I feel like it covers pretty much all code re-use - including the guile module system used by guix. Is there something special about nix modules that is not just "I can re-use code"?