Skip to content

Instantly share code, notes, and snippets.

@mikelexp
Created February 18, 2026 06:42
Show Gist options
  • Select an option

  • Save mikelexp/d4a8a03ae6ae62c4e4a107c863f23783 to your computer and use it in GitHub Desktop.

Select an option

Save mikelexp/d4a8a03ae6ae62c4e4a107c863f23783 to your computer and use it in GitHub Desktop.
My Starship config
"$schema" = 'https://starship.rs/config-schema.json'
format = """
[](color_orange)\
$os\
$username\
$hostname\
$shlvl\
[](bg:color_yellow fg:color_orange)\
${custom.pwd}\
[](fg:color_yellow bg:color_aqua)\
$git_branch\
$git_status\
${custom.git_message}\
[](fg:color_aqua bg:color_blue)\
$c\
$cpp\
$rust\
$golang\
$nodejs\
$php\
$java\
$kotlin\
$haskell\
$python\
[](fg:color_blue bg:color_bg3)\
$docker_context\
$conda\
$pixi\
[](fg:color_bg3 bg:color_purple)\
${custom.ram}\
[](fg:color_purple bg:color_green)\
${custom.cpu}\
[](fg:color_green bg:color_gray)\
${custom.gpu}\
[](fg:color_gray bg:color_bg1)\
$time\
[ ](fg:color_bg1)\
$line_break$character"""
palette = 'gruvbox_dark'
[palettes.gruvbox_dark]
color_fg0 = '#fbf1c7'
color_bg1 = '#3c3836'
color_bg3 = '#665c54'
color_blue = '#458588'
color_aqua = '#689d6a'
color_green = '#98971a'
color_orange = '#d65d0e'
color_purple = '#b16286'
color_gray = '#928374'
color_red = '#cc241d'
color_yellow = '#d79921'
[os]
disabled = false
style = "bg:color_orange fg:color_fg0"
[os.symbols]
Windows = "󰍲"
Ubuntu = "󰕈"
SUSE = ""
Raspbian = "󰐿"
Mint = "󰣭"
Macos = "󰀵"
Manjaro = ""
Linux = "󰌽"
Gentoo = "󰣨"
Fedora = "󰣛"
Alpine = ""
Amazon = ""
Android = ""
AOSC = ""
Arch = "󰣇"
Artix = "󰣇"
CachyOS = "󰣇"
EndeavourOS = ""
CentOS = ""
Debian = "󰣚"
Redhat = "󱄛"
RedHatEnterprise = "󱄛"
Pop = ""
[username]
show_always = true
style_user = "bg:color_orange fg:color_fg0"
style_root = "bg:color_orange fg:color_fg0"
format = '[ $user@]($style)'
[hostname]
ssh_only = false
style = "bg:color_orange fg:color_fg0"
format = '[$hostname ]($style)'
[directory]
style = "fg:color_fg0 bg:color_yellow"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = "󰝚 "
"Pictures" = " "
"Developer" = "󰲋 "
[git_branch]
symbol = ""
style = "bg:color_aqua"
format = '[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)'
[git_status]
style = "bg:color_aqua"
format = '[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)'
staged = '[+$count ](fg:color_green bg:color_aqua)'
modified = '[!$count ](fg:color_yellow bg:color_aqua)'
untracked = '[?$count ](fg:color_fg0 bg:color_aqua)'
deleted = '[✘$count ](fg:color_red bg:color_aqua)'
renamed = '[»$count ](fg:color_fg0 bg:color_aqua)'
conflicted = '[=$count ](fg:color_red bg:color_aqua)'
[nodejs]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[c]
symbol = " "
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[cpp]
symbol = " "
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[rust]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[golang]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[php]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[java]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[kotlin]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[haskell]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[python]
symbol = ""
style = "bg:color_blue"
format = '[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)'
[docker_context]
symbol = ""
style = "bg:color_bg3"
format = '[[ $symbol( $context) ](fg:#83a598 bg:color_bg3)]($style)'
[conda]
style = "bg:color_bg3"
format = '[[ $symbol( $environment) ](fg:#83a598 bg:color_bg3)]($style)'
[pixi]
style = "bg:color_bg3"
format = '[[ $symbol( $version)( $environment) ](fg:color_fg0 bg:color_bg3)]($style)'
[time]
disabled = false
time_format = "%a %m/%d/%Y %R"
style = "bg:color_bg1"
format = '[[  $time ](fg:color_fg0 bg:color_bg1)]($style)'
[custom.pwd]
command = '''
p=$(pwd)
IFS=/ read -ra parts <<< "$p"
n=${#parts[@]}
if [ $n -gt 4 ]; then
echo "…/${parts[$n-3]}/${parts[$n-2]}/${parts[$n-1]}"
else
echo "$p"
fi
'''
when = "true"
style = "fg:color_fg0 bg:color_yellow"
format = "[ $output ]($style)"
[custom.ram]
command = "free | awk '/Mem:/{printf \"%.1f/%.0fG\", $3/1024/1024, $2/1024/1024}'"
when = "true"
symbol = "RAM "
style = "bg:color_purple"
format = '[[ $symbol$output ](fg:color_fg0 bg:color_purple)]($style)'
[custom.cpu]
command = "grep 'cpu ' /proc/stat | awk '{idle=$5; total=0; for(i=2;i<=NF;i++) total+=$i; printf \"%.0f%%\", (1-idle/total)*100}'"
when = "true"
symbol = "CPU "
style = "bg:color_green"
format = '[[ $symbol$output ](fg:color_fg0 bg:color_green)]($style)'
[custom.gpu]
command = '''
r=
for f in /sys/class/drm/card*/device/gpu_busy_percent; do
[ -f "$f" ] || continue
dir=$(dirname "$f")
u=$(cat "$f")
v=$(cat "$dir/vendor" 2>/dev/null)
case "$v" in
0x1002) l=Radeon ;;
0x8086) l=Intel ;;
0x10de) l=GeForce ;;
*) l=GPU ;;
esac
vram_used=$(cat "$dir/mem_info_vram_used" 2>/dev/null)
vram_total=$(cat "$dir/mem_info_vram_total" 2>/dev/null)
if [ -n "$vram_used" ] && [ -n "$vram_total" ]; then
vram=$(awk "BEGIN{printf \"%.1f/%.0fG\", $vram_used/1073741824, $vram_total/1073741824}")
r="${r:+$r }GPU($l) ${u}% VRAM ${vram}"
else
r="${r:+$r }GPU($l) ${u}%"
fi
done
if command -v nvidia-smi >/dev/null 2>&1; then
while IFS=',' read -r n u vu vt; do
n=$(echo "$n" | awk '{print $2}')
u=$(echo "$u" | tr -d ' %')
vu=$(echo "$vu" | tr -d ' ')
vt=$(echo "$vt" | tr -d ' ')
vram=$(awk "BEGIN{printf \"%.1f/%.0fG\", $vu/1024, $vt/1024}")
r="${r:+$r }GPU($n) ${u}% VRAM ${vram}"
done < <(nvidia-smi --query-gpu=name,utilization.gpu,memory.used,memory.total --format=csv,noheader 2>/dev/null)
fi
echo "$r"
'''
when = "true"
style = "bg:color_gray"
format = '[[ $output ](fg:color_fg0 bg:color_gray)]($style)'
[custom.git_message]
command = "git log -1 --format='%s' 2>/dev/null | cut -c1-40"
when = "git rev-parse --is-inside-work-tree 2>/dev/null"
symbol = " "
style = "bg:color_aqua"
format = '[[ $symbol($output) ](fg:color_fg0 bg:color_aqua)]($style)'
[shlvl]
disabled = false
threshold = 2
symbol = '󰆍 '
style = "bg:color_orange fg:color_fg0"
format = '[$symbol$shlvl ]($style)'
[line_break]
disabled = false
[character]
disabled = false
success_symbol = '[](bold fg:color_green)'
error_symbol = '[](bold fg:color_red)'
vimcmd_symbol = '[](bold fg:color_green)'
vimcmd_replace_one_symbol = '[](bold fg:color_purple)'
vimcmd_replace_symbol = '[](bold fg:color_purple)'
vimcmd_visual_symbol = '[](bold fg:color_yellow)'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment