Purely functional package manager for the GNU system
GNU Guix ([ 2] ) is a functional cross-platform package manager and a tool to instantiate and manage Unix-like operating systems, based on the Nix package manager . Configuration and package recipes are written in Guile Scheme . GNU Guix is the default package manager of the GNU Guix System distribution .[ 3]
Differing from traditional package managers , Guix (like Nix) utilizes a purely functional deployment model where software is installed into unique directories generated through cryptographic hashes . All dependencies for each software are included within each hash.[ 4] [ 5] This solves the problem of dependency hell ,[ 6] allowing multiple versions of the same software to coexist which makes packages portable and reproducible . Performing scientific computations in a Guix setup has been proposed as a promising response to the replication crisis .[ 7] [ 8]
The development of GNU Guix is intertwined with the GNU Guix System ,[ 9] an installable operating system distribution using the Linux-libre kernel and GNU Shepherd init system.[ 10] [ 11] [ 12]
^ Ludovic Courtès (19 December 2022). "GNU Guix 1.4.0 released" . Retrieved 21 December 2022 .
^ "GNU Guix Reference Manual" . www.gnu.org . Retrieved 23 April 2018 .
^ Ludovic Courtès (2013). Functional Package Management with Guix . Madrid , Spain : European Lisp Symposium.
^ Dolstra, E., de Jonge, M. and Visser, E. "Nix: A Safe and Policy-Free System for Software Deployment." In Damon, L. (Ed.), 18th Large Installation System Administration Conference (LISA '04) , pages 79–92, Atlanta, Georgia, USA. USENIX, November 2004.
^ Dolstra, E. The Purely Functional Software Deployment Model. PhD thesis, Faculty of Science, Utrecht, The Netherlands. January 2006. ISBN 90-393-4130-3 .
^ Prins, P., Suresh, J. and Dolstra, E., "Nix fixes dependency hell on all Linux distributions," Archived December 26, 2008, at the Wayback Machine linux.com , December 22, 2008
^
Hinsen, Konrad (July 2020). "Staged computation: the technique you did not know you were using" . Computing in Science and Engineering . 22 (4): 99–103. Bibcode :2020CSE....22d..99H . doi :10.1109/MCSE.2020.2985508 . ISSN 1558-366X . S2CID 219990590 . Retrieved 2022-11-04 .
^
Vallet, Nicolas; Michonneau, David; Tournier, Simon (4 October 2022). "Toward practical transparent verifiable and long-term reproducible research using Guix" (PDF) . Scientific Data . 9 (1): 597. Bibcode :2022NatSD...9..597V . doi :10.1038/s41597-022-01720-9 . ISSN 2052-4463 . PMC 9532446 . PMID 36195618 . Retrieved 2022-11-04 .
^ "What to call Guix?" (Mailing list). gnu-system-discuss. 2015-01-15.
^ Programming Interface (GNU Guix Reference Manual)
^ Guix: A New Package Manager & GNU Distribution - Phoronix
^ "guix-europe" . git.savannah.gnu.org . Archived from the original on 24 January 2021. Retrieved 16 May 2019 .