I found this comparison at http://sandervanderburg.blogspot.com/2012/11/on-nix-and-gnu-...
I found this comparison at http://sandervanderburg.blogspot.com/2012/11/on-nix-and-gnu-...
There are a couple reasons:
1) We believe that unifying the entire system using a general purpose programming language that allows for the creation of embedded domain specific languages (Scheme) is better than using a domain specific language (the Nix language) and a multitude of other languages behind it (C++, Perl, Python, Bash). Our build scripts and client side code is written in Scheme. Our package and system services are written in Scheme. Our init system is written in Scheme. Our initial RAM disk is written in Scheme. This allows us to have good interoperability and reuse a lot of code in different places.
2) We are committed to providing a fully free GNU/Linux distro as defined by the FSF. NixOS includes proprietary some components.
>What are the advantages over just adopting Nix?
I think that our user and programming interfaces are better. We give more care to making sure package test suites pass and we don't use pre-built binaries from third parties (no blobs, no pre-built minified JavaScript, etc). We have really nice Emacs integration. It's nice to have a system that is fully free by default.
>Doesn't this mean that everything the Nix project packages has to be repackaged for Guix, and vice-versa?
Yes.
With that said, I need to mention that I think Nix is great. Really great. I just like the Guix implementation and philosophy more. Hope this helps.
Guix uses Guile Scheme APIs/EDSLs for package recipes, build systems, etc., giving you the power of a proper programming language (and a lisp at that) as opposed to the special-purpose Nix language and arguably dirty Bash and Perl code.
The Guix System Distribution uses a Guile-based init system, DMD, instead of systemd, which again should give a lot of power and flexibility. (systemd being implemented in C instead.)
That's all off the top of my head. I haven't used Nix and someone who did might be able to point out many more differences that aren't obvious at first.