Blog — Scheme API
Write package definitions in a breeze
November 24, 2023
More than 28,000 packages are available in Guix today, not counting third-party channels. That’s a lot—the 5th largest GNU/Linux distro ! But it’s nothing if the one…
Parameterized Packages for GNU Guix
June 9, 2023
Hello Guix! I'm Sarthak and I'll be working on implementing Parameterized Packages for GNU Guix as a Google Summer of Code intern under the guidance of Pjotr Prins…
Dissecting Guix, Part 3: G-Expressions
April 19, 2023
Welcome back to Dissecting Guix ! Last time, we discussed monads , the functional programming idiom used by Guix to thread a store connection through a series of store-related…
Building Toolchains with Guix
March 15, 2023
In order to deploy embedded software using Guix we first need to teach Guix how to cross-compile it. Since Guix builds everything from source, this means we must teach…
Dissecting Guix, Part 2: The Store Monad
February 20, 2023
Hello again! In the last post , we briefly mentioned the with-store and run-with-store macros. Today, we'll be looking at those in further…
Dissecting Guix, Part 1: Derivations
January 4, 2023
To a new user, Guix's functional architecture can seem quite alien, and possibly offputting. With a combination of extensive #guix -querying, determined manual-reading, and plenty of source-perusing, they…
Keeping one’s home tidy
March 21, 2022
How much effort to recreate your work environment when you switch to a new machine? What would it take to roll back to your previous environment once you’ve noticed…
The Big Change
December 15, 2021
Making cross-cutting changes over a large code base is difficult, but it's occasionally necessary if we are to keep the code base tidy and malleable. With almost 800K source…
Taming the ‘stat’ storm with a loader cache
August 2, 2021
It was one of these days where some of us on IRC were rehashing that old problem—that application startup in Guix causes a “ stat storm”—and lamenting…
Reproducible data processing pipelines
June 11, 2021
Last week, we at Guix-HPC published videos of a workshop on reproducible software environments we organized on-line. The videos are well worth watching—especially if you’re into reproducible…
Getting bytes to disk more quickly
March 26, 2021
Let’s face it: functional package managers like Guix provide unequaled support for reproducibility and transactional upgrades, but the price to pay is that users often spend a fair amount of…
Securing updates
July 1, 2020
Software deployment tools like Guix are in a key position when it comes to securing the “software supply chain”—taking source code fresh from repositories and providing users with ready-to-use binaries.…
GNU Shepherd user services
May 17, 2020
One of the things which sets Guix apart from other GNU/Linux distributions is that it uses GNU Shepherd instead of the now ubiquitous systemd. A side effect of…
Grafts, continued
May 6, 2020
Guix includes a mechanism called grafts that allows us to provide users with security updates in a timely fashion, even for core packages deep down in the…
Guile 3 & Guix
January 24, 2020
Version 3.0 of GNU Guile, an implementation of the Scheme programming language , was released just last week . This is a major milestone for Guile, which gets compiler improvements and…
Spreading the news
November 12, 2019
Like most free software projects, Guix has no shortage of communication channels: there’s this blog , the NEWS file for release notes, a bunch of …
Managing Servers with GNU Guix: A Tutorial
November 4, 2019
The outcome of this year's GSoC is a Guile-based programming interface named guix deploy for automatically creating, upgrading, and changing the configurations of machines running the Guix System.…
Towards Guix for DevOps
July 12, 2019
Hey, there! I'm Jakob, a Google Summer of Code intern and new contributor to Guix. Since May, I've been working on a DevOps automation tool for the Guix System, which…
Substitutes are now available as lzip
June 17, 2019
For a long time, our build farm at ci.guix.gnu.org has been delivering substitutes (pre-built binaries) compressed with gzip. Gzip was never the best choice in terms of compression…
Connecting reproducible deployment to a long-term source code archive
March 29, 2019
GNU Guix can be used as a “package manager” to install and upgrade software packages as is familiar to GNU/Linux users, or as an environment manager, but it can also provision…
A packaging tutorial for Guix
October 10, 2018
Introduction GNU Guix stands out as the hackable package manager, mostly because it uses GNU Guile , a powerful high-level programming language, one of the…
Multi-dimensional transactions and rollbacks, oh my!
July 24, 2018
One of the highlights of version 0.15.0 was the overhaul of guix pull , the command that updates Guix and its package collection. In Debian terms,…
Customize GuixSD: Use Stock SSH Agent Everywhere!
May 26, 2018
I frequently use SSH. Since I don't like typing my password all the time, I use an SSH agent. Originally I used the GNOME Keyring as my SSH…
Guix at the 2014 GNU Hackers Meeting
October 11, 2014
The Guix talk of this summer's GNU Hackers Meeting is now available (get the slides ). DOWNLOAD VIDEO (WebM, 60 minutes) …
Guix at the European Lisp Symposium
May 21, 2013
A paper presenting the design of Guix's Scheme API and packaging language has been accepted for the 2013 European Lisp Symposium (ELS) . ELS…