Last active
June 27, 2025 15:35
-
-
Save sanmue/71eb35991107cf691336bfbf60c96b9f to your computer and use it in GitHub Desktop.
starship.toml; 'Starship shell prompt' config file; Original "owo" by remi-guan (https://github.com/remi-guan); modifications: 2 line prompt, ...; Source: https://github.com/remi-guan/starship/blob/6bbff1f0d67fa36fe29da756e49530dddc3863d7/docs/public/presets/toml/owo.toml
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' | |
| # ------------------------------------------------- | |
| # "owo" preset, original by remi-guan (https://github.com/remi-guan) | |
| # -> modified: 2 line prompt, added a few more modules + icons, ... | |
| # ------------------------------------------------- | |
| # - Source: https://github.com/remi-guan/starship/blob/6bbff1f0d67fa36fe29da756e49530dddc3863d7/docs/public/presets/toml/owo.toml | |
| # - Tested / recommended Font: 'MesloLGS NF Regular' from [Meslo Nerd Font patched for Powerlevel10k](https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#manual-font-installation) | |
| # - added but disabled modules: battery, time | |
| format = """ | |
| $os\ | |
| $shell\ | |
| $username\ | |
| $hostname\ | |
| $sudo\ | |
| [](bg:color_gray fg:color_dark)\ | |
| $directory\ | |
| [](fg:color_gray bg:color_dark)\ | |
| $git_branch\ | |
| $git_commit\ | |
| $git_state\ | |
| $git_metrics\ | |
| $git_status\ | |
| $direnv\ | |
| [](fg:color_dark bg:color_blue)\ | |
| $c\ | |
| $elixir\ | |
| $elm\ | |
| $golang\ | |
| $gradle\ | |
| $haskell\ | |
| $java\ | |
| $julia\ | |
| $nodejs\ | |
| $nim\ | |
| $php\ | |
| $python\ | |
| $rust\ | |
| $scala\ | |
| [](fg:color_blue bg:color_dark_blue)\ | |
| $vagrant\ | |
| $terraform\ | |
| $docker_context\ | |
| $helm\ | |
| $kubernetes\ | |
| [ ](fg:color_dark_blue)\ | |
| $fill\ | |
| $fill\ | |
| $status\ | |
| $jobs\ | |
| $memory_usage\ | |
| $cmd_duration\ | |
| $battery\ | |
| $time\ | |
| $line_break\ | |
| \ | |
| [$character]($style)""" | |
| # move the rest of the prompt to the right | |
| right_format = """ | |
| [$localip]($style)""" | |
| # Use color settings | |
| palette = 'owo' | |
| [palettes.owo] | |
| color_light = '#c2c2c2' | |
| color_light_blue = '#87d7ff' | |
| color_blue = '#87c7ff' | |
| color_dark_blue = '#394260' | |
| color_gray = '#3a3a3a' | |
| color_gray_light = '#606060' | |
| color_dark = '#303030' | |
| color_red = '#af143b' # '#af143b' # '#bf0222' # '#FF3300' (orange) # 'red' | |
| # Disable the blank line at the start of the prompt | |
| # add_newline = false | |
| [os.symbols] | |
| AIX = "AIX " | |
| Alpaquita = "\uf26a " # \uf26a # \ue3a5\ue390 | |
| AlmaLinux = "\uf31d " # | |
| Alpine = "\uf300 " # "" | |
| Amazon = "\uf270 " # "" | |
| Android = "\ue70e " # "" | |
| Arch = "\uf303 " # "" | |
| Artix = "\uf31f " # | |
| CentOS = "\uf304 " # "" | |
| Debian = "\uf306 " # "" | |
| DragonFly = "\ueef8 " # 🐉 | |
| Emscripten = "\u26A1 " # ⚡ | |
| EndeavourOS = "\uf322 " # "" # | |
| Fedora = "\uf30a " # "" | |
| FreeBSD = "\uf30c " # "" | |
| Garuda = "\uf337 " # "" | |
| Gentoo = "\uf30d " # "" | |
| HardenedBSD = "\uf132 " # | |
| Illumos = "\uf326 " # "🐦" | |
| Kali = "\uf327 " # | |
| Linux = "\uf17c " # "" | |
| Mabox = "\uf1b2 " # 📦 | |
| Macos = "\uf302 " # "" | |
| Manjaro = "\uf312 " # "" | |
| Mariner = "\ue7ae " # \ue7ae | |
| MidnightBSD = "\ue3e0 " # 🌘 | |
| Mint = "\uf30e " # "" | |
| NetBSD = "\u2691 " # ⚑ | |
| NixOS = "\uf313 " # "" | |
| OpenBSD = "\uf328 " # "" | |
| OpenCloudOS = "\uf0c2 " # | |
| openEuler = "\u2208 " # \u2208 ∈ | |
| openSUSE = "\uf314 " # "" | |
| OracleLinux = "\u213A " # \u213A ℺ # ⊂⊃ \u2282\u2283 | |
| Pop = "\uf32a " # "" | |
| Raspbian = "\uf315 " # "" | |
| Redhat = " " # \uf316 "" # | |
| RedHatEnterprise = " " # \uf316 "" # | |
| RockyLinux = "\uf32b " # | |
| Redox = "\uf331 " # | |
| Solus = "\uf32d " # "" # " " | |
| SUSE = "\uef6d " # "" | |
| Ubuntu = "\uf31b " # "" | |
| Ultramarine = " " # 🔷 | |
| Unknown = "\uf108 " # "" | |
| Void = "\uf32e " # | |
| Windows = "\uf17a " # "" | |
| # An alternative to the username module which displays a symbol that | |
| # represents the current operating system | |
| [os] | |
| format = '[ $symbol]($style)' | |
| style = "bg:color_dark fg:color_light" | |
| disabled = false # Disabled by default | |
| [shell] | |
| format = '[$indicator]($style)()' | |
| style = "bg:color_dark fg:color_gray_light" | |
| # empty indicator (''): e.g. if you do not want to see indicator for your standard shell | |
| zsh_indicator = '%_' # '%_' '' | |
| bash_indicator = '\$_' # "\uebca" '' '\$_' | |
| fish_indicator = '>>' # "\uee41" '' '>>_' | |
| powershell_indicator = '>_' # "\uebc7" '' '>_' | |
| unknown_indicator = '?_' # '?_' '' | |
| disabled = false # set to false if you want to see the shell indicator | |
| # You can adjuest [username] display here | |
| # Set show_always = true to display it | |
| [username] | |
| format = '[$user ]($style)' | |
| style_user = "bg:color_dark fg:color_light" | |
| style_root = "bg:color_dark fg:color_light" | |
| show_always = false | |
| [hostname] | |
| format = '[$ssh_symbol $hostname ]($style)' | |
| style = "bg:color_dark fg:color_light" | |
| ssh_symbol = "\ue36e" # \ue36e '' # '⇒' # '🌐 ' # ' ' # 'fi⇒' | |
| # trim_at = '.companyname.com' | |
| ssh_only = true | |
| [sudo] | |
| format = "[ $symbol ]($style)" # \u276F ❯ \ueab6 | |
| style = 'bg:color_dark fg:color_red' | |
| symbol = "\uf007!" # \uf007 # \uf21b \uedcc ' ' # ' ' | |
| disabled = false | |
| [directory] | |
| format = "[ $read_only$repo_root$path ]($style)" | |
| style = "bg:color_gray fg:color_light_blue" | |
| truncation_length = 3 | |
| truncation_symbol = "…/" | |
| home_symbol = "\uf015 ~" # \uf015 ' ~' | |
| read_only = "\uf023 " # \uf023 ' ' | |
| truncate_to_repo = true | |
| # repo_root_format = "[$read_only]($read_only_style)[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)" | |
| repo_root_format = "[ $read_only$before_root_path$repo_root$path ]($style)" | |
| # repo_root_style = 'bg:color_gray fg:color_light_blue' | |
| use_os_path_sep = true | |
| # Here is how you can shorten some long paths by text replacement | |
| # similar to mapped_locations in Oh My Posh: | |
| [directory.substitutions] | |
| "~/Documents" = "~ Documents" | |
| "~/Downloads" = "~ Downloads" | |
| "~/Music" = "~ Music" | |
| "~/Pictures" = "~ Pictures" | |
| "~/Videos" = "~ Videos" | |
| # "~/Projects" = " ~/Projects" | |
| # 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 " = " " | |
| [git_branch] | |
| format = "[ $symbol $branch(:$remote_branch)]($style)" | |
| style = "bg:color_dark fg:color_light" | |
| symbol = "" | |
| [git_commit] | |
| format = '[ \($hash $tag\)]($style)' | |
| style = "bg:color_dark fg:color_light" | |
| commit_hash_length = 8 | |
| tag_symbol = "\uf412 " # \uf412 ' ' # ' '' | |
| tag_disabled = false | |
| [git_metrics] | |
| format = '[ \[+$added/]($added_style)[-$deleted\]]($deleted_style)' | |
| added_style = "bg:color_dark fg:color_light" | |
| deleted_style = "bg:color_dark fg:color_light" | |
| disabled = false | |
| [git_status] | |
| format = '[ $all_status $ahead_behind]($style)' | |
| style = "bg:color_dark fg:color_light" | |
| conflicted = "\ueaaf${count} " # \ueaaf | |
| ahead = "\u21E1${count} " # ⇡ \ueaa0 | |
| behind = "\u21E3${count} " # ⇣ \uea9d | |
| diverged = "⇕⇡${ahead_count}⇣${behind_count} " # \u2195\u21E1 ⇕ ↕ ⇳ # \u21E3 | |
| up_to_date = "" # \u2714 ✔ \u2713 \ueab2 ✓ | |
| untracked = "?${count} " # \uf441 \ueb32 ﳇ ' ' # '? ' | |
| stashed = "\ueb29${count} " # \ued9c # \ueb29 '📦 '# ' ' # ' ' # ' ' # ' ' | |
| modified = "\uf044${count} " # \uf040 ͳ # '📝' # '! ' # # # \uf044 \uea73 | |
| staged = "+${count} " # \u26DF ⛟ # '+ ' | |
| renamed = "»${count} " # » \u0373 ͳ # \ueb69 # # # ﳳ | |
| deleted = "\uea81${count} " # \uea81 '🗑 ' '- ' ✘ | |
| [direnv] | |
| symbol = 'direnv' | |
| # style = "bg:color_dark fg:color_light_blue italic" | |
| style = "bg:color_dark fg:color_gray_light italic" | |
| format = '[ $symbol $loaded/$allowed ]($style)' | |
| allowed_msg = 'a' # 'ok' # '✓' | |
| not_allowed_msg = '!a' # 'nok' # '!' | |
| denied_msg = 'x' # '✘' | |
| loaded_msg = '+' # "\ueabc" # \ueabc # '->' # 'yo' # '' # \udb81\udde1 # '✓' # '✓' # | |
| unloaded_msg = '-' # "\ueabc!" # \ueabc ! # '->!' # 'no' # '' # '!' \udb86\udd78 | |
| disabled = false | |
| [c] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version) ]($style)' | |
| [elixir] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version) ]($style)' | |
| [elm] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version) ]($style)' | |
| [golang] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [gradle] | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [haskell] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [java] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [julia] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [nodejs] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [nim] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [php] | |
| symbol = "\ue73d" # \ue73d # # php | |
| style = "bg:color_blue fg:color_dark" | |
| format = "[ $symbol ($version )]($style)" | |
| [python] | |
| symbol = "\ue73c" # \ue73c | |
| style = "bg:color_blue fg:color_dark" | |
| format = "[ ${symbol} ${pyenv_prefix}(${version} )(($virtualenv ))]($style)" | |
| #pyenv_version_name = true # default value: false | |
| [rust] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [scala] | |
| symbol = "" | |
| style = "bg:color_blue fg:color_dark" | |
| format = '[ $symbol ($version )]($style)' | |
| [vagrant] | |
| symbol = "\ue8d0" # ⍱ # \ue8d0 | |
| style = "bg:color_dark_blue fg:color_light_blue" | |
| format = '[ $symbol ($version) ]($style)' | |
| [terraform] | |
| symbol = "" # ⍱ # \ue8d0 | |
| style = "bg:color_dark_blue fg:color_light_blue" | |
| format = '[ $symbol $workspace ]($style)' | |
| [docker_context] | |
| symbol = "" | |
| style = "bg:color_dark_blue fg:color_light_blue" | |
| format = '[ $symbol $context ]($style)' | |
| [helm] | |
| symbol = "\ue7fb" # \ue7fb | |
| style = "bg:color_dark_blue fg:color_light_blue" | |
| format = '[ $symbol ($version) ]($style)' | |
| [kubernetes] | |
| symbol = "⎈" # ⎈ \ue81d | |
| style = "bg:color_dark_blue fg:color_light_blue" | |
| #format = '[ $symbol ($user on )($cluster in )$context( \($namespace\)) ]($style)' | |
| format = '[ $symbol $context( \($namespace\)) ]($style)' | |
| #detect_files = ['k8s'] | |
| disabled = false | |
| [[kubernetes.contexts]] | |
| context_pattern = "production" # "^production$" | |
| user_pattern = "admin_user" | |
| context_alias = "prod" | |
| user_alias = "admin" | |
| [[kubernetes.contexts]] | |
| context_pattern = ".*openshift.*" | |
| context_alias = "openshift" | |
| [[kubernetes.contexts]] | |
| # Using capture groups | |
| # Contexts from GKE, AWS and other cloud providers usually carry additional information, like the region/zone. | |
| # The following entry matches on the GKE format (`gke_projectname_zone_cluster-name`) | |
| # and renames every matching kube context into a more readable format (`gke-cluster-name`): | |
| context_pattern = "gke_.*_(?P<cluster>[\\w-]+)" | |
| context_alias = "gke-$cluster" | |
| [fill] | |
| symbol = ' ' # "\u2500" "─" # no line: ' ' | |
| style = "fg:color_gray_light" | |
| [status] | |
| format = "[ $symbol $status $hex_status( \uf0a2 $signal_number-$signal_name)]($style)" # \uf0a2 , \ueaa2 | |
| style = 'fg:color_red' | |
| symbol = "\u2717" # \u2717 ✗ # \uf467 # \uebde | |
| disabled = false | |
| [jobs] | |
| format = "[ $symbol $number]($style)" | |
| style = 'fg:color_gray_light' | |
| symbol = "\ueb7b" # \ueab5 # \ueb7b \uef0c 省 # '廒' # '' # '' | |
| symbol_threshold = 1 | |
| number_threshold = 2 | |
| [memory_usage] | |
| format = "[ $symbol ${ram} ${swap}]($style)" | |
| style = "fg:color_blue" | |
| symbol = "\ueb50 \uebcb" # "\ueb50 \uebcb" \uf1ec ' 北' ' 痢' # ' ' # ' ' # ' ' # ' ' ' ' | |
| threshold = 75 | |
| disabled = false | |
| [cmd_duration] | |
| format = "[ \uf017 $duration]($style)" # \uf017 | |
| style = 'fg:color_light' | |
| min_time = 500 | |
| [battery] | |
| format = "[ $symbol$percentage]($style)" | |
| full_symbol = ' ' | |
| charging_symbol = ' ' | |
| discharging_symbol = ' ' | |
| unknown_symbol = '? ' | |
| empty_symbol = ' ' | |
| disabled = true # set to 'false', if you want to see the battery status | |
| [[battery.display]] | |
| threshold = 100 # show always | |
| style = 'fg:color_gray_light' | |
| [time] | |
| format = "[ $time]($style)" | |
| style = 'fg:color_gray_light' | |
| disabled = true # set to 'false', if you want to see the time | |
| [character] | |
| success_symbol = '[❯](bold color_light_blue)' | |
| error_symbol = '[❯](bold color_red)' | |
| [localip] | |
| format = '[$localipv4](fg:color_gray_light)' | |
| ssh_only = true | |
| disabled = false |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment


Linux:
