I moved to Linux and never went back. What broke, what got better, and what I'd tell anyone thinking about it.
Select any sentence in this post to leave a margin note on it.
Did this land?
There was no big moment. I installed Linux to try it for a week, and I just never went back.
This isn't a post telling you to switch. It's what actually broke, what actually got better, and what I wish someone had told me first.
Not for ideology. For a boring practical reason.
Everything I wrote was going to run on Linux. The servers, the containers, the CI runners. Every place my code would ever live was Linux, except the machine I was writing it on.
That gap looks small until it isn't. Wrong slashes in a path. A script that works in one shell and fails in another. A file watcher that behaves differently. Line endings. Each one costs ten minutes, and they keep coming.
So the fix was obvious: write code on the same kind of system it runs on.
Plenty, early on.
Wi-Fi and sleep were first. My first week was mostly learning what my network card was called and why the laptop didn't wake up properly after closing the lid. Modern hardware is a lot better here, but it's still the first thing I'd test.
Then there's always one app you think you need. Usually it has a web version, or a decent alternative, or it turns out it wasn't that important. Sometimes it really is a dealbreaker, and that's a fair reason not to switch.
But honestly, most of my early problems weren't Linux. They were me pasting a command from the internet without reading what it did. Linux will happily let you delete things you need. It assumes you meant it.
The system isn't fragile. It's just very literal.
The terminal stopped being a second-class citizen. Docker, git, databases, runtimes, all of it is built for this environment first. One command to install, and it behaves the same way it does on the server.
My setup also became text files. Terminal, shell, prompt, tmux, all plain config I can read, version and copy to a new machine. When something changes, I can see exactly what changed.
And I got to change my mind for free. I've been through more than one distro and desktop. I spent a while on a full tiling setup where every window arranged itself, and I liked it. Then I wanted something calmer. On Linux that's a weekend, not a new laptop.
Fedora with KDE Plasma. The best thing about it is how little I think about it. Things work out of the box, and when they don't, the fix is usually a settings page, not a config file I have to understand first.
The interesting part of my setup moved into the terminal. Ghostty runs tmux, and tmux has panes, windows and sessions on Alt shortcuts. That's my tiling window manager now, it just lives inside one window. Then zsh with starship, so the prompt shows the folder, the branch and the runtime and nothing else. A handful of small tools replace the defaults: eza for ls, bat for cat, zoxide for cd, fzf for finding anything. And lazygit, because staging changes piece by piece in the plain CLI is painful.
The full list is on /uses, with a line on why each one is there. None of them are the right choices. They're the ones I stopped fighting with.
Try it on real hardware, not a VM. A VM tells you if you like the software. Real hardware tells you if your Wi-Fi, trackpad and sleep actually work.
Pick a popular distro first, not the most interesting one. You want the one with the most forum posts, because that's where your answers are.
Read commands before you paste them. Especially anything with sudo or rm in it.
Put your config in git from day one. You'll reinstall at some point, and you'll be glad you did.
Don't chase the perfect setup. It's fun for a while, then you notice you're configuring your computer instead of using it.
And give it a month. The first week is just unlearning old habits.
These days I don't notice the OS at all. It got out of the way, which is all I ever wanted from one.