Skip to content

Instantly share code, notes, and snippets.

@aarmn
Created November 7, 2022 20:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aarmn/cc401a88bb21324584e24a5d74fa6c7f to your computer and use it in GitHub Desktop.
Save aarmn/cc401a88bb21324584e24a5d74fa6c7f to your computer and use it in GitHub Desktop.
My [close to] perfect, starship config. A continuation of pastel preset, suggestions are welcomed!
"$schema" = 'https://starship.rs/config-schema.json'
# right_format = """
# """
command_timeout = 500000000
format = """
[](#9A348E)\
[$sudo$username$hostname$localip ](bg:#9A348E)\
[](bg:#DA627D fg:#9A348E)\
[($directory)](bg:#DA627D fg:#FFFFFF)\
[](fg:#DA627D bg:#FCA17D)\
[( $git_branch$git_status$git_commit$git_state$git_metrics$hg_branch )](fg:#434442 bg:#FCA17D)\
[](fg:#FCA17D bg:#86BBD8)\
[($c$vlang$rust$golang$zig$bun$deno$nodejs$elm$purescript$haskell$php$ruby$red$perl$python$julia$rlang$swift$kotlin$scala$java$erlang$elixir$crystal$nim$cobol$dart$dotnet$lua$ocaml$raku)](fg:#434442 bg:#86BBD8)\
[](fg:#86BBD8 bg:#06969A)\
[($docker_context)](bg:#06969A)\
[](fg:#06969A bg:#666666)\
[( $package )( $conda )( $cmake )( $spack )( $nix_shell )](bg:#666666)\
[](fg:#666666 bg:#33658A)\
$time\
[ ](fg:#33658A)\
$fill\
[](fg:#33658A)\
[($jobs)($shell)($shlvl)](bg:#33658A)\
[](bg:#33658A fg:#06969A)\
[( $cmd_duration)](bg:#06969A)\
[](bg:#06969A fg:#9a348e)\
[($status)](bg:#9a348e)\
[](fg:#9a348e)\
$line_break\
$character\
"""
continuation_prompt = '[](fg:#666666)[](bg:#08969A fg:#666666)[](bg:#666666 fg:#08969A)[](fg:#666666)'
[jobs]
disabled = false
number_threshold = 1
symbol_threshold = 1
format = " $symbol$number "
symbol = "華"
[shell]
disabled = false
unknown_indicator = "!?"
format = "  $indicator "
[fill]
symbol = " "
[shlvl]
threshold = 2
disabled = false
symbol = " "
format = " $symbol$shlvl "
[sudo]
disabled = false
format = '[$symbol]($style)'
style = "bg:#9A348E fg:#F7665E bold"
[time]
disabled = false
time_format = "%R" # Hour:Minute Format
style = "bg:#33658A"
format = '[ [♥ ](bg:#33658A)$time ]($style)'
[username]
show_always = true
style_user = "bg:#9A348E"
style_root = "bg:#9A348E fg:#FAA17D bold"
format = '[$user]($style)'
[hostname]
# ssh_only = false
disabled = false
style = "bg:#9A348E"
format = "[( $ssh_symbol) $hostname]($style)"
trim_at = ""
[cmd_duration]
min_time = 0
show_milliseconds = true
show_notifications = true
format = "祥$duration "
[directory]
# style = "bg:#DA627D"
format = " $path "
truncation_length = 4
truncation_symbol = "…/"
read_only = " 🔒" # v3 no hope?
read_only_style = "white bold"
[directory.substitutions]
"Documents" = ""
"Downloads" = " "
"Music" = " "
"Pictures" = " "
# Here is how you can shorten some long paths by text replacement
# similar to mapped_locations in Oh My Posh:
# Keep in mind that the order matters. For example:
# "Important Documents" = "  "
# will not be replaced, because "Documents" was already substituted before.
# So either put "Important Documents" before "Documents" or use the substituted version:
# "Important  " = "  "
[character]
success_symbol = "[██](fg:#06969A)"
error_symbol = "[██](fg:#DA627D)"
# vicmd_symbol = "[](fg:#33658A)[ ](bg:#33658A)[](fg:#33658A)]"
vimcmd_replace_one_symbol = "[](fg:#33658A)[綾 ](bg:#33658A)[](fg:#33658A)]"
vimcmd_replace_symbol = "[](fg:#33658A)[凌 ](bg:#33658A)[](fg:#33658A)]"
vimcmd_visual_symbol = "[](fg:#33658A)[ ](bg:#33658A)[](fg:#33658A)]"
[localip]
disabled = false
format = '( \($localipv4\))'
[status]
disabled = false
format = "  ($status)( $symbol $common_meaning)( $symbol $signal_name:)($signal_number) "
map_symbol = true
symbol = ""
signal_symbol = "﬉"
sigint_symbol = ""
not_found_symbol = ""
not_executable_symbol = ""
success_symbol = ""
# ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ Container, Cloud ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
[container]
symbol = "ﰩ "
format = " ($symbol)($name) "
[docker_context]
symbol = " "
format = ' ($symbol)($context) '
[azure]
disabled = false
symbol = " "
format = " ($symbol )($subscription) "
[openstack]
symbol = " OpenStack " # nerdfont update watch v3
format = " $symbol$cloud(\\($project\\)) "
# ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑ Container ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
# ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ Version Control ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
[git_branch]
symbol = "" # nerdfont update watch
format = '$symbol $branch '
[git_status]
conflicted = "⚔($count)"
ahead = "🏎💨( ⇡$count)"
behind = "😰( ⇣$count)"
diverged = "😵( ⇡$ahead_count)( ⇣behind_count)"
up_to_date = "✅"
untracked = "🤷($count)"
stashed = "📦($count)"
modified = "📝($count)"
staged = "🪜($count)"
renamed = "🚶($count)"
deleted = "🗑($count)"
format = "($all_status$ahead_behind )"
# windows_starship
[git_commit]
commit_hash_length = 5
tag_disabled = false
tag_symbol = "  "
only_detached = false # check
format = "$hash "
[git_state]
format = " ( $state)[bold]( $progress_current/$progress_total) "
[git_metrics]
format = "( +$added)( -$deleted)"
disabled = false
[hg_branch]
symbol = " " # nerdfont update watch / v3
format = " $symbol( $branch) "
truncation_length = 8
disabled = false
# check, default is way higher
# ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑ Version Control ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
# ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ Package Manager, Build System, Automation ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
[spack]
symbol = "🅢 " # nerdfont update watch / no hope
format = "$symbol($environment)"
truncation_length = 3
# check
[package]
display_private = true # check effect
format = "$symbol$version"
[cmake]
symbol = "△ " # nerdfont update watch v3 (need balance)
format = " $symbol( $version) "
[conda]
symbol = " " # nerdfont update watch v3
truncation_length = 3 # check
ignore_base = false # check
format = " ($symbol)($environment) "
[nix_shell]
symbol = " "
format = ' $symbol$state( \($name\)) '
[vcsh]
symbol = "VCSH"
format = " ($symbol )$repo "
[terraform]
symbol = "T7M" # nerdfont update watch v3
format = " ($symbol )$workspace "
# ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑ Package Manager, Build System, Automation ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
# ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓ Programming Langs ⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓⇓
[c]
symbol = ""
format = ' $symbol( $name)( $version) '
[bun]
symbol = "" #v3
format = " $symbol( $version) "
[cobol]
symbol = ""
format = " $symbol( $version)"
[crystal]
symbol = ""
format = " $symbol( $version) "
[dart]
symbol = "" # nerdfont update watch v3
format = " $symbol( $version) "
[deno]
symbol = "🦕" # nerdfont update watch v3
format = " $symbol( $version) "
[dotnet]
symbol = "" #v3
format = " $symbol(  $tfm)( $version) "
heuristic = false
[erlang]
symbol = ""
format = " $symbol( $version) "
[kotlin]
symbol = ""
format = " $symbol( $version) "
[lua]
symbol = ""
format = " $symbol( $version) "
[ocaml]
# symbol = (Nerdfont update watch) v3.0 fix
format = " $symbol( $version)( |($switch_indicator$switch_name|) " # finalize
[perl]
symbol = ""
format = " $symbol( $version) "
[php]
symbol = ""
format = " $symbol( $version) "
[python]
symbol = ""
format = " $symbol( $pyenv_prefix)( $version)( by $virtualenv) " # finalize
python_binary = ["python", "python3", "python2", "pypy", "pypy3", "pypy2"]
# pyenv_prefix = "pyenv " #check
# pyenv_version_name = true #check
[purescript]
symbol = ""
format = " $symbol( $version) "
[raku]
symbol = "" # nerdfont update watch
format = " $symbol( $version)(-$vm_version) "
[red]
format = " $symbol( $version) "
[rlang]
symbol = "" # nerdfont update watch v3
format = " $symbol( $version) "
[ruby]
symbol = ""
format = " $symbol( $version) "
[scala]
symbol = ""
format = " $symbol( $version) "
[swift]
symbol = "ﯣ"
format = " $symbol( $version) "
[vlang]
symbol = "V" # v3
format = " $symbol( $version) "
[zig]
symbol = "↯" # v3
format = " $symbol( $version) "
[elixir]
symbol = ""
format = ' $symbol( $version)( \OTP $otp_version\) '
[elm]
symbol = ""
format = ' $symbol ($version) '
[golang]
symbol = ""
format = ' $symbol ($version) '
[haskell]
symbol = ""
format = ' $symbol ($version) '
[java]
symbol = ""
format = ' $symbol ($version) '
[julia]
symbol = ""
format = ' $symbol ($version) '
[nodejs]
symbol = ""
format = ' $symbol ($version) '
[nim]
symbol = ""
format = ' $symbol ($version) '
[rust]
symbol = ""
format = ' $symbol ($version) '
# ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑ Programming Langs ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment