Disclaimer: I have been working on Guix since 2014 and use it in production.
Guix and Nix are both implementations of the functional package management idea. Nix has been around for quite a few more years than Guix.
In Guix package expressions are first-class and the DSL is embedded in Guile, a general purpose language, so packaging has a very different feel to it. It also allows for fun tools like "guix graph".
Guix is used in scientific environments (e.g. where I work); I don't know if there are deployments of Nix in HPC environments. I do think that there are more bioinformatics tools packaged for Guix.
Another difference is in how the two projects approach certain problems, such as bootstrapping from binaries. (Guix just got a new Java bootstrap from C.)
There is no rivalry between these projects and members of both projects cooperate in the reproducible builds efforts.
Guix and Nix are both implementations of the functional package management idea. Nix has been around for quite a few more years than Guix.
In Guix package expressions are first-class and the DSL is embedded in Guile, a general purpose language, so packaging has a very different feel to it. It also allows for fun tools like "guix graph".
Guix is used in scientific environments (e.g. where I work); I don't know if there are deployments of Nix in HPC environments. I do think that there are more bioinformatics tools packaged for Guix.
Another difference is in how the two projects approach certain problems, such as bootstrapping from binaries. (Guix just got a new Java bootstrap from C.)
There is no rivalry between these projects and members of both projects cooperate in the reproducible builds efforts.