Tools I use every day should be fast, minimal, and not require much thought to operate. Here is what I run.

Shell: zsh + minimal config

I use zsh with a very short .zshrc. No frameworks, no plugin managers. Just a few functions and aliases I have accumulated over the years.

# Prompt: just directory and git branch
autoload -Uz vcs_info
precmd() { vcs_info }
zstyle ':vcs_info:git:*' formats ' (%b)'
setopt PROMPT_SUBST
PROMPT='%F{blue}%~%f${vcs_info_msg_0_}%# '

# Useful aliases
alias ll='ls -lh'
alias g='git'
alias py='python'

Editor: Neovim

Neovim with a small Lua config. I resisted switching from Vim for years. The Lua config API is genuinely nicer than Vimscript.

The plugins I actually use:

Plugin Purpose
nvim-lspconfig Language server support
nvim-cmp Completion
telescope.nvim Fuzzy finding
treesitter Better syntax highlighting

Terminal: Alacritty

Fast. GPU-rendered. Zero tabs or panes built in (I use tmux for that). Config is a single YAML file.

tmux

Two panes open most of the time: editor on the left, shell on the right. Session persistence means I can close the terminal and come back to exactly where I was.

# Start or attach to main session
tmux new-session -A -s main

Font: Berkeley Mono

Monospace font with good legibility at small sizes. Ligatures off. They look clever but slow down reading.

What I don't use

  • Oh My Zsh or any shell framework
  • A GUI for git
  • Any Electron-based editor

The common theme: fewer layers between me and the machine.