Tooling

Terminal & CLI Tools

tmux, zellij, mosh, Starship, fzf, ripgrep, bat — the daily shell upgrades.

The set of small tools that compounds into a much better shell experience for ops work.

Terminal multiplexers

  • tmux — universal; everywhere; the muscle-memory standard.
  • zellij — Rust; modern; pre-configured panes; great defaults. The most-loved newcomer.
  • screen — old, ubiquitous; still works.
  • byobu — wrapper around screen / tmux with friendly defaults.

Terminal emulators

  • Ghostty — fast, modern; growing fast in 2026.
  • Alacritty — Rust; fast; minimal.
  • kitty — fast; many features.
  • WezTerm — Lua-configurable; cross-platform.
  • iTerm2 (Mac) — long-running classic.
  • Windows Terminal (Microsoft) — finally good.
  • Warp — AI-flavored terminal; commercial.

Shell

  • bash — default; everywhere.
  • zsh + oh-my-zsh / prezto / zinit — many plugins; great defaults.
  • fish — friendly; great defaults out of the box; some POSIX deviations.
  • nushell — structured-data shell; pipes are typed.

Prompt

  • Starship — Rust; fast; cross-shell; the default in 2026.
  • Powerlevel10k (zsh) — feature-rich; very fast.
  • Oh My Posh — same niche, cross-shell.
  • liquidprompt — older, simpler.

Modern replacements for common Unix tools

  • ripgrep (rg) — replaces grep; way faster.
  • fd — replaces find; sane defaults.
  • bat — replaces cat; syntax highlighting + line numbers.
  • eza — replaces ls; colors + tree mode.
  • dust — replaces du; visual.
  • duf — replaces df; tables.
  • procs — replaces ps; tree view.
  • sd — replaces sed for common cases.
  • delta — better git diff viewer.
  • xh / httpie — better curl for HTTP.
  • jq / yq — JSON / YAML query.
  • gron — make JSON grep-able.
  • jless — interactive JSON viewer.

Fuzzy / interactive

  • fzf — universal fuzzy finder; pipe anything to it. Life-changing.
  • skim (sk) — Rust alternative to fzf.
  • zoxide — fuzzy cd based on frecency. Replaces cd.
  • autojump / z — older zoxide ancestors.

Editors (terminal-side)

  • vim / Neovim — universal.
  • Helix — modern Kakoune-style modal editor; great defaults.
  • nano — the editor your EDITOR defaults to when SSH'd.
  • micro — friendlier alternative to nano.

File transfer / copying

  • See File Sync — rsync, rclone, croc, magic-wormhole.

Productivity glue

  • direnv — auto-load env when you cd into a project.
  • mise — runtime version manager; see Dev Environments.
  • just — modern command runner; like make for tasks.
  • Taskfile — same niche, YAML config.
  • lazygit — TUI for git.
  • gh — GitHub CLI.
  • glab — GitLab CLI.

Patterns to adopt

  • Aliases for kubectl, git, docker, ssh. Save thousands of keystrokes.
  • fzf history searchCtrl+R becomes magical with fzf's history widget.
  • Starship for a consistent prompt across machines / shells.
  • Persistent tmux session per host — reconnect to the same workspace after disconnects.
  • mosh + tmux for flaky connections.

Pick this if…

  • Default modern shell setup: zsh + Starship + fzf + zoxide + ripgrep + fd + bat + eza.
  • Multiplexer: tmux (mature) or zellij (modern).
  • Terminal emulator: Ghostty or Alacritty.
  • Fast modal editor: Helix.
  • Shell-script-like tasks: just or Taskfile.
  • TUI git: lazygit.

On this page