GNU Guix 1.3 released: an advanced distribution of the GNU system
GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the kernel Linux, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines.
In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.
![]()
Feature
- Liberating. Guix is an advanced distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.
- Dependable. Guix supports transactional upgrades and roll-backs, unprivileged package management, and more. When used as a standalone distribution, Guix supports declarative system configuration for transparent and reproducible operating systems.
- Hackable. It provides Guile Scheme APIs, including high-level embedded domain-specific languages (EDSLs) to define packages and whole-system configurations.
Changelog v1.3
User experience
A distinguishing Guix feature is its support for declarative deployment: instead of running a bunch of
guix installandguix removecommands, you runguix package --manifest=manifest.scm, wheremanifest.scmlists the software you want to install in a snippet that looks like this:;; This is 'manifest.scm'. (specifications->manifest (list "emacs" "guile" "gcc-toolchain"))Doing that installs exactly the packages listed. You can have that file under version control and share it with others, which is convenient. Until now, one would have to write the manifest by hand—not insurmountable, but still a barrier to someone willing to migrate to the declarative model.
The new
guix package --export-manifestcommand (and its companion--export-channelsoption) produces a manifest based on the contents of an existing profile. That makes it easy to transition from the classic “imperative” model, where you runguix installas needed, to the more formal declarative model. This was long awaited!Users who like to always run the latest and greatest pieces of the free software commons will love the new
--with-latestpackage transformation option. Using the same code asguix refresh, this option looks for the latest upstream release of a package, fetches it, authenticates it, and builds it. This is useful in cases where the new version is not yet packaged in Guix.More…
Support Our Threat Intelligence
If you find our technology report and cybersecurity news helpful, consider supporting our work.