<mark_weaver>the most salient feature is perhaps the dependability: if an upgrade breaks anything, you can always roll back.
<mark_weaver>package builds are purely functional, in the sense of purely functional programming.
<mark_weaver>also, unprivileged users can install their own software using guix, such that the guix daemon builds software on the user's behalf, in a way that allows sharing but cannot break anything for anyone else.
<mark_weaver>the btrfs/zfs approach to snapshots is interesting, but there's one problem: you can't really have access to both the new and old versions at the same time. while btrfs (and maybe zfs, dunno) allows you to mount multiple snapshots at the same time, they will be at different mount points, which means that the software on at least one of those mount points probably won't work properly.
<mark_weaver>in the Guix/Nix approach, you can experiment with the new versions while still using the old versions. and one user can use the old versions while another user uses the new versions, etc.
<mark_weaver>more generally, you might actually need two different versions of a library somewhere in the middle of the software stack, because maybe one higher-level component requires a new version, and another higher-level component is broken on the new version. with the guix/nix approach, there's no problem. each higher-level component can use a different version of the same lower-level component.
<zacts>one last question. are only geeks allowed to hack on guix, or are nerds allowed also?