diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 284 |
1 files changed, 191 insertions, 93 deletions
@@ -169,148 +169,228 @@ - A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal (for example, try the [Fira Code Nerd Font](https://www.nerdfonts.com/font-downloads)). -### Getting Started +### Step 1. Install Starship -**Note**: due to the proliferation of different platforms, only a subset of supported platforms are -shown below. Can't see yours? Have a look at the [extra platform instructions](https://starship.rs/installing/). +Select your operating system from the list below to view installation instructions: -1. Install the **starship** binary: +<details> +<summary>Android</summary> - #### Install Latest Version +Install Starship using any of the following package managers: - ##### From prebuilt binary, with Shell: +| Repository | Instructions | +| ---------- | ---------------------- | +| [Termux] | `pkg install starship` | - ```sh - sh -c "$(curl -fsSL https://starship.rs/install.sh)" - ``` +</details> - To update the Starship itself, rerun the above script. It will replace the current version without touching Starship's configuration. +<details> +<summary>BSD</summary> - **Note** - The defaults of the install script can be overridden see the built-in help. +Install Starship using any of the following package managers: - ```sh - sh -c "$(curl -fsSL https://starship.rs/install.sh)" -- --help - ``` +| Distribution | Repository | Instructions | +| ------------ | --------------- | --------------------------------- | +| **_Any_** | **[crates.io]** | `cargo install starship --locked` | +| FreeBSD | [FreshPorts] | `pkg install starship` | +| NetBSD | [pkgsrc] | `pkgin install starship` | - #### Install via Package Manager +</details> - ##### With [Homebrew](https://brew.sh/): +<details> +<summary>Linux</summary> - ```sh - brew install starship - ``` +Install the latest version for your system: - ##### With [Scoop](https://scoop.sh): +```sh +sh -c "$(curl -fsSL https://starship.rs/install.sh)" +``` - ```powershell - scoop install starship - ``` +Alternatively, install Starship using any of the following package managers: -2. Add the init script to your shell's config file: +| 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 Community] | `pacman -S starship` | +| CentOS 7+ | [Copr] | `dnf copr enable atim/starship` <br /> `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` | - #### Bash +</details> - Add the following to the end of `~/.bashrc`: +<details> +<summary>macOS</summary> - ```sh - # ~/.bashrc +Install the latest version for your system: - eval "$(starship init bash)" - ``` +```sh +sh -c "$(curl -fsSL https://starship.rs/install.sh)" +``` - #### Fish +Alternatively, install Starship using any of the following package managers: - Add the following to the end of `~/.config/fish/config.fish`: +| Repository | Instructions | +| --------------- | --------------------------------------- | +| **[crates.io]** | `cargo install starship --locked` | +| [conda-forge] | `conda install -c conda-forge starship` | +| [Homebrew] | `brew install starship` | +| [MacPorts] | `port install starship` | - ```sh - # ~/.config/fish/config.fish +</details> - starship init fish | source - ``` +<details> +<summary>Windows</summary> - #### Zsh +Install Starship using any of the following package managers: - Add the following to the end of `~/.zshrc`: +| Repository | Instructions | +| --------------- | --------------------------------------- | +| **[crates.io]** | `cargo install starship --locked` | +| [Chocolatey] | `choco install starship` | +| [conda-forge] | `conda install -c conda-forge starship` | +| [Scoop] | `scoop install starship` | - ```sh - # ~/.zshrc +</details> - eval "$(starship init zsh)" - ``` +### Step 2. Setup your shell to use Starship - #### PowerShell +Configure your shell to initialize starship. Select yours from the list below: - Add the following to the end of `Microsoft.PowerShell_profile.ps1`. You can check the location of this file by querying the `$PROFILE` variable in PowerShell. Typically the path is `~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1` or `~/.config/powershell/Microsoft.PowerShell_profile.ps1` on -Nix. +<details> +<summary>Bash</summary> - ```powershell - Invoke-Expression (&starship init powershell) - ``` +Add the following to the end of `~/.bashrc`: - #### Ion +```sh +eval "$(starship init bash)" +``` - Add the following to the end of `~/.config/ion/initrc`: +</details> - ```sh - # ~/.config/ion/initrc +<details> +<summary>Cmd</summary> - eval $(starship init ion) - ``` +You need to use [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) with Cmd. +Create a file at this path `%LocalAppData%\clink\starship.lua` with the following contents: - #### Elvish +```lua +load(io.popen('starship init cmd'):read("*a"))() +``` - **Warning** Only elvish v0.17 or higher is supported. - Add the following to the end of `~/.elvish/rc.elv`: +</details> - ```sh - # ~/.elvish/rc.elv +<details> +<summary>Elvish</summary> - eval (starship init elvish) - ``` +Add the following to the end of `~/.elvish/rc.elv`: - #### Tcsh +```sh +eval (starship init elvish) +``` - Add the following to the end of `~/.tcshrc`: +Note: Only Elvish v0.17+ is supported - ```sh - # ~/.tcshrc +</details> - eval `starship init tcsh` - ``` +<details> +<summary>Fish</summary> - #### Xonsh +Add the following to the end of `~/.config/fish/config.fish`: - Add the following to the end of `~/.xonshrc`: +```fish +starship init fish | source +``` - ```sh - # ~/.xonshrc +</details> - execx($(starship init xonsh)) - ``` +<details> +<summary>Ion</summary> - #### Cmd +Add the following to the end of `~/.config/ion/initrc`: - You need to use [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) with Cmd. Add the following to a file `starship.lua` and place this file in Clink scripts directory: +```sh +eval $(starship init ion) +``` - ```lua - -- starship.lua +</details> - load(io.popen('starship init cmd'):read("*a"))() - ``` +<details> +<summary>Nushell</summary> - #### Nushell +Add the following to the end of your Nushell configuration (find it by running `config path`): - **Warning** This will change in the future. Only nu version v0.33 or higher is supported. - Add the following to your nu config file. You can check the location of this - file by running `config path` in nu. +```toml +startup = [ + "mkdir ~/.cache/starship", + "starship init nu | save ~/.cache/starship/init.nu", + "source ~/.cache/starship/init.nu" +] +prompt = "starship_prompt" +``` - ```toml - startup = [ - "mkdir ~/.cache/starship", - "starship init nu | save ~/.cache/starship/init.nu", - "source ~/.cache/starship/init.nu" - ] - prompt = "starship_prompt" - ``` +</details> + +<details> +<summary>PowerShell</summary> + +Add the following to the end of your PowerShell configuration (find it by running `$PROFILE`): + +```powershell +Invoke-Expression (&starship init powershell) +``` + +</details> + +<details> +<summary>Tcsh</summary> + +Add the following to the end of `~/.tcshrc`: + +```sh +eval `starship init tcsh` +``` + +</details> + +<details> +<summary>Xonsh</summary> + +Add the following to the end of `~/.xonshrc`: + +```python +execx($(starship init xonsh)) +``` + +</details> + +<details> +<summary>Zsh</summary> + +Add the following to the end of `~/.zshrc`: + +```sh +eval "$(starship init zsh)" +``` + +</details> + +### 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](https://starship.rs/config/)** – learn how to configure Starship to tweak your prompt to your liking + +- **[Presets](https://starship.rs/presets/)** – get inspired by the pre-built configuration of others ## 🤝 Contributing @@ -324,11 +404,11 @@ If you are interested in helping contribute to starship, please take a look at o Please check out these previous works that helped inspire the creation of starship. 🙏 -- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** - A ZSH prompt for astronauts. +- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** – A ZSH prompt for astronauts. -- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** - Cross-shell robbyrussell theme written in JavaScript. +- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** – Cross-shell robbyrussell theme written in JavaScript. -- **[reujab/silver](https://github.com/reujab/silver)** - A cross-shell customizable powerline-like prompt with icons. +- **[reujab/silver](https://github.com/reujab/silver)** – A cross-shell customizable powerline-like prompt with icons. <p align="center"> <br> @@ -339,3 +419,21 @@ Please check out these previous works that helped inspire the creation of starsh Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).<br> This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE) licensed. + +[alpine linux packages]: https://pkgs.alpinelinux.org/packages?name=starship +[arch linux community]: https://archlinux.org/packages/community/x86_64/starship +[chocolatey]: https://community.chocolatey.org/packages/starship +[conda-forge]: https://anaconda.org/conda-forge/starship +[copr]: https://copr.fedorainfracloud.org/coprs/atim/starship +[crates.io]: https://crates.io/crates/starship +[fedora packages]: https://src.fedoraproject.org/rpms/rust-starship +[freshports]: https://www.freshports.org/shells/starship +[gentoo packages]: https://packages.gentoo.org/packages/app-shells/starship +[linuxbrew]: https://formulae.brew.sh/formula/starship +[homebrew]: https://formulae.brew.sh/formula/starship +[macports]: https://ports.macports.org/port/starship +[nixpkgs]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix +[pkgsrc]: https://pkgsrc.se/shells/starship +[scoop]: https://github.com/ScoopInstaller/Main/blob/master/bucket/starship.json +[termux]: https://github.com/termux/termux-packages/tree/master/packages/starship +[void linux packages]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/starship |