/spaceship-prompt

:rocket::star: Minimalistic, powerful and extremely customizable Zsh prompt

Primary LanguageShellMIT LicenseMIT

SWUbanner

spaceship →~ prompt
Spaceship Prompt 🚀⭐

Minimalistic, powerful and extremely customizable Zsh prompt

NPM Version GitHub Workflow Status Zsh Version Spaceship Twitter Chat on Discord Donate

Built with ❤︎ by Denys Dovhan and contributors

Spaceship is a minimalistic, powerful and extremely customizable Zsh prompt. Prompt is what you see when you type a command. It can show a lot of useful tips, saving your time and making the user experience smooth and pleasant. It combines everything you may need for convenient work, without unnecessary complications, like a real spaceship.

Spaceship with One Dark, zsh-autosuggestions and zsh-syntax-highlight
Visit Frequently Asked Question for similar setup and find more examples with different color schemes in Screenshots wiki-page.

✨ Features

Here are some sneak peeks of what Spaceship can show:

  • Clever hostname and username displaying
  • Repository statuses (Git and Mercurial are supported)
  • Runtime environments for various languages (Node.js, Rust, Python, Ruby, Swift, Go, PHP and many others)
  • Docker version, Kubernetes context and connected machine
  • Package version (npm, lerna, cargo, composer and others)
  • Battery level and status
  • Indicator for jobs in the background
  • A lot of useful information
  • Custom information of your choice

Want more features? Please, open an issue or send a pull request.

🤝 Requirements

Before we begin, let's make sure you have the following installed:

  • Zsh (v5.2 or recent) must be installed. Run the following command to check your version of Zsh:
    echo $ZSH_VERSION #> 5.8.1
  • Powerline Font or Nerd Font (even better) must be installed and used in your terminal. Fira Code is a popular choice. To check if Powerline Font works for you, run:
    echo -e "\xee\x82\xa0" #> 

🚀 Installation

Here are a few popular methods to install Spaceship. Select the one you use from the list below:

Homebrew Installing Spaceship via Homebrew is a simple command:
brew install spaceship

Add prompt initialization to your .zshrc:

echo "source $(brew --prefix)/opt/spaceship/spaceship.zsh" >>! ~/.zshrc
Oh-My-Zsh Clone this repo:
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1

Symlink spaceship.zsh-theme to your oh-my-zsh custom themes directory:

ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

Set ZSH_THEME="spaceship" in your .zshrc.

npm Install Spaceship via npm as you would with any other global package:
npm install -g spaceship-prompt

This command will download Spaceship. It will also ask you to source Spaceship in your ~/.zshrc file.

prezto
  • Follow prezto-contrib#usage to clone prezto-contrib to the proper location.
  • Enable the contrib-prompt module (before the prompt module).
  • Set zstyle ':prezto:module:prompt' theme 'spaceship' in your .zpreztorc.
zim Add Spaceship to your `.zimrc`:
zmodule spaceship-prompt/spaceship-prompt --name spaceship --no-submodules

Then, install Spaceship:

zimfw install
antigen Add the following snippet in your `.zshrc`:
antigen theme spaceship-prompt/spaceship-prompt
antibody Update your `.zshrc` file with the following line:
antibody bundle spaceship-prompt/spaceship-prompt
zinit Add the following line to your `.zshrc` where you're adding your other Zsh plugins:
zinit light spaceship-prompt/spaceship-prompt
zgen Add the following line to your `.zshrc` where you're adding your other Zsh plugins:
zgen load spaceship-prompt/spaceship-prompt spaceship
zplug Use this command in your `.zshrc` to load Spaceship as prompt theme:
zplug "spaceship-prompt/spaceship-prompt", use:spaceship.zsh, from:github, as:theme
sheldon Add the following to your `plugins.toml` file (open it with `sheldon edit`):
[plugins.spaceship]
github = "spaceship-prompt/spaceship-prompt"

Or run the following to automatically add it:

sheldon add spaceship --github spaceship-prompt/spaceship-prompt
Arch

Install the latest release from the AUR package spaceship-prompt:

git clone https://aur.archlinux.org/spaceship-prompt.git
cd spaceship-prompt
makepkg -si

or using yay:

yay -S spaceship-prompt

Also there is an unmaintained git package spaceship-prompt-git.

Manual

If none of the above methods works for you, you can install Spaceship manually.

  1. Clone this repo somewhere, for example to $HOME/.zsh/spaceship.
  2. Source Spaceship in your ~/.zshrc.

Example

mkdir -p "$HOME/.zsh"
git clone --depth=1 https://github.com/spaceship-prompt/spaceship-prompt.git "$HOME/.zsh/spaceship"

For initializing prompt system, add this to your .zshrc:

source "$HOME/.zsh/spaceship/spaceship.zsh"

⚙️ Configuration

Spaceship works well out of the box, but you can customize almost everything if you want.

Additionally, join our community in Discord and follow our Twitter for updates.

🫶 Contributing

We're glad to accept contributions from developers of all skill levels! If you are interested in contributing to Spaceship, please take a look at our Contribution Guide for more details. If you're looking for an easy way into the project, take one of the issues with good first issue label.

If you are fluent in any other language besides English, we greatly appreciate any help with translating our documentation in other languages. If you would like to help, join the team of translators on our Crowdin.

If you're interested in helping other people, answer questions asked by other users of Spaceship and help to solve their issues. Additionally, join our Discord to discuss Spaceship and help people who need help.

💌 Sponsoring

If you really enjoy this project, you can contribute financially. Any contribution is highly appreciated, even the smallest one. There are several ways to donate:

🤔 Having trouble?

Find answers on our troubleshooting page or get help from our community.

IssuesDiscussionsDiscord

Still struggling? Please, file an issue, describe your problem, and we will gladly help you.

👀 Derived Projects

Here's a list of related projects that have been inspired by Spaceship ZSH.

  • denysdovhan/dotfiles - Dotfiles of Spaceship's author from which Spaceship is originated.
  • matchai/spacefish - A port of Spaceship ZSH for fish shell intending to achieve complete feature parity.
  • starship/starship - A blazing-fast, cross-shell prompt written in Rust, heavily inspired by Spaceship ZSH.

📄 License

MIT © Denys Dovhan