Skip to content

Instantly share code, notes, and snippets.

@webbertakken
Last active March 30, 2026 13:57
Show Gist options
  • Select an option

  • Save webbertakken/b5413d9a8bcb3644974d719393179b74 to your computer and use it in GitHub Desktop.

Select an option

Save webbertakken/b5413d9a8bcb3644974d719393179b74 to your computer and use it in GitHub Desktop.
My terminal prompt configuration for Starship.rs
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'
#############
# Notes #
#############
# This config assumes you have a Nerd Font installed and enabled in your terminal.
# I use 'FiraCode Nerd Font Mono', but you should be able to use any Nerd Font you like.
################
# Settings #
################
# Inserts a blank line between shell prompts
add_newline = true
# Maximum time it may take to produce the prompt
command_timeout = 3000
########################
# Webber's colours #
########################
# Bright pink: (bg:#D1005B fg:#23000F)
# Middle pink, bright text: (bg:#68032F fg:#F7BCD6)
# Middle pink, faded text: (bg:#68032F fg:#D7748C)
# Dark pink, regular text: (bg:#43001D fg:#C37093)
# Dark pink, highlighted: (bg:#43001D fg:#D1005B)
###############
# Prompts #
###############
# Right prompt. This is displayed on the right side of the terminal.
# Colours (i.e. bg and fg) are always listed from left to right.
#
# Note: Not supported in Powershell
# @see: https://starship.rs/advanced-config/#enable-right-prompt
right_format = """
[](bg:transparent fg:#68032f)\
$time\
/\
$memory_usage\
[](fg:#68032f bg:transparent)\
"""
# Left prompt. This is displayed on the left side of the terminal.
# Colours (i.e. bg and fg) are always listed from left to right.
format = """
[](bg:#transparent fg:#d1005b)\
$username\
$os\
[](fg:#d1005b bg:#68032F)\
$directory\
${custom.pregit}\
$git_branch\
$git_state\
$git_metrics\
$git_status\
${custom.postgit}\
${custom.nogit}\
$package\
$c\
$elixir\
$elm\
$golang\
$gradle\
$haskell\
$java\
$julia\
$nodejs\
$nim\
$rust\
$scala\
$docker_context\
$character\
"""
########################
# Special sections #
########################
# Exit code indicator
[character] # The name of the module we are configuring is 'character'
success_symbol = '[](bg:#68032F fg:#D1005B)[󱇫](bg:#D1005B fg:#23000F)[](fg:#D1005B bg:transparent)'
error_symbol = '[](bg:#68032F fg:#FF003E)[󱇫](bg:#FF003E fg:#300000)[](fg:#FF003E bg:transparent)'
format = '$symbol '
# cross-platform way to check if we are in a git repo, takes 200ms
[custom.nogit]
when = ''' git rev-parse --git-dir ; test $? = False '''
format = '[ ](bg:#68032F)'
disabled = true
# Either `Administrator`, `root` or the current user's username.
[username]
show_always = true
style_user = "bg:#d1005b fg:#23000F"
style_root = "bg:#d1005b fg:#23000F"
format = '[ $user]($style)'
disabled = false
# Displays a symbol that represents the current operating system
[os]
style = "bg:#ff005d fg:black"
format = '[ $symbol]($style)'
disabled = true # This doesn't work in pwsh in Webstorm terminal.
# The current directory
[directory]
style = "bg:#68032F fg:#F7BCD6"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[hostname]
ssh_symbol = ""
[memory_usage]
symbol = "󰍛"
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#68032f"
format = '[$time]($style)'
#######################
# Version control #
#######################
[git_branch]
symbol = ""
style = "bg:#43001D fg:#C37093" # fg:#d1005b
format = '[](fg:#68032F bg:#43001D)[ $symbol](bg:#43001D fg:#D1005B)[ $branch ]($style)'
[git_state]
format = '[\($state( $progress_current of $progress_total)\)]($style) '
cherry_pick = '[🍒 PICKING](bg:#43001D fg:bold red)'
rebase = '[ REBASING](bg:#43001D fg:bold green)'
merge = '[ MERGING](bg:#43001D fg:bold yellow)'
bisect = '[🔍 BISECTING](bg:#43001D fg:bold blue)'
am = '[AM](bg:#43001D fg:bold green)'
am_or_rebase = '[AM/REBASE](bg:#43001D fg:bold green)'
revert = '[󰕍 REVERTING](bg:#43001D fg:bold red)'
[git_metrics]
added_style = "bg:#43001D fg:#00FF00"
deleted_style = "bg:#43001D fg:#FF0000"
format = '([+$added ]($added_style))([-$deleted ]($deleted_style))'
disabled = false
[git_status]
style = "bg:#43001D fg:#8080ff"
conflicted = '=' # This branch has merge conflicts.
ahead = ''
behind = ''
diverged = '󱡷'
up_to_date = ''
untracked = '?'
stashed = ''
modified = ''
staged = ''
renamed = '»'
deleted = '✘'
format = '([($all_status )($ahead_behind )]($style))[](bg:#43001D fg:#68032F)'
[fossil_branch]
symbol = ""
[hg_branch]
symbol = ""
[pijul_channel]
symbol = ""
############################
# Contexts (canonical) #
############################
[nodejs]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[docker_context]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ (context) ]($style)'
[package]
format = 'is [$symbol$version]($style) '
symbol = '📦 '
version_format = 'v${raw}'
style = 'bold 208'
display_private = false
disabled = false
################
# Contexts #
################
[aws]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[c]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[conda]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[dart]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[elixir]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[elm]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[golang]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[gradle]
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[haskell]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[haxe]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[java]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[julia]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[kotlin]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[lua]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[ocaml]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[perl]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[php]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[python]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[rlang]
symbol = "󰟔"
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[ruby]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[rust]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[scala]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[swift]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
[zig]
symbol = ""
style = "bg:#68032F fg:#D7748C"
format = '[$symbol](bg:#68032F fg:#F7BCD6)[ ($version) ]($style)'
#############
# Other #
#############
[nix_shell]
symbol = ""
[os.symbols]
Alpaquita = ""
Alpine = ""
AlmaLinux = ""
Amazon = ""
Android = ""
Arch = ""
Artix = ""
CentOS = ""
Debian = ""
DragonFly = ""
Emscripten = ""
EndeavourOS = ""
Fedora = ""
FreeBSD = ""
Garuda = "󰛓"
Gentoo = ""
HardenedBSD = "󰞌"
Illumos = "󰈸"
Kali = ""
Linux = ""
Mabox = ""
Macos = ""
Manjaro = ""
Mariner = ""
MidnightBSD = ""
Mint = ""
NetBSD = ""
NixOS = ""
OpenBSD = "󰈺"
openSUSE = ""
OracleLinux = "󰌷"
Pop = ""
Raspbian = ""
Redhat = ""
RedHatEnterprise = ""
RockyLinux = ""
Redox = "󰀘"
Solus = "󰠳"
SUSE = ""
Ubuntu = ""
Unknown = ""
Void = ""
Windows = "󰍲"
@webbertakken

Copy link
Copy Markdown
Author

This is my starship.rs prompt config.
I use it in PowerShell, but it should work on any shell.

If you're using my config, would you mind starring it? 🙂

Also, I'd be happy to take feedback and iterate on this.

@hostmaster

hostmaster commented Feb 28, 2025

Copy link
Copy Markdown

@webbertakken thank you for sharing. Just a nitpick s/pacakge/package/

@webbertakken

Copy link
Copy Markdown
Author

@hostmaster thank you very much! Fixed.

@ComputerScientist-01

Copy link
Copy Markdown

A lot of these symbols appear as  and a ? inside them , so I am not able to directly able to copy this :(

@webbertakken

Copy link
Copy Markdown
Author

@ComputerScientist-01 these are recognised in the Nerd Fonts. If you install one and display the characters in that font they will work. That is the intended use for these.

See also notes on line 5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment