How to Install Starship on Ubuntu: The Minimal, Blazing-Fast Shell Prompt

Starship is a minimal, blazing-fast and endlessly customisable prompt that works with just about any shell. Written in Rust, it packs a wealth of context into your prompt — the current Git branch and status, the language runtime in play, a Python virtualenv, a Kubernetes context, how long the last command took — without ever feeling sluggish. Because a single binary powers Bash, Zsh, Fish and more, your prompt looks and behaves the same wherever you work.

Ubuntu’s official repositories do not carry Starship, and its steady stream of releases means an archived version would soon fall behind. The upstream install script pulls a binary straight onto disk, outside of APT, leaving you to handle upgrades and removal by hand.

The unofficial deb.griffo.io repository offers a cleaner route: a current, prebuilt Starship package installed with apt and kept up to date through your normal system upgrades.

What Makes Starship Special?

  • ⚡ Blazing-fast rendering - Rust under the hood means no noticeable prompt lag
  • 🐚 Works with any shell - one binary serves Bash, Zsh, Fish, PowerShell, Nushell and others
  • 🌿 Rich Git integration - branch, dirty state and ahead/behind counts shown at a glance
  • 🈚 Language-aware modules - displays versions for Node, Python, Rust, Go and many more
  • ☸️ Context modules - Kubernetes context, AWS profile, Docker context and command duration
  • 🎨 Fully customisable - a single TOML file governs every module, symbol and colour
  • 📦 Presets included - ready-made looks such as Nerd Font Symbols and Pastel Powerline
  • 🧩 Zero configuration to start - sensible defaults make it look great immediately

Why Use the deb.griffo.io Repository?

  • Easy installation and updates through the standard APT workflow
  • Automatic dependency management courtesy of Debian-style packaging
  • Always tracks upstream releases so new Starship versions land without delay
  • No install script dropping an unmanaged binary onto your system
  • Works across supported Ubuntu releases including the current LTS versions

Prerequisites

Before starting, make sure you have:

  • An Ubuntu system (Jammy 22.04 LTS, Noble 24.04 LTS, or newer)
  • sudo privileges
  • curl installed (install it with sudo apt install curl if needed)
  • A Nerd Font installed and active in your terminal, for Starship’s icons

Step 1: Add the deb.griffo.io Repository

Add the GPG key and source entry with the commands below:

# Create the keyrings directory
sudo install -d -m 0755 /etc/apt/keyrings

# Download and install the repository GPG key
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg

# Add the repository (auto-detects your distro codename)
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null

# Update the package list
sudo apt update

Step by step:

  1. Create the keyrings directory with permissions suited to the signing key.
  2. Install the GPG key, dearmoring it into a keyring APT uses for verification.
  3. Add the repository, letting lsb_release -sc fill in your Ubuntu codename automatically.
  4. Update the index so APT can see the packages the repository provides.

Step 2: Update the Package List

If you have not already refreshed the index, do it now:

sudo apt update

Step 3: Install Starship

Install the package directly:

sudo apt install starship

APT fetches the latest packaged Starship and resolves any dependencies.

Step 4: Verify the Installation

Confirm Starship is present and reporting a version:

starship --version

You should see something like:

starship 1.23.0

Getting Started with Starship

The binary alone does nothing until you wire it into your shell as the prompt.

Configuring the Prompt

Starship reads its configuration from ~/.config/starship.toml. Create the file if it is not there:

mkdir -p ~/.config
touch ~/.config/starship.toml

Here is a compact example that adds spacing between prompts, tweaks the prompt character and the Git symbol, and hides the package module:

# ~/.config/starship.toml

# Insert a blank line between prompts
add_newline = true

[character]
success_symbol = "[➜](bold green)"
error_symbol = "[➜](bold red)"

[git_branch]
symbol = " "

[package]
disabled = true

Edits apply the next time you press Enter — the config file needs no reload.

Enabling Starship in Your Shell

Add the matching init line to the end of your shell’s config.

For Bash, edit ~/.bashrc:

# ~/.bashrc
eval "$(starship init bash)"

For Zsh, edit ~/.zshrc:

# ~/.zshrc
eval "$(starship init zsh)"

For Fish, edit ~/.config/fish/config.fish:

# ~/.config/fish/config.fish
starship init fish | source

Open a new terminal, or run source ~/.bashrc for Bash, and Starship takes over your prompt.

Applying a Preset

Starship bundles several polished presets that write a complete config in one step:

# Apply the Nerd Font Symbols preset
starship preset nerd-font-symbols -o ~/.config/starship.toml

# See all available presets
starship preset --list

Handy Utilities

A few built-in commands help when you are fine-tuning your prompt:

# Print the resolved configuration in use
starship config

# Measure how long each module takes to render
starship timings

# Explain what each module in the prompt is doing
starship explain

Keeping Starship Updated

Since Starship comes from an APT repository, keeping it current is part of your usual maintenance:

sudo apt update && sudo apt upgrade

Newly packaged releases are pulled in automatically.

Other Tools from deb.griffo.io

The deb.griffo.io repository serves many other terminal tools for Ubuntu:

  • zoxide - a smarter cd that remembers where you go
  • eza - a modern, maintained replacement for ls
  • fzf - a blazing-fast command-line fuzzy finder
  • lazygit - a friendly terminal UI for Git

Troubleshooting

The Prompt Shows Broken Symbols

If your prompt is dotted with empty boxes or question marks, your terminal is not using a Nerd Font. Install one, select it in your terminal preferences and restart the terminal. If you would rather avoid special glyphs entirely, apply a plain preset:

starship preset plain-text-symbols -o ~/.config/starship.toml

Package Not Found

If APT cannot find the starship package after you add the repository:

  1. Confirm you ran sudo apt update once the source was in place.
  2. Check that your Ubuntu release is supported (Jammy, Noble or newer).
  3. Inspect the source entry:
cat /etc/apt/sources.list.d/deb.griffo.io.list

GPG or Key Issues

A NO_PUBKEY or signature error means the signing key needs re-adding:

# Re-download and install the repository GPG key
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg

# Refresh the package list
sudo apt update

Uninstalling

Remove Starship with:

sudo apt remove starship

Remember to delete the eval "$(starship init ...)" line from your shell config so your previous prompt returns. To remove the repository too:

sudo rm /etc/apt/sources.list.d/deb.griffo.io.list
sudo rm /etc/apt/keyrings/deb.griffo.io.gpg
sudo apt update

Conclusion

Starship turns the humble shell prompt into a fast, informative dashboard for whatever you are doing. It shows the context that matters — Git state, runtime versions, command timing — with sensible defaults out of the box, and a single TOML file lets you tailor every last detail. One binary drives every shell, so your prompt stays consistent across Bash, Zsh and Fish.

Installed through the deb.griffo.io repository, Starship on Ubuntu stays under APT’s management: one command to install, one init line to enable it, and future releases arriving with your normal upgrades. It is tidier than a standalone install script, and it keeps your prompt current with no effort on your part.

Resources


Disclaimer: The deb.griffo.io repository is an unofficial community project and is not affiliated with the official Debian or Ubuntu projects, or with the upstream Starship project.