{ format = "$username$hostname$directory($git_branch$git_commit$git_state$git_status) ($c$deno$golang$haskell$nodejs$php$python$ruby$rust$terraform) ($docker_context) ($container)$fill(\${custom.triton})$nix_shell$status[ |](fg:#F85E84)$line_break$character"; # Disable the blank line at the start of the prompt add_newline = false; # You can also replace your username with a neat symbol like  to save some space username = { style_user = "bg:#000000 fg:#F85E84"; style_root = "bg:#F85E84 fg:#000000"; format = ''[$user ]($style)''; }; hostname = { ssh_symbol = ""; trim_at = ""; style = "bg:#000000 fg:#F85E84"; }; character = { success_symbol = "[❯](bold purple)"; error_symbol = "[✗](#FF4B00)"; }; status = { disabled = false; style = "#FF4B00"; }; fill = { symbol = "-"; style = "black"; }; directory = { style = "#F85E84"; truncate_to_repo = false; fish_style_pwd_dir_length = 1; truncation_symbol = "…/"; format = "[](fg:black bg:#F85E84)[$path[$read_only](bg:$style fg:black)](bg:$style fg:black)[](fg:$style)"; read_only = " "; }; # Here is how you can shorten some long paths by text replacement # similar to mapped_locations in Oh My Posh: directory.substitutions = { "Documents" = " "; "Downloads" = " "; "Music" = " "; "Pictures" = " "; }; # 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  " = "  " c = { symbol = " "; format = ''[ $symbol ($version) ]($style)''; }; #container = {}; custom = { triton = { command = "echo $TRITON_PROFILE"; when = "test $TRITON_PROFILE"; format = "[✚ ](fg:#F85E84 bg:#1A181A)[$output](fg:#F85E84 bg:#1A181A)"; description = "The current triton profile"; }; }; docker_context = { symbol = " "; format = ''[ $symbol $context ]($style) $path''; }; deno = { }; git_branch = { style = "#E5C463"; format = "[](fg:black bg:$style)[ $symbol$branch](fg:black bg:$style)[](fg:$style)"; symbol = " "; }; git_commit = { style = "#E5C463"; # ^H is the literal backspace character which renders to \b in the final # starship config TOML, produced in insert mode via ctrl+v then ctrl+h. # We use the literal character, because escaping a single \ doesn't work # with pkgs.formats.toml, see: https://github.com/NixOS/nixpkgs/issues/97310 and # https://jdhao.github.io/2020/10/07/nvim_insert_unicode_char/ format = "[ ](bg:$style)[\\($hash$tag\\)](fg:black bg:$style)[](fg:$style)"; }; git_state = { style = "#E5C463"; format = "[ ](bg:$style)[ \\($state( $progress_current/$progress_total)\\)](fg:black bg:$style)[](fg:$style)"; }; git_status = { style = "#E5C463"; format = "([ ](bg:$style fg:black)$conflicted$staged$modified$renamed$deleted$untracked$stashed$ahead_behind[](fg:$style))"; conflicted = "[ ](bold fg:88 bg:#E5C463)[  \${count} ](fg:black bg:#E5C463)"; staged = "[ $count ](fg:black bg:#E5C463)"; modified = "[ \${count} ](fg:black bg:#E5C463)"; renamed = "[ \${count} ](fg:black bg:#E5C463)"; deleted = "[ \${count} ](fg:black bg:#E5C463)"; untracked = "[?\${count} ](fg:black bg:#E5C463)"; stashed = "[ \${count} ](fg:black bg:#E5C463)"; ahead = "[ \${count} ](fg:#523333 bg:#E5C463)"; behind = "[ \${count} ](fg:black bg:#E5C463)"; diverged = "[ ](fg:88 bg:#E5C463)[  ](fg:black bg:#E5C463)[ \${ahead_count} ](fg:black bg:#E5C463)[ \${behind_count} ](fg:black bg:#E5C463)"; }; golang = { symbol = " "; format = ''[ $symbol ($version) ]($style)''; }; haskell = { symbol = " "; format = ''[ $symbol ($version) ]($style)''; }; nix_shell = { format = ''[$symbol]($style) ''; symbol = " "; }; nodejs = { symbol = ""; format = ''[ $symbol ($version) ]($style)''; }; php = { symbol = " "; }; python = { symbol = " "; }; ruby = { symbol = " "; }; rust = { symbol = ""; format = ''[ $symbol ($version) ]($style)''; }; #terraform = {}; }