Go to file
Sebastian Thiel f52ae552d3
fix(git): upgrade `gitoxide` to v0.21 (#4277)
* upgrade `gitoxide` to v0.21

This release comes with lenient configuration handling by default,
allowing to open repositories even their configuration values are
invalid (even for git), as long as there are viable defaults.

Furthermore this release adds the ability to open submodule repsitories.

Fixes https://github.com/starship/starship/issues/4266 and
fixes https://github.com/starship/starship/issues/4272

* Assure an object cache is set to speed up `commit.describe()`

Related to https://github.com/starship/starship/issues/4275 bringing
performance to spitting distance compared to git.
2022-08-18 07:22:51 +01:00
.cargo build: bump chrono from 0.4.19 to 0.4.20 (#4232) 2022-08-06 19:05:46 +02:00
.github build: use cargo for stripping release binaries (#4246) 2022-08-14 15:31:08 -04:00
docs docs(preset): two more plain symbols (#4259) 2022-08-16 16:08:44 +01:00
install fix(install): Have fixed a spacing issue in output (#4082) 2022-06-18 23:22:57 +02:00
media feat(release): add windows msi installers (#4031) 2022-06-02 22:26:10 +02:00
src fix(git): upgrade `gitoxide` to v0.21 (#4277) 2022-08-18 07:22:51 +01:00
.codecov.yml ci: add test coverage reporting with codecov (#3848) 2022-04-08 20:20:24 -04:00
.dprint.json chore(dprint): fmt & upgrade plugins (#3969) 2022-05-06 19:47:30 -05:00
.gitattributes revert(schema): move config-schema back into .github folder (#3886) 2022-04-18 17:42:47 +02:00
.gitignore ci: Notarize MacOS Binaries and Add Flat Package Installers (#3571) 2022-02-27 15:58:28 -06:00
.rustfmt.toml style: make rustfmt use the default configuration (#1661) 2020-09-19 08:45:17 +02:00
CHANGELOG.md chore(master): release 1.10.1 (#4260) 2022-08-15 14:21:57 -04:00
CODE_OF_CONDUCT.md ci: Use `dprint` to format documentation + TOML files (#3426) 2022-01-20 11:32:09 +03:00
CONTRIBUTING.md revert(schema): move config-schema back into .github folder (#3886) 2022-04-18 17:42:47 +02:00
Cargo.lock fix(git): upgrade `gitoxide` to v0.21 (#4277) 2022-08-18 07:22:51 +01:00
Cargo.toml fix(git): upgrade `gitoxide` to v0.21 (#4277) 2022-08-18 07:22:51 +01:00
LICENSE chore: Update LICENSE file for 2022 (#3514) 2022-01-25 21:09:06 -06:00
README.md feat(winget): Add support for winget package manager (#4042) 2022-06-23 12:28:50 +02:00
build.rs feat: Add starship preset command (#4112) 2022-08-02 11:51:15 +02:00
clippy.toml fix(windows): avoid verbatim paths (#3638) 2022-02-23 18:32:35 -05:00
crowdin.yml chore: update Crowdin PR title 2021-01-29 16:53:32 -05:00
snapcraft.yaml feat: add support for xonsh (#2807) 2021-07-16 15:25:01 -04:00
starship.exe.manifest feat: Add a Windows application manifest (#3590) 2022-02-20 18:12:40 +01:00

README.md

Starship – Cross-shell prompt

GitHub Actions workflow status Crates.io version Packaging status
Chat on Discord Follow @StarshipPrompt on Twitter

Website · Installation · Configuration

English   Deutsch   Español   Français   Bahasa Indonesia   Italiano   日本語   Português do Brasil   Русский   Tiếng Việt   简体中文   繁體中文

SWUbanner

Starship with iTerm2 and the Snazzy theme

The minimal, blazing-fast, and infinitely customizable prompt for any shell!

  • 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.

Explore the Starship docs  ▶

🚀 Installation

Prerequisites

Step 1. Install Starship

Select your operating system from the list below to view installation instructions:

Android

Install Starship using any of the following package managers:

Repository Instructions
Termux pkg install starship
BSD

Install Starship using any of the following package managers:

Distribution Repository Instructions
Any crates.io cargo install starship --locked
FreeBSD FreshPorts pkg install starship
NetBSD pkgsrc pkgin install starship
Linux

Install the latest version for your system:

curl -sS https://starship.rs/install.sh | sh

Alternatively, install Starship using any of the following package managers:

Distribution Repository Instructions
Any crates.io cargo install starship --locked
Any conda-forge conda install -c conda-forge starship
Any Linuxbrew brew install starship
Any Snapcraft snap install starship
Alpine Linux 3.13+ Alpine Linux Packages apk add starship
Arch Linux Arch Linux Community pacman -S starship
CentOS 7+ Copr dnf copr enable atim/starship
dnf install starship
Fedora 31+ Fedora Packages dnf install starship
NixOS nixpkgs nix-env -iA nixos.starship
Gentoo Gentoo Packages emerge app-shells/starship
Manjaro pacman -S starship
NixOS nixpkgs nix-env -iA nixpkgs.starship
Void Linux Void Linux Packages xbps-install -S starship
macOS

Install the latest version for your system:

curl -sS https://starship.rs/install.sh | sh

Alternatively, install Starship using any of the following package managers:

Repository Instructions
crates.io cargo install starship --locked
conda-forge conda install -c conda-forge starship
Homebrew brew install starship
MacPorts port install starship
Windows

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

Step 2. Setup your shell to use Starship

Configure your shell to initialize starship. Select yours from the list below:

Bash

Add the following to the end of ~/.bashrc:

eval "$(starship init bash)"
Cmd

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"))()
Elvish

Add the following to the end of ~/.elvish/rc.elv:

eval (starship init elvish)

Note: Only Elvish v0.18+ is supported

Fish

Add the following to the end of ~/.config/fish/config.fish:

starship init fish | source
Ion

Add the following to the end of ~/.config/ion/initrc:

eval $(starship init ion)
Nushell

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 ~/.cache/starship/init.nu

And add the following to the end of your Nushell configuration (find it by running $nu.config-path):

source ~/.cache/starship/init.nu

Note: Only Nushell v0.61+ is supported

PowerShell

Add the following to the end of your PowerShell configuration (find it by running $PROFILE):

Invoke-Expression (&starship init powershell)
Tcsh

Add the following to the end of ~/.tcshrc:

eval `starship init tcsh`
Xonsh

Add the following to the end of ~/.xonshrc:

execx($(starship init xonsh))
Zsh

Add the following to the end of ~/.zshrc:

eval "$(starship init zsh)"

Step 3. Configure Starship

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:

  • Configuration learn how to configure Starship to tweak your prompt to your liking

  • Presets get inspired by the pre-built configuration of others

🤝 Contributing

We are always looking for contributors of all skill levels! If you're looking to ease your way into the project, try out a good first issue.

If you are fluent in a non-English language, we greatly appreciate any help keeping our docs translated and up-to-date in other languages. If you would like to help, translations can be contributed on the Starship Crowdin.

If you are interested in helping contribute to starship, please take a look at our Contributing Guide. Also, feel free to drop into our Discord server and say hi. 👋

💭 Inspired By

Please check out these previous works that helped inspire the creation of starship. 🙏


Starship rocket icon

📝 License

Copyright © 2019-present, Starship Contributors.
This project is ISC licensed.