Vinicius Rocha

Switch to Starship

What is Starship? It is something that gets information from your current directly and displays it on the command prompt. For example, what is your current git branch, which version of node you are using, etc.

How is it different from other solutions? Starship is built using Rust, which makes it very fast! Also, it provides the same experience across any shell. For example, here is a screenshot of my PowerShell and Linux (WSL) command prompts side by side.

Screenshot

Starship describes itself as the minimal, blazing-fast, and infinitely customizable prompt for any shell!

Installation on PowerShell (Windows)

On Windows, you can install it using Scoop. If you don't have Scoop, here is how you can get both (Scoop and Starship) installed via PowerShell using the following commands.

iwr -useb get.scoop.sh | iex
scoop install starship

Also, make sure you have one of the Nerd Fonts installed on your terminal. I'm using Fira Code Nerd Font.

To initiate a Starship session, just run the following command.

Invoke-Expression (&starship init powershell)

You might want to add that line to your $PROFILE. It will execute every time you start a new terminal session. To do that, just run:

notepad $PROFILE

If you find any error messages, try installing the latest Visual C++ redistribution package.

Installation on bash (WSL Ubuntu 20.4)

To install it on Linux, it is as easy as running the following line.

sh -c "$(curl -fsSL https://starship.rs/install.sh)"

Once it is completed, just add the following line to your ~/.bashrc.

# ~/.bashrc
eval "$(starship init bash)"

Configuration

All custom configuration is done via a TOML file at C:\Users\[user]\.config\starship.toml. The default path can be configured using the environment variable STARSHIP_CONFIG. Here is a sample configuration for a dotnet project.

# ~/.config/starship.toml

[dotnet]
symbol = "🥅 "
style = "green"
heuristic = false

For more information on all the possible options and supported projects, you can refer to the full documentation here.