chezmoi toml controlled prompt palette
This commit is contained in:
parent
6ad448f78a
commit
07018c13f8
|
@ -30,6 +30,8 @@
|
||||||
) ( output "sh" "-c" "git config user.name || true"
|
) ( output "sh" "-c" "git config user.name || true"
|
||||||
) ( list .chezmoi.username " (@" $sysname ")" | join ""
|
) ( list .chezmoi.username " (@" $sysname ")" | join ""
|
||||||
)) -}}
|
)) -}}
|
||||||
|
{{- $promptStyle := get (get . "style" | default .) "prompt" | default "cool" -}}
|
||||||
|
{{- $promptStyle = promptString "Prompt style (cool/hot/lux)" $promptStyle -}}
|
||||||
|
|
||||||
{{- $scriptTempDir := or ( get . "sz.os.scriptTempDir" ) ( env "CZ_SCRIPT_TEMPDIR" ) -}}
|
{{- $scriptTempDir := or ( get . "sz.os.scriptTempDir" ) ( env "CZ_SCRIPT_TEMPDIR" ) -}}
|
||||||
{{- $chassisType := or ( get . "sz.os.chassisType" ) ( env "CZ_CHASSIS" ) -}}
|
{{- $chassisType := or ( get . "sz.os.chassisType" ) ( env "CZ_CHASSIS" ) -}}
|
||||||
|
@ -107,6 +109,11 @@ scriptTempDir={{ $scriptTempDir | quote }}
|
||||||
GITHUB_ACCESS_TOKEN={{- $githubToken | quote }}
|
GITHUB_ACCESS_TOKEN={{- $githubToken | quote }}
|
||||||
GITHUB_TOKEN={{- $githubToken | quote }}
|
GITHUB_TOKEN={{- $githubToken | quote }}
|
||||||
|
|
||||||
|
[style]
|
||||||
|
{{- if ($promptStyle) }}
|
||||||
|
prompt={{- $promptStyle | quote }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
[diff]
|
[diff]
|
||||||
# command = "nvim"
|
# command = "nvim"
|
||||||
# args = ["-d", "{{ "{{ .Destination }}" }}", "{{ "{{ .Target }}" }}"]
|
# args = ["-d", "{{ "{{ .Destination }}" }}", "{{ "{{ .Target }}" }}"]
|
||||||
|
|
|
@ -1,68 +1,78 @@
|
||||||
# Customized, based on tokyo-night
|
# Customized, based on tokyo-night
|
||||||
|
|
||||||
{{/* pallette definition */}}
|
palette = {{ get (get . "style" | default .) "prompt" | default "cool" | quote }}
|
||||||
{{- $theme := dict -}}
|
|
||||||
{{- with $_ := set $theme "gradient" dict }}{{ end -}}
|
|
||||||
{{- with $_ := set $theme.gradient "bt" "#9da7c1" }}{{ end -}}{{/* #54618c #0d0e14 # */}}
|
|
||||||
{{- with $_ := set $theme.gradient "a" "#3a4e82" }}{{ end -}}{{/* #3a4e82 #777076 #090c0c */}}
|
|
||||||
{{- with $_ := set $theme.gradient "b" "#54618c" }}{{ end -}}{{/* #54618c #597d7c #a3aed2 */}}
|
|
||||||
{{- with $_ := set $theme.gradient "c" "#495479" }}{{ end -}}{{/* #495479 #252933 #769ff0 */}}
|
|
||||||
{{- with $_ := set $theme.gradient "d" "#3d4766" }}{{ end -}}{{/* #3d4766 #386775 #e3e5e5 */}}
|
|
||||||
{{- with $_ := set $theme.gradient "e" "#323a53" }}{{ end -}}{{/* #323a53 #404556 # */}}
|
|
||||||
{{- with $_ := set $theme.gradient "f" "#262c40" }}{{ end -}}{{/* #262c40 #20504e #394260 */}}
|
|
||||||
{{- with $_ := set $theme.gradient "g" "#1f2333" }}{{ end -}}{{/* #1f2333 #60515c #212736 */}}
|
|
||||||
{{- with $_ := set $theme.gradient "h" "#3a4e82" }}{{ end -}}{{/* #3a4e82 #193d31 #1d2230 */}}
|
|
||||||
{{- with $_ := set $theme.gradient "dt" "#1f2333" }}{{ end -}}{{/* #090c0c #777076 # */}}
|
|
||||||
{{- with $_ := set $theme "pair" dict }}{{ end -}}
|
|
||||||
{{- with $_ := set $theme.pair "a" ( printf "bg:%s fg:%s" $theme.gradient.a $theme.gradient.bt ) }}{{ end -}}{{/* body os */}}
|
|
||||||
{{- with $_ := set $theme.pair "B" ( printf "bg:%s fg:%s" $theme.gradient.b $theme.gradient.a ) }}{{ end -}}{{/* head Dir */}}
|
|
||||||
{{- with $_ := set $theme.pair "b" ( printf "bg:%s fg:%s" $theme.gradient.b $theme.gradient.bt ) }}{{ end -}}{{/* body Dir */}}
|
|
||||||
{{- with $_ := set $theme.pair "C" ( printf "bg:%s fg:%s" $theme.gradient.c $theme.gradient.b ) }}{{ end -}}{{/* head chezmoi */}}
|
|
||||||
{{- with $_ := set $theme.pair "c" ( printf "bg:%s fg:%s" $theme.gradient.c $theme.gradient.bt ) }}{{ end -}}{{/* body chezmoi */}}
|
|
||||||
{{- with $_ := set $theme.pair "D" ( printf "bg:%s fg:%s" $theme.gradient.d $theme.gradient.c ) }}{{ end -}}{{/* head git */}}
|
|
||||||
{{- with $_ := set $theme.pair "d" ( printf "bg:%s fg:%s" $theme.gradient.d $theme.gradient.bt ) }}{{ end -}}{{/* body git */}}
|
|
||||||
{{- with $_ := set $theme.pair "E" ( printf "bg:%s fg:%s" $theme.gradient.e $theme.gradient.d ) }}{{ end -}}{{/* head nodejs/rust/golang */}}
|
|
||||||
{{- with $_ := set $theme.pair "e" ( printf "bg:%s fg:%s" $theme.gradient.e $theme.gradient.a ) }}{{ end -}}{{/* body nodejs/rust/golang */}}
|
|
||||||
{{- with $_ := set $theme.pair "F" ( printf "bg:%s fg:%s" $theme.gradient.f $theme.gradient.e ) }}{{ end -}}{{/* head time */}}
|
|
||||||
{{- with $_ := set $theme.pair "f" ( printf "bg:%s fg:%s" $theme.gradient.f $theme.gradient.bt ) }}{{ end -}}{{/* body time */}}
|
|
||||||
{{- with $_ := set $theme.pair "G" ( printf "bg:%s fg:%s" $theme.gradient.g $theme.gradient.f ) }}{{ end -}}{{/* head duration/status */}}
|
|
||||||
{{- with $_ := set $theme.pair "g" ( printf "bg:%s fg:%s" $theme.gradient.g $theme.gradient.bt ) }}{{ end -}}{{/* body durtaion/status */}}
|
|
||||||
{{- with $_ := set $theme.pair "H" ( printf "bg:%s fg:%s" $theme.gradient.h $theme.gradient.g ) }}{{ end -}}{{/* head fin */}}
|
|
||||||
|
|
||||||
# global prompt configuration ( https://starship.rs/config/#prompt )
|
# global prompt configuration ( https://starship.rs/config/#prompt )
|
||||||
format = """
|
format = """
|
||||||
[░▒▓](fg:{{ $theme.gradient.a }})\
|
[░▒▓](fg:gradient_a)\
|
||||||
$os\
|
$os\
|
||||||
[]({{ $theme.pair.B }})\
|
[](bg:gradient_b fg:gradient_a)\
|
||||||
$directory\
|
$directory\
|
||||||
[]({{ $theme.pair.C }})\
|
[](bg:gradient_c fg:gradient_b)\
|
||||||
${custom.chezmoi}\
|
${custom.chezmoi}\
|
||||||
[]({{ $theme.pair.D }})\
|
[](bg:gradient_d fg:gradient_c)\
|
||||||
$git_branch\
|
$git_branch\
|
||||||
$git_status\
|
$git_status\
|
||||||
[]({{ $theme.pair.E }})\
|
[](bg:gradient_e fg:gradient_d)\
|
||||||
$nodejs\
|
$nodejs\
|
||||||
$rust\
|
$rust\
|
||||||
$golang\
|
$golang\
|
||||||
[]({{ $theme.pair.F }})\
|
[](bg:gradient_f fg:gradient_e)\
|
||||||
$time\
|
$time\
|
||||||
[]({{ $theme.pair.G }})\
|
[](bg:gradient_g fg:gradient_f)\
|
||||||
$cmd_duration\
|
$cmd_duration\
|
||||||
$status\
|
$status\
|
||||||
[ ](fg:{{ $theme.gradient.g }})\
|
[ ](fg:gradient_g)\
|
||||||
$line_break$character"""
|
$line_break$character"""
|
||||||
|
|
||||||
command_timeout = 1500 # milliseconds; default is 500
|
command_timeout = 1500 # milliseconds; default is 500
|
||||||
|
|
||||||
|
[palettes.cool]
|
||||||
|
gradient_a = "#3a4e82"
|
||||||
|
gradient_b = "#54618c"
|
||||||
|
gradient_c = "#495479"
|
||||||
|
gradient_d = "#3d4766"
|
||||||
|
gradient_e = "#323a53"
|
||||||
|
gradient_f = "#262c40"
|
||||||
|
gradient_g = "#1f2333"
|
||||||
|
gradient_h = "#3a4e82"
|
||||||
|
text_bright = "#9da7c1"
|
||||||
|
text_dark = "#1f2333"
|
||||||
|
|
||||||
|
[palettes.lux]
|
||||||
|
gradient_a = "#5e3a82" # Plum
|
||||||
|
gradient_b = "#6d548c" # Dusty violet
|
||||||
|
gradient_c = "#5f4979" # Deep mauve
|
||||||
|
gradient_d = "#523d66" # Grape
|
||||||
|
gradient_e = "#443253" # Aubergine
|
||||||
|
gradient_f = "#352640" # Very dark violet
|
||||||
|
gradient_g = "#2a1f33" # Blackened purple
|
||||||
|
gradient_h = "#5e3a82" # Loop to plum
|
||||||
|
|
||||||
|
text_bright = "#c1a7d3" # Soft lavender-pink
|
||||||
|
text_dark = "#2a1f33" # Matches darkest gradient
|
||||||
|
|
||||||
|
[palettes.hot]
|
||||||
|
gradient_a = "#823a3a" # Rich warm crimson
|
||||||
|
gradient_b = "#8c5454" # Muted brick red
|
||||||
|
gradient_c = "#794949" # Desaturated rosewood
|
||||||
|
gradient_d = "#664343" # Deep red-brown
|
||||||
|
gradient_e = "#533232" # Wine red
|
||||||
|
gradient_f = "#402626" # Burnt umber
|
||||||
|
gradient_g = "#331f1f" # Near black with red undertones
|
||||||
|
gradient_h = "#823a3a" # Wraparound to top of gradient
|
||||||
|
|
||||||
|
text_bright = "#c1a79d" # Soft warm beige
|
||||||
|
text_dark = "#331f1f" # Same as deepest gradient for cohesion
|
||||||
|
|
||||||
[profiles]
|
[profiles]
|
||||||
transient = """
|
transient = """
|
||||||
$time\
|
$time\
|
||||||
[]({{ $theme.pair.H }})\
|
[](bg:gradient_h fg:gradient_g)\
|
||||||
$character"""
|
$character"""
|
||||||
|
|
||||||
|
|
||||||
[os]
|
[os]
|
||||||
style = "{{ $theme.pair.a }}"
|
style = "bg:gradient_a fg:text_bright"
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
||||||
# Without NerdFont
|
# Without NerdFont
|
||||||
|
@ -74,7 +84,7 @@ disabled = false
|
||||||
Windows = " "
|
Windows = " "
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
style = "{{ $theme.pair.b }}"
|
style = "bg:gradient_b fg:text_bright"
|
||||||
format = "[ $path ]($style)"
|
format = "[ $path ]($style)"
|
||||||
truncation_length = 3
|
truncation_length = 3
|
||||||
truncation_symbol = "…/"
|
truncation_symbol = "…/"
|
||||||
|
@ -87,55 +97,55 @@ truncation_symbol = "…/"
|
||||||
|
|
||||||
[custom.chezmoi]
|
[custom.chezmoi]
|
||||||
symbol = "🏠"
|
symbol = "🏠"
|
||||||
style = "{{ $theme.pair.c }}"
|
style = "bg:gradient_c fg:text_bright"
|
||||||
command = "chezmoi status | wc -l"
|
command = "chezmoi status | wc -l"
|
||||||
when = true
|
when = true
|
||||||
format = '[[ $symbol $output ]({{ $theme.pair.c }})]($style)'
|
format = '[[ $symbol $output ](bg:gradient_c fg:text_bright)]($style)'
|
||||||
|
|
||||||
[git_branch]
|
[git_branch]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:{{ $theme.gradient.d }}"
|
style = "bg:gradient_d"
|
||||||
format = '[[ $symbol $branch ]({{ $theme.pair.d }})]($style)'
|
format = '[[ $symbol $branch ](bg:gradient_d fg:text_bright)]($style)'
|
||||||
|
|
||||||
[git_status]
|
[git_status]
|
||||||
style = "bg:{{ $theme.gradient.d }}"
|
style = "bg:gradient_d"
|
||||||
format = '[[($all_status$ahead_behind )]({{ $theme.pair.d }})]($style)'
|
format = '[[($all_status$ahead_behind )](bg:gradient_d fg:text_bright)]($style)'
|
||||||
|
|
||||||
[nodejs]
|
[nodejs]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:{{ $theme.gradient.e }}"
|
style = "bg:gradient_e"
|
||||||
format = '[[ $symbol ($version) ]({{ $theme.pair.e }})]($style)'
|
format = '[[ $symbol ($version) ](bg:gradient_e fg:gradient_a)]($style)'
|
||||||
|
|
||||||
[rust]
|
[rust]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:{{ $theme.gradient.e }}"
|
style = "bg:gradient_e"
|
||||||
format = '[[ $symbol ($version) ]({{ $theme.pair.e }})]($style)'
|
format = '[[ $symbol ($version) ](bg:gradient_e fg:gradient_a)]($style)'
|
||||||
|
|
||||||
[golang]
|
[golang]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:{{ $theme.gradient.e }}"
|
style = "bg:gradient_e"
|
||||||
format = '[[ $symbol ($version) ]({{ $theme.pair.e }})]($style)'
|
format = '[[ $symbol ($version) ](bg:gradient_e fg:gradient_a)]($style)'
|
||||||
|
|
||||||
[time]
|
[time]
|
||||||
disabled = false
|
disabled = false
|
||||||
time_format = "%R" # Hour:Minute Format
|
time_format = "%R" # Hour:Minute Format
|
||||||
style = "bg:{{ $theme.gradient.f }}"
|
style = "bg:gradient_f"
|
||||||
format = '[[ $time ]({{ $theme.pair.f }})]($style)'
|
format = '[[ $time ](bg:gradient_f fg:text_bright)]($style)'
|
||||||
|
|
||||||
[cmd_duration]
|
[cmd_duration]
|
||||||
min_time = 500 # milliseconds
|
min_time = 500 # milliseconds
|
||||||
style = "bg:{{ $theme.gradient.g }}"
|
style = "bg:gradient_g"
|
||||||
# nerd font version:
|
# nerd font version:
|
||||||
format = '[[ $duration ]({{ $theme.pair.g }})]($style)'
|
format = '[[ $duration ](bg:gradient_g fg:text_bright)]($style)'
|
||||||
# General UNICODE font version:
|
# General UNICODE font version:
|
||||||
# format = '[[ ⧗ $duration ]({{ $theme.pair.g }})]($style)'
|
# format = '[[ ⧗ $duration ](bg:gradient_g fg:text_bright)]($style)'
|
||||||
# Emoji version:
|
# Emoji version:
|
||||||
# format = '[[ ⌛ $duration ]({{ $theme.pair.g }})]($style)'
|
# format = '[[ ⌛ $duration ](bg:gradient_g fg:text_bright)]($style)'
|
||||||
|
|
||||||
[status]
|
[status]
|
||||||
disabled = false
|
disabled = false
|
||||||
style = "{{ $theme.pair.g }}"
|
style = "bg:gradient_g fg:text_bright"
|
||||||
format = '[[$symbol$status ]({{ $theme.pair.g }})]($style)'
|
format = '[[$symbol$status ](bg:gradient_g fg:text_bright)]($style)'
|
||||||
|
|
||||||
[character]
|
[character]
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
Loading…
Reference in New Issue