After more than three years without a formal release, GNU Guix 1.5.0 is finally available for download. To be honest, it feels less like a routine update and more like a quiet reset for one of the most opinionated Linux-based distributions around. True, Guix is a rolling-release system and users have been pulling updates this whole time, but this release matters because it shows how much the project has matured in how it operates, how it ships software, and how it approaches trust, security, and long-term sustainability.
Guix 1.5.0 ships with ISO-9660 installation images, virtual-machine images, and tarballs for installing the package manager on top of other GNU/Linux distributions. Existing users can upgrade by running guix pull, but this release is about more than just new bits landing on disk. It is about stability, clarity, and a project that finally paused long enough to tighten its own bolts.
The long gap between releases was not caused by inactivity. Over that time, the project absorbed more than 71,000 commits from hundreds of contributors. What changed is that Guix now has structure where it previously relied on informal consensus. A new consensus-based decision process gives contributors a formal way to propose and approve major changes using Guix Consensus Documents. For a project of this size, that kind of framework was necessary.
That same process helped Guix move all of its development infrastructure to Codeberg, leaving behind the patch-email workflow in favor of pull requests. It also made it possible to introduce something users have wanted for years: a predictable release cadence. Guix 1.5.0 is the first release under a new annual schedule, which should make future releases feel more regular and less stressful for both users and maintainers.
On the software side, the distribution has grown dramatically. More than 12,500 new packages were added since the last release, along with nearly 30,000 updates. That places Guix among the largest distributions in the world by package count. Desktop users will see immediate upgrades. KDE Plasma 6.5 is now available, and GNOME has jumped from version 42 to 46, with Wayland now the default. The GNOME service definitions were also reworked to make it easier to control what actually gets installed.
Under-the-hood, Guix System now uses version 1.0 of GNU Shepherd as its service manager. This brings support for timed services, kexec reboots, and modern logging without relying on older tools like syslogd. Around 40 new system services were added, including RabbitMQ, iwd, dhcpcd, and Forgejo Runner. These changes make Guix feel less like an experiment and more like something you could reasonably run on real machines every day.
There are also quieter but meaningful improvements. The old setuid-programs mechanism was replaced with privileged-programs, allowing more granular Linux capabilities. The nss-certs package is now included by default, fixing a long-standing annoyance for network-aware software.
Package versions reflect the size of the jump. GCC is now at 15.2.0, Emacs at 30.2, LLVM at 21.1.8, Linux-libre at 6.17.12, and browsers like Icecat and Librewolf have been updated to the 140 series. For developers, this alone makes Guix 1.5.0 feel like a modern platform again.
One of the most interesting updates is in bootstrapping. Guix now provides full-source bootstraps for the Zig and Mono compilers, reducing reliance on pre-built binaries even further. This directly addresses the trusting-trust problem that most distributions quietly ignore. Guix continues to treat this as a real engineering problem instead of a theoretical one.
The command-line experience also improved. The guix graph command can now export full dependency graphs as GraphML or CycloneDX JSON, allowing complete SBOM generation down to the first bootstrap binary. Containers created with guix shell are more flexible, guix pack can now produce RPMs and AppImages for non-Guix users, and a new guix locate command finally makes it easy to find which package provides a specific file.
Security work is another area where Guix quietly did the right thing. The Guix daemon can now run without root privileges using user namespaces, and this rootless mode is now the default when installing Guix on non-Guix systems. AppArmor profiles are included to make this work smoothly, and several CVEs were fixed in the daemon itself. It is not flashy work, but it is the kind that actually protects users.
Architecture support also expanded. Release tarballs are now available for the RISC-V 64-bit architecture, and x86_64 received renewed attention for GNU Hurd. Experimental support is now good enough that Hurd can be selected in the installer and even run on older ThinkPad hardware. It remains niche, but the progress is tangible.
Support independent tech journalism
NERDS.xyz is independently owned and operated. If you enjoy my coverage of Linux, AI, hardware, cybersecurity, and tech culture, consider supporting the site on Ko-fi.
Support NERDS.xyz