Don't know about Guix, it seems to be inspired by/similar to Nix. As far as I understand, the advantage of Nix is that it's a stateless description of the system, so the advantages are:
* you can describe a tree of dependencies using any version of the package you want, and can easily rollback to a previous tree if an update broke it
* because you describe a tree of packages, you're actually describing the complete state of the system, there's no leftovers from previous installations which make it work by chance
* as a result you can easily partially alter (and rollback) or move nix configurations from one machine to the next
Essentially nix (and guix?) merges package management and configuration management in a stateless and declarative, easily audited and customised, manner.
Comments
Don't know about Guix, it seems to be inspired by/similar to Nix. As far as I understand, the advantage of Nix is that it's a stateless description of the system, so the advantages are:
* you can describe a tree of dependencies using any version of the package you want, and can easily rollback to a previous tree if an update broke it
* because you describe a tree of packages, you're actually describing the complete state of the system, there's no leftovers from previous installations which make it work by chance
* as a result you can easily partially alter (and rollback) or move nix configurations from one machine to the next
Essentially nix (and guix?) merges package management and configuration management in a stateless and declarative, easily audited and customised, manner.