At the end of 2019 I decided I would try Guix and OpenBSD for my personal computing in 2020. One month into 2020 and I've managed to resist the temptation so-far to change what's installed my laptop, workstation, and home server.
There's a bit of a caveat here, in that for work I distro-hop constantly… as I need to test software on various versions of Red Hat, SUSE, and Ubuntu. I also have Debian on Pis and a LibreComputer Potato which don't have Guix or OpenBSD (easily/practically) available.
I'm using Guix on my T430 laptop and Ryzen desktop, and it's going pretty smoothly. I hop between using the MATE desktop environment and i3 depending on my mood. All the software I need for personal use is available as Guix packages. It's definitely an advantage having moved to using Emacs for a lot of stuff prior to using Guix, since it's unsurprisingly Emacs friendly being a GNU project and written in Guile scheme.
A couple of the notable things that have caught me out…
- There are packages you need to install on Guix that would be standard in other
places. E.g. I'd not ever thought about neeeding to install the
clearcommands for tidying up a terminal session. They are part of
ncurseswhich does need to be explicitly installed in Guix. The
guix install glib:binwas also an unexpected need to get stuff needed for desktop integrations without a GNOME install.
- You can easily add device-mapping configuration to
config.scmin order to assemble an md RAID array. However, it'll fail with a cryptic error on boot unless you add the right module to the initrd, e.g.
(initrd-modules (cons "raid1" %base-initrd-modules))
mate-desktop-service-typedoesn't give you a functional
mate-screensaver(needs installation separately, and setuid root), or user-functional laptop brightness controls (setuid root).
I'm hopeful that I can find a bit of time to perhaps contribute to Guix and tidy up some of the little issues I've found. To date, though, the time I've saved not distro-hopping this month has gone to chatting on SDF and enjoying more music instead :-).
It's also important to note that Guix is only really useful to me due to the
awesome work of Alex Griffin in the nonguix channel, which provides packages
that can't be included in Guix proper due to its GNU '100% free'
nonguix is a must for me as:
- I have a Radeon card in my desktop, which needs firmware blobs not in linux-libre.
- I have an Intel WiFi card in my laptop, which also needs non-free firmware blobs.
- I want to have the latest CPU micrcode updates.
- I'm not interested in buying different, often older and slower, hardware to be '100% free' running the linux-libre kernel.
I think I'll be happy staying on Guix throughout 2020 from a technical and usability point of view. Unfortunately there's another issue that may affect this. Despite the departure of Stallman from the FSF, he (very unfortunately in my view) remains the head of the GNU project. Some of the Guix maintainers and developers are among the most vocal in trying to force discussion about the future of GNU - with a view to making it a more open, inclusive, and democratic organization. See the Guix blog post for the joint statement on this.
I'm of the view that what the Guix maintainers, and others, are pushing for is the right thing to do. As I'm not associated with the GNU project I can't see the private discussion that is going on, but the posts on the public gnu-misc-discuss mailing list suggests there is a lot of push back and digging in by people who see and support Richard Stallman as some kind of deity in GNU. Reading all of the posts is sad and very tiring. Additionally, the FSF has not yet made public comment on the future relationship between FSF and GNU, or the future of its board. It would be a huge shame for an exciting, vibrant, and friendly project like Guix to suffer in this situation. I hope that it does not.
I started using OpenBSD on a internet-facing VPS server and my home server last year. I've now jetisoned the VPS due to trimming down the things I'm self hosting (as mentioned in last blog post). My home server is a 4th gen i5 Dell desktop that is still running OpenBSD. It serves as an always-on Syncthing target, Ampache music server, runs my ZNC IRC bouncer, and provides a target for encrypted borg backups of other machines.
OpenBSD continues to be nice to use. There's very little to do to keep the
things I need running. Syspatch stuff and application upgrades through ports
have happened without issue - even when I was running Gitea and Nextcloud, which
are more complex services. It's still interesting to play around with other
things on OpenBSD, like
vmm virtual machines and the OpenBSD daemons, given I
spend all my work day in Linux.