Ivory Siege Tower

mobile construct built of thoughts and parentheses

Adventures in the GuixLand #1: Home Setup

[2022-05-07]

config guix st_dev

ยง Guix-Home, dotfiles and WM config

I was lucky to discover Guix just in time not only when it gains momentum and seems to get into spotlight, but also after such important subsystem of it as Guix Home has been already released and is actively developed.

Aimed to generate reproducible home environment, guix home subsystem looks very helpful for the purpose of getting in control of what happens in $HOME/, as well as for migrating to a new machine with little effort. At least that's what the ad said, and I bought it.

I do not have a very sophisticated setup. In fact, it is mostly about StumpWM drawing me Emacs and a web browser, like 90% of the time. Nevertheless, I took quite a journey to assemble my essential desktop, and since it is all FOSS and not mainstream (some call it "marginal"), it usually takes plenty of effort to build it again on every new machine.

Previous attempt to automate the process with Ansible was, well, pathetic, as compared to the use of a well-designed package manager. I believe GNU Guix is such a manager. At least because of its combination of Guile Scheme dialect with very convincing contributors.

It took me a while to start using Guix Home as it requires some understanding of packaging and declaring Guix Services. But after some practice and a few questions answered in the community chat I've managed to configure my dotfiles and the WM settings to be populated with guix home. Plus learned a tiny bit of how to pack software for Guix, with custom StumpWM extensions.

Future update of this post will point to a literate deconstruction of the StumpWM config.

[2022-05-28] Added StumpWM Literate Config to the Engine Room, hooray!

I recon the ultimate milestone of extending the guix profile will be the Emacs setup description, arriving at hand with a massive init.el rewrite.