Created
February 18, 2026 06:42
-
-
Save mikelexp/d4a8a03ae6ae62c4e4a107c863f23783 to your computer and use it in GitHub Desktop.
My Starship config
This file contains hidden or 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
| "$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