4 ms·
Sad to see GNU Guix struggling, they are young though and I have hopes for the future. About a year ago I made a choice between trying out GNU Guix and NixOS, s
by ninjin 7y ago
Sad to see GNU Guix struggling, they are young though and I have hopes for the future. About a year ago I made a choice between trying out GNU Guix and NixOS, since this week I now run NixOS on all my servers and desktops after gradually phasing out my old Ubuntu stack.
It has generally been smooth sailing, with the occasional hick up that required me to draw upon my general Unix skills. What caught me off guard is how having a solid configuration to revert to has made me start tinkering with my operating system again akin to how I did when I started using Linux/BSD in the early 00s. But, enough about NixOS, I hope GNU Guix continues to make progress as there needs to be more competition in this space. If you have an evening to spare, I highly recommend trying a distribution like this out in a VM to get a taste of what it feels like to use it – it is, different… but in a good way.
- deleted 7y ago[deleted]
- zaphirplane 7y agoSomething I couldn’t get about nix by skimming the documentation is how it manages application configuration. Using traditional systems when you upgrade the package responsible for the network configuration my current configuration is carried thru or merged into the new format if the package changes it’s configuration syntax. How does nixos manage /etc ?
- evil-olive 7y agoFor the majority of changes, it "just works". For example, here's the part of nixpkgs that configures wireless networking via wpa_supplicant, as well as the actual package build of wpa_supplicant: https://github.com/NixOS/nixpkgs/blob/nixos-19.09/nixos/modules/services/networking/wpa_supplicant.nix https://github.com/NixOS/nixpkgs/blob/nixos-19.09/nixos/modu... https://github.com/NixOS/nixpkgs/blob/nixos-19.09/pkgs/os-specific/linux/wpa_supplicant/default.nix https://github.com/NixOS/nixpkgs/blob/nixos-19.09/pkgs/os-sp... Because they're contained within the same git repo, if a new version of wpa_supplicant changed the syntax of wpa_supplicant.conf, the upgrade could be handled easily (assuming the user-facing options in NixOS didn't need to change). For more complicated changes, there's `system.stateVersion`: https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion An example of this would be if NixOS version A ships with Postgres version X by default, while NixOS version B upgrades to Postgres version Y. stateVersion allows a sane upgrade path where you can update to NixOS version B without breaking your database immediately (because stateVersion is still A).
- takeda 7y agoFiles in /etc shouldn't be modified directly. You edit configuration.nix and it generates these files. How it is done, depends on a module.