carship

A cross-shell prompt written in C. Works with bash, zsh and busybox ash. Renders in about a millisecond and reads starship-compatible TOML configuration.

 󰣇 smn  ~/carship   main !2 +1  14:32 
❯ carship explain
MODULE           OUTPUT
directory        ~/carship
git_branch       on  main
git_status       [!+?]
❯ 

Why carship

Inspired by starship.rs.

About a millisecond

Renders the prompt in roughly a millisecond. A static build starts about 20% faster still.

Written in C

Built with clang on any POSIX system. No external libraries.

Starship-compatible

Reads starship's TOML schema: format strings, modules, styles and palettes. Your config keeps working.

Get started

Build it, then add one line to your shell.

1Install a Nerd Font

Most presets use Nerd Font symbols. Install one and select it in your terminal, or use the nonerd preset.

2Build and install

git clone https://github.com/m8l8th814n-eng/carship
cd carship
make              # build/carship
make static       # faster start-up
make install      # PREFIX=/usr/local

3Set up your shell

# ~/.zshrc
eval "$(carship init zsh)"
# ~/.bashrc
eval "$(carship init bash)"
# ~/.profile
eval "$(carship init ash)"

4Pick a preset

carship preset --list
carship preset set catppuccin-powerline

Presets

Pick one with carship preset set <name>, or list them with carship preset --list.

  • agnoster
  • animated
  • aurora
  • bira
  • bracketed-segments
  • catppuccin-powerline
  • cobalt
  • cute
  • cyberpunk
  • dracula
  • dscdnc-ember
  • dscdnc-forest
  • dscdnc-mono
  • dscdnc-ocean
  • dscdnc
  • ember
  • everforest
  • gruvbox
  • jetpack
  • k3ff_powahline
  • kanagawa
  • kl0ck0
  • minimal
  • neon-night
  • nerdfontsymbols
  • no-runtime-versions
  • nonerd
  • nord
  • pastel
  • plain
  • powahlinje
  • pure
  • quiet
  • robbyrussell
  • rose-pine
  • sakura
  • synthwave
  • times
  • tokyo
  • toxic
  • trapd00r
  • two-line
  • wezm
  • ys