-*- mode: org -*- [[https://www.gnu.org/software/guix/][GNU Guix]] (IPA: /ɡiːks/) is a purely functional package manager, and associated free software distribution, for the [[https://www.gnu.org/gnu/gnu.html][GNU system]]. In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. It provides [[https://www.gnu.org/software/guile/][Guile]] Scheme APIs, including a high-level embedded domain-specific languages (EDSLs) to describe how packages are to be built and composed. GNU Guix can be used on top of an already-installed GNU/Linux distribution, or it can be used standalone (we call that “Guix System”). Guix is based on the [[https://nixos.org/nix/][Nix]] package manager. * Requirements If you are building Guix from source, please see the manual for build instructions and requirements, either by running: info -f doc/guix.info "Requirements" or by checking the [[https://guix.gnu.org/manual/en/html_node/Requirements.html][web copy of the manual]]. * Installation See the manual for the installation instructions, either by running info -f doc/guix.info "Installation" or by checking the [[https://guix.gnu.org/manual/en/html_node/Installation.html][web copy of the manual]]. * Building from Git For information on building Guix from a Git checkout, please see the relevant section in the manual, either by running info -f doc/guix.info "Building from Git" or by checking the [[https://guix.gnu.org/manual/en/html_node/Building-from-Git.html][web_copy of the manual]]. * How It Works Guix does the high-level preparation of a /derivation/. A derivation is the promise of a build; it is stored as a text file under =/gnu/store/xxx.drv=. The (guix derivations) module provides the `derivation' primitive, as well as higher-level wrappers such as `build-expression->derivation'. Guix does remote procedu
A big thanks to Eelco Dolstra, who designed and implemented Nix. Transposing functional programming discipline to package management proved to be inspiring and fruitful. Thanks to the following people who contributed to GNU Guix through suggestions, bug reports, patches, internationalization, or general infrastructure help: Lluís Batlle i Rossell <viric@viric.name> Sylvain Beucler <beuc@beuc.net> Carlos Carleos <carleos@uniovi.es> Felipe Castro <fefcas@gmail.com> Daniel Clark <dclark@pobox.com> Alexandru Cojocaru <xojoc@gmx.com> Aleix Conchillo Flaqué <aconchillo@gmail.com> Malcolm Cook <MEC@stowers.org> Thomas Danckaert <thomas.danckaert@gmail.com> Rafael Ferreira <rafael.f.f1@gmail.com> Christian Grothoff <christian@grothoff.org> Eric Hanchrow <eric.hanchrow@gmail.com> Konrad Hinsen <konrad.hinsen@fastmail.net> Brandon Invergo <brandon@gnu.org> Anders Jonsson <anders.jonsson@norsjovallen.se> Jeffrin Jose <ahiliation@yahoo.co.in> Kete <kete@ninthfloor.org> Daniel Kochmański <dkochmanski@hellsgate.pl> Matthew Lien <bluet@bluet.org> Dave Love <fx@gnu.org> Chris Marusich <cmmarusich@gmail.com> Niels Möller <nisse@lysator.liu.se> Cyprien Nicolas <cyprien@nicolas.tf> Yutaka Niibe <gniibe@fsij.org> Andrei Osipov <andrspv@gmail.com> Petter <petter@mykolab.ch> Adam Pribyl <pribyl@lowlevel.cz> Pjotr Prins <pjotr.public12@thebird.nl> Yakkala Yagnesh Raghava <hi@yagnesh.org> Joshua Randall <jcrandall@alum.mit.edu> Bruno Félix Rezende Ribeiro <oitofelix@gnu.org> Benno Schulenberg <coordinator@translationproject.org> Thomas Schwinge <thomas@codesourcery.com> Alexander Shendi <Alexander.Shendi@web.de> Alen Skondro <askondro@gmail.com> Jan Synáček <jan.synacek@gmail.com> Matthias Wachs <wachs@net.in.tum.de> Christine Lemmer-Webber <cwebber@dustycloud.org> Philip Woods <elzairthesorcerer@gmail.com> GNU Guix also includes non-software works. Thanks to the following people who contributed the logo and general artwork and themes: Nikita Karetnikov <nikita@karetnikov.org> Felipe López <felipe.lopez@openmailbox.org>