The Minimal Linux Setup: What Actually Matters
At 42, after decades of chasing the perfect productivity setup and falling into every optimization trap imaginable, I finally learned that less is more. This isn't another Linux evangelism piece or minimalism manifesto - it's a confession from a recovering productivity-optimization addict who found peace in simplicity.
The revelation came after six months of Linux customization hell: configuring terminal multiplexers I never used, learning Vim because "that's what Linux users do," and spending countless nights tweaking window managers that added zero value to my workflow. The irony? My most productive setup ended up being embarrassingly simple: a few home row mods, basic KDE, and absolutely no tiling window managers.
And how it came about?
Because I realized I spent more time on customizing my setup than actually using it. And I don't need a second job. Chances are, you don't either.
The Inevitable Rabbit Hole
The switch started innocently enough. A random comment on 9gag (yeah, I know) about Linux Mint being user-friendly caught my attention. With Microsoft's aggressive AI integration being the final straw, I decided to give Linux another shot.
Having tried and failed multiple times over the past decade (remember trying to get WiFi working in Ubuntu 2010? Yeah, good luck with that, emulating Windows drivers and all that jazz.), I was surprised how everything just worked in 2024.
But then it happened. That familiar itch. If you're a tech veteran, you know the one.
- "I should really learn Vim properly this time."
- "Everyone says tiling window managers are more efficient."
- "Real Linux users use the terminal for everything."
Before I knew it, I was neck-deep in Neovim configurations, watching endless YouTube videos about different window managers, and spending more time tweaking my terminal multiplexer than actually using it.
Down We Go
The next few months were a blur of increasingly complex configurations. Started with Pop OS because their keyboard-centric workflow looked appealing. Then came the inevitable "ricing" phase. Kitty terminal with Fish shell, carefully curated color schemes (which is funny, given that I'm colourblind), Neovim with every imaginable plugin.
I wrote elaborate scripts to handle window management. Set up Zellij because apparently, I needed a terminal multiplexer now. Created complex window rules in KDE because that's what power users do, right?
Each new tool or configuration promised to be The One that would finally perfect my workflow.
- "Just one more plugin."
- "Just one more script."
- "Just one more tool to integrate."
I even caught myself eyeing split keyboards and alternative layouts, because apparently, QWERTZ wasn't "optimal" enough (I'm Hungarian, no QUERTY for us).
The setup became so convoluted that debugging became a nightmare. Something would break, and I'd spend days trying to figure out which of my countless customizations was the culprit. Was it the Fish config? The window manager rules? That obscure plugin I installed last week? Each new addition exponentially increased the potential points of failure.
But here's the thing about being 42 with a family and actual work to do: you start noticing how much time you're wasting. Every hour spent configuring Neovim was an hour not spent with them. Every late night debugging session was making me less productive the next day. The "perfect setup" was becoming a second job.
With all due respect: fuck that.
The Turning Point
It wasn't a dramatic moment. Just a quiet Wednesday evening, staring at my terminal trying to debug why my carefully crafted Zellij configuration broke after a simple update. It was was 10 pm and I'm usually in bed by 9:30 pm.
That's when it hit me: I was becoming what I used to mock - that guy who spends more time optimizing his workflow than actually working. The guy who can't shut up about his dotfiles. The guy who thinks everyone should use his exact setup because it's "optimal." You know the one Colemak guys.
I took a hard look at my daily work: I write code, send emails, browse the web, and occasionally game. That's it. I don't need a PhD in terminal multiplexing to do any of that. I don't need to memorize 200 (if only that many...) Vim shortcuts to be productive. And I definitely don't need to spend my evenings debugging window manager configurations.
Again: fuck that.
Finding Actual Solutions
The irony is that the most significant improvement to my workflow came from the simplest change: Home Row Mods. No complex software, no elaborate configurations. Just remapping my home row keys to act as modifiers when held. Left hand for meta, alt, control, and shift. Right hand for navigation. Caps lock as a leader key for launching apps.
But if you just have a look at that article I linked: it's almost like a fucking book. Classic overoptimization. I get it why it's appealing to use complex setups - I just don't encourage them anymore.
I used the brilliand KeyD remapper which acts on a kernel level and works flawlessly. Holding Caps Lock will activate the [navigation] layer, so I can press the VIM motion keys (well, the most important ones) and switch between my most used apps (browser, terminal, AI companion) and that is it.
Yes, I can't edit stuff with lightning speed, but you know what? It's totally OK to just use Caps Lock + l to move the cursor to the right one by one. I have time to get there - the most important thing is already solved: no need the mouse for that, no need to reach for the Arrow keys. This is the Pareto Principle for keybinds for me.
Here is my whole KeyD config file (goes into /etc/keyd/default.conf)
[ids]
*
[main]
# Holding Caps Lock will activate the navigation layer, tapping it acts as ESC
capslock = overload(navigation, esc)
#Left Hand Home Row Mods:
a = lettermod(meta, a, 200, 250)
s = lettermod(alt, s, 200, 250)
d = lettermod(control, d, 200, 250)
f = lettermod(shift, f, 150, 250)
# Right Hand Home Row Mods
# j, k reserved for Vim motions with Caps lock, ; equals to é on the Hungarian keyboard layout
l = lettermod(alt, l, 150, 200)
; = lettermod(control, ;, 150, 200)
[navigation]
h = left
j = down
k = up
l = right
# to the start of the line
n = home
# to the end of the line
m = end
p = pagedown
# this is ő on the hungarian keyboard
[ = pageup
# Focus Alacritty (see KDE shortcuts)
o = M-C-S-A-o
# Focus Brave Browser
u = M-C-S-A-u
# Focus TypingMind
i = M-C-S-A-i
# minimize window
b = M-C-S-A-b
This one change made me more productive than all my previous "optimizations" combined. I rarely need the mouse to move around and it's brilliant. And unlike my previous setups, it took minutes to configure and hasn't broken once in months.
The Final Setup
Here's what actually matters after six months of experimentation:
- CachyOS with KDE because it works out of the box and stays out of my way
- X11 instead of Wayland because I need my window management scripts to work reliably. Fuck Wayland. Until it actually becomes usable.
- Home Row Mods for the left hand (meta, alt, control, shift)
- Caps lock + right hand for app switching and navigation
- Microinstead of Vim because sometimes a simple text editor is all you need. Perfect balance between Vim and a GUI editor. I love Micro so much. Where can I donate to them?
No tiling window managers. No terminal multiplexers. No alternative keyboard layouts. No dotfiles repo to maintain. Just a clean, minimal KDE setup with a few bash scripts for window management and Timeshift for fuck ups to roll back.
Gaming Without the Guilt
Gaming was a surprise revelation in this journey. While 99.9% of single-player games work flawlessly on Linux now (Hi-Fi Rush actually runs better on CachyOS than it did on Pop OS), I discovered something unexpected: I don't enjoy gaming on my desktop anymore.
Turns out, my brain now associates my desktop setup with work. That's not a bad thing - it's actually helped me maintain better boundaries. When I sit at my desk, I'm in work mode. When I want to game, I use my PS5 or the Steam Deck.
Clean separation, no context switching. I used to think that this is some New Age bullshit. Turns out, I can feel the low key, constant stress when I'm at my desktop (=work) and gaming is not enjoyable that way.
Practical Lessons From a Reformed Productivity Addict
The most liberating realization was this: you don't have to be a "Linux guy" to use Linux effectively. You don't need to learn Vim just because you switched to Linux. You don't need a tiling window manager, or a terminal multiplexer, or any of that stuff unless it genuinely makes your specific workflow better.
I used to be that person who'd spend hours optimizing my workflow to save theoretical minutes. Now I optimize for peace of mind. If something takes more than 15 minutes to configure, I ask myself: "Will this actually make my work easier, or am I just doing this because it seems cool?"
And now, half the time I'm able to actually quit the process (it's not as easy I make it out to be).
Some specific insights that might help fellow veterans:
- Those AUR packages you think you need? You probably don't. I barely use the AUR now, and my system is more stable for it.
- Timeshift backups on an external SSD saved my ass more times than I care to admit. Set it up first, before you start tweaking.
- Write your scripts to be distribution-agnostic. When (not if) you distro-hop, you'll thank yourself.
- If you need to spend two days debugging something, you're probably doing it wrong.
The Real Freedom
The ultimate irony of this journey? By letting go of the need to optimize everything, my setup became genuinely optimal. Not in a "look how many keyboard shortcuts I can execute per second" way, but in a "I can sit down and actually get work done" way and then get the fuck out.
I don't want to spend MORE time at my computer. I want to spend less. And that is done by NOT ricing my stuff.
Home row mods give me all the keyboard control I need. A simple KDE setup handles my windows just fine. Steam runs my games without hassle. And when something breaks (which is rare now), I know exactly where to look because there aren't fifteen layers of customization to dig through.
I still appreciate the power and flexibility of Linux. The difference is that now I see these as tools to be used when needed, not badges to be collected. You don't need to prove your Linux credibility by using every power-user feature available. Sometimes, the most sophisticated choice is choosing not to overcomplicate things.
At 42, with a family and actual work to do, I've finally learned that the best setup is the one that lets you forget about your setup entirely. And if that means using Micro instead of Vim, or skipping the tiling window manager, or not ricing your terminal - that's not just okay, that's optimal.
Because at the end of the day, your operating system should be like a good referee in sports: doing its job without drawing attention to itself. Everything else is just distraction.
I use Arch, btw.
(And if you cringed at that because you are a Arch purist, you are exactly who this article is not for. I still love you.)