Let's be real, a good chunk of our job isn't solving elegant engineering problems. It's remembering where the hell we were. Which terminal tab had the logs? What was that git command again? Where did I put that window? This constant context-switching is a low-grade, persistent tax on our actual brainpower.
I was paying that tax without question until I stumbled onto ThePrimeagen's content. He has a cult following for a reason. His core message isn't about keyboard shortcuts; it's about optimizing your workflow to free up your mind for the actual work.
So, I took the plunge. I followed his lead, copied his configs, and started tweaking. Here's the setup I landed on and the philosophy behind it.
Neovim: Getting Ideas into Code with Less Overhead
I started by setting up Neovim by directly copying and understanding Prime's config. The goal isn't to be "l33t," it's to get ideas from your brain into the editor with the least amount of clutter. Every time you reach for the mouse, you're breaking your flow.
With Vim, the goal is to build muscle memory to the point where editing text is no longer a conscious effort. You stop thinking about how to make a change and your fingers just execute the command you're thinking of. It's one less mental process you have to run in parallel while you're trying to solve the actual problem.
Zsh: A Non-Boring Shell
My terminal used to be a blank slate that patiently waited for me to type long, error-prone commands. Now, it's a useful tool. A proper Zsh setup with autosuggestions and syntax highlighting is table stakes for a reason.
It's simple: the machine should remember that arcane docker
command I ran three days ago, not me. Seeing a command light up red because I made a typo before I hit enter saves me a few seconds and a lot of minor frustration. It all adds up.
Tmux + tmux-sessionizer: WoW
This is the one that really changed the game for me. The daily dance of cd
-ing into a project, opening nvim
, starting the dev server in another pane, maybe a test runner in a third, it's death by a thousand paper cuts.
tmux-sessionizer
is a brilliantly simple script that solves this (dotfiles repo). I have a single keybinding (^f
) that pops up a fuzzy finder with my projects. I select one, and it drops me right into a pre-configured tmux
session, with all my panes and processes exactly where I left them. The amount of mental energy this saves on a daily basis is staggering. It's the single most impactful tool for reducing the strain of jumping between projects.
Aerospace: Best 30 min investment
And then there's the GUI. On a Mac, window management can feel... decorative. I spend time arranging windows instead of working in them. Aerospace, an i3-style tiling window manager, fixes this.
It just puts my windows where they need to go based on simple rules. No animations, no dragging, no fuss. It removes an entire class of micro-decisions from my day, which is the whole point of this endeavor.
The Point of All This
Look, this isn't about becoming some 10x keyboard ninja who never touches a mouse.
It's about identifying and automating the boring, repetitive parts of our job to save our focus for the actual engineering problems.
Yes, it takes time to set up. But the return on investment is paid out every single day in the form of less frustration and more deep-work time. You owe it to yourself to offload the mental clutter to the machine. It's what they're good at.
Bringing It All Together with Ansible
The best part of this setup is that it's completely codified and automated. I've built an Ansible playbook that can provision a new Linux machine with this entire environment in minutes. My configurations themselves are managed in a separate dotfiles
repository.
You can find the complete setup, including the playbooks and configs, in my repositories:
The playbook does more than just what's listed here. It also installs a suite of other essential command-line tools like ripgrep, fzf, tldr, and jq, all aimed at making the terminal a more powerful and efficient place to work.
This blog is written by Machine and mentored by Hooman.