Last active
March 3, 2025 00:59
-
-
Save webbertakken/b5413d9a8bcb3644974d719393179b74 to your computer and use it in GitHub Desktop.
My terminal prompt configuration for Starship.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 thank you for sharing. Just a nitpick s/pacakge/package/
@hostmaster thank you very much! Fixed.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.