starship prompt update

This commit is contained in:
steven carpenter 2026-03-17 01:25:54 -04:00
parent 66230f34c4
commit e1ac43e6c0
2 changed files with 555 additions and 11 deletions

View file

@ -1,16 +1,16 @@
{ config, lib, pkgs, ... }:
{
options.speccon18.hm.starship.enable = lib.mkEnableOption "Enable Starship";
programs.starship = {
enable = true;
# Configuration written to ~/.config/starship.toml
settings = {
add_newline = false;
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
};
{
options.speccon18.hm.starship.enable = lib.mkEnableOption "Enable Starship";
config = lib.mkIf config.speccon18.hm.starship.enable {
programs.starship = {
enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
enableFishIntegration = false;
settings = builtins.fromTOML (builtins.readFile ./starship.toml);
};
};
}

View file

@ -0,0 +1,544 @@
# ============================================================================
# GLOBAL OPTIONS
# ============================================================================
add_newline = true
command_timeout = 1000
scan_timeout = 50
palette = "oasis_abyss"
format = """
$username\
$hostname\
$localip\
$directory\
$git_branch\
$git_state\
$git_status\
$git_commit\
$git_metrics\
$cmd_duration\
$line_break\
$character\
"""
right_format = """
$time\
$shell\
$jobs\
"""
[line_break]
disabled = false
# ============================================================================
# PALETTE DEFINITION (oasis_abyss)
# ============================================================================
[palettes.oasis_abyss]
# Normal colors
black = "#000000"
red = "#FF7979"
green = "#53D390"
yellow = "#F0E68C"
blue = "#81C0FF"
magenta = "#C695FF"
cyan = "#68C0B6"
white = "#DDDBD5"
# Bright colors
bright_black = "#605C4D"
bright_red = "#FFA0A0"
bright_green = "#96EA7F"
bright_yellow = "#F8B471"
bright_blue = "#87CEEB"
bright_magenta = "#D2ADFF"
bright_cyan = "#8FD1C7"
bright_white = "#FFF9F2"
# Semantic aliases for clarity
error = "#FF7979"
success = "#53D390"
warning = "#F0E68C"
info = "#81C0FF"
highlight = "#C695FF"
accent = "#68C0B6"
# ============================================================================
# USER & HOSTNAME
# ============================================================================
[username]
disabled = false
show_always = true
style_user = "highlight bold"
style_root = "error bold"
format = "[$user]($style) on "
[hostname]
disabled = false
ssh_only = false
trim_at = "."
style = "info bold"
format = "[$hostname]($style)@"
[localip]
disabled = false
ssh_only = false
style = "highlight bold"
format = "[$localipv4]($style) "
# ============================================================================
# DIRECTORY
# ============================================================================
[directory]
disabled = false
read_only = " ro"
read_only_style = "197"
truncation_length = 3
truncation_symbol = "…/"
style = "info bold"
format = "[ $path ]($style)[$read_only]($read_only_style) "
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = " "
"Pictures" = " "
# ============================================================================
# GIT MODULES
# ============================================================================
[git_branch]
disabled = false
symbol = " "
style = "info bold"
truncation_length = 20
truncation_symbol = "…/"
format = "on [$symbol$branch]($style) "
[git_status]
disabled = false
style = "success bold"
conflicted = "🏳"
ahead = " ⇡${count}"
behind = " ⇣${count}"
diverged = "⇕ ⇡${ahead_count} ⇣${behind_count}"
untracked = "[ ?${count}](cyan)"
stashed = "📦"
modified = "[ !${count}](warning)"
staged = " +${count}"
renamed = " »${count}"
deleted = "[ ✖${count}](error)"
format = "[🔃$all_status$ahead_behind]($style) "
[git_commit]
disabled = false
commit_hash_length = 7
tag_disabled = true
tag_symbol = "🏷 "
style = "warning bold"
format = '[$$$hash$tag$$]($style) '
[git_state]
disabled = false
style = "warning bold"
format = '$$[$state( $progress_current/$progress_total)]($style)$$ '
[git_metrics]
disabled = false
added_style = "success bold"
deleted_style = "error bold"
only_nonzero_diffs = true
format = "(📈 [+$added]($added_style))([ -$deleted]($deleted_style)) "
# ============================================================================
# COMMAND DURATION
# ============================================================================
[cmd_duration]
disabled = false
min_time = 500
show_milliseconds = false
style = "warning"
format = "took [$duration]($style) "
# ============================================================================
# CHARACTER
# ============================================================================
[character]
disabled = false
success_symbol = "[➜](success bold)"
error_symbol = "[✗](error bold)"
vimcmd_symbol = "[V](success bold)"
vimcmd_replace_one_symbol = "[R1](highlight bold)"
vimcmd_replace_symbol = "[R](highlight bold)"
vimcmd_visual_symbol = "[V](accent bold)"
format = "$symbol "
# ============================================================================
# TIME
# ============================================================================
[time]
disabled = false
time_format = "%R"
style = "bright_white bold"
format = "exec_time: [$time]($style) "
# ============================================================================
# SHELL
# ============================================================================
[shell]
disabled = false
bash_indicator = "bash"
zsh_indicator = "zsh"
fish_indicator = "fish"
powershell_indicator = "pwsh"
tcsh_indicator = "tcsh"
elvish_indicator = "elvish"
nu_indicator = "nu"
unknown_indicator = "unknown"
style = "info bold"
format = "[$indicator]($style) "
# ============================================================================
# JOBS
# ============================================================================
[jobs]
disabled = false
number_threshold = 1
style = "warning bold"
format = "[$number]($style) "
# ============================================================================
# BATTERY
# ============================================================================
[battery]
disabled = false
full_symbol = "🔋 "
charging_symbol = "⚡️ "
discharging_symbol = "🔋 "
unknown_symbol = "🔌 "
empty_symbol = "🪫 "
format = "[$symbol$percentage]($style) "
[[battery.display]]
threshold = 10
style = "error bold"
[[battery.display]]
threshold = 30
style = "warning bold"
[[battery.display]]
threshold = 100
style = "success bold"
# ============================================================================
# CUSTOM MODULES
# ============================================================================
[custom.example]
disabled = true
command = "echo 'Custom Module'"
when = "true"
style = "accent"
format = "[$output]($style) "
# ============================================================================
# LANGUAGE MODULES
# ============================================================================
[rust]
disabled = false
symbol = "🦀 "
style = "error bold"
format = "via [$symbol$version]($style) "
[python]
disabled = false
symbol = "🐍 "
style = "info bold"
pyenv_version_name = false
python_binary = ["python", "python3", "python3.11"]
format = 'via [$symbol${pyenv_prefix}(${version} )($$$virtualenv$$ )]($style) '
[nodejs]
disabled = false
symbol = "🟢 "
style = "success bold"
format = "via [$symbol$version]($style) "
[golang]
disabled = false
symbol = "🐹 "
style = "accent bold"
format = "via [$symbol$version]($style) "
[java]
disabled = false
symbol = "☕ "
style = "error bold"
format = "via [$symbol$version]($style) "
[ruby]
disabled = false
symbol = "💎 "
style = "error bold"
format = "via [$symbol$version]($style) "
[php]
disabled = false
symbol = "🐘 "
style = "highlight bold"
format = "via [$symbol$version]($style) "
[typescript]
disabled = false
symbol = "📘 "
style = "info bold"
format = "via [$symbol$version]($style) "
[scala]
disabled = false
symbol = "🔥 "
style = "error bold"
format = "via [$symbol$version]($style) "
[kotlin]
disabled = false
symbol = "🧠 "
style = "info bold"
format = "via [$symbol$version]($style) "
[swift]
disabled = false
symbol = "🛬 "
style = "bright_yellow bold"
format = "via [$symbol$version]($style) "
[dart]
disabled = false
symbol = "🎯 "
style = "info bold"
format = "via [$symbol$version]($style) "
[julia]
disabled = false
symbol = "⚙️ "
style = "highlight bold"
format = "via [$symbol$version]($style) "
[haskell]
disabled = false
symbol = "λ "
style = "info bold"
format = "via [$symbol$version]($style) "
[elixir]
disabled = false
symbol = "🔮 "
style = "highlight bold"
format = "via [$symbol$version]($style) "
[erlang]
disabled = false
symbol = "📞 "
style = "error bold"
format = "via [$symbol$version]($style) "
[lua]
disabled = false
symbol = "🌙 "
style = "info bold"
format = "via [$symbol$version]($style) "
[perl]
disabled = false
symbol = "🐪 "
style = "info bold"
format = "via [$symbol$version]($style) "
[zig]
disabled = false
symbol = "🦆 "
style = "warning bold"
format = "via [$symbol$version]($style) "
[nim]
disabled = false
symbol = "👑 "
style = "warning bold"
format = "via [$symbol$version]($style) "
[ocaml]
disabled = false
symbol = "🐫 "
style = "info bold"
format = "via [$symbol$version]($style) "
[crystal]
disabled = false
symbol = "💠 "
style = "error bold"
format = "via [$symbol$version]($style) "
[elm]
disabled = false
symbol = "🍃 "
style = "accent bold"
format = "via [$symbol$version]($style) "
# ============================================================================
# INFRASTRUCTURE MODULES
# ============================================================================
[aws]
disabled = false
symbol = "🅰 "
style = "warning bold"
format = "on [$symbol$profile]($style) "
[[aws.region_aliases]]
ap-southeast-2 = "au"
eu-west-1 = "uk"
[azure]
disabled = false
symbol = "🅰 "
style = "info bold"
format = "on [$symbol$subscription]($style) "
[gcloud]
disabled = false
symbol = "☁️ "
style = "info bold"
format = 'on [$symbol$account(@$domain)($$$region$$)]($style) '
[kubernetes]
disabled = false
symbol = "☸️ "
style = "info bold"
detect_files = ["kustomization.yaml", "kustomization.yml", "Kustomfile", ".kube"]
detect_folders = [".kube"]
format = 'on [$symbol$context( $$$namespace$$)]($style) '
[docker_context]
disabled = false
symbol = "🐳 "
style = "info bold"
detect_files = ["docker-compose.yml", "docker-compose.yaml", "Dockerfile"]
detect_folders = ["docker"]
format = "via [$symbol$context]($style) "
[terraform]
disabled = false
symbol = "💠 "
style = "highlight bold"
format = "via [$symbol$workspace]($style) "
[pulumi]
disabled = false
symbol = "🌀 "
style = "info bold"
format = "via [$symbol$stack]($style) "
[gitlab]
disabled = false
symbol = "🐱 "
style = "error bold"
format = "via [$symbol$branch]($style) "
[github]
disabled = false
symbol = "🐙 "
style = "black bold"
format = "via [$symbol$branch]($style) "
# ============================================================================
# ENVIRONMENT VARIABLES
# ============================================================================
[env_var.FOO]
disabled = true
default = "default_value"
style = "info"
format = "with [$env_value]($style) "
# ============================================================================
# SYSTEM MODULES
# ============================================================================
[package]
disabled = false
symbol = "📦 "
style = "error bold"
format = "is [$symbol$version]($style) "
[conda]
disabled = false
symbol = "🅒 "
style = "success bold"
ignore_base = true
format = "via [$symbol$environment]($style) "
[nix_shell]
disabled = false
symbol = "🐧 "
style = "info bold"
format = "via [$symbol$state]($style) "
[gradle]
disabled = false
symbol = "🎓 "
style = "success bold"
format = "via [$symbol$version]($style) "
[maven]
disabled = false
symbol = "📦 "
style = "error bold"
format = "via [$symbol$version]($style) "
[helm]
disabled = false
symbol = "🎭 "
style = "info bold"
format = "via [$symbol$version]($style) "
[cmake]
disabled = false
symbol = "🔨 "
style = "info bold"
format = "via [$symbol$version]($style) "
[c]
disabled = false
symbol = "🔵 "
style = "info bold"
format = "via [$symbol$version]($style) "
[meson]
disabled = false
symbol = "🔨 "
style = "info bold"
format = "via [$symbol$version]($style) "
[guix_shell]
disabled = false
symbol = "🐧 "
style = "success bold"
format = "via [$symbol]($style) "
[vagrant]
disabled = false
symbol = "📦 "
style = "success bold"
format = "via [$symbol$version]($style) "