Skip to content

Starship

Starship is a cross-shell prompt. Displays git status, language versions, command duration, and more. Supports 10 switchable theme palettes.

Terminal
~/projects/myapp main ✓ ⬢20.10.0 🐹1.213s

Left to right: directory, git branch, git status, language versions. Right side shows duration and exit status.

ModuleDisplay
DirectoryPath (3 segments, icon substitutions)
Git branchBranch name (truncated at 20 chars)
Git statusAhead/behind, modified, staged, untracked, conflicts
Node.js + version
Rust🦀 + version
Go🐹 + version
Python🐍 + version
Docker🐳 + context
TimeHH:MM
DurationCommands over 500ms only
StatusNon-zero exit codes
IconMeaning
Up to date
Conflicts
⇡NN commits ahead
⇣NN commits behind
+NN untracked files
!NN modified files
●NN staged files
»NN renamed files
✘NN deleted files
Has stash

Certain directory names are replaced with icons for brevity.

DirectoryIcon
Documents
Downloads
Music
Pictures
Developer
.config

Set palette = "catppuccin" to switch the active palette. 10 palettes are predefined.

PaletteVibe
CatppuccinWarm pastels
NordCool arctic
DraculaDark purple
Tokyo NightDeep blue, vibrant
GruvboxEarthy warm tones
EverforestSoft greens
One DarkVS Code inspired
Rosé PineMuted pink and blue
SolarizedClassic dual-tone
KanagawaJapanese art inspired muted colors

Each palette defines 8 colors: pink, red, yellow, green, sky, sapphire, blue, overlay2. Module styles reference these color names.

theme-switch changes the palette name. Starship auto-detects config changes, so opening a new prompt reflects the update.

Terminal window
~/.config/starship/starship.toml

command_timeout is set to 2000ms (the 500ms default tends to timeout on git operations).