- Fast: it's fast β really really fast! π
- Customizable: configure every aspect of your prompt.
- Universal: works on any shell, on any operating system.
- Intelligent: shows relevant information at a glance.
- Feature-rich: support for all your favorite tools.
- Easy: quick to install β start using it in minutes.
- Install a Nerd Font and enabled in your terminal. (for example, try this Caskaydia Cove Nerd Font
Select your operating system from the list below to view installation instructions:
- Ubuntu/Mint:
sudo apt install curl
- Fedora:
sudo dnf install curl
- Manjaro/Arch:
sudo pacman -S curl
Then Install the latest version for your system:
curl -sS https://starship.rs/install.sh | sh
Distribution | Instructions |
---|---|
Any | cargo install starship --locked |
Any | conda install -c conda-forge starship |
Any | brew install starship |
Alpine Linux 3.13+ | apk add starship |
Arch Linux | pacman -S starship |
CentOS 7+ | dnf copr enable atim/starship dnf install starship |
Gentoo | emerge app-shells/starship |
Manjaro | pacman -S starship |
NixOS | nix-env -iA nixpkgs.starship |
openSUSE | zypper in starship |
Void Linux | xbps-install -S starship |
Install the latest version for your system:
curl -sS https://starship.rs/install.sh | sh
Install the latest version for your system with the MSI-installers from the releases section.
Install Starship using any of the following package managers:
Repository | Instructions |
---|---|
crates.io | cargo install starship --locked |
Chocolatey | choco install starship |
conda-forge | conda install -c conda-forge starship |
Scoop | scoop install starship |
winget | winget install --id Starship.Starship |
Configure your shell to initialize starship. Select yours from the list below:
Add the following to the end of ~/.bashrc
:
eval "$(starship init bash)"
You need to use Clink (v1.2.30+) with Cmd. Create a file at this path %LocalAppData%\clink\starship.lua
with the following contents:
load(io.popen('starship init cmd'):read("*a"))()
Add the following to the end of ~/.config/fish/config.fish
:
starship init fish | source
Add the following to the end of your Nushell env file (find it by running $nu.env-path
in Nushell):
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
And add the following to the end of your Nushell configuration (find it by running $nu.config-path
):
use ~/.cache/starship/init.nu
Add the following to the end of your PowerShell configuration (find it by running $PROFILE
):
Invoke-Expression (&starship init powershell)
Add the following to the end of ~/.zshrc
:
eval "$(starship init zsh)"
Start a new shell instance, and you should see your beautiful new shell prompt. If you're happy with the defaults, enjoy!
If you're looking to further customize Starship:
To get started configuring starship, create the following file: ~/.config/starship.toml
.
~/.config && touch ~/.config/starship.toml && sudo nano starship.toml
Then copy all config lines and paste in starship.toml
file then save it.
# ~/.config/starship.toml
# NOTE:
# Install font awesome for better effect, if not working i guess try install some emojis, that would be helpful.
add_newline = true
[character]
success_symbol = "[β](bold blue) "
error_symbol = "[β](bold red) "
# Hide the username. The username will only show in certain scenarios
[username]
disabled = false
[hostname]
ssh_only = false
format = "[$hostname](bold #ee00ff) [β―](bold green) "
trim_at = ".companyname.com"
disabled = false
[directory]
truncation_length = 5
truncate_to_repo = true
format = "[$path]($style)[$read_only]($read_only_style) "
read_only = " π"
read_only_style = "red"
style = "bold italic blue"
[cmd_duration]
min_time = 4
show_milliseconds = false
disabled = false
format = "[ο $duration](bold yellow)"
style = "bold italic blue"
[docker_context]
format = "[$context](blue bold)"
symbol = 'ο '
[kubernetes]
format = 'on [βΈ $context \($namespace\)](dimmed green) '
disabled = false
[kubernetes.context_aliases]
"dev.local.cluster.k8s" = "dev"
".*/openshift-cluster/.*" = "openshift"
"gke_.*_(?P<cluster>[\\w-]+)" = "gke-$cluster"
[azure]
symbol = 'ο΄ '
[aws]
symbol = "ξ½ "
[conda]
symbol = "ο "
[dart]
symbol = "ξ "
[elixir]
symbol = "ξ΅ "
[elm]
symbol = "ξ¬ "
[git_branch]
symbol = "ο "
truncation_length = 15
truncation_symbol = ""
[git_commit]
commit_hash_length = 4
tag_symbol = " ο° "
[git_state]
format = '[\($state( $progress_current of $progress_total)\)]($style) '
cherry_pick = "[β―β― PICKING](bold red)"
[git_status]
conflicted = '$ {count}β '
ahead = " ${count}β "
behind = " ${count}β "
diverged = " β${ahead_count}β ${behind_count}β "
untracked = ' ${count}γ₯ '
stashed = ' ${count}β '
modified = ' ${count}β '
staged = ' ${count}β£ '
renamed = ' ${count}β '
deleted = ' ${count}β '
# up_to_date = 'β '
[hg_branch]
format = "[$branch](bold purple)"
truncation_length = 15
truncation_symbol = ""
[golang]
format = "[ξ§ $version](bold cyan) "
[helm]
format = "[β $version](bold white) "
[java]
symbol = "β¨ "
[julia]
symbol = "ξ€ "
[package]
symbol = 'β '
[lua]
format = "[ξ $version](bold blue) "
[memory_usage]
symbol = "ο‘ "
[nim]
symbol = "ο€ "
[nix_shell]
symbol = "ο "
[perl]
symbol = "ξ© "
[php]
symbol = "ξ "
[python]
symbol = "ξ "
[ruby]
symbol = "ξΎ "
[rust]
symbol = "ξ¨ "
[scala]
symbol = "ξ· "
[shlvl]
symbol = "ο "
[swift]
symbol = "ο―£ "
[nodejs]
format = "[ξ $version](bold green) "
detect_files = ["package.json", ".node-version"]
detect_folders = ["node_modules"]
Follow this shortcut if you don't know how to save and exit the nano file.
(Press Ctrl + O then Press Enter to Save And Press Ctrl + X to Exit)
- Starship Docs
- Configuration β learn how to configure Starship to tweak your prompt to your liking
- Presets β get inspired by the pre-built configuration of others