GNU Guix and GuixSD 0.16.0 released
We are pleased to announce the new release of GNU Guix and GuixSD, version 0.16.0! This release is (hopefully!) the last one before 1.0—we have been closing most key items for 1.0 over the last few months.
The release comes with GuixSD ISO-9660 installation
images,
a virtual machine image of
GuixSD,
and with tarballs to install the package manager on top of your
GNU/Linux distro, either from
source
or from
binaries.
Guix users can update by running guix pull
.
It’s been 5 months since the previous release, during which 95 people contributed code and packages. Here are the highlights.
- The default substitute
URL
has been changed to
https://ci.guix.info
. This is backed by a more powerful build farm with terabytes of storage kindly donated by the Bioinformatics platform of the Berlin Institute of Medical Systems Biology (BIMSB) at the Max Delbrück Center (MDC). The build farm front-end runs Cuirass, our continuous integration tool that was partly developed during two GSoC internships. guix pull
now lists new and upgraded packages, and it has a--profile
option that allows you to keep several Guix revisions in parallel. Related to that, the newguix describe
command displays information about the Guix revision you are using.guix pull
now supports channels. In a nutshell, you can specify in~/.config/guix/channels.scm
the channels from whichguix pull
will fetch Guix as well as, optionally, third-party package repositories. Againguix describe
displays all the channels in use andguix describe -f channels
produces a “pinned channel” specification that can be used as thechannels.scm
file ofguix pull
.- Using the new inferior mechanism, you can now interact with a different revision of Guix and even compose packages coming from different revisions of Guix!
- The output of the command-line tools has been noticeably improved:
important events are colorized,
guix package
andguix system
no longer display build logs, andguix build
colorizes build logs (in a way that is similar to what Emacs-Guix does.) - There are new package transformation
options:
--with-branch
and--with-commit
allow you to obtain a package variant straight from its Git repository. - Guix had reproducible builds and now it has “reproducible source code downloads”: when a package refers to a Git repository that has disappeared (which is unfortunately not uncommon!), the checkout can be fetched from Software Heritage. That makes Guix one of the first distros to be backed by a long-term archive. See this issue for more info.
- Our Rust packages are now fully bootstrapped from source, starting from mrustc, a Rust compiler written in C++. This is a victory on this instance of “yogurt software”, and Guix is probably the first distro to achieve this. More on that in a future post!
- On GuixSD,
guix system reconfigure
will now always load replacements of system services. That way, when you deem appropriate, you can runherd restart SERVICE
to start the upgraded service. - As usual, 985 packages were added and 1,945 were upgraded, notably the GNU C Library now at version 2.28 (which, incidentally, allowed us to get rid of our Hurd-specific glibc variant, at last!). Today Guix provides 8,715 packages.
- The manual is now partially translated into German. The French translation is now 90% complete. You can help translate the manual into your native language by joining the Translation Project.
Pffew, quite a long list already! The release announcement lists additional noteworthy changes and bug fixes you may be interested in.
Enjoy!
About GNU Guix
GNU Guix is a transactional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and respects the user's freedom.
In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native Guile modules, using extensions to the Scheme language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.
GuixSD can be used on an i686, x86_64, ARMv7, and AArch64 machines. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and aarch64.
Unless otherwise stated, blog posts on this site are copyrighted by their respective authors and published under the terms of the CC-BY-SA 4.0 license and those of the GNU Free Documentation License (version 1.3 or later, with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts).