My Dotfiles and Config, Managed by Guix

I’ve recently switched to using Guix Home to manage my workstation configuration as code.

Having a rolling release of my data-defined system with safe rollbacks allows me to have my cake and eat it to on my personal workstation: rolling releases have a brutal pragmatism of One Working Version at the bleeding edge. Typically the cost is in stability, but having Guix’s generations with rollbacks gives massive confidence. As is tradition, I recently bork’d my latest workstation via funky configs, but! with Guix i was able to quickly recover through a rollback, no painful system reinstall necessary.

Getting Guix on MacOS

Guix’s lack of MacOS support is tough for me as I spend a good chunk of my waking life on MacOS for my day-job, however Guix might never be installable on the mac platform. It’s technically feasible however it seems like it would be a massive lift to support a non-free platform, and Guix is the Gnu distro.

An effective middle path might be bootstrapping an ARM Guix VM from an x86 system. With that in hand Guix can be run natively on MacOS from within a VM. It wouldn’t be as smooth as native, but would allow tools built on a Linux system, similar to Windows WSL. More to come over the next year, hopefully.

My Guix Config

My guix config-as-source is in my dotfiles repo and the git history, lately, provides a log of my investigations. Without KDE to fall back on I’ve ended up with a SwayWM based config, screenshot below.


Written by