Originally posted by Venemo
View Post
The relatively uncommon thing that Nix and Guix should give you is atomic transactions. Rolling back to previous versions should always work and be almost instant, since it just involves changing a few symlinks.
The unique thing they give you is bit-for-bit reproducible builds. I don't think they have it working for all packages, but for many software packages if you built libfoo version 3.4.5 for x86_64 on Guix anywhere it should be bit-for-bit identical to everyone else's build of libfoo version 3.4.5 for x86_64. Likewise the same is true for Nix, though I don't know if the same version built on Nix and Guix would be identical. That kind of reliably reproducible thing is huge.
The Debian project, among others, has work ongoing about reproducible builds but as far as I know - and I could be wrong - they haven't made as much progress as the Nix and Guix teams.
Guix and Nix are also good for devops stuff. If you want two Ubuntu Linux VMs with complex configuration to be identical, you need to clone one to the other or do some work with other tools that automate the steps you need with files under /etc/ and the apt and deb tools for you (Chef, Puppet, Ansible, Saltstack, Sparrowdo, etc...) With Guix and Nix, the whole system configuration - packages, users, service settings, etc... - is managed by the configuration file for your package manager. So if you want a copy of a Guix installation you just copy the config.scm file from the source machine to the other Guix machine and then run "guix system reconfigure" and when you're done the two boxes are identical.
Comment