Switching to Linux

In 2020, I switched to Linux. If you're considering making the switch, I recommend it. Here's my unsolicited advice.

Fedora

The Linux ecosystem presents you with a lot of choices. Distrohopping is a deep, unproductive rabbit hole. There's a distro for everyone, including some really esoteric ones. But, if you're just starting out, you'll do well to stick with a mainstream distro for a while-- some flavor of Debian or Fedora. Sticking with a major distro gives you a better chance of finding help online and better odds that the software you need is readily available.

If you have an NVIDIA graphics card, install Pop. Otherwise, I recommend Fedora because it's a good balance of up-to-date software, reasonable defaults, and an excellent out-of-the-box vanilla Gnome desktop.

Gnome

And that brings us to the desktop.

The Linux operating system is separate from the desktop experience. On Windows and OSX, the desktop and the OS are so intertwined that it's a distinction without a difference. With Linux, you have a number of desktop environments to choose from. You can also build your own by cobbling together a window manager (of which there are many) and various supporting tools.

Of all the Linux desktops, my preference is Gnome. Yours may be different, but I'd give Gnome a shot, as it's the most popular desktop, so you'll find a lot of support online around it. Gnome's UI is consistent-- fonts, padding, margins, iconography, etc-- and for me, this consistency makes a difference. In all of the other desktops I tried, there was just something off-- misalignments here, narrow padding there, inconsistencies that simply grated on my nerves.

Gnome's UI is minimal. It doesn't have a dock by default (though you can get one via extensions). It stays out of your way. For some, it takes a while to get used to. My advice is to try it for a while before you decide that it's not for you. If you can get used to it, it's a pleasant, polished experience.

Gaming

Valve has worked hard to make the Steam experience first-class on Linux. The Steam Deck is a Linux-powered handheld gaming system developed by Valve, so their commitment to Linux runs deep. Outside of Nintendo, I don't play any AAA games. My preference is for indie games, and every one I've tried has worked on Linux without a problem.

Window managers

At some point, you'll stumble across window managers. To oversimplify a bit, these are lightweight alternatives to desktop environments. They focus only on arranging windows. All of the other niceties of a desktop-- application launchers, control centers, etc-- are left up to you to install and configure as you see fit. Most window managers are tiling window managers I've never gotten the hang of them. I don't have any use for tiny, stacked windows. However, there is a window manager that I absolutely love, and that is niri.

Niri is a scrolling window manager, inspired by the PaperWM extension (which is the only Gnome extension I use). It arranges your windows on an infinite horizontal plane. You can quickly navigate forwards and backwards through your windows, hop between workspaces, etc without lifting your hands from your keyboard. I love it.

I'm writing this from Niri, running on Arch. It's a great combo for folks who don't mind spending a fair bit of time tinkering to get things set up just the way they like. You can easily install Niri on Fedora, and switch between it and Gnome without a hitch. I certainly wouldn't start with this setup, though, as it does require tinkering, and is not for beginners.

Hardware

If you're thinking of buying a new laptop, I've had great experiences with the Dell XPS lineup. Framework and system76 both have great reputations, too. My next laptop will probably be a framework. I tend to avoid Lenovo, even though it's a reputable Linux champ-- simply because I try to avoid 100% Chinese-owned electronics companies out of a (possibly misplaced) paranoia.

Have fun

Linux has come a long way since I first tried it in 2000. Back then, I mocked my Linux friends because they'd spend all of their time tinkering, configuring, and troubleshooting. I'd spend all my time building software and solving actual problems. I programmed circles around them, thanks to Windows 2000 and Visual C++ 6. Good times.

Today, Linux is a totally different beast. It works out of the box on most modern hardware. And installing software is often easier than on Windows or OSX, thanks to built-in package managers.

I've enjoyed Linux far more than I ever expected to. I made the switch when my Macbook broke down, and the repair was going to take a week. I threw Linux on an old laptop, and was off to the races. By the time my Macbook came back, I was done with OSX.

At first, I distro-hopped a lot: Fedora, Debian, Ubuntu, Pop, Arch, Void, Manjaro, Solus, and a bunch I don't even remember. I tried a bunch of WMs and DEs, and everything imaginable. It was fun!

But now, I've mostly settled and am focused on being productive. For me, that means Fedora or Arch, Gnome or Niri, and Neovim for just about everything (programming and composing nearly all written communication).

Your path will be different, and that's the beautiful thing about Linux.