博客 - Scheme API

Write package definitions in a breeze

2023-11-24

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

2023-06-09

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

2023-04-19

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

2023-03-15

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

2023-02-20

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

2023-01-04

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

2022-03-21

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

2021-12-15

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

2021-08-02

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

2021-06-11

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

2021-03-26

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

2020-07-01

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

2020-05-17

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

2020-05-06

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

2020-01-24

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

2019-11-12

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

2019-11-04

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

2019-07-12

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

2019-06-17

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

2019-03-29

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

2018-10-10

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!

2018-07-24

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!

2018-05-26

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

2014-10-11

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

2013-05-21

A paper presenting the design of Guix's Scheme API and packaging language has been accepted for the 2013 European Lisp Symposium (ELS) . ELS…