The Terminal Setup That Made Me 3x Faster

📅 April 5, 2026

Not a “here’s my perfect dotfiles” post. This is the actual journey — the tools I tried, kept, and dropped, and why.

The Core: zsh + Starship + tmux

Three tools that changed how I interact with the terminal daily:

Starship — the prompt that pays attention

My prompt now shows:

  • Current directory (shortened)
  • Git branch + status
  • Node/Python/Kubectl context
  • Command execution time
  • Rust toolchain when relevant

Zero config for most languages. It just works.

# ~/.config/starship.toml
[git_branch]
symbol = " "
style = "bold purple"

[cmd_duration]
min_time = 500
format = "took [$duration](bold yellow) "

[python]
symbol = " "

tmux — session persistence

The killer feature nobody talks about: when your laptop dies, your terminal state lives.

# Sessions
tmux new -s project    # create
tmux attach -t project # attach
tmux kill-session -t project # destroy

# Windows and panes
Ctrl+b c    # new window
Ctrl+b |    # split horizontal
Ctrl+b -    # split vertical
Ctrl+b d    # detach

fzf + ripgrep — the search combo

# Fuzzy find in git history
git log --oneline --all | fzf --preview 'git show {}'

# File search across entire project
rg "function_name" --hidden -l

# Ctrl+R history fuzzy search
bindkey '^R' fzf-history-widget

Aliases That Stuck

# Git — the essentials
alias gs='git status -sb'
alias gc='git commit'
alias gca='git commit --amend'
alias gpf='git push --force-with-lease'
alias gl='git log --oneline --graph --decorate --all'
alias gco='git checkout'
alias gd='git diff'

# Docker — stop all containers, clean up
alias dockstop='docker stop $(docker ps -aq)'
alias dockclean='docker system prune -af --volumes'

# Dev
alias py='python3'
alias ..='cd ..'
alias ...='cd ../..'
alias ports='lsof -i -P -n | grep LISTEN'

# Quick serve current dir
alias serve='python3 -m http.server 8000'

What I Dropped

ToolWhy I Dropped It
Oh My ZshToo heavy, too slow startup
PowerlineStarship is 10x faster and prettier
autojumpz in zsh’s cd history is faster
fasdOverkill; fzf handles most use cases
nvmdirenv + asdf for version management

The Hidden Win: direnv

Drop a .envrc in any project:

# .envrc
use python 3.11
layout poetry
export PYTHONDONTWRITEBYTECODE=1

cd into the project → right Python version activates → leave → everything resets.


The Honest Assessment

My terminal went from “tool I tolerate” to “where I actually want to spend time.” The session persistence alone has saved me hours of lost work.

Start with Starship + tmux. Everything else builds from there.

Next: the VS Code setup that pairs with this terminal workflow.

💡

Enjoying the content? Here are tools I personally use and recommend:

  • 🌐 Hosting: Bluehost — what this blog runs on
  • 🛒 Tech Gear: My Amazon Store — keyboards, monitors, dev tools I use

Purchases through my links help keep this blog ad-free 💙

Enjoyed this post?

Subscribe to the newsletter or follow on YouTube for more dev content.

🎬 Watch Shorts