Going Back Series - Guix Is Back
It’s Guix season again this year, I’m going back to Guix Linux.
My current setup with NixOS
Let me start by describing my current NixOS setup:
- Configuration for my personal and work use cases
- System configuration for my laptop and a work VM
- Heavy use of home manager to configure and enable tools I need (desktop, coding, terminal, tools,
- Desktop setup with dwm, st, and many other tools
- Enabled docker and qemu setup
- YubiKey enabled
- frequent use of direnv and nix-shell
- Minimal custom code, beyond my config
Why not go back to Guix?
Ok this time, i’m starting with cons.
Obviously there are two sides to the Guix coin:
- I’m can’t get all my work tools from Guix main channel (commercial)
- sometimes versions lag or are missing due to packaging complexity. For example NodeJS was older for some time. Another example is Kondo and Babashka, both tools depend on GraalVM which is almost
impossible to build from source at this point. Guix requires to build from source.
- Smaller user base than Nix, means less packages, less home services
- Default kernel does not support my hardware.
Why go back to Guix then?
Some of the key reasons:
- I love LISP. What I learn is reusable. Not the same for Nix, the Nix language is only useful for
Nix packages and configuration.
- Many of it’s shortcoming are addressed
- Nonguix has many of my missing software
- Many other missing software are found in the whereiseveryone toy’s search engine
- I’m able to create new packages when needed. Got my own channel.
- If I have a urgent need, I still can install them using Guix’s nix-service-type or docker.
- The System Crafters great community. I’ve been part of this community
- I’ve got to install Guix for a while each year
Ok, what is the plan?
First I need to make sure I have the least amount of downtime. I need to get my core desktop (dwm) and Emacs setup within 1 day.
Get my other missing software from Nonguix or other channels. Anything else provided by nix if possible.
I also want to document the process with short blog post ofter each day I work on this.
To minimize downtime and work, I will reuse my old Vanily Guix setup. My most recent Guix experience was with RDE, but I’m going to skip it for now.
One of the key first step will be to make an inventory of all the software I use in Nix, and compare
with my Guix setup. I’m not too worried by software.
What will be more challenging is covering all my nix services. Guix does not come with many home
services compared to Nix, I will either have to find missing services somewhere else, write my
own, or just use a plain config to start with.
No time to waste, the Re-Guix journey begins (again).