Clickybaity line aside, it's worth digging into the "Big Three" when it comes to operating
systems. Over the years I've used them in various forms and versions, on personal desktops,
production servers, work laptops, and so on. I've seen both the good and the bad for most
of the operating system choices discussed, but I will in no way claim to be an expert. Before
going any further, it's worth doing a quick rundown of Linux distributions I've used.
- Ubuntu (various versions over the years)
- Arch Linux (A favourite of mine)
- GNU Guix
- NixOS
- Various Ubuntu-based distributions
Specific versions aside, I've been able to watch Linux distros evolve over the past ~9 years.
Along the way I've used Windows 7/8/8.1/10/11 (Vista is in there somewhere, but my memory is
fuzzy), and macOS/OSX versions.
All these choices have various upsides and downsides. This particular post is motivated by
a recent change in my life; after years(ish) of running Linux on my desktop, stubbornly
refusing to install Windows, I finally did it. I switch to an operating system that makes
me feel less in control of my desktop. An operating system with very strange bugs that
should not exist ([[https://arstechnica.com/gadgets/2021/11/expired-windows-11-certificate-breaks-some-built-in-apps-and-tools/][like snipping tool breaking due to an expired certificate]]). An operating
system that just does its own thing, and is still incredibly expensive.
Gripes about Windows aside, the change I made was mostly for reasons related to gaming.
Gaming on Linux has come a /long/ way, to the point it was almost second nature to be
playing relatively recent AAA games on it. There was also a sense of trying to wrestle
Linux - towards the end of my journey I was using NixOS, which is an excellent declarative
operating system [[/posts/from-guix-to-nixos][that I've covered before]]. While the package repository it offers is very
complete, there were a few instances where I found myself needing to reach for the unstable
package repository, or debating whether to write my own Nix packages, or diving into long
GitHub discussions about a specific issue. I found myself with little energy to actually
persue these things, with my job as a Software Development Engineer sucking up what
motivation/eagerness I had to deal with technical issues. How I ended up on NixOS is
detailed on the aforelinked (that's not a word, but work with me on this) blog post,
with did not help with my frustrations with Linux on the desktop. Eventually this
built up into a crescendo of the Windows 11 install screen and self loathing.
I'm not proud of this move, nor particularly happy, but at the very least WSL has come
a long way from the initial versions, now supporting fancy things like GUI apps (I'm
currently typing this in emacs running in WSL, which is still a bit weird to me).
#+ATTR_HTML :title emacs on Windows in WSL :alt emacs gui running from WSL