4 ms·
Why the extra effort on the GNU Project's part to create Guix? What are the advantages over just adopting Nix? Doesn't this mean that everything the Nix projec
by sciurus 11y ago
Why the extra effort on the GNU Project's part to create Guix? What are the advantages over just adopting Nix? Doesn't this mean that everything the Nix project packages has to be repackaged for Guix, and vice-versa?
I found this comparison at http://sandervanderburg.blogspot.com/2012/11/on-nix-and-gnu-guix.html http://sandervanderburg.blogspot.com/2012/11/on-nix-and-gnu-...
- davexunit 11y ago>Why the extra effort on the GNU Project's part to create Guix? 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.
- taylanub 11y agoGuix is a GNU project, meaning it will adhere to a higher code of software freedom ethics. (For instance Nix ships Adobe Flash Player with Firefox if I remember correctly.) 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.