Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/erickm13/Salchipapa.Dots/llms.txt

Use this file to discover all available pages before exploring further.

Starship is the cross-shell prompt used by both Fish and Zsh in Salchipapa.Dots. Its configuration lives in starship.toml at the repository root and is symlinked to ~/.config/starship.toml by the installer. The prompt uses the custom Solarized Osaka palette defined inside the same file, so colors are consistent with the rest of the environment.
ln -s ~/Salchipapa.Dots/starship.toml ~/.config/starship.toml

Prompt format

The full format string defines two rows. The first row shows context modules left-aligned, a fill of spaces, then language/runtime modules right-aligned. The second row is the character prompt:
format = """
($directory)\
$os\
$git_branch\
$fill\
$nodejs\
$rust\
$golang\
$php\
$bun\
$java\
$c\
$conda\
$zig\
$cmd_duration\
$time\
\n$character\
"""
command_timeout = 5600000 (milliseconds) is set to avoid Starship silently skipping slow modules — particularly useful on WSL2 or network-mounted filesystems where git status checks can take longer than the default 500 ms timeout.

Module reference

The prompt character on the second row of the format string.
StateSymbol
Success🛸 in green
Error🛸 in red
Vim normal modeN in bold red
Vim replace modeR in bold peach
Vim visual modeV in bold mauve
[character]
success_symbol = "[ 🛸](fg:green)"
error_symbol   = "[ 🛸](fg:red)"
vimcmd_symbol  = "[N](bold red)"
Displays the path in bold blue, truncated to the last 2 components. Paths inside a repository are truncated relative to the repo root rather than $HOME. The read-only icon is .
[directory]
format           = "[$path](bold $style)[$read_only]($read_only_style) "
truncation_length = 2
style            = "fg:blue"
truncate_to_repo = true
read_only        = "  "
truncation_symbol = "…/"
Well-known folders get icon substitutions:
FolderSubstitution
Documents󰈙
Downloads
Music
Pictures
Shown in bold mauve with a nerd-font branch icon ( ) and a -> prefix arrow.
[git_branch]
format = "-> [$symbol$branch]($style) "
style  = "bold fg:mauve"
symbol = " "
Appears after a command that takes longer than 500 ms. Displayed in bold yellow.
[cmd_duration]
format   = " took [ $duration]($style) "
style    = "bold fg:yellow"
min_time = 500
Shows the current time in HH:MM format in subtext0. Enabled by default.
[time]
disabled    = false
time_format = "%R"
format      = '[[   $time ](fg:subtext0)]($style)'
All language modules follow the same pattern: a nerd-font icon, the version string in $raw format, and a theme color.
ModuleSymbolColor
nodejsfg:green
rustfg:red
golangfg:teal
java fg:red
c fg:blue
zig(default)fg:peach
bun(default)fg:text
phpfg:peach
conda(default)(default)

Solarized Osaka palette

The solarized_osaka palette is defined directly in starship.toml and activated with palette = "solarized_osaka".
TokenHexUsage
text#839395Default text, foreground
subtext0#586e75Time display, muted labels
subtext1#839395Alternate muted text
red#db302dError character, Rust, Java
green#849900Success character, Node.js
yellow#b28500Command duration
blue#268bd3Directory path, C
mauve#d23681Git branch
pink#d23681Git status background
teal#29a298Go
peach#c94c16Python, Zig, Bun, PHP
rosewater#9eabacRedirection color
flamingo#d23681Alias for pink/mauve
lavender#268bd3Alias for blue
overlay0#073642Deep background
surface0#001419Darkest surface
basenoneTransparent terminal background

Complete starship.toml

format = """
($directory)\
$os\
$git_branch\
$fill\
$nodejs\
$rust\
$golang\
$php\
$bun\
$java\
$c\
$conda\
$zig\
$cmd_duration\
$time\
\n$character\
"""

add_newline = true
command_timeout = 5600000
palette = "solarized_osaka"

[fill]
symbol = ' '

[palettes.solarized_osaka]
text       = "#839395"
red        = "#db302d"
green      = "#849900"
yellow     = "#b28500"
blue       = "#268bd3"
mauve      = "#d23681"
pink       = "#d23681"
teal       = "#29a298"
peach      = "#c94c16"
subtext0   = "#586e75"
overlay0   = "#073642"
rosewater  = "#9eabac"
flamingo   = "#d23681"
maroon     = "#db302d"
lavender   = "#268bd3"
subtext1   = "#839395"
overlay2   = "#0a2128"
overlay1   = "#0d2b33"
surface2   = "#073642"
surface1   = "#002b36"
surface0   = "#001419"
base       = "none"
mantle     = "#001419"
crust      = "#001014"

[character]
success_symbol          = "[ 🛸](fg:green)"
error_symbol            = "[ 🛸](fg:red)"
vimcmd_symbol           = "[N](bold red)"
vimcmd_replace_one_symbol = "[R](bold peach)"
vimcmd_visual_symbol    = "[V](bold mauve)"

[username]
style_user  = 'bold blue'
style_root  = 'bold red'
format      = '[ 🛸 $user](fg:$style) '
disabled    = false
show_always = true

[directory]
format                = "[$path](bold $style)[$read_only]($read_only_style) "
truncation_length     = 2
style                 = "fg:blue"
read_only_style       = "fg:blue"
before_repo_root_style = "fg:blue"
truncation_symbol     = "…/"
truncate_to_repo      = true
read_only             = "  "

[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music"     = " "
"Pictures"  = " "

[cmd_duration]
format   = " took [ $duration]($style) "
style    = "bold fg:yellow"
min_time = 500

[git_branch]
format = "-> [$symbol$branch]($style) "
style  = "bold fg:mauve"
symbol = " "

[git_status]
format = '[$all_status$ahead_behind ]($style)'
style  = "fg:text bg:pink"

[python]
disabled       = false
format         = "[$symbol$pyenv_prefix($version)( $virtualenv)](fg:peach)"
symbol         = " "
version_format = "$raw"

[java]
format         = '[[ $symbol ($version) ](fg:red)]($style)'
version_format = "$raw"
symbol         = " "
disabled       = false

[c]
format         = '[[ $symbol ($version) ](fg:blue)]($style)'
symbol         = " "
version_format = "$raw"
disabled       = false

[zig]
format         = '[[ $symbol ($version) ](fg:peach)]($style)'
version_format = "$raw"
disabled       = false

[bun]
version_format = "$raw"
format         = '[[ $symbol ($version) ](fg:text)]($style)'
disabled       = false

[nodejs]
symbol = ""
format = '[[ $symbol ($version) ](fg:green)]($style)'

[rust]
symbol = ""
format = '[[ $symbol ($version) ](fg:red)]($style)'

[golang]
symbol = ""
format = '[[ $symbol ($version) ](fg:teal)]($style)'

[php]
symbol = ""
format = '[[ $symbol ($version) ](fg:peach)]($style)'

[time]
disabled    = false
time_format = "%R"
format      = '[[   $time ](fg:subtext0)]($style)'

[docker_context]
disabled = true
symbol   = " "

Build docs developers (and LLMs) love