They implemented the Nix model in Guile, so inspiration is selling it short. Although Guix have arguably passed Nix in terms of features already, with a much better command-line tool, a linter, importers for several external package registries and grafting[0] which is a real pain point in Nix.
I think part of the reason they are now cruising past Nix (despite 1/10th of the users) is that it's written in a proper programming language, and not a home-made language that relies heavily on bash.
That said, I'm really happy with NixOS after two years, and would not consider going back to any "conventional" distro for my own workstation. Coming from a Gentoo background, there is nothing like screwing up your system and simply booting into the previous generation :)
Having the entire system configuration in one place that can be version controlled is a big plus too. You can create a live CD, VM, container etc from the very same code.
Nix and Guix can also be used standalone (think Homebrew or Gentoo Prefix), and can be very handy shell tools. E.g. `guix environment foo`[1] will drop you to an ephemeral shell environment with all build dependencies of package foo available.
One upside (or downside, depending on your PoV) of Nix is that unfree packages exist (though disabled by default) in the standard repo. Want the actual useful graphics drivers for gaming? Steam? Both easy to install.
I love the idea of using a real language, a real LISP, instead of that Nix-contraoption, but currently having access to FSF-approved free software only is a complete deal-killer for me on my laptop. I still need some unfree software, and I don't care about software patents (ref for instance MP3 and H264 decoding).
If Guix gets to the point where every concern except that surpasses NixOS, we might see a close-to-upstream Guix-fork or third party repo (like MELPA and MARMALADE for Emacs) being established to address that.
Honestly, I'm quite fond of Nix. Some of the more complex library code is quite gnarly, but I prefer the almost-JSON-ish nature of Nix for most package definitions over sexps.
I think part of the reason they are now cruising past Nix (despite 1/10th of the users) is that it's written in a proper programming language, and not a home-made language that relies heavily on bash.
That said, I'm really happy with NixOS after two years, and would not consider going back to any "conventional" distro for my own workstation. Coming from a Gentoo background, there is nothing like screwing up your system and simply booting into the previous generation :)
Having the entire system configuration in one place that can be version controlled is a big plus too. You can create a live CD, VM, container etc from the very same code.
Nix and Guix can also be used standalone (think Homebrew or Gentoo Prefix), and can be very handy shell tools. E.g. `guix environment foo`[1] will drop you to an ephemeral shell environment with all build dependencies of package foo available.
0: https://www.gnu.org/software/guix/manual/html_node/Security-...
1: https://www.gnu.org/software/guix/manual/html_node/Invoking-...