-
-
Save Frankie-B/36270cebe867d88b00be8fe751b94405 to your computer and use it in GitHub Desktop.
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
# Get editor completions based on the config schema | |
"$schema" = 'https://starship.rs/config-schema.json' | |
format = """ | |
$username\ | |
$hostname\ | |
$localip\ | |
$shlvl\ | |
$singularity\ | |
$kubernetes\ | |
$directory\ | |
$vcsh\ | |
$fossil_branch\ | |
${custom.git_server}\ | |
$git_branch\ | |
$git_commit\ | |
$git_state\ | |
$git_metrics\ | |
$git_status\ | |
$hg_branch\ | |
$pijul_channel\ | |
$docker_context\ | |
$package\ | |
$c\ | |
$cmake\ | |
$cobol\ | |
$daml\ | |
$dart\ | |
$deno\ | |
$dotnet\ | |
$elixir\ | |
$elm\ | |
$erlang\ | |
$fennel\ | |
$golang\ | |
$guix_shell\ | |
$haskell\ | |
$haxe\ | |
$helm\ | |
$java\ | |
$julia\ | |
$kotlin\ | |
$gradle\ | |
$lua\ | |
$nim\ | |
$nodejs\ | |
$ocaml\ | |
$opa\ | |
$perl\ | |
$php\ | |
$pulumi\ | |
$purescript\ | |
$python\ | |
$raku\ | |
$rlang\ | |
$red\ | |
$ruby\ | |
$rust\ | |
$scala\ | |
$swift\ | |
$terraform\ | |
$vlang\ | |
$vagrant\ | |
$zig\ | |
$buf\ | |
$nix_shell\ | |
$conda\ | |
$meson\ | |
$spack\ | |
$memory_usage\ | |
$aws\ | |
$gcloud\ | |
$openstack\ | |
$azure\ | |
$env_var\ | |
$crystal\ | |
$custom\ | |
$sudo\ | |
$cmd_duration\ | |
$line_break\ | |
$jobs\ | |
$battery\ | |
$time\ | |
$status\ | |
$os\ | |
$container\ | |
$shell\ | |
$character""" | |
################################################################################ | |
## Custom Commands | |
################################################################################ | |
[custom.git_server] | |
#disabled = true | |
description = "Display symbol for remote Git server" | |
command = """ | |
GIT_REMOTE=$(command git ls-remote --get-url 2> /dev/null) | |
if [[ "$GIT_REMOTE" =~ "github" ]]; then | |
GIT_REMOTE_SYMBOL=" " | |
elif [[ "$GIT_REMOTE" =~ "gitlab" ]]; then | |
GIT_REMOTE_SYMBOL=" " | |
elif [[ "$GIT_REMOTE" =~ "bitbucket" ]]; then | |
GIT_REMOTE_SYMBOL=" " | |
elif [[ "$GIT_REMOTE" =~ "git" ]]; then | |
GIT_REMOTE_SYMBOL=" " | |
else | |
GIT_REMOTE_SYMBOL=" " | |
fi | |
echo "$GIT_REMOTE_SYMBOL " | |
""" | |
when = 'git rev-parse --is-inside-work-tree 2> /dev/null' | |
style = "white" | |
format = '[$output]($style) ' | |
[custom.git_scope] | |
disabled = true | |
command = ''' | |
printf "%s (%s)" \ | |
"$(if [ -n "$GIT_AUTHOR_EMAIL" ]; then echo "$GIT_AUTHOR_EMAIL"; else git config user.email; fi)" \ | |
"$(if [ -n "$GIT_AUTHOR_NAME" ]; then echo "$GIT_AUTHOR_NAME"; else git config user.name; fi)" | |
''' | |
description = 'The currently configured Git user.{email,name}' | |
format = '$output ' | |
style = 'blue bold' | |
when = 'git rev-parse --is-inside-work-tree' | |
[custom.git_last_commit] | |
disabled = true | |
description = "Display last commit hash and message" | |
command = "git show -s --format='%h \"%s\"'" | |
when = 'git rev-parse --is-inside-work-tree 2> /dev/null' | |
style = "bright-yellow bold" | |
format = "[$output]($style) " | |
[custom.ssh_no_keys] | |
disabled = true | |
description = "SSH missing keys" | |
when = "ssh-add -l | grep -q 'no identities'" | |
command = "echo 🚫" | |
format = '\[$symbol[$output]($style)\]' | |
shell = ["bash", "--noprofile", "--norc"] | |
symbol = "🔑" | |
style = "bold fg:red" | |
[custom.ssh_keys] | |
disabled = true | |
description = "SSH key count" | |
when = "ssh-add -l | grep -v -q 'no identities'" | |
command = "ssh-add -l | grep -v 'no identities' | wc -l" | |
format = '\[$symbol[$output]($style)\]' | |
shell = ["bash", "--noprofile", "--norc"] | |
symbol = "🔑" | |
style = "bold fg:green" | |
################################################################################ | |
## Shell | |
################################################################################ | |
[battery] | |
full_symbol = "🔋" | |
charging_symbol = "🔌" | |
discharging_symbol = "⚡" | |
[[battery.display]] | |
threshold = 30 | |
style = "bold red" | |
[cmd_duration] | |
min_time = 10_000 # Show command duration over 10,000 milliseconds (=10 sec) | |
format = '\[[⏱ $duration]($style)\]' | |
style = 'yellow' | |
[memory_usage] | |
format = '\[$symbol[${ram}( | ${swap})]($style)\]' | |
threshold = 70 | |
style = "bold dimmed white" | |
disabled = false | |
[time] | |
time_format = "%T" | |
format = "🕙 $time($style) " | |
style = "bright-white" | |
disabled = true | |
[username] | |
format = '\[[$user]($style)\]' | |
style_user = "bold dimmed blue" | |
show_always = false | |
[hostname] | |
ssh_only = false | |
format = "<[$hostname]($style)>" | |
trim_at = "-" | |
style = "bold dimmed white" | |
disabled = true | |
[directory] | |
truncation_length = 5 | |
format = "[$path]($style)[$lock_symbol]($lock_style) " | |
[directory.substitutions] | |
"Documents" = " " | |
"Downloads" = " " | |
"Music" = " " | |
"Pictures" = " " | |
################################################################################ | |
## GIT | |
################################################################################ | |
[git_branch] | |
format = '\[[$symbol$branch]($style)\]' | |
symbol = '🌱 ' | |
style = "bold green" | |
[git_state] | |
format = '\[[\($state( $progress_current of $progress_total)\)]($style)\]' | |
[git_status] | |
conflicted = "⚔️ " | |
ahead = "💨${count} " | |
behind = "🐢${count} " | |
diverged = "🔱 💨${ahead_count} 🐢${behind_count} " | |
untracked = "🛤️ ${count} " | |
stashed = "📦 " | |
modified = "📝${count} " | |
staged = "🗃️ ${count} " | |
renamed = "📛${count} " | |
deleted = "🗑️ ${count} " | |
style = "bright-white" | |
format = '\[ $all_status$ahead_behind\]' | |
[git_commit] | |
commit_hash_length = 8 | |
style = "bold white" | |
tag_symbol = '🔖 ' | |
disabled = false | |
################################################################################ | |
## Languages & Tools | |
################################################################################ | |
[aws] | |
format = '\[[$symbol($profile)(\($region\))(\[$duration\])]($style)\]' | |
symbol = ' ' | |
style = "yellow" | |
[bun] | |
format = '\[[$symbol($version)]($style)\]' | |
[c] | |
format = '\[[$symbol($version(-$name))]($style)\]' | |
[cmake] | |
format = '\[[$symbol($version)]($style)\]' | |
[cobol] | |
format = '\[[$symbol($version)]($style)\]' | |
[conda] | |
format = '\[[$symbol$environment]($style)\]' | |
[crystal] | |
format = '\[[$symbol($version)]($style)\]' | |
[daml] | |
format = '\[[$symbol($version)]($style)\]' | |
[dart] | |
format = '\[[$symbol($version)]($style)\]' | |
[deno] | |
format = '\[[$symbol($version)]($style)\]' | |
[docker_context] | |
format = '\[[$symbol$context]($style)\]' | |
[dotnet] | |
format = '\[[$symbol($version)(🎯 $tfm)]($style)\]' | |
[elixir] | |
format = '\[[$symbol($version \(OTP $otp_version\))]($style)\]' | |
[elm] | |
format = '\[[$symbol($version)]($style)\]' | |
[erlang] | |
format = '\[[$symbol($version)]($style)\]' | |
[fennel] | |
format = '\[[$symbol($version)]($style)\]' | |
[fossil_branch] | |
format = '\[[$symbol$branch]($style)\]' | |
[gcloud] | |
format = '\[[$symbol$account(@$domain)(\($region\))]($style)\]' | |
[golang] | |
format = '\[[$symbol($version)]($style)\]' | |
[gradle] | |
format = '\[[$symbol($version)]($style)\]' | |
[guix_shell] | |
format = '\[[$symbol]($style)\]' | |
[haskell] | |
format = '\[[$symbol($version)]($style)\]' | |
[haxe] | |
format = '\[[$symbol($version)]($style)\]' | |
[helm] | |
format = '\[[$symbol($version)]($style)\]' | |
[hg_branch] | |
format = '\[[$symbol$branch]($style)\]' | |
[java] | |
format = '\[[$symbol($version)]($style)\]' | |
[julia] | |
format = '\[[$symbol($version)]($style)\]' | |
[kotlin] | |
format = '\[[$symbol($version)]($style)\]' | |
[kubernetes] | |
format = '\[[$symbol$context( \($namespace\))]($style)\]' | |
[lua] | |
format = '\[[$symbol($version)]($style)\]' | |
[meson] | |
format = '\[[$symbol$project]($style)\]' | |
[nim] | |
format = '\[[$symbol($version)]($style)\]' | |
[nix_shell] | |
format = '\[[$symbol$state( \($name\))]($style)\]' | |
[nodejs] | |
format = '\[[$symbol($version)]($style)\]' | |
[ocaml] | |
format = '\[[$symbol($version)(\($switch_indicator$switch_name\))]($style)\]' | |
[opa] | |
format = '\[[$symbol($version)]($style)\]' | |
[openstack] | |
format = '\[[$symbol$cloud(\($project\))]($style)\]' | |
[os] | |
format = '\[[$symbol]($style)\]' | |
[package] | |
format = '\[[$symbol$version]($style)\]' | |
[perl] | |
format = '\[[$symbol($version)]($style)\]' | |
[php] | |
format = '\[[$symbol($version)]($style)\]' | |
[pijul_channel] | |
format = '\[[$symbol$channel]($style)\]' | |
[pulumi] | |
format = '\[[$symbol$stack]($style)\]' | |
[purescript] | |
format = '\[[$symbol($version)]($style)\]' | |
[python] | |
format = '\[[${symbol}${pyenv_prefix}(${version})(\($virtualenv\))]($style)\]' | |
style = "bold green" | |
[raku] | |
format = '\[[$symbol($version-$vm_version)]($style)\]' | |
[red] | |
format = '\[[$symbol($version)]($style)\]' | |
[ruby] | |
format = '\[[$symbol($version)]($style)\]' | |
[rust] | |
format = '\[[$symbol($version)]($style)\]' | |
style = "bold green" | |
[scala] | |
format = '\[[$symbol($version)]($style)\]' | |
[spack] | |
format = '\[[$symbol$environment]($style)\]' | |
[sudo] | |
format = '\[[as $symbol]\]' | |
[swift] | |
format = '\[[$symbol($version)]($style)\]' | |
[terraform] | |
format = '\[[$symbol$workspace]($style)\]' | |
[vagrant] | |
format = '\[[$symbol($version)]($style)\]' | |
[vlang] | |
format = '\[[$symbol($version)]($style)\]' | |
[zig] | |
format = '\[[$symbol($version)]($style)\]' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment