dnlgrv

My year of Linux

There’s an ongoing joke that it will eventually be the year of Linux on the desktop. When it will finally become useful for the masses to flock to the almighty free and open source operating system that is Linux. I don’t think that’s the case just yet, but for 2024 it was true for me.

At the start of 2024 I changed from using macOS on a MacBook Pro over to Arch Linux on an Intel NUC. While that was where I started it wasn’t where I ended up, so I thought I’d write a bit about my journey throughout the year, what I felt went well and what went poorly, and then where I’ve ended up.

Intel NUC
Intel NUC used as my initial desktop computer

I started out by running Arch Linux because I’m familiar enough with it from setting up the odd server here and there. It provides a minimal approach that I can configure with exactly what I want to use.

As I wanted this to be a desktop environment rather than a server, I started out using KDE with Wayland, a somewhat new compositor for Linux (rather than xorg). It was perfectly fine except for some graphical sluggishness that I attributed to the fact I was running without a GPU. I’m not sure that was the case but more on that later.

Sometime shortly after KDE released a fairly significant update so I went with that and spent a good couple of months using it. I actually really enjoyed KDE and it felt fairly familiar to me having used macOS for many years.

Docker in particular was a dream to use. It was barely noticeable compared to what I was used to on macOS in terms of performance, so I used it for pretty much everything due to that.

After a few months I felt the lack of GPU grunt was giving me enough pain that I wanted to try something a bit more powerful. I’ve built PCs for many years it’s not a daunting task, and I had some particular requirements.

I also wanted to experiment with local AI and that would need a GPU, ideally an NVIDIA one (despite the Linux warnings). This should provide more than enough capability to drive a desktop environment as well as perform some fairly basic on-GPU work for my needs. It also needed to be fairly compact and quiet so that I wouldn’t really notice it so I went with the smaller form factor using this case called the T1.

T1 PC Case
T1 PC Case just so I could have a dedicated GPU

A colleague is a huge NixOS fan, so when I was setting the new PC up I figured I’d give it a spin. Honestly, it was a bit of a wild ride. NVIDIA didn’t play that well (which I was warned about), and then getting local development working with NixOS (especially Ruby) just didn’t work the way I wanted it to.

I persisted for a few months but it started getting to the point where it was impacting my productivity.

I moved my PC install back to Arch Linux but this time was using Sway rather than KDE. I learned that I enjoyed working with keyboard navigation and a tiling window manager so much that I wanted to make sure I could always work that way, or at least close to it.

Eventually Zoom stopped working and I wasn’t able to share my screen. This is one of those things that apparently comes with running Linux on the desktop, especially using a distribution with rolling releases (Arch). I waited and waited but this just never got resolved. Each update I’d check, each update it still wouldn’t work.

At the end of the day I’m paid to develop software, and if my hardware is impacting my ability to do so then I’m not going to let it hold me back. In November of this year I decided to call it a day on my Linux adventures and go back to using macOS. As my company provides the hardware I never actually got rid of it anyway, and turns out it was fairly trivial to switch back anyway.

It took me an hour or two to get some new software installed and change the way I was working. Raycast is helping with some global app shortcuts. macOS finally lets me assign some keybinds to switch spaces (maybe it always did but I didn’t look for them until I experienced a tiling window manager). And Docker seem to have been improved while I was away, unless I was just imagining it was worse than I thought.

My PC still has some uses though. It runs Windows now of all things, with WSL, Docker, and a local installation of Ollama that I can talk to.

I don’t think my desktop Linux adventures are over. When it comes to upgrading this MacBook Pro then I’m going to have to make a decision as my company is experimenting with providing Framework Laptops.

macOS is still a great environment to work in and I haven’t noticed any drop in productivity since switching back either. It’s nice to have everything just work and not have to worry about my operating system at all.