starship
Cross-shell customizable prompt in Rust
TLDR
Initialize for bash
SYNOPSIS
starship [init shell] [prompt] [preset] [options]
DESCRIPTION
starship is a minimal, fast, cross-shell prompt. Written in Rust, it provides consistent appearance and features across bash, zsh, fish, PowerShell, and more.
Configuration in ~/.config/starship.toml customizes modules. Each module shows specific information: git status, language versions, cloud context, etc.
Modules appear contextually. Python version shows only in Python projects. Git info shows only in repositories. This keeps prompts clean.
Presets provide ready-made configurations. They range from minimal to information-rich, with various color schemes.
Speed is a priority. The prompt renders quickly even with many modules enabled. Timings command helps identify slow modules.
The prompt is cross-platform, working on Linux, macOS, and Windows. Configuration is portable across systems.
PARAMETERS
init SHELL
Generate shell init script.prompt
Print prompt.preset NAME
Print preset configuration.print-config
Print config.explain
Explain prompt segments.timings
Time prompt rendering.completions SHELL
Generate completions.bug-report
Generate bug report.--help
Show help.--version
Show version.
CONFIGURATION
~/.config/starship.toml
Main configuration file defining enabled modules, display format, colors, and per-module settings.STARSHIP_CONFIG
Environment variable to specify an alternate configuration file path.
CAVEATS
Requires Nerd Font for icons. Configuration syntax may differ from shell prompts. Some modules need external commands.
HISTORY
Starship was created by Matan Kushner around 2019. It gained popularity as a fast, configurable alternative to framework-specific prompts like Oh My Zsh themes.
