<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>Planet Guix</title><link rel="self" type="application/atom+xml" href="https://planet.guix.gnu.org/atom.xml" /><link rel="alternate" type="text/html" hreflang="en" href="https://planet.guix.gnu.org/" /><updated>2026-06-10T16:40:20Z</updated><id>https://planet.guix.gnu.org/atom.xml</id><entry><title>GoToSocial self-hosting tutorial</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/gotosocial-self-hosting-tutorial/index.html" /><id>https://fabionatali.com/posts/gotosocial-self-hosting-tutorial/index.html</id><updated>2026-05-17T00:00:00Z</updated><summary type="html">&lt;p&gt;
Last year I went through a &lt;i&gt;self-hosting spree&lt;/i&gt; during which I deployed some services (e.g. Nextcloud, Mattermost, and Prosody) to a bunch of VPSes, while documenting the process on this blog. This post is a follow-up on that series, detailing the deployment of &lt;a href=&quot;https://gotosocial.org/&quot;&gt;GoToSocial&lt;/a&gt;, a lightweight &lt;a href=&quot;https://activitypub.rocks/&quot;&gt;ActivityPub&lt;/a&gt; (&lt;a href=&quot;https://en.wikipedia.org/wiki/Fediverse&quot;&gt;Fediverse&lt;/a&gt;) server written in Go.
&lt;/p&gt;</summary></entry><entry><title>Time travel without borders</title><author><name>Ludovic Courtès</name></author><link href="https://guix.gnu.org/blog/2026/time-travel-without-borders//" /><id>https://guix.gnu.org/blog/2026/time-travel-without-borders//</id><updated>2026-05-12T15:00:00Z</updated><summary type="html">&lt;p&gt;  When offered the option to run other people’s code, a prime
consideration is often ease of deployment.  While much progress has been
made in support of rapid deployment, the security implications of those
quick deployments is often overlooked.  In this post, we look at a new
feature of  guix time-machine  and  guix pull  in support of  one-line
deployment commands : the ability to download channel files, but without
compromising on security.  Sharing code  The normal workflow to share software and make it easily deployable with
Guix goes like this: someone puts their packager hat on and…&lt;/p&gt;</summary></entry><entry><title>Arguments parsing in Guile</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/arguments-parsing-in-guile.html" /><id>https://fishinthecalculator.me/blog/arguments-parsing-in-guile.html</id><updated>2026-05-05T23:50:00Z</updated><summary type="html">&lt;p&gt;While Guile Scheme has a lot of hidden gems, like &lt;code&gt;(ice-9 peg)&lt;/code&gt;, parsing command line arguments is not one of its strengths in my opinion. Even if there are many powerful approaches to structured argument parsing, there is no API simple enough for me to know it by heart (as opposed for example to Python &lt;code&gt;ArgumentParser&lt;/code&gt;).&lt;/p&gt;</summary></entry><entry><title>GNU Mes and the expertise buildup</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/fasterMes7.html" /><id>tag:ekaitz.elenq.tech,2026-05-06:/fasterMes7.html</id><updated>2026-05-05T21:00:00Z</updated><summary type="html">&lt;p&gt;Catching air in the middle of the deep-dive on Scheme bytecode&amp;nbsp;interpreters.&lt;/p&gt;</summary></entry><entry><title>A no-cost audio upgrade for my workstation</title><author><name>gabriel@erlikon.ch (Gabriel &lt;gabber&gt; Wicki)</name></author><link href="https://mit.teil.space/index.html#orgf186229" /><id>https://mit.teil.space/index.html#orgf186229</id><updated>2026-05-05T11:38:00Z</updated><summary type="html">&lt;p&gt;
    How I did my part in saving the planet by getting an old but working
    audio interface up, running and mainlined in GNU Guix. &lt;a href=&quot;https://mit.teil.space/./rane-sl3.html&quot;&gt;Read the whole
    post here.&lt;/a&gt;
    &lt;/p&gt;</summary></entry><entry><title>Guix at the French Reproducible Research Network conference</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2026/05/guix-at-the-french-reproducible-research-network-conference" /><id>https://hpc.guix.info/blog/2026/05/guix-at-the-french-reproducible-research-network-conference</id><updated>2026-05-04T14:00:00Z</updated><summary type="html">&lt;p&gt;Guix will be featured at the &lt;a href=&quot;https://jrfrr-2026.sciencesconf.org/&quot;&gt;annual conference of the French
Reproducible Research Network&lt;/a&gt;,
19–21 May 2026, Bordeaux, France.&lt;/p&gt;</summary></entry><entry><title>Programming for the web with Guile Knots resource pools</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/guile_knots_resource_pools/" /><id>https://www.cbaines.net/posts/guile_knots_resource_pools/</id><updated>2026-04-26T09:01:34Z</updated><summary type="html">&lt;p&gt;On the internet, anyone can make a request to your web
service. Especially in this time of abusive web crawling linked to
AI/LLM companies, it's essential to program in a defensive style and
stay in control, even when faced with a volume of requests that can't
be handled.&lt;/p&gt;</summary></entry><entry><title>Using the substitute* procedure to alter Guix package source files</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2026/04/18/guix-package-source-alterations-using-substitute" /><id>tag:www.futurile.net,2026-04-18:/2026/04/18/guix-package-source-alterations-using-substitute</id><updated>2026-04-18T19:19:00Z</updated><summary type="html">&lt;p&gt;Altering source files using the substitute procedure to search and replace text&lt;/p&gt;</summary></entry><entry><title>Safsaf - A web framework for Guile</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/safsaf_a_guile_web_framework/" /><id>https://www.cbaines.net/posts/safsaf_a_guile_web_framework/</id><updated>2026-04-14T09:09:16Z</updated><summary type="html">&lt;p&gt;Over the past week or two I've been working on a new web framework for
Guile. This is based on the knowledge I've accumulated over the past 7
years working on things like the &lt;a href=&quot;https://codeberg.org/guix/data-service&quot;&gt;Guix Data
Service&lt;/a&gt;, &lt;a href=&quot;https://codeberg.org/guix/build-coordinator&quot;&gt;Guix Build
Coordinator&lt;/a&gt; and &lt;a href=&quot;https://codeberg.org/guix/nar-herder&quot;&gt;Nar
Herder&lt;/a&gt;, but also based on their
code, as I've used Claude Code running Claude Opus 4.6 to build this
(a large language model).&lt;/p&gt;</summary></entry><entry><title>verteiler example project</title><author><name>gabriel@erlikon.ch (Gabriel &lt;gabber&gt; Wicki)</name></author><link href="https://mit.teil.space/index.html#org86bf83e" /><id>https://mit.teil.space/index.html#org86bf83e</id><updated>2026-04-09T23:01:00Z</updated><summary type="html">&lt;p&gt;
    &lt;code&gt;/ver-teil-en/ [german]: to distribute, to spread, to deal out&lt;/code&gt;
    &lt;/p&gt;</summary></entry><entry><title>ZimaBoard 2 Setup</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/zimaboard_2_setup/" /><id>https://www.cbaines.net/posts/zimaboard_2_setup/</id><updated>2026-04-03T11:29:22Z</updated><summary type="html">&lt;p&gt;I've got a new homeserver/NAS (Network Attached Storage), previously I
was using some Raspberry Pis, but I've wanted for a while a low power
board that has SATA ports for attaching hard drives and one that could
run GNU Guix, and the &lt;a href=&quot;https://www.zimaspace.com/products/single-board2-server&quot;&gt;ZimaBoard 2&lt;/a&gt; looked like it might be a good option.&lt;/p&gt;</summary></entry><entry><title>Announcing Guile Knots</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/announcing_guile_knots/" /><id>https://www.cbaines.net/posts/announcing_guile_knots/</id><updated>2026-03-23T18:40:29Z</updated><summary type="html">&lt;p&gt;&lt;a href=&quot;https://forge.cbaines.net/cbaines/guile-knots&quot;&gt;Guile Knots&lt;/a&gt; is a
library providing higher-level patterns and building blocks for
programming with &lt;a href=&quot;https://codeberg.org/guile/fibers&quot;&gt;Guile Fibers&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>Install GUIX on Macbook 12</title><author><name>Peter Tillemans</name></author><link href="https://www.snamellit.com/posts/20260320t110150-install-guix-on-macbook-12-guix-linux-sysadmin/" /><id>https://www.snamellit.com/posts/20260320t110150-install-guix-on-macbook-12-guix-linux-sysadmin/</id><updated>2026-03-20T10:01:00Z</updated><summary type="html">&lt;p&gt;I have an old Intel macbook 12 of begin 2016, one of the so-called
&quot;Retina Macbooks&quot;. It is an ideal couch device but far too slow to run
modern OS-X, provided you wanted to run that to begin with.&lt;/p&gt;</summary></entry><entry><title>A Sane Directory Structure for Software Projects</title><author><name>Andrew Tropin</name></author><link href="https://trop.in/blog/a-sane-directory-structure-for-software-projects.html" /><id>https://trop.in/blog/a-sane-directory-structure-for-software-projects.html</id><updated>2026-03-15T07:46:00Z</updated><summary type="html">&lt;p&gt;I always spend too much time setting up a new project and thinking how
to structure it.  I decided to summuraize my experience, to enhance it
with a small research and to write down my thoughts on the topic. So I
can come back to it myself or reference in the discussion.&lt;/p&gt;</summary></entry><entry><title>The 64-bit Hurd is Here!</title><author><name>Janneke Nieuwenhuizen, Yelninei</name></author><link href="https://joyofsource.com/the-64-bit-hurd.html" /><id>https://joyofsource.com/the-64-bit-hurd.html</id><updated>2026-03-01T10:00:00Z</updated><summary type="html">&lt;p&gt;Fifteen months have passed since our last &lt;a href=&quot;https://guix.gnu.org/en/blog/2024/hurd-on-thinkpad/&quot;&gt;Guix/Hurd on a Thinkpad X60
&lt;/a&gt; post and a lot
has happened with respect to &lt;a href=&quot;https://hurd.gnu.org&quot;&gt;the Hurd&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>The 64-bit Hurd is Here!</title><author><name>Janneke Nieuwenhuizen, Yelninei</name></author><link href="https://guix.gnu.org/blog/2026/the-64-bit-hurd//" /><id>https://guix.gnu.org/blog/2026/the-64-bit-hurd//</id><updated>2026-03-01T10:00:00Z</updated><summary type="html">&lt;p&gt;  Fifteen months have passed since our last  Guix/Hurd on a Thinkpad X60
  post and a lot
has happened with respect to  the Hurd .  And most of you will have guessed, unless you skipped the title of
this post, the  rumored x86_64
support  has
landed in Guix!  Here is a not-so-short overview of our Hurd work over the past 1.5 years:    The  build daemon fails when invoking  guix authenticate  on the
Hurd  bug was fixed.  This was our
most pressing problem as it meant that we could not keep…&lt;/p&gt;</summary></entry><entry><title>Hacklog: Diffing and Comparing Guix Derivations Using Breadth-first Search &amp; Jaccard</title><author><name>Wilko</name></author><link href="https://me.literatelisp.eu/hacklog-diffing-and-comparing-guix-derivations-using-breadth-first-search--jaccard.html" /><id>https://me.literatelisp.eu/hacklog-diffing-and-comparing-guix-derivations-using-breadth-first-search--jaccard.html</id><updated>2026-02-22T22:00:00Z</updated><summary type="html">&lt;p&gt;A cool thing about Guix (and probably functional package managers in
general) is, that derivations form a directed acyclic graph, which
means that all packages with their dependencies or system
configurations can be represented as such. Another, even cooler, thing
is, that Guix provides a graphing utility called `guix graph` which
helps visualising these DAGs in Graphviz (if you ever wanted to frame
a picture of your favorite package graph or play a game of &quot;is this
the dependency graph of a rust package or the visualization of a
Mandelbrot set?&quot; this &lt;strong&gt;should&lt;/strong&gt; be the tool of your choice).&lt;/p&gt;</summary></entry><entry><title>Forgejo, AGit, and Pull Request Templates</title><author><name>Carlo Zancanaro</name></author><link href="https://carlo.zancanaro.id.au/posts/forgejo-agit-and-pull-request-templates.html" /><id>https://carlo.zancanaro.id.au/posts/forgejo-agit-and-pull-request-templates.html</id><updated>2026-02-21T00:00:00Z</updated><summary type="html">&lt;p&gt;I've raised a few PRs against &lt;a href=&quot;https://codeberg.org/guix/guix&quot;&gt;the Guix Codeberg repository&lt;/a&gt; recently, and each time I've done so with &lt;a href=&quot;https://forgejo.org/docs/latest/user/agit-support/&quot;&gt;Forgejo's AGit workflow&lt;/a&gt;. This workflow is pretty nice, and allows me to raise a PR entirely from within Emacs. To do that, I've been using this code in my Emacs config to add an extra option to the &lt;code&gt;magit-push&lt;/code&gt; transient to use the AGit flow to push to the upstream branch:&lt;/p&gt;</summary></entry><entry><title>Funding GNU Guix - Update at Guix Days 2026</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=G_mp7ikrQ4Q" /><id>yt:video:G_mp7ikrQ4Q</id><updated>2026-02-17T13:01:24Z</updated><summary type="html">&lt;p&gt;An update on the fundraising campaign to Sustain and Strengthen GNU Guix. Covers the fundraising done during the last few months of 2025 and into 2026. Goes into the proposed budget and activities for Guix Foundation during 2026. All the programmes are at a proposal stage, when this video was recorded, and may change depending on the decisions of the Foundation's membership council (SAC).&lt;/p&gt;</summary></entry><entry><title>Result of Sustain and Strengthen Fundraising</title><author><name>Steve George</name></author><link href="https://guix.gnu.org/blog/2026/result-of-sustain-and-strengthen-fundraising//" /><id>https://guix.gnu.org/blog/2026/result-of-sustain-and-strengthen-fundraising//</id><updated>2026-02-17T11:00:00Z</updated><summary type="html">&lt;p&gt;      Results from Guix Fundraising  We're on course to  beat our fundraising target  to sustain and strength Guix. We're bringing the fundraising campaign to an end, so let's cover how much we've raised and what it means for GNU Guix.  After four months of fundraising we've raised  €11,378  for the GNU Guix project. This means we've received money for 75% of our €15,000 annual goal.  We also pre-registered tickets for Guix Days this year.  Pjotr Prins  and Manolis Ragkousis have done a stellar job organising it…&lt;/p&gt;</summary></entry><entry><title>How I manage my Guix System configs</title><author><name>Jonathan Frederickson</name></author><link href="https://www.terracrypt.net/posts/guix-config.html" /><id>https://www.terracrypt.net/posts/guix-config.html</id><updated>2026-02-15T13:41:00Z</updated><summary type="html">&lt;p&gt;I've been meaning to write up a post on how I manage my Guix System configurations for a while, because I've hit on a solution that feels kinda nice, inspired by how folks do things in NixOS.&lt;/p&gt;</summary></entry><entry><title>Setting Up Cuirass Locally</title><author><name>Carlo Zancanaro</name></author><link href="https://carlo.zancanaro.id.au/posts/setting-up-cuirass-locally.html" /><id>https://carlo.zancanaro.id.au/posts/setting-up-cuirass-locally.html</id><updated>2026-02-15T00:00:00Z</updated><summary type="html">&lt;p&gt;Recently I've been trying to get &lt;a href=&quot;https://codeberg.org/guix/guix/pulls/2796&quot;&gt;a PR merged with some fixes for Lua&lt;/a&gt;. I thought this would be a pretty straightforward thing to merge, but it turns out that modifying the Lua packages leads to 990 packages needing to be rebuilt. This is more than the 300 limit for a merge to &lt;code&gt;master&lt;/code&gt;, so instead of merging my changes directly Andreas has kindly pushed them to a &lt;code&gt;lua-team&lt;/code&gt; branch and queued it up behind &lt;code&gt;go-team&lt;/code&gt;, &lt;code&gt;gnome-team&lt;/code&gt;, and &lt;code&gt;rust-team&lt;/code&gt;.&lt;/p&gt;</summary></entry><entry><title>Guix days 2026 retrospective</title><author><name>Noé Lopez</name></author><link href="https://xn--no-cja.eu/post/guix-days-2026-retrospective.html" /><id>https://xn--no-cja.eu/post/guix-days-2026-retrospective.html</id><updated>2026-02-13T00:26:00Z</updated><summary type="html">&lt;p&gt;
  Last week, from Monday to Tuesday was Guix days! Guix days is an
  annual FOSDEM fringe event, where Guix hackers from Europe and
  abroad meet. This year was my second time going, and I was waiting
  for it all year! In this post, I’ll do a quick retrospective of what
  happened, and my thoughts on it. Thanks to Futurile for suggesting
  that I make this post :)
&lt;/p&gt;</summary></entry><entry><title>Ruby Development Using Guix</title><author><name>Carlo Zancanaro</name></author><link href="https://carlo.zancanaro.id.au/posts/ruby-development-using-guix.html" /><id>https://carlo.zancanaro.id.au/posts/ruby-development-using-guix.html</id><updated>2026-02-08T00:00:00Z</updated><summary type="html">&lt;p&gt;Up until a few months ago, I was working on a Ruby on Rails monolith. In the four years that I worked on the project, we went through a few ways of building a local development environment:&lt;/p&gt;</summary></entry><entry><title>Guix-HPC Activity Report, 2025</title><author><name>Céline Acary-Robert, Benjamin Arrondeau, Pierre-Antoine Bouttier, Luca Cirrottola, Ludovic Courtès, Collin J. Doering, Jake Forster, Romain Garbage, Konrad Hinsen, Arun Isaac, Esragul Korkmaz, Mathieu Laparie, Pjotr Prins, Léo Orveillon, Cayetano Santos, Philippe Swartvagher, Simon Tournier, Ricardo Wurmus</name></author><link href="https://hpc.guix.info/blog/2026/02/guix-hpc-activity-report-2025" /><id>https://hpc.guix.info/blog/2026/02/guix-hpc-activity-report-2025</id><updated>2026-02-06T14:00:00Z</updated><summary type="html">&lt;p&gt;Guix-HPC is a collaborative effort to bring &lt;strong&gt;reproducible software
deployment to scientific workflows and high-performance computing&lt;/strong&gt; (HPC).
Guix-HPC builds upon the &lt;a href=&quot;https://guix.gnu.org&quot;&gt;GNU Guix&lt;/a&gt; software
deployment tools and aims to make them useful for HPC practitioners and
scientists concerned with dependency graph control and customization
and, uniquely, reproducible research.&lt;/p&gt;</summary></entry><entry><title>Guix On MNT Pocket Reform: What's Still Missing?</title><author><name>Wilko</name></author><link href="https://me.literatelisp.eu/guix-on-mnt-pocket-reform-whats-still-missing.html" /><id>https://me.literatelisp.eu/guix-on-mnt-pocket-reform-whats-still-missing.html</id><updated>2026-02-03T22:00:00Z</updated><summary type="html">&lt;p&gt;There was a
  &lt;a href=&quot;https://social.coop/@cwebber/116000903605117749&quot;&gt;session on running guix on weird computers
  &lt;/a&gt; during this
years Guix Days, and five people brought their purple colored MNT
  Pocket Reform laptops with them, which proves two things in my book:
&lt;/p&gt;</summary></entry><entry><title>Installing And Running Guix System On (rk3588) MNT Pocket Reform</title><author><name>Wilko</name></author><link href="https://me.literatelisp.eu/installing-and-running-guix-system-on-rk3588-mnt-pocket-reform.html" /><id>https://me.literatelisp.eu/installing-and-running-guix-system-on-rk3588-mnt-pocket-reform.html</id><updated>2026-01-26T22:00:00Z</updated><summary type="html">&lt;p&gt;I've been daily driving my MNT Pocket Reform for a year now, but only
recently managed to set-up Guix System earlier this January, after a
year of failed attempts. As of a few weeks ago I've been running:&lt;/p&gt;</summary></entry><entry><title>GNU Guix 1.5.0 released</title><author><name>Noé Lopez</name></author><link href="https://guix.gnu.org/blog/2026/gnu-guix-1.5.0-released//" /><id>https://guix.gnu.org/blog/2026/gnu-guix-1.5.0-released//</id><updated>2026-01-23T14:00:00Z</updated><summary type="html">&lt;p&gt;  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…&lt;/p&gt;</summary></entry><entry><title>Meet Guix at FOSDEM</title><author><name>Ludovic Courtès</name></author><link href="https://guix.gnu.org/blog/2026/meet-guix-at-fosdem-2026//" /><id>https://guix.gnu.org/blog/2026/meet-guix-at-fosdem-2026//</id><updated>2026-01-22T13:00:00Z</updated><summary type="html">&lt;p&gt;  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…&lt;/p&gt;</summary></entry><entry><title>Backup of S3 Objects Using rsnapshot</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2026/01/18/backup-of-s3-objects-using-rsnapshot/" /><id>https://blog.josefsson.org/?p=2257</id><updated>2026-01-17T22:04:01Z</updated><summary type="html">&lt;p&gt;I&amp;#8217;ve been using &lt;a href=&quot;https://rsnapshot.org/&quot;&gt;rsnapshot&lt;/a&gt; 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 &lt;a href=&quot;https://rsync.samba.org/&quot;&gt;rsync&lt;/a&gt; over &lt;a href=&quot;https://www.openssh.org/&quot;&gt;SSH&lt;/a&gt; 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:&lt;/p&gt;</summary></entry><entry><title>Creating your own Guix substitute server</title><author><name>Francesco P. Lovergine</name></author><link href="https://lovergine.com/creating-your-own-guix-substitute-server.html" /><id>https://lovergine.com/creating-your-own-guix-substitute-server.html</id><updated>2025-12-21T16:30:00Z</updated><summary type="html">&lt;p&gt;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.&lt;/p&gt;</summary></entry><entry><title>GNU Mes and the module system</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/fasterMes5.html" /><id>tag:ekaitz.elenq.tech,2025-12-20:/fasterMes5.html</id><updated>2025-12-19T22:00:00Z</updated><summary type="html">&lt;p&gt;How does the &lt;span&gt;GNU&lt;/span&gt; Mes module system work and why it is crucial for all
the&amp;nbsp;work.&lt;/p&gt;</summary></entry><entry><title>With or without Guix: Deploying complex software stacks on major supercomputers</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2025/12/with-or-without-guix-deploying-complex-software-stacks" /><id>https://hpc.guix.info/blog/2025/12/with-or-without-guix-deploying-complex-software-stacks</id><updated>2025-12-12T14:30:00Z</updated><summary type="html">&lt;p&gt;How does Guix help in deploying complex HPC software stacks on
supercomputers?  A common misconception is that Guix helps &lt;em&gt;if and only
if&lt;/em&gt; 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
&lt;a href=&quot;https://hpc.guix.info/blog/2024/01/hip-and-rocm-come-to-guix/&quot;&gt;quite&lt;/a&gt;
&lt;a href=&quot;https://hpc.guix.info/blog/2024/11/targeting-the-crayhpe-slingshot-interconnect/&quot;&gt;a few&lt;/a&gt;
&lt;a href=&quot;https://hpc.guix.info/blog/2019/12/optimized-and-portable-open-mpi-packaging/&quot;&gt;times&lt;/a&gt;
about the use of &lt;code&gt;guix pack&lt;/code&gt; to run benchmarks, one might wonder how
much of it is applicable to more complex applications.&lt;/p&gt;</summary></entry><entry><title>About computing environments for reproducible science</title><author><name>Francesco P. Lovergine</name></author><link href="https://lovergine.com/about-computing-environments-for-reproducible-science.html" /><id>https://lovergine.com/about-computing-environments-for-reproducible-science.html</id><updated>2025-12-09T13:00:00Z</updated><summary type="html">&lt;p&gt;A few weeks ago I gave a lecture for the &lt;a href=&quot;https://spatial-ecology.net/course-geocomputation-machine-learning-for-environmental-applications-intermediate-level-2025/&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;Spatial Ecology
course&lt;/a&gt;
to introduce a handful of junior and not-so-junior researchers from various
domains to the not-so-nice world of scientific computing environments.&lt;/p&gt;</summary></entry><entry><title>Reproducible Guix Container Images</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/12/07/reproducible-guix-container-images/" /><id>https://blog.josefsson.org/?p=2197</id><updated>2025-12-06T22:22:41Z</updated><summary type="html">&lt;p&gt;Around a year ago I wrote about &lt;a href=&quot;https://blog.josefsson.org/2024/12/18/guix-container-images-for-gitlab-ci-cd/&quot;&gt;Guix Container Images for GitLab CI/CD&lt;/a&gt; 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 &lt;a href=&quot;https://lists.gnu.org/archive/html/help-libtasn1/2025-02/msg00000.html&quot;&gt;Libtasn1 v4.20&lt;/a&gt;, &lt;a href=&quot;https://lists.gnu.org/archive/html/bug-inetutils/2025-02/msg00002.html&quot;&gt;InetUtils v2.6&lt;/a&gt;, &lt;a href=&quot;https://lists.gnu.org/archive/html/help-libidn/2025-03/msg00000.html&quot;&gt;Libidn2 v2.3.8&lt;/a&gt;, &lt;a href=&quot;https://lists.gnu.org/archive/html/help-libidn/2025-03/msg00014.html&quot;&gt;Libidn v1.43&lt;/a&gt;, &lt;a href=&quot;https://lists.gnu.org/archive/html/help-gsasl/2025-03/msg00000.html&quot;&gt;SASL v2.2.2&lt;/a&gt;, &lt;a href=&quot;https://lists.gnupg.org/pipermail/gnutls-help/2025-July/004889.html&quot;&gt;Guile-GnuTLS v5.0.1&lt;/a&gt;, and &lt;a href=&quot;https://lists.nongnu.org/archive/html/oath-toolkit-help/2025-07/msg00000.html&quot;&gt;OATH Toolkit v2.6.13&lt;/a&gt;. See how all those release announcements mention a Guix commit? That&amp;#8217;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 &lt;a href=&quot;https://gitlab.com/debdistutils/verify-reproducible-releases&quot;&gt;verify-reproducible-artifacts&lt;/a&gt; project, that I &lt;a href=&quot;https://blog.josefsson.org/2025/04/17/verified-reproducible-tarballs/&quot;&gt;wrote about earlier&lt;/a&gt;. Guix&amp;#8217;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.&lt;/p&gt;</summary></entry><entry><title>A Planet for Guix</title><author><name>Ray Miller</name></author><link href="https://guix.gnu.org/blog/2025/planet-guix//" /><id>https://guix.gnu.org/blog/2025/planet-guix//</id><updated>2025-12-05T12:00:00Z</updated><summary type="html">&lt;p&gt;  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…&lt;/p&gt;</summary></entry><entry><title>Guix on Trisquel &amp; Ubuntu for Reproducible CI/CD Artifacts</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/12/03/guix-on-trisquel-ubuntu-for-reproducible-ci-cd-artifacts/" /><id>https://blog.josefsson.org/?p=2186</id><updated>2025-12-02T22:01:49Z</updated><summary type="html">&lt;p&gt;Last week I published &lt;a href=&quot;https://blog.josefsson.org/2025/11/28/container-images-for-debian-with-guix/&quot;&gt;Guix on Debian container images&lt;/a&gt; that prepared for today&amp;#8217;s announcement of &lt;a href=&quot;https://gitlab.com/debdistutils/guix/guix-on-dpkg&quot;&gt;Guix on Trisquel/Ubuntu container images&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>Container Images for Debian with Guix</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/11/28/container-images-for-debian-with-guix/" /><id>https://blog.josefsson.org/?p=2173</id><updated>2025-11-28T16:32:33Z</updated><summary type="html">&lt;p&gt;The &lt;a href=&quot;https://gitlab.com/debdistutils/guix/debian-with-guix-container&quot;&gt;debian-with-guix-container project&lt;/a&gt; build and publish container images of &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian GNU/Linux&lt;/a&gt; stable with &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;GNU Guix&lt;/a&gt; installed.&lt;/p&gt;</summary></entry><entry><title>Improved font rendering in Guix</title><author><name>Jayesh Bhoot</name></author><link href="https://bhoot.org/2025/guix-improved-font-rendering" /><id>urn:uuid:1e8d8aab-5d8a-4f1c-ad1c-6f94cb1377d1</id><updated>2025-11-20T18:43:21Z</updated><summary type="html">&lt;p&gt;There is a neat trick to make fonts on Linux look thicker and smoother and sharper. Set the following variable in &amp;lt;code&amp;gt;/etc/environment&amp;lt;/code&amp;gt;:&lt;/p&gt;</summary></entry><entry><title>Connecting to a Cisco AnyConnect VPN on Guix System</title><author><name>Noé Lopez</name></author><link href="https://xn--no-cja.eu/post/connecting-to-a-cisco-anyconnect-vpn-on-guix-system.html" /><id>https://xn--no-cja.eu/post/connecting-to-a-cisco-anyconnect-vpn-on-guix-system.html</id><updated>2025-11-06T19:55:00Z</updated><summary type="html">&lt;p&gt;
  Yesterday, I got access to a virtual machine from my university for
  a school project. Great! The only catch: it was only accessible in
  the internal network via an obscure VPN protocol.
&lt;/p&gt;</summary></entry><entry><title>Update on the Guix Fundraising</title><author><name>Steve George</name></author><link href="https://guix.gnu.org/blog/2025/update-on-the-guix-fundraising//" /><id>https://guix.gnu.org/blog/2025/update-on-the-guix-fundraising//</id><updated>2025-11-03T11:00:00Z</updated><summary type="html">&lt;p&gt;      We're on our way  It's been a month since we started the fundraising campaign to Sustain and Strengthen Guix.  So far  we've raised €6562  which is around 40% of our €15000 annual goal.  If you'd like to support the project's fundraiser there's still time, pop over to the donate page now!   DONATE NOW   There have been a range of donations, both one-off and recurring.  A few people have made large one-off donations, one of over €2150!There have been a couple between €500-€250 and a…&lt;/p&gt;</summary></entry><entry><title>How to Set Up Guile Load Path</title><author><name>Andrew Tropin</name></author><link href="https://trop.in/blog/how-to-set-up-guile-load-path.html" /><id>https://trop.in/blog/how-to-set-up-guile-load-path.html</id><updated>2025-10-30T12:00:00Z</updated><summary type="html">&lt;p&gt;Guile Load Path is a place (or more precisely places), where Guile
looks for the source code.  This is the first thing one needs to set
correctly to work on a Guile Scheme project.  It makes Guile aware
both of your own modules and external dependencies.  For more details
refer to &lt;a href=&quot;https://www.gnu.org/software/guile/manual/html_node/Load-Paths.html&quot;&gt;Load
Paths&lt;/a&gt;
page in Guile Reference Manual. This guide will focus on getting and
setting the right values for it and discussing different approaches to
do so.&lt;/p&gt;</summary></entry><entry><title>Screenshot in Sway with GUIX</title><author><name>Peter Tillemans</name></author><link href="https://www.snamellit.com/posts/20251025t141904-screenshot-in-sway-with-guix-guix-linux/" /><id>https://www.snamellit.com/posts/20251025t141904-screenshot-in-sway-with-guix-guix-linux/</id><updated>2025-10-25T12:19:00Z</updated><summary type="html">&lt;p&gt;A &lt;a href=&quot;https://kaibreucker.dev/en/content/foss/sway/screenshots/&quot;&gt;blog post&lt;/a&gt; documented an elegant way to configure screenshots in
wayland using &lt;strong&gt;grim&lt;/strong&gt; and &lt;strong&gt;grimshot&lt;/strong&gt;. After moving my sway config to use
the &lt;strong&gt;GUIX&lt;/strong&gt; &lt;code&gt;sway-service&lt;/code&gt; to generate the config file Iost my configured
screenshot bindings.&lt;/p&gt;</summary></entry><entry><title>Tiny Build Farm for Guix, part 2</title><author><name>Andreas Enge</name></author><link href="https://enge.math.u-bordeaux.fr/blog/tbfg-2.html" /><id>https://enge.math.u-bordeaux.fr/blog/tbfg-2.html</id><updated>2025-10-24T00:00:00Z</updated><summary type="html">&lt;p&gt;
In our efforts to create a Tiny Build Farm for Guix, that is supposed
to report on the status of the packages assigned to the science team,
so far we have seen how to
set up
the required infrastructure.
On a dedicated machine with Guix as its operating system, we have added
several Shepherd services:
the Guix Build Coordinator together with a build agent;
and the web server part of the BFFE, which enables us to follow the
activity of the builders.
For performance reasons, we have renounced at installing an instance of the
Guix Data Service, and opt instead for talking to the instance operated
by the Guix project at &lt;code&gt;https://data.guix.gnu.org/&lt;/code&gt;, which
continually evaluates the Guix master branch and creates derivations for
all packages in the distribution.
The next step is to explore how to programmatically talk to the remote
data server from a Guile script, how to extract derivations we are
interested in, and how to submit them for building to our instance of the
build coordinator.
&lt;/p&gt;</summary></entry><entry><title>I Have to Live in a Forest to Work on Open Source</title><author><name>Andrew Tropin</name></author><link href="https://trop.in/blog/i-have-to-live-in-a-forest-to-work-on-open-source.html" /><id>https://trop.in/blog/i-have-to-live-in-a-forest-to-work-on-open-source.html</id><updated>2025-10-19T10:00:00Z</updated><summary type="html">&lt;p&gt;This fictional story begins more than 10 years ago. I was a student at
technical university and was confused by how outdated some of the
programming-related courses are. I was checking out a few first
lections and usually skipping the rest of them (except a couple
courses that were fun and uptodate). In my spare time I was tinkering
on gentoo linux, cybersecurity and competitive programming
(codeforces, ACM ICPC, etc). I wanted to start working ASAP, so that I
could finally get to the most interesting part, but man, how wrong I
was...&lt;/p&gt;</summary></entry><entry><title>Fundraising campaign to sustain GNU Guix</title><author><name>Steve George</name></author><link href="https://guix.gnu.org/blog/2025/fundraising-campaign-to-sustain-gnu-guix//" /><id>https://guix.gnu.org/blog/2025/fundraising-campaign-to-sustain-gnu-guix//</id><updated>2025-10-03T11:00:00Z</updated><summary type="html">&lt;p&gt;    Today we're launching a fundraising campaign to  sustain and strengthen  GNU Guix. Guix is completely independent from any company or institution, we rely on the support of our community to fund the project. If you can,  please help sustain Guix by making a donation .   DONATE NOW   Why we need your support  Like many Free Software projects we need financial support because running a project is expensive. We incur costs for development infrastructure, facilitating developer collaboration and supporting the community around the project.  As a package manager…&lt;/p&gt;</summary></entry><entry><title>Vision</title><author><name>Rutger van Beusekom, Janneke Nieuwenhuizen</name></author><link href="https://reasonable-sourcery.coop/vision.html" /><id>https://reasonable-sourcery.coop/vision.html</id><updated>2025-10-02T12:00:00Z</updated><summary type="html">&lt;p&gt;Free Software for Correctness;&lt;br /&gt;Correctness for Free Software.&lt;/p&gt;</summary></entry><entry><title>Deploy Guix on DigitalOcean without cloud-init</title><author><name>Arun Isaac</name></author><link href="https://systemreboot.net/post/deploy-guix-on-digital-ocean-without-cloud-init.html" /><id>https://systemreboot.net/post/deploy-guix-on-digital-ocean-without-cloud-init.html</id><updated>2025-09-18T00:00:00Z</updated><summary type="html">&lt;p&gt;A cloud-init service for Guix is still a work in progress. Meanwhile, here's how you can deploy Guix on DigitalOcean right away.&lt;/p&gt;</summary></entry><entry><title>Complex end-to-end tests using Guix G-expressions</title><author><name>Arun Isaac</name></author><link href="https://systemreboot.net/post/complex-end-to-end-tests-using-guix-g-expressions.html" /><id>https://systemreboot.net/post/complex-end-to-end-tests-using-guix-g-expressions.html</id><updated>2025-09-10T00:00:00Z</updated><summary type="html">&lt;p&gt;Complex end-to-end tests in development repositories involving packages written in several languages are a chore to describe and maintain. Often, the only recourse is to pull in pre-built binaries or haul around heavy Docker images. Could there be a better way? Could it be Guix (spoiler alert: yes!)?&lt;/p&gt;</summary></entry><entry><title>Guix for geeks</title><author><name>Francesco P. Lovergine</name></author><link href="https://lovergine.com/guix-for-geeks.html" /><id>https://lovergine.com/guix-for-geeks.html</id><updated>2025-09-03T19:40:00Z</updated><summary type="html">&lt;p&gt;In the last few months, I have installed and upgraded my second preferred
GNU/Linux system, GNU Guix, on multiple boxes. Regarding that system, I have
already &lt;a href=&quot;https://lovergine.com/tags/guix.html&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;written a few introductory posts&lt;/a&gt;
in the recent past. This is an update
about my experiences as a user and developer. I still think Guix is a giant
step forward in packaging and management, in comparison with Debian and other
distributions, for elegance and inner coherence.&lt;/p&gt;</summary></entry><entry><title>Privilege Escalation Vulnerability</title><author><name>Caleb Ristvedt</name></author><link href="https://guix.gnu.org/blog/2025/privilege-escalation-vulnerability-2025-2//" /><id>https://guix.gnu.org/blog/2025/privilege-escalation-vulnerability-2025-2//</id><updated>2025-09-01T14:00:00Z</updated><summary type="html">&lt;p&gt;  A security issue,
 CVE-2025-59378 , has
been identified in
  guix-daemon  ,
which allows for a local user to gain the privileges of any of the
build users and subsequently use this to manipulate the output of any
build. In the case of the rootless daemon, this also means gaining the
privileges of  guix-daemon . All systems are affected, whether or not
 guix-daemon  is running with root privileges. You are strongly
advised to  upgrade your daemon  now (see instructions below).  The only requirements to exploit this are the ability to create and build an
arbitrary derivation that has …&lt;/p&gt;</summary></entry><entry><title>with-imported-modules and friends</title><author><name>Arun Isaac</name></author><link href="https://systemreboot.net/post/with-imported-modules-and-friends.html" /><id>https://systemreboot.net/post/with-imported-modules-and-friends.html</id><updated>2025-08-31T00:00:00Z</updated><summary type="html">&lt;p&gt;What is the ubiquitous with-imported-modules in G-expressions? Why do you need it when you already have use-modules?&lt;/p&gt;</summary></entry><entry><title>Indent generated G-expression scripts</title><author><name>Arun Isaac</name></author><link href="https://systemreboot.net/post/indent-generated-gexp-scripts.html" /><id>https://systemreboot.net/post/indent-generated-gexp-scripts.html</id><updated>2025-08-28T00:00:00Z</updated><summary type="html">&lt;p&gt;Indent generated G-expression scripts with this trick to aid in debugging!&lt;/p&gt;</summary></entry><entry><title>Tiny Build Farm for Guix, part 1</title><author><name>Andreas Enge</name></author><link href="https://enge.math.u-bordeaux.fr/blog/tbfg-1.html" /><id>https://enge.math.u-bordeaux.fr/blog/tbfg-1.html</id><updated>2025-08-27T00:00:00Z</updated><summary type="html">&lt;p&gt;
One of the oft-cited reasons people give for not switching to
&lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt; is that their favourite software
is too outdated, and a look at
&lt;a href=&quot;https://repology.org/&quot;&gt;Repology&lt;/a&gt; shows that they are not wrong.
Now the number of active committers in the Guix project is amazingly small,
and even counting all contributors I am impressed by what these few people
actually achieve. Nevertheless I wondered how I could improve the situation
at least a little bit for packages I am interested in, that is, for the
science team; and the first step is to get an account of what actually
builds and what does not.
So I decided to set up my own little build farm, limited to the packages
in the scope of the science team, using the same technology that powers the
&lt;a href=&quot;https://bordeaux.guix.gnu.org/&quot;&gt;bordeaux&lt;/a&gt; build farm.
I call it the &lt;i&gt;Tiny Build Farm for Guix&lt;/i&gt;, or &lt;i&gt;TBFG&lt;/i&gt; for short,
and this post is the first one in (hopefully) a series of blog posts
about the topic; at the time of starting this series, the TBFG does not
actually exist yet, so wish me luck.
&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.27.1 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0271-released.html" /><id>https://joyofsource.com/gnu-mes-0271-released.html</id><updated>2025-08-19T10:00:00Z</updated><summary type="html">&lt;p&gt;Mes 0.27.1 is a bug-fix release.  It represents 53 commits by four
people over one year.  This release resurrects supports development
builds with gcc-14 and adds support for using NYACC versions 0.99.0
through 2.02.2.&lt;/p&gt;</summary></entry><entry><title>Wireguard VPN with Guix</title><author><name>Andreas Enge</name></author><link href="https://enge.math.u-bordeaux.fr/blog/wireguard.html" /><id>https://enge.math.u-bordeaux.fr/blog/wireguard.html</id><updated>2025-08-07T00:00:00Z</updated><summary type="html">&lt;p&gt;
Recently I changed my ISP, and the new one uses
&lt;a href=&quot;https://en.wikipedia.org/wiki/Carrier-grade_NAT&quot;&gt;Carrier-grade NAT&lt;/a&gt;,
or CGNAT, by default. While this sounds fancy and professional, it is in
fact even worse than conventional NAT: Not only do all my devices share the
same IPv4, but I share one IPv4 with several other customers!
Apparently I am only assigned a few out of the 65535 ports, and this
assignment may change from day to day, which implies that I cannot connect
from the outside to any of my home devices.
However, I do have a separate IPv4 of my own for a
&lt;a href=&quot;https://www.aquilenet.fr/services/h%C3%A9bergement-serveur/&quot;&gt;virtual
machine&lt;/a&gt;
at &lt;a href=&quot;https://www.aquilenet.fr/&quot;&gt;Aquilenet&lt;/a&gt;, and it should be
possible to use this as a trampoline to access my home through a virtual
private network.
We are already employing
&lt;a href=&quot;https://en.wikipedia.org/wiki/WireGuard&quot;&gt;WireGuard&lt;/a&gt;
for one of the
&lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt; build farms, so it felt like
a natural choice.
Guix provides the &lt;code&gt;wireguard-service-type&lt;/code&gt;, which is
&lt;a href=&quot;https://guix.gnu.org/manual/devel/en/html_node/VPN-Services.html&quot;&gt;documented&lt;/a&gt;
with all its options in the manual; but without an explanation of the
general concepts behind the service it is a bit difficult to set up.
The &lt;a href=&quot;https://guix.gnu.org/cookbook/en/html_node/&quot;&gt;Guix Cookbook&lt;/a&gt;
has an
&lt;a href=&quot;https://guix.gnu.org/cookbook/en/guix-cookbook.html#Connecting-to-Wireguard-VPN&quot;&gt;entry&lt;/a&gt;
on WireGuard, but it is concerned with kernel modules and connecting to an
existing WireGuard VPN, while my goal was to set one up in the first place.
This turned out to be surprisingly easy.
&lt;/p&gt;</summary></entry><entry><title>Running Guix in Container Toolbox</title><author><name>Ray Miller</name></author><link href="https://1729.org.uk/posts/guix-container-toolbox/" /><id>https://1729.org.uk/posts/guix-container-toolbox/</id><updated>2025-07-25T23:00:00Z</updated><summary type="html">&lt;p&gt;Using Guix with Container Toolbox on an atomic Fedora distrbution.&lt;/p&gt;</summary></entry><entry><title>Privilege Escalation Vulnerabilities (CVE-2025-46415, CVE-2025-46416)</title><author><name>Caleb Ristvedt</name></author><link href="https://guix.gnu.org/blog/2025/privilege-escalation-vulnerabilities-2025//" /><id>https://guix.gnu.org/blog/2025/privilege-escalation-vulnerabilities-2025//</id><updated>2025-06-24T14:00:00Z</updated><summary type="html">&lt;p&gt;  Two security issues, known as
  CVE-2025-46415   and
  CVE-2025-46416  , have been
identified in
  guix-daemon  ,
which allow for a local user to gain the privileges of any of the build users
and subsequently use this to manipulate the output of any build, as well as to
subsequently gain the privileges of the daemon user.  You are strongly advised
to  upgrade your daemon now  (see instructions below), especially on
multi-user systems.  Both exploits require the ability to start a derivation build.  CVE-2025-46415
requires the ability to create files in  /tmp  in the…&lt;/p&gt;</summary></entry><entry><title>NeoMutt: filtering email with Sieve</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/06/07/neomutt-mailutils-sieve" /><id>tag:www.futurile.net,2025-06-07:/2025/06/07/neomutt-mailutils-sieve</id><updated>2025-06-07T10:34:00Z</updated><summary type="html">&lt;p&gt;Using Mailutil's Sieve to filter email&lt;/p&gt;</summary></entry><entry><title>Bonfire &amp; Guix, a love story</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/bonfire--guix-a-love-story.html" /><id>https://fishinthecalculator.me/blog/bonfire--guix-a-love-story.html</id><updated>2025-06-04T23:23:00Z</updated><summary type="html">&lt;p&gt;Bonfire is a new framework to build federated applications that just &lt;a href=&quot;https://github.com/bonfire-networks/bonfire-app/releases/tag/v1.0.0-rc.1&quot;&gt;reached RC1&lt;/a&gt;. It is written in Elixir, a nice functional language, and allows communities to create custom flavored Fediverse applications, that can be tailored for their specific needs. I have been in touch with the core team and I'm trying to make the experience of running Bonfire on Guix as smooth as possible.&lt;/p&gt;</summary></entry><entry><title>Understanding GNU Mes’ performance</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/fasterMes1.html" /><id>tag:ekaitz.elenq.tech,2025-06-02:/fasterMes1.html</id><updated>2025-06-01T21:00:00Z</updated><summary type="html">&lt;p&gt;How fast is &lt;span&gt;GNU&lt;/span&gt; Mes&amp;#8217; scheme interpreter&amp;nbsp;really?&lt;/p&gt;</summary></entry><entry><title>No JS, No BS Ethical Web Analytics</title><author><name>Andrew Tropin</name></author><link href="https://trop.in/blog/no-js-no-bs-ethical-web-analytics.html" /><id>https://trop.in/blog/no-js-no-bs-ethical-web-analytics.html</id><updated>2025-05-31T12:00:00Z</updated><summary type="html">&lt;p&gt;I had two goals: to count AI crawlers DDoSing my nginx
infrastructure and to see if anybody reads at least one of my
three posts in the blog.  To achieve both, I needed to gather
data and transform it into meaningful insights, so basically I needed
web analytics.&lt;/p&gt;</summary></entry><entry><title>NeoMutt: Automating new email with Goimapnotify</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/29/neomutt-goimapsync" /><id>tag:www.futurile.net,2025-05-29:/2025/05/29/neomutt-goimapsync</id><updated>2025-05-29T10:34:00Z</updated><summary type="html">&lt;p&gt;Using Goimapnotify for new email automation&lt;/p&gt;</summary></entry><entry><title>NeoMutt: mirrored local IMAP with mbsync</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/20/neomutt-mirror-imap-mbsync-tutorial" /><id>tag:www.futurile.net,2025-05-20:/2025/05/20/neomutt-mirror-imap-mbsync-tutorial</id><updated>2025-05-20T09:08:00Z</updated><summary type="html">&lt;p&gt;Multiple Accounts and colours in Neomutt&lt;/p&gt;</summary></entry><entry><title>NeoMutt: Multiple accounts and themes</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/19/neomutt-multiple-accounts-tutorial" /><id>tag:www.futurile.net,2025-05-19:/2025/05/19/neomutt-multiple-accounts-tutorial</id><updated>2025-05-19T09:57:00Z</updated><summary type="html">&lt;p&gt;Multiple accounts, colours and maildir in Neomutt&lt;/p&gt;</summary></entry><entry><title>NeoMutt: using IMAP and SMTP</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/18/neomutt-email-native-imap-tutorial" /><id>tag:www.futurile.net,2025-05-18:/2025/05/18/neomutt-email-native-imap-tutorial</id><updated>2025-05-18T10:45:00Z</updated><summary type="html">&lt;p&gt;Using IMAP in Neomutt and options for sending email using SMTP&lt;/p&gt;</summary></entry><entry><title>NeoMutt: introduction to CLI email</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/17/neomutt-email-mailbox-tutorial" /><id>tag:www.futurile.net,2025-05-17:/2025/05/17/neomutt-email-mailbox-tutorial</id><updated>2025-05-17T13:23:00Z</updated><summary type="html">&lt;p&gt;Introduction to using Neomutt. Emailing like it's 1995 in 2025!&lt;/p&gt;</summary></entry><entry><title>A side of Guile: Regular expressions in Guile Scheme (Groups and escaping)</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/11/guile-scheme-regular-expressions-for-guix-grouping-escaping" /><id>tag:www.futurile.net,2025-05-11:/2025/05/11/guile-scheme-regular-expressions-for-guix-grouping-escaping</id><updated>2025-05-11T14:22:00Z</updated><summary type="html">&lt;p&gt;Part 3 of an introduction to regular expressions in Guile Scheme: anchors, grouping and backslash escaping&lt;/p&gt;</summary></entry><entry><title>A side of Guile: Regular expressions in Guile Scheme (Quantifiers)</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/10/guile-scheme-regular-expressions-for-guix-quantifiers" /><id>tag:www.futurile.net,2025-05-10:/2025/05/10/guile-scheme-regular-expressions-for-guix-quantifiers</id><updated>2025-05-10T08:11:00Z</updated><summary type="html">&lt;p&gt;Part 2 of regular expressions in Guile Scheme: quantifiers, interval expressions and greedy matching&lt;/p&gt;</summary></entry><entry><title>A side of Guile: Regular expressions in Guile Scheme</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2025/05/09/guile-scheme-regular-expressions-for-guix" /><id>tag:www.futurile.net,2025-05-09:/2025/05/09/guile-scheme-regular-expressions-for-guix</id><updated>2025-05-09T14:23:00Z</updated><summary type="html">&lt;p&gt;Part 1 of an introduction to regular expressions in Guile Scheme: metacharacters and character sets&lt;/p&gt;</summary></entry><entry><title>Declarative, transactional, cloud native OCI provisioning with Guix</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/declarative-transactional-cloud-native-oci-provisioning-with-guix.html" /><id>https://fishinthecalculator.me/blog/declarative-transactional-cloud-native-oci-provisioning-with-guix.html</id><updated>2025-05-06T23:33:00Z</updated><summary type="html">&lt;p&gt;Many applications are packaged in OCI images but not in Guix. A good subset of them is written either in NodeJS, Go, Rust or languages that, as a general approach, encourage applications to have huge dependency graphs.&lt;/p&gt;</summary></entry><entry><title>Building Debian in a GitLab Pipeline</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/04/30/building-debian-in-a-gitlab-pipeline/" /><id>https://blog.josefsson.org/?p=2120</id><updated>2025-04-30T09:25:59Z</updated><summary type="html">&lt;p&gt;After thinking about &lt;a href=&quot;https://blog.josefsson.org/2025/03/31/on-binary-distribution-rebuilds/&quot;&gt;multi-stage Debian rebuilds&lt;/a&gt; I wanted to implement the idea. Recall my illustration:&lt;/p&gt;</summary></entry><entry><title>Verified Reproducible Tarballs</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/04/17/verified-reproducible-tarballs/" /><id>https://blog.josefsson.org/?p=2096</id><updated>2025-04-17T19:24:46Z</updated><summary type="html">&lt;p&gt;Remember the &lt;a href=&quot;https://en.wikipedia.org/wiki/XZ_Utils_backdoor&quot;&gt;XZ Utils backdoor&lt;/a&gt;? One factor that enabled the attack was poor auditing of the release tarballs for differences compared to the &lt;a href=&quot;https://git-scm.com/&quot;&gt;Git&lt;/a&gt; version controlled source code. This proved to be a useful place to distribute malicious data.&lt;/p&gt;</summary></entry><entry><title>G-expressions: Makings of a Make-killer?</title><author><name>Arun Isaac</name></author><link href="https://systemreboot.net/post/g-expressions-makings-of-a-make-killer.html" /><id>https://systemreboot.net/post/g-expressions-makings-of-a-make-killer.html</id><updated>2025-04-14T00:00:00Z</updated><summary type="html">&lt;p&gt;Can Guix's G-expressions make for a superior Make-like build tool? Here's a proof-of-concept implementation imagining such a future.&lt;/p&gt;</summary></entry><entry><title>Build daemon drops its privileges</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2025/03/build-daemon-drops-its-privileges" /><id>https://hpc.guix.info/blog/2025/03/build-daemon-drops-its-privileges</id><updated>2025-03-31T14:00:00Z</updated><summary type="html">&lt;p&gt;“&lt;em&gt;Does it&lt;/em&gt; really &lt;em&gt;need to run as root?&lt;/em&gt;”  When talking to system
administrators of large supercomputers about installing Guix and having
its build daemon run as root, this question would quickly come up—and
rightfully so.  We’re happy to announce that &lt;code&gt;guix-daemon&lt;/code&gt; can now run
without root privileges by taking advantage of Linux’s &lt;em&gt;unprivileged
user namespaces&lt;/em&gt;, a feature now available even on some of the most
conservative supercomputers.&lt;/p&gt;</summary></entry><entry><title>On Binary Distribution Rebuilds</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/03/31/on-binary-distribution-rebuilds/" /><id>https://blog.josefsson.org/?p=2090</id><updated>2025-03-31T08:21:24Z</updated><summary type="html">&lt;p&gt;I rebuilt (the top-50 popcon) Debian and Ubuntu packages, on amd64 and arm64, and &lt;a href=&quot;https://blog.josefsson.org/2024/07/10/towards-idempotent-rebuilds/&quot;&gt;compared the results a couple of months ago&lt;/a&gt;. Since then the &lt;a href=&quot;https://reproduce.debian.net/&quot;&gt;Reproduce.Debian.net&lt;/a&gt; effort has been launched. Unlike my small experiment, that effort is a full-scale rebuild with more architectures. Their goal is to reproduce what is published in the &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; archive.&lt;/p&gt;</summary></entry><entry><title>Self-Hosting Forgejo in Guix using OCI containers</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=MWwunOoj-PI" /><id>yt:video:MWwunOoj-PI</id><updated>2025-03-28T21:53:59Z</updated><summary type="html">&lt;p&gt;Giacomo Leidi's talk at Guix.Social covering how to run Docker and OCI containers in Guix: bringing together the easy distribution of Docker containers, and the capabilities of Guix's declarative configuration. All part of his Gocix project (https://github.com/fishinthecalculator/gocix) which provides ready made services for Prometheus, Bonfire, Grafana, Forgejo and others.&lt;/p&gt;</summary></entry><entry><title>Reproducible Software Releases</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2025/03/24/reproducible-software-releases/" /><id>https://blog.josefsson.org/?p=2062</id><updated>2025-03-24T11:09:10Z</updated><summary type="html">&lt;p&gt;Around a year ago I discussed &lt;a href=&quot;https://blog.josefsson.org/2024/04/01/towards-reproducible-minimal-source-code-tarballs-please-welcome-src-tar-gz/&quot;&gt;two concerns with software release archives&lt;/a&gt; (tarball artifacts) that could be improved to increase confidence in the supply-chain security of software releases.  Repeating the goals for simplicity:&lt;/p&gt;</summary></entry><entry><title>XMPP self-hosting tutorial</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/xmpp-self-hosting-tutorial/index.html" /><id>https://fabionatali.com/posts/xmpp-self-hosting-tutorial/index.html</id><updated>2025-02-23T00:00:00Z</updated><summary type="html">&lt;p&gt;
In this post we'll see how to install and configure &lt;a href=&quot;https://prosody.im/&quot;&gt;Prosody&lt;/a&gt;, an open-source XMPP
server. We will be deploying Prosody on a &lt;a href=&quot;https://www.hetzner.com/&quot;&gt;Hetzner&lt;/a&gt; cloud instance, provisioned
and configured with &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt; and the powerful &lt;code&gt;guix deploy&lt;/code&gt; command.
&lt;/p&gt;</summary></entry><entry><title>Guix-HPC Activity Report, 2024</title><author><name>Céline Acary-Robert, Emmanuel Agullo, Benjamin Arrondeau, Lars Bilke, Dylan Bissuel, Ludovic Courtès, Collin J. Doering, Romain Garbage, Konrad Hinsen, Arun Isaac, Emmanuel Medernach, Sorina Camarasu Pop, Pjotr Prins, Cayetano Santos, Philippe Swartvagher, Simon Tournier, Ricardo Wurmus</name></author><link href="https://hpc.guix.info/blog/2025/02/guix-hpc-activity-report-2024" /><id>https://hpc.guix.info/blog/2025/02/guix-hpc-activity-report-2024</id><updated>2025-02-11T15:30:00Z</updated><summary type="html">&lt;p&gt;Guix-HPC is a collaborative effort to bring &lt;strong&gt;reproducible software
deployment to scientific workflows and high-performance computing&lt;/strong&gt; (HPC).
Guix-HPC builds upon the &lt;a href=&quot;https://guix.gnu.org&quot;&gt;GNU Guix&lt;/a&gt; software
deployment tools and aims to make them useful for HPC practitioners and
scientists concerned with dependency graph control and customization
and, uniquely, reproducible research.&lt;/p&gt;</summary></entry><entry><title>Guix, XIM, Emacs, Multi_key, Shft+SPC</title><author><name>Benjamin.Slade@fakeEmailToMakeValidatorHappy.com (Benjamin Slade)</name></author><link href="https://babbagefiles.xyz/guix-xim-emacs-multikey-shft-spc/" /><id>https://babbagefiles.xyz/guix-xim-emacs-multikey-shft-spc/</id><updated>2025-01-30T18:22:00Z</updated><summary type="html">&lt;p&gt;A bit out of order, but things tangle, a problem I&amp;rsquo;m having on my Guix
machine with Emacs.&lt;/p&gt;</summary></entry><entry><title>A Modern and Extensible IDE for Guile Scheme</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=gQpwf4jgpGo" /><id>yt:video:gQpwf4jgpGo</id><updated>2025-01-19T14:57:20Z</updated><summary type="html">&lt;p&gt;Andrew Tropin (https://trop.in) introduces Emacs-Arei a modern, extensible IDE for Guile Scheme. Using the Nrepl protocol foundation of Guile Ares-rs, it provides a highly interactive developer experience for programming Guile or Guix.&lt;/p&gt;</summary></entry><entry><title>Join the Guix-Science community!</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2025/01/join-the-guix-science-community" /><id>https://hpc.guix.info/blog/2025/01/join-the-guix-science-community</id><updated>2025-01-16T14:00:00Z</updated><summary type="html">&lt;p&gt;Guix &lt;a href=&quot;https://guix.gnu.org/manual/devel/en/html_node/Channels.html&quot;&gt;channels&lt;/a&gt;
let communities develop and maintain their own package
collection at their own pace.  As users of Guix in high-performance
computing (HPC) and computational sciences, we have been developing
several such channels.  Those channels live under the
&lt;a href=&quot;https://codeberg.org/guix-science/&quot;&gt;Guix-Science&lt;/a&gt; umbrella, which
recently moved to Codeberg.  Over the last couple of months, we’ve been
using this migration as an opportunity to strengthen scientific
channels, both socially—by welcoming more contributions—and
technically—by setting up infrastructure to improve the contribution and
maintenance workflows.&lt;/p&gt;</summary></entry><entry><title>Nextcloud self-hosting tutorial</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/nextcloud-self-hosting-tutorial/index.html" /><id>https://fabionatali.com/posts/nextcloud-self-hosting-tutorial/index.html</id><updated>2025-01-15T00:00:00Z</updated><summary type="html">&lt;p&gt;
Today I had to setup a &lt;a href=&quot;https://nextcloud.com/&quot;&gt;Nextcloud&lt;/a&gt; instance on a cloud server. A completely
scripted approach (e.g. via Ansible or OpenTofu) felt a bit over-engineered in
my particular case, so I went for a semi-manual installation.
&lt;/p&gt;</summary></entry><entry><title>Brainstorming - managing a fleet of Guix machines with Goblins</title><author><name>Jonathan Frederickson</name></author><link href="https://www.terracrypt.net/posts/guix-goblins-fleet.html" /><id>https://www.terracrypt.net/posts/guix-goblins-fleet.html</id><updated>2024-12-19T17:04:00Z</updated><summary type="html">&lt;p&gt;I've been noodling on the possibility of managing a bunch of Guix machines with Goblins for a little while now. Spent a little time at a local coffee shop today thinking about how this might work...&lt;/p&gt;</summary></entry><entry><title>Guix Container Images for GitLab CI/CD</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2024/12/18/guix-container-images-for-gitlab-ci-cd/" /><id>https://blog.josefsson.org/?p=2050</id><updated>2024-12-18T18:43:38Z</updated><summary type="html">&lt;p&gt;I am using &lt;a href=&quot;https://docs.gitlab.com/ee/ci/&quot;&gt;GitLab CI/CD&lt;/a&gt; pipelines for several upstream projects (&lt;a href=&quot;https://gitlab.com/libidn/libidn/-/pipelines&quot;&gt;libidn&lt;/a&gt;, &lt;a href=&quot;https://gitlab.com/libidn/libidn2/-/pipelines&quot;&gt;libidn2&lt;/a&gt;, &lt;a href=&quot;https://gitlab.com/gsasl/gsasl/-/pipelines&quot;&gt;gsasl&lt;/a&gt;, &lt;a href=&quot;https://gitlab.com/gsasl/inetutils/-/pipelines&quot;&gt;inetutils&lt;/a&gt;, &lt;a href=&quot;https://gitlab.com/gnutls/libtasn1/-/pipelines&quot;&gt;libtasn1&lt;/a&gt;, &lt;a href=&quot;https://gitlab.com/gsasl/libntlm/-/pipelines&quot;&gt;libntlm&lt;/a&gt;, &amp;#8230;) and a long-time concern for these have been that there is too little testing on &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;GNU Guix&lt;/a&gt;.  Several attempts have been made, and &lt;a href=&quot;https://lists.gnu.org/archive/html/help-guix/2024-02/msg00066.html&quot;&gt;earlier this year Ludo&amp;#8217; came really close&lt;/a&gt; to finish this.  My earlier effort to &lt;a href=&quot;https://blog.josefsson.org/2024/07/10/towards-idempotent-rebuilds/&quot;&gt;idempotently rebuild Debian&lt;/a&gt; recently led me to &lt;a href=&quot;https://alioth-lists.debian.net/pipermail/reproducible-builds/Week-of-Mon-20241216/014927.html&quot;&gt;think about re-bootstrapping Debian&lt;/a&gt;.  Since Debian is a binary distribution, it re-use earlier binary packages when building new packages.  The prospect of re-bootstrapping Debian in a reproducible way by rebuilding all of those packages going back to the beginning of time does not appeal to me.  Instead, wouldn&amp;#8217;t it be easier to build Debian trixie (or some future release of Debian) from Guix, by creating a small bootstrap sandbox that can start to build Debian packages, and then make sure that the particular Debian release can idempotently rebuild itself in a reproducible way?  Then you will eventually end up with a reproducible and re-bootstrapped Debian, which pave the way for a trustworthy release of &lt;a href=&quot;https://trisquel.info/&quot;&gt;Trisquel&lt;/a&gt;.  Fortunately, such an endeavour appears to offer many rabbit holes.  Preparing Guix container images for use in GitLab pipelines is one that I jumped into in the last few days, and just came out of.&lt;/p&gt;</summary></entry><entry><title>sourcehut as guix test farm</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/sourcehut-as-guix-test-farm" /><id>https://infosec.press/csantosb/sourcehut-as-guix-test-farm</id><updated>2024-12-17T16:57:05Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
It is possible to contribute to improving &lt;span&gt;#&lt;/span&gt;&lt;span&gt;guix&lt;/span&gt; as the need for new functionalities, packages, fixes or upgrades arise. This is one of the strongest points in open communities: the possibility to participate on the development and continuous improvement of the tool. Let’s see how it goes when it comes to &lt;a href=&quot;https://guix.gnu.org/&quot; rel=&quot;nofollow&quot;&gt;guix&lt;/a&gt;. &lt;br /&gt;
Guix is a huge project which follows closely the &lt;span&gt;#&lt;/span&gt;&lt;span&gt;freesoftware&lt;/span&gt; paradigm, and collaboration works in two directions. You take advantage of other developers contributions to guix, while you participate yourself to improving guix repositories with your fixes, updates or new features, once they have been tested. In a first approach, from my own experience, one may create a personal local repository of package definitions, for a personal use. As a second step, it is possible to create a public &lt;a href=&quot;https://infosec.press/csantosb/guix-channels&quot; rel=&quot;nofollow&quot;&gt;guix channel&lt;/a&gt;, in parallel to &lt;a href=&quot;https://infosec.press/csantosb/guix-channels#contributing&quot; rel=&quot;nofollow&quot;&gt;contributing&lt;/a&gt; upstream. &lt;br /&gt;
&lt;a href=&quot;https://guix.gnu.org/manual/en/html_node/Contributing.html&quot; rel=&quot;nofollow&quot;&gt;Contributing&lt;/a&gt; your code to guix comes to &lt;a href=&quot;https://git-send-email.io/&quot; rel=&quot;nofollow&quot;&gt;sending &lt;span&gt;#&lt;/span&gt;&lt;span&gt;email&lt;/span&gt;&lt;/a&gt; &lt;a href=&quot;https://www.futurile.net/2022/03/07/git-patches-email-workflow/&quot; rel=&quot;nofollow&quot;&gt;with your patches&lt;/a&gt; attached, it’s that simple. Don't be intimidated by the details (this is used by lots of open communities, after all). Once your patches are submitted, a review of your code follows, see &lt;a href=&quot;https://libreplanet.org/wiki?title=Group:Guix/PatchReviewSessions2024&quot; rel=&quot;nofollow&quot;&gt;details&lt;/a&gt;. Some tools, like &lt;a href=&quot;https://www.youtube.com/watch?v=8m8igXrKaqU&quot; rel=&quot;nofollow&quot;&gt;mumi&lt;/a&gt;, are helpful to that purpose. &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>Freedom vs security</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/freedom-vs-security/index.html" /><id>https://fabionatali.com/posts/freedom-vs-security/index.html</id><updated>2024-12-15T00:00:00Z</updated><summary type="html">&lt;p&gt;
This is a painful post to write. It's about a choice one should never have to
make, the choice between software freedom and security.
&lt;/p&gt;</summary></entry><entry><title>ci (sourcehut): alu</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/ci-sourcehut-alu" /><id>https://infosec.press/csantosb/ci-sourcehut-alu</id><updated>2024-12-13T12:38:24Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
Remote &lt;span&gt;#&lt;/span&gt;&lt;span&gt;ci&lt;/span&gt; is the &lt;a href=&quot;https://infosec.press/csantosb/tag:ciseries&quot; rel=&quot;nofollow&quot;&gt;way to go&lt;/a&gt; in &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt; digital design testing. In this &lt;span&gt;#&lt;/span&gt;&lt;span&gt;ciseries&lt;/span&gt;, let’s see how to implement it with detail using &lt;a href=&quot;https://sourcehut.org/&quot; rel=&quot;nofollow&quot;&gt;sourcehut&lt;/a&gt; and a real world example.  &lt;br /&gt;
&lt;a href=&quot;https://infosec.press/csantosb/sourcehut-crash-course&quot; rel=&quot;nofollow&quot;&gt;Sourcehut&lt;/a&gt; is a lightweight &lt;span&gt;#&lt;/span&gt;&lt;span&gt;gitforge&lt;/span&gt; where I host my &lt;span&gt;#&lt;/span&gt;&lt;span&gt;git&lt;/span&gt; repositories. Not only it is &lt;a href=&quot;https://infosec.press/csantosb/git-forges#sourcehut&quot; rel=&quot;nofollow&quot;&gt;based on a paradigm&lt;/a&gt; perfectly adapted to &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt;, but also its &lt;a href=&quot;https://infosec.press/csantosb/sourcehut-crash-course#builds&quot; rel=&quot;nofollow&quot;&gt;builds&lt;/a&gt; service includes support for &lt;a href=&quot;https://man.sr.ht/builds.sr.ht/compatibility.md#guix-system&quot; rel=&quot;nofollow&quot;&gt;guix&lt;/a&gt; (x86_64) images. This means that we will be able to execute all of our testing online inside &lt;a href=&quot;https://infosec.press/csantosb/guix-crash-course#profiles-and-generations&quot; rel=&quot;nofollow&quot;&gt;guix profiles&lt;/a&gt;, &lt;a href=&quot;https://infosec.press/csantosb/guix-crash-course#shell-containers&quot; rel=&quot;nofollow&quot;&gt;shells&lt;/a&gt; or natively on top of the bare-bones image. &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>ci (sourcehut): open-logic</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/ci-sourcehut" /><id>https://infosec.press/csantosb/ci-sourcehut</id><updated>2024-12-13T10:18:11Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
Remote &lt;span&gt;#&lt;/span&gt;&lt;span&gt;ci&lt;/span&gt; is the &lt;a href=&quot;https://infosec.press/csantosb/tag:ciseries&quot; rel=&quot;nofollow&quot;&gt;way to go&lt;/a&gt; in &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt; digital design testing. In this &lt;span&gt;#&lt;/span&gt;&lt;span&gt;ciseries&lt;/span&gt;, let’s see how to implement it with detail using &lt;a href=&quot;https://sourcehut.org/&quot; rel=&quot;nofollow&quot;&gt;sourcehut&lt;/a&gt; and a real world example.  &lt;br /&gt;
&lt;a href=&quot;https://infosec.press/csantosb/sourcehut-crash-course&quot; rel=&quot;nofollow&quot;&gt;Sourcehut&lt;/a&gt; is a lightweight &lt;span&gt;#&lt;/span&gt;&lt;span&gt;gitforge&lt;/span&gt; where I host my &lt;span&gt;#&lt;/span&gt;&lt;span&gt;git&lt;/span&gt; repositories. Not only it is &lt;a href=&quot;https://infosec.press/csantosb/git-forges#sourcehut&quot; rel=&quot;nofollow&quot;&gt;based on a paradigm&lt;/a&gt; perfectly adapted to &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt;, but also its &lt;a href=&quot;https://infosec.press/csantosb/sourcehut-crash-course#builds&quot; rel=&quot;nofollow&quot;&gt;builds&lt;/a&gt; service includes support for &lt;a href=&quot;https://man.sr.ht/builds.sr.ht/compatibility.md#guix-system&quot; rel=&quot;nofollow&quot;&gt;guix&lt;/a&gt; (x86_64) images. This means that we will be able to execute all of our testing online inside &lt;a href=&quot;https://infosec.press/csantosb/guix-crash-course#profiles-and-generations&quot; rel=&quot;nofollow&quot;&gt;guix profiles&lt;/a&gt;, &lt;a href=&quot;https://infosec.press/csantosb/guix-crash-course#shell-containers&quot; rel=&quot;nofollow&quot;&gt;shells&lt;/a&gt; or natively on top of the bare-bones image. &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>ci (gitlab/hub)</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/ci-gitlab-hub" /><id>https://infosec.press/csantosb/ci-gitlab-hub</id><updated>2024-12-11T12:50:04Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
Remote &lt;span&gt;#&lt;/span&gt;&lt;span&gt;ci&lt;/span&gt; is the &lt;a href=&quot;https://infosec.press/csantosb/tag:ciseries&quot; rel=&quot;nofollow&quot;&gt;way to go&lt;/a&gt; in &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt; digital design testing. In this &lt;span&gt;#&lt;/span&gt;&lt;span&gt;ciseries&lt;/span&gt;, let’s see it in practice with some detail using two of the most popular forges out there.  &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>ci (intro)</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/ci-intro" /><id>https://infosec.press/csantosb/ci-intro</id><updated>2024-12-08T21:19:43Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
How to seek, detect, be notified, analyze logs, understand and react to the &lt;a href=&quot;https://infosec.press/csantosb/on-testing&quot; rel=&quot;nofollow&quot;&gt;different possible kind of issues&lt;/a&gt; one may encounter in a digital design is a vast topic of research, well beyond the scope of this modest post. But there are a couple of things we may state about here, though: automatizing issue detection is the way to go. &lt;a href=&quot;https://en.wikipedia.org/wiki/Continuous_integration&quot; rel=&quot;nofollow&quot;&gt;Continuous integration&lt;/a&gt; (&lt;span&gt;#&lt;/span&gt;&lt;span&gt;ci&lt;/span&gt;) testing is a practice to adopt in &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt; as a way to ensure that our design complies with its constraints. Let’s see this in more detail.  &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>on testing</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/on-testing" /><id>https://infosec.press/csantosb/on-testing</id><updated>2024-12-06T09:32:14Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
Creating something new from scratch implies a certain ratio of unpredictable issues (loosely defined in the scope of this post: new errors, regressions, warnings, ... any unexpected behavior one may encounter).  Most important, a digital design developer needs to define somehow what he considers to be a project issue, before even thinking about how to react to it. Luckily, in &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt; a few usual tools are available to ease the process as a whole. Let’s overview some of them.  &lt;br /&gt;
Here on the electronics digital design side of life, we have mainly three &lt;span&gt;#&lt;/span&gt;&lt;span&gt;freesoftware&lt;/span&gt; fine tools (among many others) to perform code checking to a large extent: &lt;strong&gt;osvvm&lt;/strong&gt;, &lt;strong&gt;cocotb&lt;/strong&gt; and &lt;strong&gt;vunit&lt;/strong&gt;. They are all compatible with the &lt;a href=&quot;https://infosec.press/csantosb/ghdl&quot; rel=&quot;nofollow&quot;&gt;ghdl compiler&lt;/a&gt;, and they are all available from my own &lt;span&gt;#&lt;/span&gt;&lt;span&gt;guix&lt;/span&gt; &lt;a href=&quot;https://infosec.press/csantosb/guix-channels#electronics-channel&quot; rel=&quot;nofollow&quot;&gt;electronics channel&lt;/a&gt; (&lt;a href=&quot;https://issues.guix.gnu.org/68153&quot; rel=&quot;nofollow&quot;&gt;cocotb&lt;/a&gt; and &lt;a href=&quot;https://issues.guix.gnu.org/74242&quot; rel=&quot;nofollow&quot;&gt;vunit&lt;/a&gt; will hopefully get merged on &lt;a href=&quot;https://infosec.press/csantosb/guix&quot; rel=&quot;nofollow&quot;&gt;guix upstream&lt;/a&gt; at some point). Each departs from the rest, adopting a different paradigm about how digital design testing should be understood: verification, cosimulation and unit testing are master keywords here. &lt;br /&gt;
They are all complementary, so you’ll be able to combine them to test your designs. However, you’ll need to be careful and check twice what you’re doing, as some of their features overlap (random treatment, for example). You’ve been warned. &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>guix crash course</title><author><name>Cayetano Santos</name></author><link href="https://infosec.press/csantosb/guix-crash-course" /><id>https://infosec.press/csantosb/guix-crash-course</id><updated>2024-11-29T15:25:48Z</updated><summary type="html">&lt;p&gt; &lt;br /&gt;
Guix reveals as a &lt;a href=&quot;https://infosec.press/csantosb/use-guix&quot; rel=&quot;nofollow&quot;&gt;practical means&lt;/a&gt; of handling &lt;a href=&quot;https://infosec.press/csantosb/on-dependencies&quot; rel=&quot;nofollow&quot;&gt;dependencies&lt;/a&gt;. However, the amount of information available to start using it may appear as a bit overwhelming for a beginner, letting the feeling of a tool reserved to a reduced community or experts. Far from that. Here you’ll find everything you need to get started with &lt;a href=&quot;https://guix.gnu.org/&quot; rel=&quot;nofollow&quot;&gt;guix&lt;/a&gt;, with a light touch on using it for &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt;.  &lt;br /&gt;
We will concentrate in the use of &lt;span&gt;#&lt;/span&gt;&lt;span&gt;guix&lt;/span&gt; as an external package manager on top of a &lt;span&gt;#&lt;/span&gt;&lt;span&gt;linux&lt;/span&gt; distribution based on &lt;span&gt;#&lt;/span&gt;&lt;span&gt;systemd&lt;/span&gt;. We’ll let aside using and referring to &lt;span&gt;#&lt;/span&gt;&lt;span&gt;guixsystem&lt;/span&gt; as a full operating system by itself (which I never used anyway). This way, in the context of &lt;span&gt;#&lt;/span&gt;&lt;span&gt;modernhw&lt;/span&gt;, we may keep on using our favorite tools, environment and workflow. As an addition, we have everything that guix provides at our disposal, without affecting our local packages configuration: guix acts as an extra layer on top of our current OS, without any interference with it. You’ll have the possibility to install any guix software, remove it afterward or make use of the fancy features guix has to offer, without your host OS ever noticing what’s going on. &lt;br /&gt;
All what follows is roughly based on the &lt;a href=&quot;https://guix.gnu.org/manual/en/html_node/index.html&quot; rel=&quot;nofollow&quot;&gt;guix reference manual&lt;/a&gt; and the &lt;a href=&quot;https://guix.gnu.org/cookbook/en/guix-cookbook.html&quot; rel=&quot;nofollow&quot;&gt;guix cookbook&lt;/a&gt;, so refer to them for more on depth explanations. This article is strongly influenced by my personal experience as a daily driver, so next topics are necessarily biased towards my own needs. &lt;br /&gt;
There is &lt;a href=&quot;https://www.futurile.net/resources/guix/&quot; rel=&quot;nofollow&quot;&gt;much more to say&lt;/a&gt; about guix, but this is just an introductory crash course, right ? &lt;br /&gt;&lt;/p&gt;</summary></entry><entry><title>Guix/Hurd on a Thinkpad X60</title><author><name>Janneke Nieuwenhuizen</name></author><link href="https://joyofsource.com/hurd-on-thinkpad.html" /><id>https://joyofsource.com/hurd-on-thinkpad.html</id><updated>2024-11-24T18:00:00Z</updated><summary type="html">&lt;p&gt;A lot has happened with respect to &lt;a href=&quot;https://hurd.gnu.org&quot;&gt;the Hurd&lt;/a&gt;
since our &lt;a href=&quot;https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/&quot;&gt;&lt;em&gt;Childhurds and GNU/Hurd
Substitutes&lt;/em&gt;&lt;/a&gt;
post.  As long as two years ago some of you &lt;a href=&quot;https://logs.guix.gnu.org/hurd/2022-05-15.log#070056&quot;&gt;have been
asking&lt;/a&gt; for a
progress update and although there &lt;a href=&quot;https://dezyne.org/janneke/logs/%23guix/2023-05-28.log.html#113945&quot;&gt;have been
rumours&lt;/a&gt;
on a new blog post for over a year, &lt;a href=&quot;https://logs.guix.gnu.org/guix/2023-03-11.log#221532&quot;&gt;we
were&lt;/a&gt; kind of
&lt;a href=&quot;https://logs.guix.gnu.org/guix/2023-05-13.log#165020&quot;&gt;waiting for&lt;/a&gt;
the &lt;a href=&quot;https://logs.guix.gnu.org/guix/2023-09-16.log#163627&quot;&gt;rumoured x86_64
support&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>Targeting the Cray/HPE Slingshot interconnect</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2024/11/targeting-the-crayhpe-slingshot-interconnect" /><id>https://hpc.guix.info/blog/2024/11/targeting-the-crayhpe-slingshot-interconnect</id><updated>2024-11-19T16:00:00Z</updated><summary type="html">&lt;p&gt;High-speed network interconnects are a key component of supercomputers.
The challenge from a software packaging viewpoint is to provide an MPI
stack able to get the performance out of that specialized networking
hardware.  As packagers, &lt;a href=&quot;https://hpc.guix.info/blog/2019/12/optimized-and-portable-open-mpi-packaging/&quot;&gt;our
approach&lt;/a&gt;
has been to provide MPI packages that get the best performance of the
underlying interconnect, be it Omni-Path, InfiniBand, or any other type
of interconnect.&lt;/p&gt;</summary></entry><entry><title>Guix-Jupyter 0.3.0 released!</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2024/11/guix-jupyter-0.3.0-released" /><id>https://hpc.guix.info/blog/2024/11/guix-jupyter-0.3.0-released</id><updated>2024-11-14T16:00:00Z</updated><summary type="html">&lt;p&gt;We are pleased to announce
&lt;a href=&quot;https://codeberg.org/guix-science/guix-jupyter&quot;&gt;Guix-Jupyter 0.3.0&lt;/a&gt;, a
long-overdue release of our Guix-powered Jupyter kernel for
self-contained and reproducible notebooks.&lt;/p&gt;</summary></entry><entry><title>A Org-based templating mechanism</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/a-org-based-templating-mechanism/index.html" /><id>https://fabionatali.com/posts/a-org-based-templating-mechanism/index.html</id><updated>2024-10-24T00:00:00Z</updated><summary type="html">&lt;p&gt;
In &lt;a href=&quot;https://fabionatali.com/posts/a-org-based-templating-mechanism/../a-simplified-home-server-setup-1&quot;&gt;a previous post&lt;/a&gt; I mentioned the way I use &lt;a href=&quot;https://orgmode.org/manual/Working-with-Source-Code.html&quot;&gt;Emacs Org code blocks&lt;/a&gt; and the
so-called &lt;a href=&quot;https://orgmode.org/manual/Noweb-Reference-Syntax.html&quot;&gt;Noweb syntax&lt;/a&gt; as a templating mechanism. The idea is to have a template
version of a document containing a certain number of placeholders and a separate
file to store the placeholders' values. The template and the data file are then
fed into a build process that recombines things and produces the final document.
&lt;/p&gt;</summary></entry><entry><title>Visual structural editing for Guix (and Schemes in general)</title><author><name>Jonathan Frederickson</name></author><link href="https://www.terracrypt.net/posts/visual-structural-editing-for-guix-and-schemes-in-general.html" /><id>https://www.terracrypt.net/posts/visual-structural-editing-for-guix-and-schemes-in-general.html</id><updated>2024-09-21T10:38:00Z</updated><summary type="html">&lt;p&gt;I've been noodling on structural editing for a while now. I'm fully bought into Lisps myself, but most of my friends and coworkers are skeptical, and I think a lot of their skepticism has to do (as usual) with all the parens. One of the points I make frequently is that with Lisp code being written as a nested data structure, the textual representation is just one of many possible representations. But it can be hard to get across what that means without concrete examples.&lt;/p&gt;</summary></entry><entry><title>[Talk] Full Source Bootstrapping RISC-V on Guix</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc16.html" /><id>tag:ekaitz.elenq.tech,2024-09-19:/bootstrapGcc16.html</id><updated>2024-09-18T21:00:00Z</updated><summary type="html">&lt;p&gt;People from &lt;strong&gt;Guix London&lt;/strong&gt; gave me the chance to describe this&amp;nbsp;process.&lt;/p&gt;</summary></entry><entry><title>Full Source Bootstrapping RISC-V on Guix with Ekaitz Zarraga</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=Cj7DyiRqWBk" /><id>yt:video:Cj7DyiRqWBk</id><updated>2024-09-18T08:49:31Z</updated><summary type="html">&lt;p&gt;Ekaitz Zarraga talks about the mission to achieve a full source bootstrap of the RISC-V architecture on Guix Linux. He introduces RISC-V and what makes it different. Discusses the importance of a full source bootstrap for security and trust in computing. Then talks through the multi-year mission to make it a reality on Guix.&lt;/p&gt;</summary></entry><entry><title>Playing with Vagrant, Virtualbox and Guix</title><author><name>Francesco P. Lovergine</name></author><link href="https://lovergine.com/playing-with-vagrant-virtualbox-and-guix.html" /><id>https://lovergine.com/playing-with-vagrant-virtualbox-and-guix.html</id><updated>2024-09-04T18:20:00Z</updated><summary type="html">&lt;p&gt;It is specifically convenient using &lt;code&gt;Guix-the-system&lt;/code&gt; within a &lt;em&gt;foreign distribution&lt;/em&gt;,
such as Debian, for development and tests. The package management
system can be used on top of the system, but I find it quite interesting to
explore the potential of the Guix distribution in the context of virtualized
environments. For personal use, that is also the ideal way to avoid breaking
your own daily boxes every couple of days with daredevil approaches to personal
computing.&lt;/p&gt;</summary></entry><entry><title>The Guix system, take two</title><author><name>Francesco P. Lovergine</name></author><link href="https://lovergine.com/the-guix-system-take-two.html" /><id>https://lovergine.com/the-guix-system-take-two.html</id><updated>2024-09-02T20:00:00Z</updated><summary type="html">&lt;p&gt;Let's give a second look at &lt;code&gt;Guix-the-system&lt;/code&gt; the main GNU Project distribution
I dealt with in &lt;a href=&quot;http://lovergine.com/an-initial-dive-into-guix.html&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;&gt;a previous
post&lt;/a&gt;.  This post is not
specifically limited to the distribution, it is also of interest when using Guix
in a foreign distribution, even if some configuration details change.&lt;/p&gt;</summary></entry><entry><title>Guix patch reviews using Mumi by Jgart</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=8m8igXrKaqU" /><id>yt:video:8m8igXrKaqU</id><updated>2024-08-31T10:53:00Z</updated><summary type="html">&lt;p&gt;Recording of Jgart's Guix.social talk. How to use Mumi to review patches in Guix. Also discusses setting up email with RDE's home services in Guix. &lt;/p&gt;</summary></entry><entry><title>Unprivileged container management on the Guix System</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/unprivileged-container-management-on-the-guix-system.html" /><id>https://fishinthecalculator.me/blog/unprivileged-container-management-on-the-guix-system.html</id><updated>2024-08-23T04:20:00Z</updated><summary type="html">&lt;p&gt;Docker is known to have less than optimal security defaults, hence the hype for Podman. If you want to run rootless containers in your Guix System, it is sufficient to add the following to your &lt;code&gt;operating-system&lt;/code&gt; configuration.&lt;/p&gt;</summary></entry><entry><title>An initial dive into Guix</title><author><name>Francesco P. Lovergine</name></author><link href="https://lovergine.com/an-initial-dive-into-guix.html" /><id>https://lovergine.com/an-initial-dive-into-guix.html</id><updated>2024-08-18T19:00:00Z</updated><summary type="html">&lt;p&gt;In the last few days, I got familiar with &lt;code&gt;Guix&lt;/code&gt;, which is both a modern package
management system and the main GNU Project distribution for Linux and Hurd (&lt;code&gt;the Guix system&lt;/code&gt;).
As a package management system, it can be installed on most &lt;em&gt;foreign distributions&lt;/em&gt;,
including Debian and any other, as an alternative/additional packaging system.&lt;/p&gt;</summary></entry><entry><title>Samba Adventures with Guix</title><author><name>Peter Tillemans</name></author><link href="https://www.snamellit.com/posts/20240817-samba-adventures-in-guix/" /><id>https://www.snamellit.com/posts/20240817-samba-adventures-in-guix/</id><updated>2024-08-16T22:00:00Z</updated><summary type="html">&lt;p&gt;Samba or CIFS file sharing is a finicky area at best, but widely used,
especially since it was heavily pushed by Microsoft in the Windows
ecosystem, This makes it widely used in corporate and NAS environments
and even for Linux file sharing.&lt;/p&gt;</summary></entry><entry><title>Supporting academic conference artifact evaluation</title><author><name>Emmanuel Agullo, Ludovic Courtès, Romain Garbage, Florent Pruvost, Philippe Swartvagher</name></author><link href="https://hpc.guix.info/blog/2024/07/supporting-academic-conference-artifact-evaluation" /><id>https://hpc.guix.info/blog/2024/07/supporting-academic-conference-artifact-evaluation</id><updated>2024-07-26T17:00:00Z</updated><summary type="html">&lt;p&gt;Having promoted Guix as one of the tools to support reproducible
research workflows, we are happy that it is now officially presented as
one way to produce and review software artifacts that accompany articles
submitted to &lt;a href=&quot;https://sc24.supercomputing.org/&quot;&gt;SuperComputing 2024&lt;/a&gt;
(SC24), the leading HPC conference.  In this post we look at what this
entails and reflect on the role of reproducible software deployment on
conference artifact evaluation.&lt;/p&gt;</summary></entry><entry><title>Guix package structure: build system phases and modify-phases</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2024/07/23/guix-package-structure-build-system-phases" /><id>tag:www.futurile.net,2024-07-23:/2024/07/23/guix-package-structure-build-system-phases</id><updated>2024-07-23T11:15:00Z</updated><summary type="html">&lt;p&gt;Guix package structure: build phases and using modify-phases&lt;/p&gt;</summary></entry><entry><title>A simplified home server setup, part 1</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/a-simplified-home-server-setup-1/index.html" /><id>https://fabionatali.com/posts/a-simplified-home-server-setup-1/index.html</id><updated>2024-07-17T00:00:00Z</updated><summary type="html">&lt;p&gt;
In the first part of this post, last month, I described my attempt at using my
Guix home server as a virtualisation environment. With a clever use of the Guile
programming language (haha, really, by copying other people's code from the
internet!) I was able to set up a small number of services, each one in its
dedicated virtual machine for security-through-compartmentalisation.
&lt;/p&gt;</summary></entry><entry><title>Towards Idempotent Rebuilds?</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2024/07/10/towards-idempotent-rebuilds/" /><id>https://blog.josefsson.org/?p=2018</id><updated>2024-07-09T22:16:16Z</updated><summary type="html">&lt;p&gt;After &lt;a href=&quot;https://blog.josefsson.org/2023/04/10/trisquel-is-42-reproducible/&quot;&gt;rebuilding all added/modified packages in Trisquel&lt;/a&gt;, I have been circling around the elephant in the room: 99% of the binary packages in Trisquel comes from Ubuntu, which to a large extent are built from Debian source packages. Is it possible to rebuild the official binary packages identically? Does anyone make an effort to do so? Does anyone care about going through the differences between the official package and a rebuilt version? &lt;a href=&quot;https://reproducible-builds.org/&quot;&gt;Reproducible-build.org&lt;/a&gt;&amp;#8216;s effort to track &lt;a href=&quot;https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/mpich.html&quot;&gt;reproducibility bugs in Debian&lt;/a&gt; (and other systems) is amazing. However as far as I know, they do not confirm or deny that their rebuilds match the official packages. In fact, typically their rebuilds do not match the official packages, even when they say the package is reproducible, which had me surprised at first. To understand why that happens, compare the &lt;a href=&quot;https://buildinfo.debian.net/0ddf8ee352df8a2f74aa86efaebdf3e032f7320e/coreutils_9.1-1_amd64&quot;&gt;buildinfo file for the official coreutils 9.1-1&lt;/a&gt; from Debian bookworm with the &lt;a href=&quot;https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/coreutils.html&quot;&gt;buildinfo file for reproducible-build.org&amp;#8217;s build&lt;/a&gt; and you will see that the SHA256 checksum does not match, but still they declare it as a reproducible package. As far as I can tell of the situation, the purpose of their rebuilds are not to say anything about the official binary build, instead the purpose is to offer a QA service to maintainers by performing two builds of a package and declaring success if both builds match.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.27 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-027-released.html" /><id>https://joyofsource.com/gnu-mes-027-released.html</id><updated>2024-07-06T12:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.27.&lt;/p&gt;</summary></entry><entry><title>Milestone (End?) - Bootstrapping path discovered</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc15.html" /><id>tag:ekaitz.elenq.tech,2024-07-02:/bootstrapGcc15.html</id><updated>2024-07-01T21:00:00Z</updated><summary type="html">&lt;p&gt;A &lt;span&gt;RISC&lt;/span&gt;-V bootstrapping path path has been discovered. Now it&amp;#8217;s time
for the distros to catch&amp;nbsp;up.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.26.2 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0262-released.html" /><id>https://joyofsource.com/gnu-mes-0262-released.html</id><updated>2024-06-30T12:00:00Z</updated><summary type="html">&lt;p&gt;Mes 0.26.2 is a bug-fix release.&lt;/p&gt;</summary></entry><entry><title>Guile, Guix and WASM, the future of the Web?</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=MhCIgnW8gJ0" /><id>yt:video:MhCIgnW8gJ0</id><updated>2024-06-28T13:20:59Z</updated><summary type="html">&lt;p&gt;David Thompson, CTO of Spritely Institute gives a talk about 'Getting Rich Slow with Guile and Guix' at the Guix.social online meet-up. David presents how he came to Guile via his love of Emacs, his developments in Guix and games, and his work at the Spritely Institute bringing Guile Hoot to the Web browser via WASM.&lt;/p&gt;</summary></entry><entry><title>Workflows for Unix Password Store with Emacs and Shell</title><author><name>Peter Tillemans</name></author><link href="https://www.snamellit.com/posts/20240624t104859-secrets-management-using-unix-password-store-pass-linux-osx-sysadmin/" /><id>https://www.snamellit.com/posts/20240624t104859-secrets-management-using-unix-password-store-pass-linux-osx-sysadmin/</id><updated>2024-06-25T00:00:00Z</updated><summary type="html">&lt;p&gt;On UNIX there is a well known tool to manage secrets called
&lt;strong&gt;password-store&lt;/strong&gt; or &lt;strong&gt;pass&lt;/strong&gt; for short.&lt;/p&gt;</summary></entry><entry><title>A simplified home server setup, part 0</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/a-simplified-home-server-setup-0/index.html" /><id>https://fabionatali.com/posts/a-simplified-home-server-setup-0/index.html</id><updated>2024-06-19T00:00:00Z</updated><summary type="html">&lt;p&gt;
I've recently completed a major refactoring of my home server setup.
&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.26.1 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0261-released.html" /><id>https://joyofsource.com/gnu-mes-0261-released.html</id><updated>2024-06-08T09:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.26.1.&lt;/p&gt;</summary></entry><entry><title>Terraform workflow using Guix and Emacs</title><author><name>Peter Tillemans</name></author><link href="https://www.snamellit.com/posts/terraform-workflow-using-guix-and-emacs/" /><id>https://www.snamellit.com/posts/terraform-workflow-using-guix-and-emacs/</id><updated>2024-06-05T00:00:00Z</updated><summary type="html">&lt;p&gt;Terraform allows infrastructure to be defined to deploy applications
and other solutions as code and supports a plethora of on-premise and
cloud deployment targets.&lt;/p&gt;</summary></entry><entry><title>Guix System Crafting talk by David Wilson</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=oINCgds-8kA" /><id>yt:video:oINCgds-8kA</id><updated>2024-05-31T13:46:22Z</updated><summary type="html">&lt;p&gt;David Wilson gives his tips, tricks and workflows for Guix system crafting. David is the creator of systemcrafters.net where he streams and creates content on Guix, Guile, Emacs and crafting the perfect Linux system.&lt;/p&gt;</summary></entry><entry><title>All about Guix: chat with Ludovic Courtès project founder</title><author><name>guix.social</name></author><link href="https://www.youtube.com/watch?v=339dRDf4c6E" /><id>yt:video:339dRDf4c6E</id><updated>2024-05-24T14:46:21Z</updated><summary type="html">&lt;p&gt;Recording (edited) of the Guix London Meetup chat with Ludovic Courtès. Ludo is a long-term #FreeSoftware hacker, interested in #lisp, #scheme and #guile. He is excited by the #nix deployment model, and created #guix. &lt;/p&gt;</summary></entry><entry><title>TinyCC to GCC gap is slowly closing</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc13.html" /><id>tag:ekaitz.elenq.tech,2024-05-02:/bootstrapGcc13.html</id><updated>2024-05-01T21:00:00Z</updated><summary type="html">&lt;p&gt;The sidetrack we took in the past started to give us some good news.
Here there are&amp;nbsp;some.&lt;/p&gt;</summary></entry><entry><title>A side of Guile: Functions in Guile and Guix</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2024/05/01/guile-scheme-functions-for-guix" /><id>tag:www.futurile.net,2024-05-01:/2024/05/01/guile-scheme-functions-for-guix</id><updated>2024-05-01T09:16:00Z</updated><summary type="html">&lt;p&gt;Introducing functions and modules in Guile Scheme and Guix&lt;/p&gt;</summary></entry><entry><title>Compartmentalisation by means of virtualisation</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/compartmentalisation-by-means-of-virtualisation/index.html" /><id>https://fabionatali.com/posts/compartmentalisation-by-means-of-virtualisation/index.html</id><updated>2024-04-28T00:00:00Z</updated><summary type="html">&lt;p&gt;
Now and then I find myself having to open a file or an application that I don't
fully trust. A common technique to deal with this is to create a disposable
environment (for example a so-called container or a virtual machine) where the
file or application can be safely opened. Once used, the environment can be
discarded.
&lt;/p&gt;</summary></entry><entry><title>Guix package structure: build-system overview and build arguments</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2024/04/24/guix-package-structure-build-system" /><id>tag:www.futurile.net,2024-04-24:/2024/04/24/guix-package-structure-build-system</id><updated>2024-04-24T11:23:00Z</updated><summary type="html">&lt;p&gt;Guix package structure: build-system overview build arguments&lt;/p&gt;</summary></entry><entry><title>Reproducible and minimal source-only tarballs</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2024/04/13/reproducible-and-minimal-source-only-tarballs/" /><id>https://blog.josefsson.org/?p=1973</id><updated>2024-04-13T16:44:27Z</updated><summary type="html">&lt;p&gt;With the &lt;a href=&quot;https://lists.nongnu.org/archive/html/libntlm/2024-04/msg00000.html&quot;&gt;release of Libntlm version 1.8&lt;/a&gt; the release tarball can be reproduced on several distributions. We also publish a signed minimal source-only tarball, produced by &lt;a href=&quot;https://git-scm.com/docs/git-archive&quot;&gt;git-archive&lt;/a&gt; which is the same format used by &lt;a href=&quot;https://savannah.gnu.org/&quot;&gt;Savannah&lt;/a&gt;, &lt;a href=&quot;https://codeberg.org/&quot;&gt;Codeberg&lt;/a&gt;, &lt;a href=&quot;https://about.gitlab.com/&quot;&gt;GitLab&lt;/a&gt;, &lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt; and others. Reproducibility of both tarballs are tested &lt;a href=&quot;https://gitlab.com/gsasl/libntlm/-/pipelines&quot;&gt;continuously for regressions&lt;/a&gt; on GitLab through a CI/CD pipeline. If that wasn&amp;#8217;t enough to excite you, the &lt;a href=&quot;https://tracker.debian.org/pkg/libntlm&quot;&gt;Debian packages of Libntlm&lt;/a&gt; are now built from the reproducible minimal source-only tarball. The resulting binaries are &lt;a href=&quot;https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/libntlm.html&quot;&gt;reproducible&lt;/a&gt; on several architectures.&lt;/p&gt;</summary></entry><entry><title>GCC 4.6.4 with RISC-V support in Guix</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc12.html" /><id>tag:ekaitz.elenq.tech,2024-04-02:/bootstrapGcc12.html</id><updated>2024-04-01T21:00:00Z</updated><summary type="html">&lt;p&gt;We built &lt;span&gt;GCC&lt;/span&gt; 4.6.4 with &lt;span&gt;RISC&lt;/span&gt;-V support and C++ and all that and we made it
run in Guix,&amp;nbsp;finally.&lt;/p&gt;</summary></entry><entry><title>So we’ve got sidetracked…</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc11.html" /><id>tag:ekaitz.elenq.tech,2024-03-30:/bootstrapGcc11.html</id><updated>2024-03-29T22:00:00Z</updated><summary type="html">&lt;p&gt;We&amp;#8217;ve got sidetracked, but it doesn&amp;#8217;t really matter if we continue&amp;nbsp;forward.&lt;/p&gt;</summary></entry><entry><title>Guix package structure: inputs, native-inputs and propagated inputs</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2024/03/29/guix-package-structure-inputs" /><id>tag:www.futurile.net,2024-03-29:/2024/03/29/guix-package-structure-inputs</id><updated>2024-03-29T19:19:00Z</updated><summary type="html">&lt;p&gt;Guix package structure: inputs, native-inputs and propagated-inputs&lt;/p&gt;</summary></entry><entry><title>WireGuard connectivity issues</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/wireguard-connectivity-issues/index.html" /><id>https://fabionatali.com/posts/wireguard-connectivity-issues/index.html</id><updated>2024-03-29T00:00:00Z</updated><summary type="html">&lt;p&gt;
tl;dr: If you use WireGuard, make sure NTP (or a similar time synchronisation
mechanism) is set up on all VPN endpoints as the WireGuard protocol is sensitive
to time-sync issues. Also, if you connect to a WireGuard server in an IPv6
network, make sure the server's firewall has sufficiently permissive ICMPv6
rules. Read on to find out why this is important.
&lt;/p&gt;</summary></entry><entry><title>GCC 4.6.4 with RISC-V support</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc10.html" /><id>tag:ekaitz.elenq.tech,2024-03-28:/bootstrapGcc10.html</id><updated>2024-03-27T22:00:00Z</updated><summary type="html">&lt;p&gt;We built &lt;span&gt;GCC&lt;/span&gt; 4.6.4 with &lt;span&gt;RISC&lt;/span&gt;-V support and C++ and all that in a Debian
machine, in a VisionFive board. Here is&amp;nbsp;how.&lt;/p&gt;</summary></entry><entry><title>Adventures on the quest for long-term reproducible deployment</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2024/03/adventures-on-the-quest-for-long-term-reproducible-deployment" /><id>https://hpc.guix.info/blog/2024/03/adventures-on-the-quest-for-long-term-reproducible-deployment</id><updated>2024-03-13T15:00:00Z</updated><summary type="html">&lt;p&gt;Rebuilding software five years later, how hard can it be?  It can’t be
&lt;em&gt;that&lt;/em&gt; hard, especially when you pride yourself on having a tool that
can &lt;a href=&quot;https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-time_002dmachine.html&quot;&gt;travel in
time&lt;/a&gt;
and that does a good job at ensuring &lt;a href=&quot;https://reproducible-builds.org/docs/definition/&quot;&gt;reproducible
builds&lt;/a&gt;, right?&lt;/p&gt;</summary></entry><entry><title>Guix package structure: overview and source/origin inputs</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2024/03/04/guix-package-structure-source-origin" /><id>tag:www.futurile.net,2024-03-04:/2024/03/04/guix-package-structure-source-origin</id><updated>2024-03-04T13:10:00Z</updated><summary type="html">&lt;p&gt;Guix package structure: overview and source/origin inputs&lt;/p&gt;</summary></entry><entry><title>Guix System On A Raspberry Pi 3b</title><author><name>Wilko</name></author><link href="https://me.literatelisp.eu/guix-system-on-a-raspberry-pi-3b.html" /><id>https://me.literatelisp.eu/guix-system-on-a-raspberry-pi-3b.html</id><updated>2024-02-27T18:00:00Z</updated><summary type="html">&lt;p&gt;I've been running my trusty Raspberry Pi Single-Board Computer as a
DNS, DHCP and Gitolite-Server at home since around 2016. It's been
running on a minimal Raspbian and later on NixOS image, but I always
wanted to switch it over to Guix System, to be able to do most of the
configuration of my small server in Guile using Guixes tooling for
maintenance and systems administration. I'll briefly describe what I
did to succesfully boot Guix System in the following. I won't talk
about the actual usage of Guix as a DNS, DHCP and Gitolite-Server on a
Raspberry Pi for now, but eventually will cover these aspects later.&lt;/p&gt;</summary></entry><entry><title>Guix-HPC Activity Report, 2023</title><author><name>Céline Acary-Robert, Emmanuel Agullo, Ludovic Courtès, Marek Felšöci, Konrad Hinsen, Arun Isaac, Ontje Lünsdorf, Pjotr Prins, Simon Tournier, Philippe Virouleau, Ricardo Wurmus</name></author><link href="https://hpc.guix.info/blog/2024/02/guix-hpc-activity-report-2023" /><id>https://hpc.guix.info/blog/2024/02/guix-hpc-activity-report-2023</id><updated>2024-02-16T14:00:00Z</updated><summary type="html">&lt;p&gt;We are pleased to publish the sixth Guix-HPC annual report.
Launched in 2017, Guix-HPC is a collaborative effort to &lt;strong&gt;bring
reproducible software deployment to scientific workflows and
high-performance computing&lt;/strong&gt; (HPC).  Guix-HPC builds upon the
&lt;a href=&quot;https://guix.gnu.org&quot;&gt;GNU Guix&lt;/a&gt; software deployment tool to
empower HPC practitioners and scientists who
need reliability, flexibility, and reproducibility; it aims to
support Open Science and reproducible research.&lt;/p&gt;</summary></entry><entry><title>FOSDEM and Guix Days 2024</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/fosdem-2024.html" /><id>tag:ekaitz.elenq.tech,2024-02-12:/fosdem-2024.html</id><updated>2024-02-11T22:00:00Z</updated><summary type="html">&lt;p&gt;About my personal &lt;span&gt;FOSDEM&lt;/span&gt; 2024 experience and Guix&amp;nbsp;Days&lt;/p&gt;</summary></entry><entry><title>Using Guix despite uncooperative HPC admins—the ultimate solution</title><author><name>Arun Isaac</name></author><link href="https://systemreboot.net/post/using-guix-despite-uncooperative-hpc-admins-the-ultimate-solution.html" /><id>https://systemreboot.net/post/using-guix-despite-uncooperative-hpc-admins-the-ultimate-solution.html</id><updated>2024-02-11T00:00:00Z</updated><summary type="html">&lt;p&gt;How do you use Guix on HPC when your friendly HPC admins are uncooperative? This is the ultimate solution.&lt;/p&gt;</summary></entry><entry><title>Announcing the System Crafters Forum!</title><author><name>David Wilson</name></author><link href="https://systemcrafters.net/news/new-system-crafters-forum/index.html" /><id>https://systemcrafters.net/news/new-system-crafters-forum/index.html</id><updated>2024-02-01T08:00:00Z</updated><summary type="html">&lt;p&gt;
Today I’m excited to announce the launch of the new  &lt;a href=&quot;https://forum.systemcrafters.net&quot;&gt;System Crafters Forum&lt;/a&gt;!
&lt;/p&gt;</summary></entry><entry><title>HIP and ROCm come to Guix</title><author><name>Ludovic Courtès, Thomas Gibson, Kjetil Haugen, Florent Pruvost</name></author><link href="https://hpc.guix.info/blog/2024/01/hip-and-rocm-come-to-guix" /><id>https://hpc.guix.info/blog/2024/01/hip-and-rocm-come-to-guix</id><updated>2024-01-30T15:30:00Z</updated><summary type="html">&lt;p&gt;We have some exciting news to share: AMD has just contributed 100+ Guix
packages adding several versions of the whole HIP and ROCm stack!
&lt;a href=&quot;https://github.com/ROCm/ROCm&quot;&gt;ROCm&lt;/a&gt; is AMD’s &lt;em&gt;Radeon Open Compute
Platform&lt;/em&gt;, a set of low-level support tools for general-purpose
computing on graphics processing units (GPGPUs), and
&lt;a href=&quot;https://github.com/rocm-developer-tools/hip&quot;&gt;HIP&lt;/a&gt; is the &lt;em&gt;Heterogeneous
Interface for Portability&lt;/em&gt;, a language one can use to write code
(computational kernels) targeting GPUs or CPUs.  The whole stack is free
and “open source” software—a breath of fresh air!—and is seeing
increasing adoption in HPC.  &lt;em&gt;And&lt;/em&gt;, it can now be deployed with Guix!&lt;/p&gt;</summary></entry><entry><title>Videos of the 2023 workshop are on-line</title><author><name>Céline Acary-Robert, Pierre-Antoine Bouttier, Ludovic Courtès, Alexandre Dehne-Garcia, Simon Tournier</name></author><link href="https://hpc.guix.info/blog/2024/01/videos-of-the-2023-workshop-are-on-line" /><id>https://hpc.guix.info/blog/2024/01/videos-of-the-2023-workshop-are-on-line</id><updated>2024-01-29T10:00:00Z</updated><summary type="html">&lt;p&gt;Back in November, the &lt;a href=&quot;https://hpc.guix.info/events/2023/workshop/&quot;&gt;First Workshop on Reproducible Software
Environments for Research and High-Performance
Computing&lt;/a&gt; was held in
Montpellier, France.  Coming from France primarily but also from
Czechia, Germany, the Netherlands, Slovakia, Spain, and the United
Kingdom to name a few, 120 people—scientists, high-performance computing
(HPC) practitioners, system administrators, and enthusiasts alike—came
to listen to the talks, attend the tutorials, and talk to one another.&lt;/p&gt;</summary></entry><entry><title>Guix for machine provisioning and management</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/guix-for-machine-provisioning-and-management/index.html" /><id>https://fabionatali.com/posts/guix-for-machine-provisioning-and-management/index.html</id><updated>2024-01-17T00:00:00Z</updated><summary type="html">&lt;p&gt;
This post is about using &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt; for the provisioning and management of cloud
machines and services. Beyond the &lt;a href=&quot;https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-deploy.html&quot;&gt;official documentation&lt;/a&gt;, there are various
great tutorials around this topic already, like &lt;a href=&quot;https://guix.gnu.org/cookbook/en/html_node/Running-Guix-on-a-Linode-Server.html&quot;&gt;this one&lt;/a&gt;, &lt;a href=&quot;https://stumbles.id.au/getting-started-with-guix-deploy.html&quot;&gt;this one&lt;/a&gt;, or &lt;a href=&quot;https://othacehe.org/hosting-a-blog-using-only-scheme.html&quot;&gt;this
other one&lt;/a&gt;. I'm writing this up primarily as a note-to-self, and in case my
specific approach can be of interest to anyone else.
&lt;/p&gt;</summary></entry><entry><title>Modifying Guix packages using inheritance</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2024/01/12/modifying-guix-packages-using-inheritance" /><id>tag:www.futurile.net,2024-01-12:/2024/01/12/modifying-guix-packages-using-inheritance</id><updated>2024-01-12T19:52:00Z</updated><summary type="html">&lt;p&gt;Modifications to guix packages using inheritance&lt;/p&gt;</summary></entry><entry><title>Secrets management with SOPS Guix</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/secrets-management-with-sops-guix.html" /><id>https://fishinthecalculator.me/blog/secrets-management-with-sops-guix.html</id><updated>2024-01-02T16:20:00Z</updated><summary type="html">&lt;p&gt;Dealing with secrets in functional operating systems can range from pretty usable to complete hell. Nix has &lt;a href=&quot;https://nixos.wiki/wiki/Comparison_of_secret_managing_schemes&quot;&gt;several answers to this problem&lt;/a&gt;, the more integrated of which appears to be &lt;a href=&quot;https://github.com/Mic92/sops-nix&quot;&gt;&lt;code&gt;sops-nix&lt;/code&gt;&lt;/a&gt;. After spending some months envying our neighbors grass, I figured it was time for Guix to have its own (attempt at an) answer to the secrets problem.&lt;/p&gt;</summary></entry><entry><title>Monitor your Guix System with Grafana</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/monitor-your-guix-system-with-grafana.html" /><id>https://fishinthecalculator.me/blog/monitor-your-guix-system-with-grafana.html</id><updated>2023-12-30T16:20:00Z</updated><summary type="html">&lt;p&gt;If you need to run Grafana on the Guix System this post is the right place. In this example we'll setup Grafana to read metrics from the same machine it's run upon, but you can adapt this to use a remote datasource.&lt;/p&gt;</summary></entry><entry><title>Guix introduction at 37c3</title><author><name>Fabio Natali</name></author><link href="https://fabionatali.com/posts/guix-introduction-at-37c3/index.html" /><id>https://fabionatali.com/posts/guix-introduction-at-37c3/index.html</id><updated>2023-12-27T00:00:00Z</updated><summary type="html">&lt;p&gt;
This is the outline of a &lt;a href=&quot;https://events.ccc.de/congress/2023/hub/en/event/gnu-guix-an-introduction/&quot;&gt;short session&lt;/a&gt; on &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt; that I had the chance to organise
at the &lt;a href=&quot;https://events.ccc.de/congress/2023/&quot;&gt;37th Chaos Communication Congress&lt;/a&gt;, or 37c3, in December 2023. It's not
worth much, but I thought it was useful to have it here in case I want to reuse
it or refer to it in the future.
&lt;/p&gt;</summary></entry><entry><title>Guix + Zig + NSIS for the win…DOWS?</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/windows2.html" /><id>tag:ekaitz.elenq.tech,2023-12-15:/windows2.html</id><updated>2023-12-14T22:00:00Z</updated><summary type="html">&lt;p&gt;How I made a program for Windows and &lt;span&gt;GNU&lt;/span&gt;/Linux without touching any Windows
machine. The tools and the tricks to be effective (Zig and &lt;span&gt;NSIS&lt;/span&gt; for the&amp;nbsp;win).&lt;/p&gt;</summary></entry><entry><title>Tame Docker selfhosting with Guix</title><author><name>Giacomo Leidi</name></author><link href="https://fishinthecalculator.me/blog/tame-docker-selfhosting-with-guix.html" /><id>https://fishinthecalculator.me/blog/tame-docker-selfhosting-with-guix.html</id><updated>2023-12-10T16:20:00Z</updated><summary type="html">&lt;p&gt;Many applications are packaged in &lt;a href=&quot;https://opencontainers.org&quot;&gt;OCI&lt;/a&gt;/Docker images but not in Guix. A good subset of them is written either in NodeJS, Go, Rust or languages that, as a general approach, encourage applications to have huge dependency graphs.&lt;/p&gt;</summary></entry><entry><title>Advanced package transformations in manifests and Derivations introduction</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/12/08/git-transformations-in-manifests-with-derivations-introduction" /><id>tag:www.futurile.net,2023-12-08:/2023/12/08/git-transformations-in-manifests-with-derivations-introduction</id><updated>2023-12-08T16:10:00Z</updated><summary type="html">&lt;p&gt;Using with-git package transformations and Derivations introduction&lt;/p&gt;</summary></entry><entry><title>Package transformations in manifests</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/12/07/guix-package-transformations-in-manifests-with-guile-introduction" /><id>tag:www.futurile.net,2023-12-07:/2023/12/07/guix-package-transformations-in-manifests-with-guile-introduction</id><updated>2023-12-07T11:16:00Z</updated><summary type="html">&lt;p&gt;Modifying applications using manifests and package transformations&lt;/p&gt;</summary></entry><entry><title>Modifying Guix packages using package transformations</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/12/05/guix-package-transformations" /><id>tag:www.futurile.net,2023-12-05:/2023/12/05/guix-package-transformations</id><updated>2023-12-05T15:43:00Z</updated><summary type="html">&lt;p&gt;Creating package variants using just the command line tools&lt;/p&gt;</summary></entry><entry><title>A side of Guile: The Guile REPL and investigating Guix packages</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/12/04/guile-repl-with-guix-package-repl-queries" /><id>tag:www.futurile.net,2023-12-04:/2023/12/04/guile-repl-with-guix-package-repl-queries</id><updated>2023-12-04T10:54:00Z</updated><summary type="html">&lt;p&gt;Introduction to the Guile REPL and querying Guix package information&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.26 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-026-released.html" /><id>https://joyofsource.com/gnu-mes-026-released.html</id><updated>2023-12-03T14:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.26.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.25.1 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0251-released.html" /><id>https://joyofsource.com/gnu-mes-0251-released.html</id><updated>2023-12-02T11:00:00Z</updated><summary type="html">&lt;p&gt;Mes 0.25.1 is a bug-fix release.&lt;/p&gt;</summary></entry><entry><title>Guix package rebuilds</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/11/28/guix-package-rebuilds" /><id>tag:www.futurile.net,2023-11-28:/2023/11/28/guix-package-rebuilds</id><updated>2023-11-28T10:48:00Z</updated><summary type="html">&lt;p&gt;An introduction to Guix packaging - rebuilding Guix packages&lt;/p&gt;</summary></entry><entry><title>Mes released and bootstrappable TCC merged</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc9.html" /><id>tag:ekaitz.elenq.tech,2023-11-16:/bootstrapGcc9.html</id><updated>2023-11-15T22:00:00Z</updated><summary type="html">&lt;p&gt;Some merging and releasing has been done. So here we&amp;nbsp;are.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.25 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-025-released.html" /><id>https://joyofsource.com/gnu-mes-025-released.html</id><updated>2023-11-11T08:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.25!&lt;/p&gt;</summary></entry><entry><title>Guix time travelling tricks</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/11/07/guix-time-travel-tricks" /><id>tag:www.futurile.net,2023-11-07:/2023/11/07/guix-time-travel-tricks</id><updated>2023-11-07T15:57:00Z</updated><summary type="html">&lt;p&gt;Guix time-travel tricks: install any version of a Guix package&lt;/p&gt;</summary></entry><entry><title>Milestone — MesCC builds TinyCC and fun C errors for everyone</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc8.html" /><id>tag:ekaitz.elenq.tech,2023-10-30:/bootstrapGcc8.html</id><updated>2023-10-29T22:00:00Z</updated><summary type="html">&lt;p&gt;We spent the last months making MesCC able to compile TinyCC and making the
result of that compilation able to compile TinyCC. Many cool problems
appeared, this is the summary of our&amp;nbsp;work.&lt;/p&gt;</summary></entry><entry><title>Time travelling dev environments in Guix</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/10/17/guix-time-travel-dev-environments" /><id>tag:www.futurile.net,2023-10-17:/2023/10/17/guix-time-travel-dev-environments</id><updated>2023-10-17T16:52:00Z</updated><summary type="html">&lt;p&gt;Guix time-travel to guarantee reproducible dev environments&lt;/p&gt;</summary></entry><entry><title>Announcing the First Workshop on Reproducible Software Environments</title><author><name>Simon Tournier, Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2023/09/first-workshop-on-reproducible-software-environments" /><id>https://hpc.guix.info/blog/2023/09/first-workshop-on-reproducible-software-environments</id><updated>2023-09-18T14:30:00Z</updated><summary type="html">&lt;p&gt;We’re excited to announce the &lt;a href=&quot;https://hpc.guix.info/events/2023/workshop/&quot;&gt;First Workshop on Reproducible Software
Environments for Research and High-Performance Computing
(HPC)&lt;/a&gt;, which will take
place in &lt;strong&gt;Montpellier, France&lt;/strong&gt;, on &lt;strong&gt;November 8–10th, 2023&lt;/strong&gt;!  The
&lt;a href=&quot;https://hpc.guix.info/events/2023/workshop/program/&quot;&gt;preliminary
program&lt;/a&gt; is
on-line, and now’s the time for you to
&lt;a href=&quot;https://repro4research.sciencesconf.org/registration&quot;&gt;register&lt;/a&gt;!&lt;/p&gt;</summary></entry><entry><title>More work, more people, more energy — thanks NlNet</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc7.html" /><id>tag:ekaitz.elenq.tech,2023-07-17:/bootstrapGcc7.html</id><updated>2023-07-16T21:00:00Z</updated><summary type="html">&lt;p&gt;Now it&amp;#8217;s time to focus on combining all the previous work and making it
production ready. NlNet for the rescue,&amp;nbsp;again.&lt;/p&gt;</summary></entry><entry><title>Reproducible research hackathon: experience report</title><author><name>Simon Tournier, Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2023/07/reproducible-research-hackathon-experience-report" /><id>https://hpc.guix.info/blog/2023/07/reproducible-research-hackathon-experience-report</id><updated>2023-07-12T15:20:00Z</updated><summary type="html">&lt;p&gt;Two weeks ago, on June 27th, we held an second &lt;a href=&quot;https://hpc.guix.info/blog/2023/05/reproducible-research-hackathon-let-redo/&quot;&gt;on-line
hackathon&lt;/a&gt;
on reproducible research issues.  This hackathon was a collaborative effort to
bring GNU Guix to concrete examples inspired by contributions to the online
journal &lt;a href=&quot;https://rescience.github.io&quot;&gt;ReScience C&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>Coping with non-free software in Debian</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2023/07/11/coping-with-non-free-debian/" /><id>https://blog.josefsson.org/?p=1819</id><updated>2023-07-11T13:27:00Z</updated><summary type="html">&lt;p&gt;&lt;em&gt;A personal reflection on how I moved from my Debian home to find two new homes with Trisquel and Guix for my own ethical computing, and while doing so settled my dilemma about further Debian contributions.&lt;/em&gt;&lt;/p&gt;</summary></entry><entry><title>A guide to reproducible research papers</title><author><name>Ludovic Courtès, Marek Felšöci, Konrad Hinsen, Philippe Swartvagher</name></author><link href="https://hpc.guix.info/blog/2023/06/a-guide-to-reproducible-research-papers" /><id>https://hpc.guix.info/blog/2023/06/a-guide-to-reproducible-research-papers</id><updated>2023-06-23T12:00:00Z</updated><summary type="html">&lt;p&gt;A core tenet of science is the ability to independently &lt;em&gt;verify&lt;/em&gt;
research results.  When computations are involved, verifiability implies
reproducibility: one should be able to re-run the computations to ensure
they get the same results, at which point they may want to start
experimenting with variants of the computational methods, feed it
different data sets, and so on.  This is the motivation behind our work
on Guix: we want to empower scientists by providing a tool in support of
reproducible computations &lt;em&gt;and&lt;/em&gt; experimentation.&lt;/p&gt;</summary></entry><entry><title>Scheme Static Site Generators Review</title><author><name>Andrew Tropin</name></author><link href="https://trop.in/blog/scheme-static-site-generators-review.html" /><id>https://trop.in/blog/scheme-static-site-generators-review.html</id><updated>2023-05-23T12:00:00Z</updated><summary type="html">&lt;p&gt;Static site generator is a program, which accepts text files as input
and produces static web pages as output.  It can be useful in various
scenarios: for building blog, book, documentation, project or personal
page for example.&lt;/p&gt;</summary></entry><entry><title>Reproducible Research Hackathon—let’s redo!</title><author><name>Simon Tournier</name></author><link href="https://hpc.guix.info/blog/2023/05/reproducible-research-hackathon-let-redo" /><id>https://hpc.guix.info/blog/2023/05/reproducible-research-hackathon-let-redo</id><updated>2023-05-12T12:00:00Z</updated><summary type="html">&lt;p&gt;It's time to run the second Reproducible Research hackathon!  The first one
was
from... 2020,
already!  The date: &lt;strong&gt;Tuesday June, 27th&lt;/strong&gt;.  Start: 9h30 (CEST) End: 17h30.&lt;/p&gt;</summary></entry><entry><title>Unveiling the New System Crafters Site!</title><author><name>David Wilson</name></author><link href="https://systemcrafters.net/news/new-systemcrafters-site/index.html" /><id>https://systemcrafters.net/news/new-systemcrafters-site/index.html</id><updated>2023-05-11T08:00:00Z</updated><summary type="html">&lt;p&gt;
Welcome to the redesigned and improved System Crafters site!
&lt;/p&gt;</summary></entry><entry><title>Speeding up Guix with a local caching substitution server</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/05/01/guix-publish-caching-substitution-server" /><id>tag:www.futurile.net,2023-05-01:/2023/05/01/guix-publish-caching-substitution-server</id><updated>2023-05-01T12:39:00Z</updated><summary type="html">&lt;p&gt;Using Guix publish to run a local caching substitution server.&lt;/p&gt;</summary></entry><entry><title>Reproducible dev environments using Guix</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/04/30/guix-reproducible-dev-environments" /><id>tag:www.futurile.net,2023-04-30:/2023/04/30/guix-reproducible-dev-environments</id><updated>2023-04-30T07:19:00Z</updated><summary type="html">&lt;p&gt;Making development reproducible, easy and fun with Guix&lt;/p&gt;</summary></entry><entry><title>Guix shell for virtual environments and containers</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2023/04/29/guix-shell-virtual-environments-containers" /><id>tag:www.futurile.net,2023-04-29:/2023/04/29/guix-shell-virtual-environments-containers</id><updated>2023-04-29T12:26:00Z</updated><summary type="html">&lt;p&gt;Using Guix shell to create isolated environments and containers&lt;/p&gt;</summary></entry><entry><title>How To Trust A Machine</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2023/04/29/how-to-trust-a-machine/" /><id>https://blog.josefsson.org/?p=1796</id><updated>2023-04-29T11:45:42Z</updated><summary type="html">&lt;p&gt;Let&amp;#8217;s reflect on some of my recent work that started with &lt;a href=&quot;https://blog.josefsson.org/2023/01/22/understanding-trisquel/&quot;&gt;understanding Trisquel GNU/Linux&lt;/a&gt;, improving &lt;a href=&quot;https://blog.josefsson.org/2023/02/01/apt-archive-transparency-debdistdiff-apt-canary/&quot;&gt;transparency into apt-archives&lt;/a&gt;, working on &lt;a href=&quot;https://blog.josefsson.org/2023/04/10/trisquel-is-42-reproducible/&quot;&gt;reproducible builds of Trisquel&lt;/a&gt;, strengthening &lt;a href=&quot;https://blog.josefsson.org/2023/04/15/sigstore-protects-apt-archives-apt-verify-apt-sigstore/&quot;&gt;verification of apt-archives with Sigstore&lt;/a&gt;, and finally thinking about &lt;a href=&quot;https://blog.josefsson.org/2023/04/27/a-security-device-threat-model-the-substitution-attack/&quot;&gt;security device threat models&lt;/a&gt;.  A theme in all this is improving methods to have trust in machines, or generally any external entity.  While I believe that everything starts by trusting something, usually something familiar and well-known, we need to deal with misuse of that trust that leads to failure to deliver what is desired and expected from the trusted entity.  How can an entity behave to invite trust?  Let&amp;#8217;s argue for some properties that can be quantitatively measured, with a focus on computer software and hardware:&lt;/p&gt;</summary></entry><entry><title>The Full-Source Bootstrap: Building from source all the way down</title><author><name>Janneke Nieuwenhuizen, Ludovic Courtès</name></author><link href="https://joyofsource.com/the-full-source-bootstrap-building-from-source-all-the-way-down.html" /><id>https://joyofsource.com/the-full-source-bootstrap-building-from-source-all-the-way-down.html</id><updated>2023-04-26T16:00:00Z</updated><summary type="html">&lt;p&gt;We are delighted and somewhat relieved to announce that the third
reduction of the Guix &lt;em&gt;bootstrap binaries&lt;/em&gt; has now been merged in the
main branch of Guix!  If you run &lt;code&gt;guix pull&lt;/code&gt; today, you get a package
graph of more than 22,000 nodes &lt;em&gt;rooted in a 357-byte program&lt;/em&gt;—something
that had never been achieved, to our knowledge, since the birth of Unix.&lt;/p&gt;</summary></entry><entry><title>Support Windows not supporting Windows</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/windows.html" /><id>tag:ekaitz.elenq.tech,2023-03-18:/windows.html</id><updated>2023-03-17T22:00:00Z</updated><summary type="html">&lt;p&gt;About the possibility of having Windows users as clients being a software
developer that doesn&amp;#8217;t use Windows, and how to solve that&amp;nbsp;technically.&lt;/p&gt;</summary></entry><entry><title>Continuous integration and continuous delivery for HPC</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2023/03/contiguous-integration-and-continuous-delivery-for-hpc" /><id>https://hpc.guix.info/blog/2023/03/contiguous-integration-and-continuous-delivery-for-hpc</id><updated>2023-03-06T15:00:00Z</updated><summary type="html">&lt;p&gt;Will those binaries &lt;em&gt;actually work&lt;/em&gt;?  This is a central question for HPC
practitioners and one that’s sometimes hard to answer: increasingly
complex software stacks being deployed, and often on a variety of
clusters.  Will that program pick the right libraries?  Will it perform
well?  With each cluster having its own hardware characteristics,
portability is often considered unachievable.  As a result, HPC
practitioners rarely take advantage of &lt;a href=&quot;https://en.wikipedia.org/wiki/Continuous_integration&quot;&gt;continuous integration and
continuous
delivery&lt;/a&gt; (CI/CD):
building software locally on the cluster is common, and software
validation is often a costly manual process that has to be repeated on
each cluster.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.24.2 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0242-released.html" /><id>https://joyofsource.com/gnu-mes-0242-released.html</id><updated>2023-02-15T09:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.24.2, representing 25
commits over nine months by four people.&lt;/p&gt;</summary></entry><entry><title>Guix-HPC Activity Report, 2022</title><author><name>Céline Acary-Robert, Ludovic Courtès, Yann Dupont, Marek Felšöci, Konrad Hinsen, Ontje Lünsdorf, Pjotr Prins, Philippe Swartvagher, Simon Tournier, Ricardo Wurmus</name></author><link href="https://hpc.guix.info/blog/2023/02/guix-hpc-activity-report-2022" /><id>https://hpc.guix.info/blog/2023/02/guix-hpc-activity-report-2022</id><updated>2023-02-10T15:45:00Z</updated><summary type="html">&lt;p&gt;&lt;em&gt;This document is also available as
&lt;a href=&quot;https://hpc.guix.info/static/doc/activity-report-2022.pdf&quot;&gt;PDF&lt;/a&gt;
(&lt;a href=&quot;https://hpc.guix.info/static/doc/activity-report-2022-booklet.pdf&quot;&gt;printable
booklet&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;</summary></entry><entry><title>Guix-HPC at FOSDEM</title><author><name>Ludovic Courtès</name></author><link href="https://hpc.guix.info/blog/2023/01/guix-hpc-at-fosdem" /><id>https://hpc.guix.info/blog/2023/01/guix-hpc-at-fosdem</id><updated>2023-01-24T14:00:00Z</updated><summary type="html">&lt;p&gt;As has been the case &lt;a href=&quot;https://guix.gnu.org/en/blog/tags/fosdem/&quot;&gt;for 9 years
(!)&lt;/a&gt;, Guix will be present at
&lt;a href=&quot;https://fosdem.org/2023&quot;&gt;FOSDEM&lt;/a&gt;, the big annual free software
developer conference in Europe.  There will be &lt;a href=&quot;https://guix.gnu.org/blog/2023/meet-guix-at-fosdem-2023/&quot;&gt;no less than ten
Guix-related
talks&lt;/a&gt;, of
which the following are particularly relevant to the HPC and
reproducible research communities:&lt;/p&gt;</summary></entry><entry><title>Layering Guix Profiles</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/12/23/guix-profiles-layering-at-login" /><id>tag:www.futurile.net,2022-12-23:/2022/12/23/guix-profiles-layering-at-login</id><updated>2022-12-23T18:19:00Z</updated><summary type="html">&lt;p&gt;Layering Guix profiles and activating them at login.&lt;/p&gt;</summary></entry><entry><title>Automating and managing multiple Guix profiles</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/12/22/guix-managing-multiple-profiles" /><id>tag:www.futurile.net,2022-12-22:/2022/12/22/guix-managing-multiple-profiles</id><updated>2022-12-22T10:49:00Z</updated><summary type="html">&lt;p&gt;Automating and managing multiple Guix profiles.&lt;/p&gt;</summary></entry><entry><title>Guix Profiles to logically separate packages</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/12/21/guix-profiles-logical-separation" /><id>tag:www.futurile.net,2022-12-21:/2022/12/21/guix-profiles-logical-separation</id><updated>2022-12-21T17:45:00Z</updated><summary type="html">&lt;p&gt;Guix profiles to logically separate package sets&lt;/p&gt;</summary></entry><entry><title>Second impressions of Guix 1.4</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2022/12/19/second-impressions-of-guix-1-4/" /><id>https://blog.josefsson.org/?p=1551</id><updated>2022-12-19T21:38:32Z</updated><summary type="html">&lt;p&gt;While my &lt;a href=&quot;https://blog.josefsson.org/2022/12/16/guix-1-4-on-nv41pz/&quot;&gt;first impression of Guix 1.4rc2 on NV41PZ&lt;/a&gt; was only days ago, the final &lt;a href=&quot;https://guix.gnu.org/en/blog/2022/gnu-guix-1.4.0-released/&quot;&gt;Guix 1.4 release&lt;/a&gt; has happened.  I thought I should give it a second try, although being at my summer house with no wired ethernet I realized this may be overly optimistic.  However I am happy to say that a &lt;a href=&quot;https://guix.gnu.org/manual/en/html_node/Guided-Graphical-Installation.html&quot;&gt;guided graphical installation&lt;/a&gt; on my new laptop went smooth without any problem. Practicing OS installations has a tendency to make problems disappear.&lt;/p&gt;</summary></entry><entry><title>Guix 1.4 on NV41PZ</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2022/12/16/guix-1-4-on-nv41pz/" /><id>https://blog.josefsson.org/?p=1542</id><updated>2022-12-16T11:09:46Z</updated><summary type="html">&lt;p&gt;On the shortlist of things to try on &lt;a href=&quot;https://blog.josefsson.org/2022/12/10/trisquel-11-on-nv41pz-first-impressions/&quot;&gt;my new laptop&lt;/a&gt; has been &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt;.  I have been using Guix on my rsnapshot-based backup server since 2018, and experimented using it on a second laptop but never on my primary daily work machine.  The main difference with Guix for me, compared to &lt;a href=&quot;https://www.debian.org/&quot;&gt;Debian&lt;/a&gt; (or &lt;a href=&quot;https://trisquel.info/&quot;&gt;Trisquel&lt;/a&gt;), is that Guix follows a rolling release model, even though they prepare stable versioned installation images once in a while.  It seems the trend for operating system software releases is to either following a Long-Term-Support approach or adopt a rolling approach.  Historically I have found that the rolling release approach, such as following &lt;a href=&quot;https://www.debian.org/devel/testing&quot;&gt;Debian testing&lt;/a&gt;, has lead to unreliable systems, since little focus was given to system integration stability.  This probably changed in the last 10 years or so, and today add-on systems like &lt;a href=&quot;https://brew.sh/&quot;&gt;Homebrew&lt;/a&gt; on macOS gives me access to modern releases of free software easily.  While I am likely to stay with LTS releases of GNU/Linux on many systems, the experience with rolling Guix (with &lt;a href=&quot;https://gitlab.com/jas/sjd-cosmos/-/blob/master/hamster.josefsson.org/overlay/etc/config.scm&quot;&gt;unattended-upgrades from a cron job&lt;/a&gt; to pull in new code continously) on my backup servers has been smooth: no need for re-installation or debugging of installations for over four years!&lt;/p&gt;</summary></entry><entry><title>Using manifests to maintain our Guix applications</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/12/12/guix-managing-apps-with-manifests" /><id>tag:www.futurile.net,2022-12-12:/2022/12/12/guix-managing-apps-with-manifests</id><updated>2022-12-12T21:49:00Z</updated><summary type="html">&lt;p&gt;Installing applications in Guix with manifests&lt;/p&gt;</summary></entry><entry><title>Installing Guix on a 10th gen Thinkpad X1</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/installing-guix-on-a-10th-gen-thinkpad-x1.html" /><id>https://dthompson.us/posts/installing-guix-on-a-10th-gen-thinkpad-x1.html</id><updated>2022-12-05T11:00:00Z</updated><summary type="html">&lt;p&gt;The last time I bought a laptop, I got a used Thinkpad X220 from
eBay.  I loved that laptop, but
time marches on and old hardware eventually becomes too slow for
modern development needs.  After a lot of indecision, I bought a 10th
generation Thinkpad X1 with an Intel Core i7-1280P CPU, 32GB RAM, and
1TB NVMe SSD.  While they don’t make Thinkpads like they used to, I’m
still really happy with it and glad I chose it.  Despite the keyboard
changes, the TrackPoint™ is still there and I don’t think I could feel
good using a laptop without it.  Below I will explain all the steps I
took to get the Guix distribution setup nicely on it.  Maybe it can
help you setup your own Thinkpad X1 or some other computer that
requires more than what Guix provides for all of the hardware to work.&lt;/p&gt;</summary></entry><entry><title>Installing Chrome and other proprietary apps on Guix</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/12/04/proprietary-apps-on-guix-using-nonguix-channel" /><id>tag:www.futurile.net,2022-12-04:/2022/12/04/proprietary-apps-on-guix-using-nonguix-channel</id><updated>2022-12-04T15:06:00Z</updated><summary type="html">&lt;p&gt;Using channels to find more apps on Guix - including proprietary ones from the nonguix channel&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.24.1 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0241-released.html" /><id>https://joyofsource.com/gnu-mes-0241-released.html</id><updated>2022-10-16T11:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.24.1, representing 23
commits over five months by four people.&lt;/p&gt;</summary></entry><entry><title>On language bindings &amp; Relaunching Guile-GnuTLS</title><author><name>Simon Josefsson</name></author><link href="https://blog.josefsson.org/2022/10/14/on-language-bindings-relaunching-guile-gnutls/" /><id>https://blog.josefsson.org/?p=1497</id><updated>2022-10-14T13:58:43Z</updated><summary type="html">&lt;p&gt;The &lt;a href=&quot;https://www.gnu.org/software/guile/&quot;&gt;Guile&lt;/a&gt; bindings for &lt;a href=&quot;https://gnutls.org/&quot;&gt;GnuTLS&lt;/a&gt; has been part of GnuTLS since spring 2007 when &lt;a href=&quot;https://lists.gnutls.org/pipermail/gnutls-devel/2007-May/001623.html&quot;&gt;Ludovic Courtès contributed it&lt;/a&gt; after some &lt;a href=&quot;https://lists.gnutls.org/pipermail/gnutls-devel/2007-April/001464.html&quot;&gt;initial discussion&lt;/a&gt;.  I have been looking into getting back to do GnuTLS coding, and during a &lt;a href=&quot;https://gitlab.com/gnutls/gnutls/-/wikis/meeting-agenda-2022&quot;&gt;recent GnuTLS meeting&lt;/a&gt; one topic was Guile bindings.  It seemed like a fairly self-contained project to pick up on.  It is interesting to re-read the old thread when this work was included: some of the concerns brought up there now have track record to be evaluated on.  My opinion that the cost of introducing a new project per language binding today is smaller than the cost of maintaining language bindings as part of the core project.  I believe the cost/benefit ratio has changed during the past 15 years: introducing a new project used to come with a significant cost but this is no longer the case, as tooling and processes for packaging have improved.  I have had similar experience with Java, C# and Emacs Lisp bindings for &lt;a href=&quot;https://www.gnu.org/software/libidn/&quot;&gt;GNU Libidn&lt;/a&gt; as well, where maintaining them centralized slow down the pace of updates.  &lt;a href=&quot;https://lists.gnutls.org/pipermail/gnutls-help/2022-October/004773.html&quot;&gt;Andreas Metzler pointed&lt;/a&gt; to a similar &lt;a href=&quot;https://lists.debian.org/debian-devel/2022/08/msg00265.html&quot;&gt;conclusion reached by Russ Allbery&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>Guix for development</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/guix-for-development.html" /><id>https://dthompson.us/posts/guix-for-development.html</id><updated>2022-09-23T15:00:00Z</updated><summary type="html">&lt;p&gt;&lt;a href=&quot;https://gexp.no/blog/hacking-anything-with-gnu-guix.html&quot;&gt;This wonderful
article&lt;/a&gt; by
Marius Bakke (thanks for using
&lt;a href=&quot;https://dthompson.us/projects/haunt.html&quot;&gt;Haunt&lt;/a&gt; btw!) about &lt;code&gt;guix shell&lt;/code&gt; hit the orange website front page recently.  I left a comment
to the effect of “hell yeah I use it for all my projects!” and someone
asked me for an example of what I do.  I sent them some links but I
thought hey, this could be a blog post and I haven't written one of
those in &lt;em&gt;years&lt;/em&gt;!&lt;/p&gt;</summary></entry><entry><title>Milestone – RISC-V support in Mes’s bootstrappable TinyCC</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc6.html" /><id>tag:ekaitz.elenq.tech,2022-09-22:/bootstrapGcc6.html</id><updated>2022-09-21T21:00:00Z</updated><summary type="html">&lt;p&gt;Bringing &lt;span&gt;RISC&lt;/span&gt;-V support to the bootstrappable TinyCC Mes forked. Some
problems and a look into the&amp;nbsp;future.&lt;/p&gt;</summary></entry><entry><title>Guix common workflows and concepts</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/09/09/guix-common-workflows-and-concepts" /><id>tag:www.futurile.net,2022-09-09:/2022/09/09/guix-common-workflows-and-concepts</id><updated>2022-09-09T20:49:00Z</updated><summary type="html">&lt;p&gt;Common workflows when using the Guix package manager&lt;/p&gt;</summary></entry><entry><title>Adding TinyCC to the mix</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc5.html" /><id>tag:ekaitz.elenq.tech,2022-08-01:/bootstrapGcc5.html</id><updated>2022-07-31T21:00:00Z</updated><summary type="html">&lt;p&gt;Discussing what changes need to be done to make &lt;span&gt;GCC&lt;/span&gt; compilable form a
simpler C compiler,&amp;nbsp;TinyCC.&lt;/p&gt;</summary></entry><entry><title>Milestone — Source to Binary RISC-V support in GCC 4.6.4</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc4.html" /><id>tag:ekaitz.elenq.tech,2022-06-20:/bootstrapGcc4.html</id><updated>2022-06-19T21:00:00Z</updated><summary type="html">&lt;p&gt;Description of the changes applied from a minimal compiler that runs and
generates assembly to something that is actually able to compile,
interacting with binutils and having a working&amp;nbsp;libgcc.&lt;/p&gt;</summary></entry><entry><title>Dealing with possessed TrackPoints on later model ThinkPads</title><author><name>Benjamin.Slade@fakeEmailToMakeValidatorHappy.com (Benjamin Slade)</name></author><link href="https://babbagefiles.xyz/possessed-trackpoint/" /><id>https://babbagefiles.xyz/possessed-trackpoint/</id><updated>2022-06-19T01:51:00Z</updated><summary type="html">&lt;p&gt;On a new-to-me ThinkPad T440p, I&amp;rsquo;ve had the worst time with the
TrackPoint.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.24 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-024-released.html" /><id>https://joyofsource.com/gnu-mes-024-released.html</id><updated>2022-05-02T20:00:00Z</updated><summary type="html">&lt;p&gt;We are thrilled to announce the release of GNU Mes 0.24, representing
222 commits over one year by four people.&lt;/p&gt;</summary></entry><entry><title>Milestone — Minimal RISC-V support in GCC 4.6.4</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc3.html" /><id>tag:ekaitz.elenq.tech,2022-04-08:/bootstrapGcc3.html</id><updated>2022-04-07T21:00:00Z</updated><summary type="html">&lt;p&gt;Description of the changes for a minimal &lt;span&gt;RISC&lt;/span&gt;-V support in &lt;span&gt;GCC&lt;/span&gt;-4.6.4 and
how did I reach this&amp;nbsp;point.&lt;/p&gt;</summary></entry><entry><title>ELF format — why not?</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc2.html" /><id>tag:ekaitz.elenq.tech,2022-03-14:/bootstrapGcc2.html</id><updated>2022-03-13T22:00:00Z</updated><summary type="html">&lt;p&gt;Some introduction to &lt;span&gt;ELF&lt;/span&gt; as we&amp;#8217;ll need to deal with this in the&amp;nbsp;future.&lt;/p&gt;</summary></entry><entry><title>GCC internals — From a porting perspective</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/bootstrapGcc1.html" /><id>tag:ekaitz.elenq.tech,2022-03-08:/bootstrapGcc1.html</id><updated>2022-03-07T22:00:00Z</updated><summary type="html">&lt;p&gt;Deep diving into &lt;span&gt;GCC&lt;/span&gt;&amp;#8217;s internals from the perspective of someone who
wants to port &lt;span&gt;GCC&lt;/span&gt; for a new&amp;nbsp;architecture.&lt;/p&gt;</summary></entry><entry><title>Git patches by email</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2022/03/07/git-patches-email-workflow" /><id>tag:www.futurile.net,2022-03-07:/2022/03/07/git-patches-email-workflow</id><updated>2022-03-07T15:06:00Z</updated><summary type="html">&lt;p&gt;Using a patch workflow&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.23.1 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-0231-released.html" /><id>https://joyofsource.com/gnu-mes-0231-released.html</id><updated>2022-03-01T17:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.23.1, representing 22
commits over one year by four people.&lt;/p&gt;</summary></entry><entry><title>Guix package management on Ubuntu</title><author><name>Steve George</name></author><link href="https://www.futurile.net/2021/09/26/guix-alternative-to-snap-or-flatpak-on-ubuntu" /><id>tag:www.futurile.net,2021-09-26:/2021/09/26/guix-alternative-to-snap-or-flatpak-on-ubuntu</id><updated>2021-09-26T10:26:00Z</updated><summary type="html">&lt;p&gt;Guix package management as an alternative to using Snap or Flatpak packages&lt;/p&gt;</summary></entry><entry><title>RISC-V Adventures II: hex0</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/hex0.html" /><id>tag:ekaitz.elenq.tech,2021-06-08:/hex0.html</id><updated>2021-06-07T21:00:00Z</updated><summary type="html">&lt;p&gt;A love story about trust, machine code, hexadecimal notation and weird
instruction formats, with an epic unexpected solution coming back from the&amp;nbsp;afterlife.&lt;/p&gt;</summary></entry><entry><title>RISC-V Adventures: Lightening</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/lightening.html" /><id>tag:ekaitz.elenq.tech,2021-05-19:/lightening.html</id><updated>2021-05-18T21:00:00Z</updated><summary type="html">&lt;p&gt;The port of Lightening, the code generation library used in
Guile Scheme, and other adventures on the low level world of &lt;span&gt;RISC&lt;/span&gt;-V.&lt;/p&gt;</summary></entry><entry><title>Review of 2020</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/2020.html" /><id>tag:ekaitz.elenq.tech,2021-05-16:/2020.html</id><updated>2021-05-15T21:00:00Z</updated><summary type="html">&lt;p&gt;The review of our year 2020 at ElenQ&amp;nbsp;Technology.&lt;/p&gt;</summary></entry><entry><title>GNU Mes 0.23 released</title><author><name>janneke</name></author><link href="https://joyofsource.com/gnu-mes-023-released.html" /><id>https://joyofsource.com/gnu-mes-023-released.html</id><updated>2021-03-14T17:00:00Z</updated><summary type="html">&lt;p&gt;We are happy to announce the release of GNU Mes 0.23, representing 125
commits over one year by four people.&lt;/p&gt;</summary></entry><entry><title>We did it!</title><author><name>Janneke Nieuwenhuizen</name></author><link href="https://joyofsource.com/we-did-it.html" /><id>https://joyofsource.com/we-did-it.html</id><updated>2021-01-07T08:00:00Z</updated><summary type="html">&lt;p&gt;Last Monday I &lt;a href=&quot;https://lists.gnu.org/archive/html/guix-devel/2021-01/msg00036.html&quot;&gt;sent an
update&lt;/a&gt;
essentially saying $Subject:&lt;/p&gt;</summary></entry><entry><title>Childhurds and GNU/Hurd substitutes</title><author><name>Janneke Nieuwenhuizen, Ludovic Courtès, Mathieu Othacehe</name></author><link href="https://joyofsource.com/childhurds-and-substitutes.html" /><id>https://joyofsource.com/childhurds-and-substitutes.html</id><updated>2020-10-08T14:15:00Z</updated><summary type="html">&lt;p&gt;A lot has happened since our &lt;a href=&quot;https://guix.gnu.org/en/blog/2020/a-hello-world-virtual-machine-running-the-hurd/&quot;&gt;Hello Hurd
post&lt;/a&gt;
beginning of April.
No, not nearly as much as &lt;a href=&quot;https://guix.gnu.org/blog/2020/deprecating-support-for-the-linux-kernel/&quot;&gt;we joked on April 1st
&lt;/a&gt;,
but more than enough to share and be proud of.&lt;/p&gt;</summary></entry><entry><title>Guix Further Reduces Bootstrap Seed to 25%</title><author><name>Janneke Nieuwenhuizen</name></author><link href="https://joyofsource.com/guix-further-reduces-bootstrap-seed-to-25.html" /><id>https://joyofsource.com/guix-further-reduces-bootstrap-seed-to-25.html</id><updated>2020-06-15T12:00:00Z</updated><summary type="html">&lt;p&gt;We are delighted to announce that the second reduction by 50% of the
Guix &lt;em&gt;bootstrap binaries&lt;/em&gt; has now been officially released!&lt;/p&gt;</summary></entry><entry><title>ElenQ Donations — Intro + GNU Guix</title><author><name>Ekaitz Zárraga</name></author><link href="https://ekaitz.elenq.tech/donations-guix-01.html" /><id>tag:ekaitz.elenq.tech,2020-05-25:/donations-guix-01.html</id><updated>2020-05-24T21:00:00Z</updated><summary type="html">&lt;p&gt;Recent ElenQ Technology donation to the great &lt;span&gt;GNU&lt;/span&gt; Guix package manager
and software&amp;nbsp;distribution&lt;/p&gt;</summary></entry><entry><title>Guix System on the Pinebook Pro</title><author><name>janneke</name></author><link href="https://joyofsource.com/guix-system-on-the-pinebook-pro.html" /><id>https://joyofsource.com/guix-system-on-the-pinebook-pro.html</id><updated>2020-02-15T00:00:00Z</updated><summary type="html">&lt;p&gt;&lt;/p&gt;</summary></entry><entry><title>Guix, Nix: You are in a maze of twisty little $PATHs, some undefined</title><author><name>Benjamin.Slade@fakeEmailToMakeValidatorHappy.com (Benjamin Slade)</name></author><link href="https://babbagefiles.xyz/guix-nix-maze-of-twisty-little-paths-undefined/" /><id>https://babbagefiles.xyz/guix-nix-maze-of-twisty-little-paths-undefined/</id><updated>2019-07-24T06:48:00Z</updated><summary type="html">&lt;p&gt;Some notes on interactive fiction/text adventure games and PATHs in
Guix, and StumpWM.&lt;/p&gt;</summary></entry><entry><title>Reproducible Builds Workshop: Paris 2018</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/reproducible_builds_2018/" /><id>https://www.cbaines.net/posts/reproducible_builds_2018/</id><updated>2018-12-15T12:31:17Z</updated><summary type="html">&lt;p&gt;I travelled to Paris over the last week for the &lt;a href=&quot;https://reproducible-builds.org/events/paris2018/&quot;&gt;Reproducible Builds
workshop&lt;/a&gt; there, as
well as a &lt;a href=&quot;https://libreplanet.org/wiki/Group:Guix/ParisGathering2018&quot;&gt;GNU Guix
meetup&lt;/a&gt; on
the day before. All in all, it's been awesome, if a little tiring.&lt;/p&gt;</summary></entry><entry><title>Confusion: PDP-10 Zork</title><author><name>Benjamin.Slade@fakeEmailToMakeValidatorHappy.com (Benjamin Slade)</name></author><link href="https://babbagefiles.xyz/zork-confusion/" /><id>https://babbagefiles.xyz/zork-confusion/</id><updated>2018-09-24T04:52:00Z</updated><summary type="html">&lt;p&gt;I grew up playing &lt;a href=&quot;https://en.wikipedia.org/wiki/Infocom&quot;&gt;Infocom&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Magnetic_Scrolls&quot;&gt;Magnetic Scrolls&lt;/a&gt;, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Level_9_Computing&quot;&gt;Level 9&lt;/a&gt; text
adventures, with the &lt;a href=&quot;https://en.wikipedia.org/wiki/Zork&quot;&gt;Zork trilogy&lt;/a&gt;, the &lt;a href=&quot;https://en.wikipedia.org/wiki/Enchanter_(video_game)&quot;&gt;Enchanter trilogy&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Planetfall&quot;&gt;Planetfall&lt;/a&gt;,
&lt;a href=&quot;https://en.wikipedia.org/wiki/Wishbringer&quot;&gt;Wishbringer&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Guild_of_Thieves&quot;&gt;The Guild of Thieves&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Pawn&quot;&gt;The Pawn&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Knight_Orc&quot;&gt;Knight Orc&lt;/a&gt;, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Silicon_Dreams&quot;&gt;Silicon
Dreams&lt;/a&gt; being particularly prominent in my memory (somewhat
re-activated through recent listening to the &lt;a href=&quot;http://monsterfeet.com/grue/&quot;&gt;Eaten by a Grue
podcast&lt;/a&gt;). I would have played all of these on an Atari 8bit or ST
computer, and didn&amp;rsquo;t have any access to anything like a mainframe, and
so never actually played the &lt;a href=&quot;https://www.filfre.net/2012/01/zork-on-the-pdp-10/&quot;&gt;&lt;strong&gt;original&lt;/strong&gt; Zork&lt;/a&gt;, which was written in the
&lt;a href=&quot;https://en.wikipedia.org/wiki/MDL_(programming_language)&quot;&gt;Lisp-derived MDL language&lt;/a&gt; (which formed the basis for the MDL-subset
Infocom-specific &lt;a href=&quot;https://en.wikipedia.org/wiki/Z-machine&quot;&gt;ZIL language&lt;/a&gt; used for their subsequent offerings) for
the &lt;a href=&quot;https://en.wikipedia.org/wiki/PDP-10&quot;&gt;DEC PDP-10&lt;/a&gt;.&lt;/p&gt;</summary></entry><entry><title>Dockerised Firefox on GuixSD</title><author><name>Benjamin.Slade@fakeEmailToMakeValidatorHappy.com (Benjamin Slade)</name></author><link href="https://babbagefiles.xyz/dockerised_firefox_guix/" /><id>https://babbagefiles.xyz/dockerised_firefox_guix/</id><updated>2018-09-16T02:18:00Z</updated><summary type="html">&lt;p&gt;So GuixSD doesn&amp;rsquo;t currently package Firefox (&lt;a href=&quot;https://lists.gnu.org/archive/html/guix-devel/2018-05/msg00021.html&quot;&gt;though hopefully that
is changing&lt;/a&gt;), but only IceCat (which is now EOL). On freenode#guix,
pkill9 suggested that Firefox (and Chromium etc.) could be installed
on Guix via the &lt;a href=&quot;https://nixos.org/nix/download.html&quot;&gt;Nix&lt;/a&gt; installer (install as per instructions on their
site and then &lt;code&gt;nix-env -i firefox&lt;/code&gt;) with the following trick, create a
file &lt;code&gt;~/.local/bin/firefox&lt;/code&gt; with the following content:&lt;/p&gt;</summary></entry><entry><title>Guix: You are in a maze of lispy little passages, (map equal? ′(′all ′alike) ′(′all ′alike))</title><author><name>Benjamin.Slade@fakeEmailToMakeValidatorHappy.com (Benjamin Slade)</name></author><link href="https://babbagefiles.xyz/guix_maze_of_lispy_little_passages/" /><id>https://babbagefiles.xyz/guix_maze_of_lispy_little_passages/</id><updated>2018-08-05T02:47:00Z</updated><summary type="html">&lt;p&gt;So I finally made a serious go of running &lt;a href=&quot;https://www.gnu.org/software/guix/&quot;&gt;GuixSD&lt;/a&gt;, a GNU Linux distro
which is largely built on &lt;a href=&quot;https://en.wikipedia.org/wiki/GNU_Guile&quot;&gt;GNU Guile Scheme&lt;/a&gt; (a dialect of Lisp) on one
of my machines (one I had actually put together with GuixSD in mind:
an X200 Thinkpad, which I &lt;a href=&quot;https://libreboot.org/&quot;&gt;Libreboot&lt;/a&gt;&amp;lsquo;ed and put a Atheros Wi-Fi card
in), and, to increase both the quantity and variety of Lisps involved,
am trying to use with &lt;a href=&quot;https://stumpwm.github.io/&quot;&gt;StumpWM&lt;/a&gt; (which is written in Common Lisp).&lt;/p&gt;</summary></entry><entry><title>I will be presenting about GNU Guix at LibrePlanet 2018</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/i-will-be-presenting-about-gnu-guix-at-libreplanet-2018.html" /><id>https://dthompson.us/posts/i-will-be-presenting-about-gnu-guix-at-libreplanet-2018.html</id><updated>2018-03-10T20:30:00Z</updated><summary type="html">&lt;p&gt;If you're in the Cambridge, MA area or already planning to attend the
LibrePlanet 2018 free software conference, come learn about functional
package management at my talk: &lt;em&gt;Practical, verifiable software freedom
with GuixSD&lt;/em&gt;.&lt;/p&gt;</summary></entry><entry><title>First few months with my Librem 13</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/first_few_months_with_my_librem_13_v2/" /><id>https://www.cbaines.net/posts/first_few_months_with_my_librem_13_v2/</id><updated>2018-01-27T12:21:37Z</updated><summary type="html">&lt;p&gt;&lt;a href=&quot;https://www.cbaines.net/posts/first_few_months_with_my_librem_13_v2/back.jpg&quot;&gt;&lt;/a&gt;&lt;/p&gt;</summary></entry><entry><title>Bytemark server with GuixSD</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/bytemark_server_with_guixsd/" /><id>https://www.cbaines.net/posts/bytemark_server_with_guixsd/</id><updated>2017-12-08T19:56:50Z</updated><summary type="html">&lt;p&gt;&lt;a href=&quot;https://www.bytemark.co.uk/r/cbaines&quot;&gt;&lt;/a&gt;&lt;/p&gt;</summary></entry><entry><title>Freenode #live</title><author><name>Christopher Baines</name></author><link href="https://www.cbaines.net/posts/freenode_live_2017/" /><id>https://www.cbaines.net/posts/freenode_live_2017/</id><updated>2017-10-31T19:51:45Z</updated><summary type="html">&lt;p&gt;The first &lt;a href=&quot;https://freenode.live/&quot;&gt;Freenode #live&lt;/a&gt; conference happened
on the weekend just passed (28th and 29th of October), and it was
awesome but exhausting.&lt;/p&gt;</summary></entry><entry><title>Ruby on Guix</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/ruby-on-guix.html" /><id>https://dthompson.us/posts/ruby-on-guix.html</id><updated>2015-08-30T15:00:00Z</updated><summary type="html">&lt;p&gt;I’ve been working with Ruby professionally for over 3 years now and
I’ve grown frustrated with two of its most popular development tools:
RVM and Bundler.  For those that may not know, RVM is the Ruby version
manager and it allows unprivileged users to download, compile,
install, and manage many versions of Ruby instead of being stuck with
the one that is installed globally by your distro’s package manager.
Bundler is the tool that allows developers to keep a version
controlled “Gemfile” that specifies all of the project’s dependencies
and provides utilities to install and update those gems.  These tools
are crucial because Ruby developers often work with many applications
that use different versions of Ruby and/or different versions of gems
such as Rails.  Traditional GNU/Linux distributions install packages
to the global &lt;code&gt;/usr&lt;/code&gt; directory, limiting users to a single version of
Ruby and associated gems, if they are packaged at all.  Traditional
package management fails to meet the needs of a lot of users, so many
niche package managers have been developed to supplement them.&lt;/p&gt;</summary></entry><entry><title>Reproducible Development Environments with GNU Guix</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/reproducible-development-environments-with-gnu-guix.html" /><id>https://dthompson.us/posts/reproducible-development-environments-with-gnu-guix.html</id><updated>2014-11-08T22:00:00Z</updated><summary type="html">&lt;p&gt;If you’re a software developer, then you probably know very well that
setting up a project’s development environment for the first time can
be a real pain.  Installing all of the necessary dependencies using
your system’s package manager can be very tedious.  To &quot;solve&quot; this
problem, we have resorted to inventing new package managers and
dependency bundlers for pretty much every programming language.  Ruby
has rubygems and bundler, Python has pip and virtualenv, PHP has
composer, node.js has npm, and so on.  Wouldn’t it be nice to instead
have a single package manager that can handle it all?  Enter
&lt;a href=&quot;https://gnu.org/s/guix&quot;&gt;GNU Guix&lt;/a&gt;, a purely functional package
manager and GNU/Linux distribution.  Using Guix, you can easily create
a development environment for any software project using the &lt;code&gt;guix environment&lt;/code&gt; tool.&lt;/p&gt;</summary></entry><entry><title>First GNU Guile Patch and More Guix Packages</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/first-gnu-guile-patch-and-more-guix-packages.html" /><id>https://dthompson.us/posts/first-gnu-guile-patch-and-more-guix-packages.html</id><updated>2013-11-22T21:00:00Z</updated><summary type="html">&lt;p&gt;I have spent some of the last month working on contributing to GNU
Guile and now I can finally say that I have contributed code to the
project. Guile has several hash table implementations: a Guile native
one, SRFI-69, and R6RS. SRFI-69 contains a handy procedure,
&lt;code&gt;alist-&amp;gt;hash-table&lt;/code&gt;, which allows for a sort of hash literal-like
syntax:&lt;/p&gt;</summary></entry><entry><title>My First GNU Guix Patch</title><author><name>David Thompson</name></author><link href="https://dthompson.us/posts/my-first-gnu-guix-patch.html" /><id>https://dthompson.us/posts/my-first-gnu-guix-patch.html</id><updated>2013-10-16T21:00:00Z</updated><summary type="html">&lt;p&gt;Over the weekend, I decided to try out GNU Guix: A fully functional
package manager based on Nix and a distribution of the GNU system. I’m
a big proponent of GNU Guile, thus I was excited to see a DSL for
package management written with Guile.&lt;/p&gt;</summary></entry></feed>