Starship Prompt — Setup and Features
Starship is a minimal, fast, cross-shell prompt written in Rust. It replaces Oh My Zsh themes with a single TOML config and auto-detects context from Git, language runtimes, and cloud tools.
Why / When to Use
When you want a prompt that shows Git state, language versions, and cloud context at a glance — without the lag of Oh My Zsh themes. Especially useful when actively working with Git: the prompt shows branch, dirty state, and ahead/behind status without running git status.
Core Concept / Commands
Install
# macOS / Linux (one-liner)
curl -sS https://starship.rs/install.sh | sh
# Or via Homebrew
brew install starshipEnable in zsh — add to ~/.zshrc
eval "$(starship init zsh)"Config file
~/.config/starship.toml
Zero config needed to get a working prompt. Edit the TOML only when you want to customise.
Example: show only Git module and directory
[git_branch]
symbol = " "
[git_status]
conflicted = "✖"
modified = "!"
untracked = "?"
ahead = "⇡"
behind = "⇣"Key Options / Variants
What Starship shows automatically (no config required):
| Context | What’s shown |
|---|---|
| Inside a Git repo | Branch name + status symbols |
| Python project | Python version |
| Node.js project | Node version |
| Kubernetes | Current context |
| AWS | Active profile |
| Docker | Docker context |
Git status symbols (defaults):
!— modified files?— untracked files⇡— ahead of remote⇣— behind remote
Gotchas
- Requires a Nerd Font installed in your terminal for icons to render correctly (e.g. FiraCode Nerd Font, JetBrains Mono Nerd Font).
- Performance is generally better than Oh My Zsh themes, but very large repos (>50k files) can still cause slight delays on Git status checks. Disable
git_statusmodule in TOML if needed.
Source
Conversation: “Understanding zsh directory and main syntax” — 2026-05-15