Planet Guix

GNU Guix 1.5.0 released

We are pleased to announce the release of GNU Guix version 1.5.0! The release comes with ISO-9660 installation images, virtual machine images, and with tarballs to install the package manager on top of your GNU/Linux distro, either from source or from binaries—check out the download page . Guix users can update by running guix pull . It’s been 3 years since the previous release . That’s a lot of time, reflecting both the fact that, as a rolling release , users continuously get new features and update by running guix pull ; but it also shows a lack of…

Meet Guix at FOSDEM

It’s that time of the year again: next week is FOSDEM time! As in previous years , many Guix people will be in Brussels. Right after FOSDEM, about sixty of us will gather on February 2–3 for the Guix Days! First things first: Guix presence at FOSDEM. On Saturday, January 31st : In Name resolution in package management systems — A reproducibility perspective , Gábor Boskovits will look will look at how several package managers refer to packages and how this affects reproducibility. Simon Tournier will…

Backup of S3 Objects Using rsnapshot

I’ve been using rsnapshot to take backups of around 10 servers and laptops for well over 15 years, and it is a remarkably reliable tool that has proven itself many times. Rsnapshot uses rsync over SSH and maintains a temporal hard-link file pool. Once rsnapshot is configured and running, on the backup server, you get a hardlink farm with directories like this for the remote server:

Creating your own Guix substitute server

I lately dedicated some time to setting up my own substitute server for Guix on a foreign distribution. This post is about that experience, after verifying that such a process is currently quite underdocumented. A substitute server is clearly a required step in order to cultivate a personal or unofficial/alternative channel for Guix, at least if one has more than one box (and possibly one physical location) to manage.

With or without Guix: Deploying complex software stacks on major supercomputers

How does Guix help in deploying complex HPC software stacks on supercomputers? A common misconception is that Guix helps if and only if it is installed on the target supercomputer. This would be a serious limitation since, to date, you may find Guix on a number of small- to medium-size clusters (“Tier-2”) but not yet on national and European supercomputers (“Tier-1” and “Tier-0”). While we boasted quite a few times about the use of guix pack to run benchmarks, one might wonder how much of it is applicable to more complex applications.

Reproducible Guix Container Images

Around a year ago I wrote about Guix Container Images for GitLab CI/CD and these images have served the community well. Besides continous use in CI/CD, these Guix container images are used to confirm reproducibility of the source tarball artifacts in the releases of Libtasn1 v4.20, InetUtils v2.6, Libidn2 v2.3.8, Libidn v1.43, SASL v2.2.2, Guile-GnuTLS v5.0.1, and OATH Toolkit v2.6.13. See how all those release announcements mention a Guix commit? That’s the essential supply-chain information about the Guix build environment that allows the artifacts to be re-created. To make sure this is repeatable, the release tarball artifacts are re-created from source code every week in the verify-reproducible-artifacts project, that I wrote about earlier. Guix’s time travelling feature make this sustainable to maintain, and hopefully will continue to be able to reproduce the exact same tarball artifacts for years to come.

A Planet for Guix

I am pleased to announce the availability of Planet Guix , an Atom and RSS aggregator covering all things Guix. You can browse posts on the website or use your favourite feed reader to subscribe to the aggregate feed . Planet Guix already has subscriptions to 19 blogs from around the community; if you write about Guix (no matter how infrequently) and would like your blog to be included, or if you would like to suggest another blog I missed, please create a pull request against the repository in Codeberg — you'll see that the subscriptions are simply configured as association…