Introducing GNU Guix
lists.gnu.org
Introducing GNU Guix
1–10 of 113 posts
Re: Introducing GNU Guix
#2Re: Introducing GNU Guix
#3Re: Introducing GNU Guix
#4For a moment there I thought the GNU Hurd had been finished, I misread it as GNU Unix :(
Re: Introducing GNU Guix
#5It's "based on Nix", but what's the difference, and why fork?
Guix & Nix
~~~~~~~~~~
Nix is really two things: a package build tool, implemented by a library
and daemon, and a special-purpose programming language. Guix relies on
the former, but uses Scheme as a replacement for the latter.
Technically, Guix makes remote procedure calls to the ‘nix-worker’
daemon to perform operations on the store. At the lowest level, Nix
“derivations” represent promises of a build, stored in ‘.drv’ files in
the store. Guix produces such derivations, which are then interpreted
by the daemon to perform the build. Thus, Guix derivations can use
derivations produced by Nix (and vice versa); in Guix, the cheat code is
the ‘nixpkgs-derivation’ procedure. :-)
With Nix and the Nixpkgs distribution, package composition happens at
the Nix language level, but builders are usually written in Bash.
Conversely, Guix encourages the use of Scheme for both package
composition and builders.
http://lists.gnu.org/archive/html/guile-user/2012-07/msg0000...Re: Introducing GNU Guix
#6It's "based on Nix", but what's the difference, and why fork?
Re: Introducing GNU Guix
#7I feel that this should be answered in an FAQ, but I can't find the answer anywhere.
Re: Introducing GNU Guix
#8Debian's dpkg and apt are both GPL2+. What's the reason they are reinventing the wheel here? Is there some kind of licence incompatibility that the GNU project cares about? Is there some kind of major architectural difference? Why is it important enough to fragment Free Software developers over? I feel that this should be answered in an FAQ, but I can't find the answer anywhere.
In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection
Maybe that’s enough? (I don’t understand package managers.)