Quick Review of "Nix Flakes and their Guix Equivalents"
There is a recent blog post about Nix Flakes vs Guix: https://coopi.neocities.org/posts/nix-flakes-vs-guix
There is a recent blog post about Nix Flakes vs Guix: https://coopi.neocities.org/posts/nix-flakes-vs-guix
Last year I went through a self-hosting spree 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 GoToSocial, a lightweight ActivityPub (Fediverse) server written in Go.
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…
While Guile Scheme has a lot of hidden gems, like (ice-9 peg), 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 ArgumentParser).
Catching air in the middle of the deep-dive on Scheme bytecode interpreters.
How I did my part in saving the planet by getting an old but working audio interface up, running and mainlined in GNU Guix. Read the whole post here.
Guix will be featured at the annual conference of the French Reproducible Research Network, 19–21 May 2026, Bordeaux, France.
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.
Altering source files using the substitute procedure to search and replace text
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 Guix Data Service, Guix Build Coordinator and Nar Herder, but also based on their code, as I've used Claude Code running Claude Opus 4.6 to build this (a large language model).