Last active
November 2, 2024 19:22
-
-
Save deepanchal/415e78646aaf5e57e10490d01ad90109 to your computer and use it in GitHub Desktop.
Starship config
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' | |
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)\]' |
Hi @deepanchal, thanks for your work. I am wondering how you make the git server symbol in front of git branch symbol because mine is at the end of the line which is shown below, do you know how to solve this issue?
just change the format
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi @deepanchal, thanks for your work. I am wondering how you make the git server symbol in front of git branch symbol because mine is at the end of the line which is shown below, do you know how to solve this issue?