TL;DR
This post walks through the terminal tools I bootstrap with my WSL setup:tmuxfor multitasking,zoxidefor lightning-fast directory switching, andlazygitfor painless Git management.
These aren’t just cool tools and they’re essentials in my terminal-first workflow.
Why a Terminal Stack?
I’ve said it before: I prefer a terminal-first workflow.
- Modern IDEs? Too heavy.
- GUI Git clients? Slow and mouse-driven.
- I want speed, control, and tools that work over SSH, WSL, or raw Linux.
So I built my environment around powerful CLI tools that:
- Launch instantly
- Don’t eat memory
- Let me work efficiently in any shell or session
Let’s break down the tools I install automatically via my bootstrap scripts.
tmux – Terminal Multiplexing
tmux lets me split one terminal into multiple panes and windows. I use it to:
- Run multiple shells or logs side-by-side
- Persist sessions even after closing the terminal
- Combine editor + server + shell in one view
Why I love it:
- Clean, scriptable config
- Always available in headless setups
- Works beautifully with
neovim,fzf, and my dotfiles
TPM – Tmux Plugin Manager
My tpm-setup.sh script installs TPM (Tmux Plugin Manager) which makes installing and updating tmux plugins painless. It lives in ~/.tmux/plugins.
`zoxide – Smarter cd`
zoxide is a fast, smarter alternative to cd. You just type:
z GitHub
z os-bootstraps
…and it jumps to your most-used directories.
Why I use it:
- Tracks recent paths automatically
- Works across shells
- Insanely efficient once you get used to it
lazygit – Git, But Better
lazygit is a TUI-based Git interface I use daily to:
- Switch branches
- Stage/commit
- Resolve merge conflicts
- Review logs and diffs
It’s keyboard-first, extremely fast, and integrates perfectly into a tmux workflow.
All of These Are Auto-Installed
Once I run:
./run.sh
My terminal stack: tmux, zoxide, lazygit, neovim, and more is ready to go. No more downloading, aliasing, or reconfiguring things manually.
Next: Languages and Containers
In run.sh Diaries #4, I’ll walk you through how I set up:
- Node.js with NVM
- Python environments
- Docker with user group access
And how it all ties into real-world frontend + backend dev work.
Top comments (0)