GNU Guix & GuixSD 0.15.0 Release: advanced distribution of the GNU operating system
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.
The Guix System Distribution (GuixSD) is an advanced distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.
- The unloved
guix pull
command, which allows users to upgrade Guix and its package collection, has been overhauled and we hope you will like it. We’ll discuss these enhancements in another post soon but suffice to say that the newguix pull
now supports rollbacks (just likeguix package
) and that the new--list-generations
option allows you to visualize past upgrades. It’s also faster, not as fast as we’d like though, so we plan to optimize it further in the near future.guix pack
can now produce relocatable binaries. With-f squashfs
it can now produce images stored as SquashFS file systems. These images can then be executed by Singularity, a “container engine” deployed on some high-performance computing clusters.- GuixSD now runs on ARMv7 and AArch64 boxes! We do not provide an installation image though because the details depend on the board you’re targeting, so you’ll have to build the image yourself following the instructions. On ARMv7 it typically uses U-Boot, while AArch64 boxes such as the OverDrive rely on the EFI-enabled GRUB. Bootloader definitions are available for many boards—Novena, A20 OLinuXino, BeagleBone, and even NES.
- We further improved error-reporting and hints provided by
guix system
. For instance, it will now suggest upfront kernel modules that should be added to the initrd—previously, you could install a system that would fail to boot simply because the initrd lacked drivers for your hard disk.- OS configuration has been simplified with the introduction of things like the
initrd-modules
field and thefile-system-label
construct.- There’s a new
guix system docker-image
command that does exactly what you’d expect. 🙂- There’s a dozen new GuixSD services: the Enlightenment and MATE desktops, Apache httpd, support for transparent emulation with QEMU through the
qemu-binfmt
service, OpenNTPD, and more.- There were 1,200 new packages, so we’re now close to 8,000 packages.
- Many bug fixes!
- The manual is now partially translated into French and you can help translate it into your native language by joining the Translation Project.