|
|
|
|
|
by singron
2224 days ago
|
|
NixOs manages configuration in a really elegant way with modules. Modules are a structured way of combining different sources of configuration. E.g. you might need to configure a list of users on the system. You might manually configure your user in your top-level module: users = [ "dataflow" ];
But if you have postgres enabled, then it might configure a user in it's own module. users = [ "postgres" ];
When the modules are evaluated and combined, you can end up with a list that contains both: users = [ "postgres" "dataflow" ];
Compare this to conventional distros. If you edit your distro's default config file, and the distro updates the default config file, how will your modified config be updated? E.g. Arch just puts the new config in a .pacnew file, and you will just keep using your old config. pacman prints a line out, but it often scrolls off the top of the screen and it's easy to miss. It's up to you to manually merge those configs now. E.g. my arch system has 22 .pacnew files in /etc, and occasionally things break or don't work as well because updates aren't applied to the configs. Debian has debconf, but that always seemed more like a set of ad-hoc workarounds than a solution. |
|