276865e4da
* build(deps): update clap crates * build(deps): update rust crate notify-rust to 4.7.1 * build(deps): update rust crate shadow-rs to 0.20.1 * build(deps): update rust crate git-features to 0.26.5 * build(deps): update rust crate notify-rust to 4.8.0 * docs(kubernetes): Remove extra backspace from regex in example (#4905) Remove extra backspace from regex in example In the example, `[\\w-]` would match a literal backspace `\`, the character `w` or a dash `-`. By removing the backspace, instead it matches any "word character" `\w` or a dash `-`. * docs(i18n): new Crowdin updates (#4877) * chore: use updated gitoxide crate names (#4913) * build(deps): update rust crate gix to 0.37.1 * build(deps): update rust crate toml_edit to 0.19.4 * docs(install): update nushell instructions in installation script (#4921) Improve Nushell installation instruction Consistently use `save -f` rather than `save`; the latter fails if the file already exists Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name> * build(deps): update rust crate clap_complete to 4.1.3 * build(deps): update rust crate gix to 0.37.2 * docs(i18n): new Crowdin updates (#4925) * chore(master): release 1.13.0 (#4730) * build(deps): update rust crate tempfile to 3.4.0 * fix: trigger release * chore(master): release 1.13.1 (#4937) * ci: set Node version for docs build * ci: allow docs to be manually published via workflow_dispatch * ci: remove unneeded dependency in publish job * ci: add caching for docs publishing step * build(deps): update rust crate schemars to 0.8.12 * build(deps): update dprint plugins * build(deps): update rust crate shadow-rs to 0.21.0 * build(deps): update clap crates * feat(release): handle chocolatey starship.portable and starship.install pkg publishing (#4723) Handles starship.install (MSI installer) and starship.portable and makes starship an empty meta-package that only depends on starship.install. MSI/installer packages seem to be preferred over zip-based installers on chocolatey. Proper virtual packages that allow choosing either a portable or install variant aren't implemented in chocolatey yet. * ci: replace `audit` with `deny` action (#4856) * build(deps): update rust crate clap to 4.1.8 * build(deps): update gitoxide crates * ci: use `reviewdog/action-suggester` for config-schema check (#4857) * ci: use `reviewdog/action-suggester` for config-schema check * increase workflow permissions * fix(preset): add output-flag to avoid encoding issues (#4926) * build(deps): update rust crate rayon to 1.7.0 * build(deps): update gitoxide crates * build(deps): update pest crates to 2.5.6 * build(deps): update rust crate serde_json to 1.0.94 * build(deps): update npm to ^1.9.9 * build(deps): update rust crate open to 3.4.0 * docs(character): use updated `vimcmd_symbol` instead of older `vicmd_symbol` variant (#4960) Fix typo in character example * build(deps): update rust crate serde to 1.0.153 * docs(install): fix typo and update indentation and whitespaces (#4941) * build(deps): update rust crate serde to 1.0.154 * build(deps): update rust crate gix to 0.40.0 * chore: fix clippy warnings for rust 1.68 (#4983) * fix(init): avoid cygpath for starship binary path (#4970) Update mod.rs * build(deps): update rust crate open to v4 (#4982) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * build(deps): update rust crate toml_edit to 0.19.5 * build(deps): update rust crate gix to 0.41.0 (#4984) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * build(deps): update rust crate serde to 1.0.155 * build(deps): update rust crate chrono to 0.4.24 * build(deps): update rust crate semver to 1.0.17 * build(deps): update rust crate quick-xml to 0.28.0 * Update sponsors * build(deps): update toml crates * build(deps): update rust crate nu-ansi-term to 0.47.0 * build(deps): update rust crate windows to 0.46.0 * build(deps): update rust crate serde to 1.0.156 * docs(preset): Add `hostname.ssh_symbol` to nerd font preset (#4991) docs(preset): Add missing ssh_symbol in nerd font * fix(fossil_branch): fossil checkout database file name on windows (#4978) fix(fossil_branch): use proper fossil checkout database file name on windows * build(deps): update gitoxide crates * build(deps): update rust crate toml_edit to 0.19.7 * build(deps): update clap crates * build(deps): update rust crate serde to 1.0.157 * build(deps): update rust crate quick-xml to 0.28.1 * build(deps): update rust crate clap to 4.1.11 * docs(preset): add missing config for Java to no-runtime-version (#5011) docs(preset): add missing Java to no-runtime-version * build(deps): update rust crate serde to 1.0.158 * feat(aws): Adds support for AWS_CREDENTIAL_EXPIRATION environment variable (#5002) feat(aws): supports AWS_CREDENTIAL_EXPIRATION environment variable Adds support for the AWS_CREDENTIAL_EXPIRATION environment variable which was adopted as the standard way to set the expiration for temporary credentials. The existing AWS_SESSION_EXPIRATION environment variable is not dropped for backwards compatibility. See https://github.com/aws/aws-cli/pull/7398 * build(deps): update rust crate open to 4.0.1 * build(deps): update rust crate regex to 1.7.2 * chore: add spell checker to workflows (#4975) * chore: add spell checker to workflows * fix: update config schema * fix: revert for fennel.rs * build(deps): update rust crate toml_edit to 0.19.8 * build(deps): update crate-ci/typos action to v1.14.3 * build(deps): update rust crate clap to 4.1.13 * build(deps): update embarkstudios/cargo-deny-action action to v1.5.0 * build(deps): update rust crate gix to 0.43.0 * fix(gradle): add support for unstable Gradle versions (#5021) * build(deps): update rust crate serde_json to 1.0.95 * docs: Update nerd-font-symbols.toml pop_os! symbol (#5017) Update nerd-font-symbols.toml Use the specific pop_os! nerd symbol instead of the generic lollipop * build(deps): update clap crates * build(deps): update rust crate regex to 1.7.3 * build(deps): update rust crate serde to 1.0.159 * build(deps): update rust crate indexmap to 1.9.3 * build(deps): update clap crates to 4.2.0 * build(deps): update rust crate tempfile to 3.5.0 * build(deps): update rust crate windows to 0.47.0 * build(deps): update rust crate clap to 4.2.1 * build(deps): update rust crate gix to 0.43.1 * build(deps): update rust crate windows to 0.48.0 * fix(pulumi): Fix formatting on pulumi module when using version (#5038) Fix formatting on pulumi module when using version Sanitize `pulumi version` output to remove leading 'v' character and trailing newlines. * feat(fossil): detection of Fossil check-outs in subdirectories (#4910) * Move PathExt::device_id() outside modules module * Add upwards_sibling_scan-function * Fix Fossil check-out detection in subdirectories * Use shared upwards scanning function in hg_branch * Let the caller specify if they're looking for a file or a folder * fix merge --------- Co-authored-by: David Knaack <davidkna@users.noreply.github.com> * feat(aws): add support for source_profile (#4859) feat(aws): add support for source_profile (#3834) Co-authored-by: @luiscamaral * feat(custom): add option to check if pwd is in a repo (#4822) * feat(custom): add option to check if pwd is in a repo * Apply suggestions from code review Co-authored-by: David Knaack <davidkna@users.noreply.github.com> * change whenrepo to require_repo * chore: fix doc formatting --------- Co-authored-by: David Knaack <davidkna@users.noreply.github.com> * build(deps): update rust crate terminal_size to 0.2.6 * build(deps): update rust crate process_control to 4.0.3 (#5046) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * build(deps): update pest crates to 2.5.7 (#5043) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * build(deps): update crate-ci/typos action to v1.14.4 * docs(presets): add azure and gcloud default symbols to plaintext preset (#5040) * chore(nu): use updated closure syntax (#5054) Update starship.nu to conform to Nushell changes Nushell recently made a change to require that all closures have an explicit parameter list, even if it's empty, in https://github.com/nushell/nushell/pull/8290. This updates starship.nu to conform to this requirement. I have casually tested this against both the latest released version of Nushell, and the latest version on HEAD; the changed code works well (for me) on both. * build(deps): update crate-ci/typos action to v1.14.5 * build(deps): update embarkstudios/cargo-deny-action action to v1.5.1 * fix(java): wrong version number when using Android Studio JDK (#4966) The regular expression would get the revision number found in: with gcc Android (7284624, based on r416183b) so it would print "7284624". * build(deps): update dprint plugins * build(deps): update rust crate os_info to 3.7.0 (#5057) * build(deps): update rust crate os_info to 3.7.0 * add new os symbols --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * docs(i18n): new Crowdin updates (#4956) * chore(master): release 1.14.0 (#4948) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix: trigger release * fix: bootstrap manifest for release-please (#5087) * fix: update the release-please manifest * chore: fix release-please-manifest version * ci: Revert "fix: bootstrap manifest for release-please (#5087)" This reverts commit |
||
---|---|---|
.github | ||
docs | ||
install | ||
media | ||
src | ||
.codecov.yml | ||
.dprint.json | ||
.gitattributes | ||
.gitignore | ||
.rustfmt.toml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
build.rs | ||
clippy.toml | ||
crowdin.yml | ||
deny.toml | ||
starship.exe.manifest | ||
typos.toml |
README.md
Website · Installation · Configuration
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.
🚀 Installation
Prerequisites
- A Nerd Font installed and enabled in your terminal (for example, try the FiraCode Nerd Font).
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 |
Alpine Linux 3.13+ | Alpine Linux Packages | apk add starship |
Arch Linux | Arch Linux Extra | pacman -S starship |
CentOS 7+ | Copr | dnf copr enable atim/starship dnf install 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. Set up 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 -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
Note: Only Nushell v0.78+ 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. 🙏
-
denysdovhan/spaceship-prompt – A ZSH prompt for astronauts.
-
denysdovhan/robbyrussell-node – Cross-shell robbyrussell theme written in JavaScript.
-
reujab/silver – A cross-shell customizable powerline-like prompt with icons.
❤️ Sponsors
Support this project by becoming a sponsor. Your name or logo will show up here with a link to your website.
Supporter Tier
📝 License
Copyright © 2019-present, Starship Contributors.
This project is ISC licensed.