GNU Guix (pronounced like "geeks") is a purely functional
package manager for the
Dependable. In addition to standard package management
features, Guix supports transactional upgrades and roll-backs,
unprivileged package management, per-user profiles, and garbage
collection. Read more...
It provides Guile Scheme APIs,
including high-level embedded domain-specific languages (EDSLs), to
describe how packages are built and
Liberating. Guix forms the basis of the Guix System
Distribution—GNU's advanced GNU/Linux
the freedom of computer
Guix is based on the Nix package
As of version 0.8, the Guix System Distribution (GNU GSD)
installed on an i686 or x86_64 machine. It uses
the Linux-Libre kernel and
the GNU dmd init system.
Alternately, GNU Guix can be
installed as an
additional package manager on top of an installed Linux-based system, on
i686, x86_64, and mips64el.
Its salient package
management features are implemented.
provides 1,000+ packages
as pre-built binaries. The Guix System Distribution has
but will please the enthusiastic hacker in you. Join us in
Guix in its early development stages. Source code for Guix as well
as USB installation images of the Guix System Distribution can be
found on the GNU ftp server for alpha
See the installation
instructions from the manual.
August 2014, GNU
(WebM; 60 minutes)
July 2014, Open
Bioinformatics Codefest 2014:
(WebM; 55 minutes)
August 2013, GNU Hackers Meeting
- GNU Guix: Package without a scheme!, by Andreas:
- Guix, the Computing Freedom Deployment Tool, by Ludovic:
video (WebM; 60 minutes, 127MB)
Lisp Symposium (ELS):
(Ogg/Theora; 84 minutes, 88.1MB)
is used to discuss Guix, including development and enhancement
July 2013, the bug-Guix mailing list filled that role.
for discussions about the broader GNU
(private mailing list) to report issues with system administration of
Hydra and the build machines.
- Commit notifications
receives notifications of commits to the version
and most other GNU software are made on
- Security reports
Security reports that should not be made immediately public can be
sent directly to the maintainer. If there is no response to an urgent
issue, you can escalate to the general
mailing list for advice.
- Internet relay chat
Some Guix users and developers hang out on the #guix channel
of the Freenode IRC network
mailing list to report bugs.
Before reporting a bug, please check whether the bug is already
in the bug database.
Source code repository
Guix is developed using the Git version control system.
git clone git://git.savannah.gnu.org/guix.git
You can also browse the Git repository with your web browser:
Commit notifications can be received on
the Guix-commits mailing list.
Contributing new code
Guix is implemented in Scheme,
using GNU Guile.
You do not need to be a Guile or Scheme expert to use
Guix or to contribute packages to the distribution—that is
what this talk
demonstrated. Information on how to add packages to the distribution
can be found in the
Nonetheless, if you want to dive further into Guix, you
will find it useful to browse Guile's
manual or other
material about Scheme.
Also, make sure to read
files for more details on the development setup, as well as the coding
and cooperation conventions used in the Guix project.
A repository with artwork for use in the operating system, such as
the logo, background image of the bootloader, etc., is available at
We're always looking for help in this area, so
do chime in if you're interested!
Documents, supporting material of previous
talks, and auxiliary information useful to hackers and maintainers is
and GNU in general, is a volunteer effort, and you can contribute. For
information, please read How to help GNU. If you'd
like to get involved, it's a good idea to join the mailing
Guix is currently being maintained by Ludovic Courtès.
Please use the mailing lists for contact.
is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free
Software Foundation; either version 3 of the License, or (at your
option) any later version.