Starship.rs: minimal, fast prompt for any shell

Starship.rs is a cross-shell prompt tool that aims to provide rich contextual information—such as Git status, Kubernetes context, virtual environments, and nix shells—while staying fast and easy to configure. Commenters highlight its strengths in performance, solid defaults, transient prompts, and pairing well with shells like fish, but some criticize its colorful, multi-line style, “opt-in to everything” defaults, and reliance on Nerd fonts as unnecessary bloat. The project also revives debate over “X rewritten in Rust” tools, with some seeing language choice and memory safety as meaningful user-facing benefits and others viewing it as mere implementation detail and hype.

What Starship Is and Where It Fits

  • Described as a fast, cross-shell prompt replacement, not a shell itself.
  • Competes with powerlevel10k/Oh-My-Zsh’s prompt parts and other prompt tools, not with zsh or fish directly.
  • Main value: rich contextual info (git status, Kubernetes context, language versions, nix/direnv state, etc.) without writing complex PS1 logic.

Comparison to Custom Prompts & Other Tools

  • Several commenters note that replicating Starship’s features robustly in shell script (especially git edge cases, large repos) is nontrivial.
  • Others prefer small, hand-rolled prompts for control, simplicity, and avoiding an extra binary.
  • Some users find Starship less flexible or slower than powerlevel10k; others find it “fast enough” and much easier to configure.

Configuration, Defaults, and “Minimalism”

  • Some like the out-of-the-box rich prompt and “infinitely customizable” modules.
  • Others strongly dislike that it shows lots of info by default (e.g., email, AWS region) and prefer opt-in, minimal defaults.
  • Debate over calling it “minimal”:
    • One side: not minimal because it’s a nontrivial program run on every prompt.
    • Other side: “minimal” in terms of what’s shown being context-relevant rather than cluttered.

Performance & Implementation Details

  • Many users report excellent latency compared to prior prompt setups, attributing this partly to being implemented in Rust.
  • A maintainer notes that custom modules can be slow because they spawn shells; using shells without full init can mitigate this.

Visual Design: Colors, Fonts, Layout

  • Mixed feelings about colorful, icon-heavy prompts: some find them highly readable; others find them distracting or unprofessional.
  • Nerd Fonts requirement is controversial; some think it’s inappropriate for terminals. Others note Starship works without them and presets exist for non-icon setups.
  • Debate over multi-line prompts:
    • Pro: extra context, clear separation between commands, full-width input.
    • Con: perceived waste of vertical space and inconsistent starting column.
  • Transient prompt (full prompt only on the current line; previous lines collapsed) is praised for keeping scrollback clean.

Adoption Across Machines

  • Enthusiasts install Starship (often with fish) everywhere they frequently work and automate setup (e.g., via Nix/home-manager).
  • Skeptics avoid it on shared/production systems to keep environments uniform and avoid extra dependencies.

Rust and “X in Rust”

  • Some see “written in Rust” as a genuine selling point (memory safety, static binaries, modern tooling).
  • Others are tired of “X in Rust” marketing and argue language choice should not be the headline feature.