Guix Migration

I made a dramatic move last weekend, switching my home desktop PC from Debian 9 to Guix System 1.0.1. The transition has been an ongoing process over the last week, with some challenges that I’m still working through, but Guix is so much fun to work with that I don’t mind.

Some of my preferred applications have not made it into Guix yet, or I could not get them to work under Guix, so I’ve been learning a few substitute applications. E.g., I couldn’t get Raptor chess client to work with Guix Java libraries (I think Raptor is too old) so I switched to Xboard to play FICS. Xboard in Guix seems to be a nice enough client for my needs.

In Guix, you can update the System separately from your user applications. It is kind of like the ability to have your System running from Debian 9 repository but all your applications running from Debian 10. So I’ve kept my System running Guix System 1.0.1 with the user applications running from the latest Guix pull. I actual tried to upgrade to a new version of System, but ran into trouble after a reboot logging into Gnome, so I just rolled back to 1.0.1, which is about a 1 second process in Guix, not counting the computer reboot.

One cool thing, aside from the ability to be running a very recent Emacs (26.3), is access to every Emacs package imaginable, including the emacs-guix package for managing your Guix system from Emacs.

I found out that Warzone2100 package works great in Guix, whereas it was pretty much half-broken in Debian 9. One of the problems with Warzone2100 in Debian is that the JavaScripts that ran a lot of the game logic broke in the transition from Debian 8 to Debian 9, and nobody wanted to invest the energy to fix it. But that sort of thing is not an issue in Guix because Guix allows every versions of every package to have unique versions of all their dependencies if needed.

Guix is basically a “have your cake and eat it too” distro with the ability to have the latest and greatest of everything (potentially) but also the ability to roll back at a moments notice, while cleanly dodging the bullet of dependency hell. I’m still working through some issues, for sure (e.g., a problem getting my cups printer to show up in Gnome dialog box). But Guix is truly the hacker’s distro.