technical

My Linux Dev Setup in 2026

· technical

Six years on Linux as my daily driver. No dual-booting, no escape hatch. Here’s the stack.

OS: Fedora 41

Not Ubuntu. Not Arch. Fedora.

Ubuntu ships old packages and the snap situation is genuinely bad. Arch is great until it breaks at the worst possible moment. Fedora hits the sweet spot: recent packages, stable enough for a work machine, SELinux on by default so you’re not running naked.

Terminal: Ghostty

Kitty was my answer for three years. Ghostty replaced it in a weekend. Faster GPU rendering, sane config format, no weird quirks with tmux. The config file is just key = value. That’s it.

Shell: Fish

I know. I know. POSIX non-compliance. I don’t care. Autosuggestions, syntax highlighting, and sane scripting out of the box. If I need to write a POSIX-compliant script, I write #!/bin/bash at the top and move on.

Editor: Neovim + LazyVim

LazyVim is Neovim with sensible defaults. I stopped bikeshedding my config the day I switched. LSP, treesitter, telescope — all configured, all working. I add maybe three plugins on top.

The Three Choices Most People Get Wrong

1. Running a DE instead of a WM. GNOME and KDE are fine. I use Sway. A tiling WM on a laptop is the single biggest productivity unlock I’ve found. No reaching for the mouse to arrange windows.

2. Not managing dotfiles. Put your dotfiles in git. Use stow to symlink them. Do this on day one of a new machine, not after you’ve spent six months customizing.

3. Thinking the terminal is for simple tasks. The terminal is for everything. Learn fzf, ripgrep, jq, and fd. You’ll stop reaching for GUI tools you don’t need.

Hardware

ThinkPad X1 Carbon Gen 12. Linux support is excellent. Battery life is acceptable. The keyboard is the best on any laptop I’ve used.

Everything works out of the box on Fedora. That’s what “Linux support” actually means.

#linux#tools#productivity