Add Windows support: linker, oh-my-posh installer, README
- link-dotfiles.ps1: stow-equivalent for Windows using junctions/symlinks (no admin required), idempotent with .bak backups and -DryRun - lk-installers/install-ohmyposh.ps1: winget-based install with fallback - README.md: document Linux/macOS (stow) and Windows flows - .gitignore: resolve leftover merge conflict markers, ignore *.bak - ohmyposh/lkraven.toml: oh-my-posh v3 auto-migrated this on load (same theme, upgraded schema) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,126 +1,152 @@
|
||||
#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
|
||||
console_title_template = '{{if .Root}}(Admin){{end}} {{.PWD}}'
|
||||
version = 2
|
||||
version = 3
|
||||
|
||||
[palette]
|
||||
black = '#222531'
|
||||
bright_black = '#373b46'
|
||||
blue = '#6388D8'
|
||||
bright_70 = '#9daeb6'
|
||||
bright_80 = '#b3cbcf'
|
||||
bright_90 = '#cce7ec'
|
||||
bright_black = '#373b46'
|
||||
bright_blue = '#a4c4ff'
|
||||
cyan = '#00b1a8'
|
||||
bright_cyan = '#42dcd1'
|
||||
green = '#16B866'
|
||||
bright_green = '#51e08a'
|
||||
magenta = '#9d78ff'
|
||||
bright_magenta = '#d8adff'
|
||||
red = '#ff491a'
|
||||
bright_red = '#ff854f'
|
||||
white = '#a9bcc3'
|
||||
bright_white = '#cce7ec'
|
||||
yellow = '#e1c631'
|
||||
bright_yellow = '#FFE14E'
|
||||
cyan = '#00b1a8'
|
||||
dark_30 = '#414751'
|
||||
dark_40 = '#565f69'
|
||||
dark_50 = '#6e7882'
|
||||
dark_60 = '#86929d'
|
||||
bright_70 = '#9daeb6'
|
||||
bright_80 = '#b3cbcf'
|
||||
bright_90 = '#cce7ec'
|
||||
green = '#16B866'
|
||||
magenta = '#9d78ff'
|
||||
red = '#ff491a'
|
||||
white = '#a9bcc3'
|
||||
yellow = '#e1c631'
|
||||
|
||||
[secondary_prompt]
|
||||
template = '❯❯ '
|
||||
foreground = 'p:bright_green'
|
||||
background = 'transparent'
|
||||
|
||||
[transient_prompt]
|
||||
template = '❯ '
|
||||
background = 'transparent'
|
||||
foreground_templates = ['{{if gt .Code 0}}p:red{{end}}', '{{if eq .Code 0}}p:bright_green{{end}}']
|
||||
|
||||
[[blocks]]
|
||||
alignment = 'left'
|
||||
type = 'prompt'
|
||||
alignment = 'left'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{.Icon}} '
|
||||
foreground = 'p:cyan'
|
||||
type = 'os'
|
||||
style = 'plain'
|
||||
foreground = 'p:cyan'
|
||||
template = '{{.Icon}} '
|
||||
|
||||
[[blocks.segments]]
|
||||
foreground = 'p:dark_50'
|
||||
style = 'plain'
|
||||
template = '{{ .Path }} {{ if not .Writable}}<p:bright_red></> {{end}}'
|
||||
type = 'path'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '{{ .Path }} {{ if not .Writable}}<p:bright_red></> {{end}}'
|
||||
foreground = 'p:dark_50'
|
||||
type = 'path'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
style = 'agnoster'
|
||||
|
||||
[[blocks]]
|
||||
alignment = 'left'
|
||||
type = 'prompt'
|
||||
alignment = 'left'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = 'python'
|
||||
leading_diamond = ''
|
||||
trailing_diamond = ' '
|
||||
template = ' {{ .Venv }} '
|
||||
foreground = 'p:blue'
|
||||
background = "p:bright_black"
|
||||
leading_diamond = ""
|
||||
style = "diamond"
|
||||
trailing_diamond = " "
|
||||
template = " {{ .Venv }} "
|
||||
background = 'p:bright_black'
|
||||
type = 'python'
|
||||
style = 'diamond'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
display_default = false
|
||||
|
||||
[[blocks.segments]]
|
||||
leading_diamond = ''
|
||||
trailing_diamond = ''
|
||||
template = ' {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}<p:yellow> </>{{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ end }} '
|
||||
foreground = 'p:bright_cyan'
|
||||
background = "p:bright_black"
|
||||
leading_diamond = ""
|
||||
style = "diamond"
|
||||
trailing_diamond = ""
|
||||
template = " {{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}<p:yellow> </>{{ .Working.String }}{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ end }} "
|
||||
background = 'p:bright_black'
|
||||
type = 'git'
|
||||
style = 'diamond'
|
||||
|
||||
[blocks.segments.properties]
|
||||
branch_icon = ' '
|
||||
cache_duration = 'none'
|
||||
commit_icon = ' '
|
||||
fetch_stash_count = true
|
||||
fetch_status = true
|
||||
fetch_upstream_icon = true
|
||||
merge_icon = ' '
|
||||
no_commits_icon = ' '
|
||||
rebase_icon = ' '
|
||||
revert_icon = ' '
|
||||
tag_icon = ' '
|
||||
fetch_stash_count = true
|
||||
fetch_status = true
|
||||
fetch_upstream_icon = true
|
||||
|
||||
[[blocks]]
|
||||
type = "prompt"
|
||||
alignment = "right"
|
||||
type = 'prompt'
|
||||
alignment = 'right'
|
||||
|
||||
[[blocks.segments]]
|
||||
foreground = 'p:green'
|
||||
style = 'plain'
|
||||
template = '{{ .FormattedMs }}'
|
||||
foreground = 'p:green'
|
||||
type = 'executiontime'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
style = 'austin'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = "time"
|
||||
style = "plain"
|
||||
foreground = "p:dark_30"
|
||||
foreground = 'p:dark_30'
|
||||
type = 'time'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
time_format = "3:04:05pm"
|
||||
cache_duration = 'none'
|
||||
time_format = '3:04:05pm'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = "session"
|
||||
style = "plain"
|
||||
foreground = "p:dark_50"
|
||||
template = "{{.UserName}}"
|
||||
template = '{{.UserName}}'
|
||||
foreground = 'p:dark_50'
|
||||
type = 'session'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = "session"
|
||||
style = "plain"
|
||||
foreground = "p:cyan"
|
||||
template = " {{ if .SSHSession }} {{ else }}@{{ end }} "
|
||||
template = ' {{ if .SSHSession }} {{ else }}@{{ end }} '
|
||||
foreground = 'p:cyan'
|
||||
type = 'session'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
|
||||
[[blocks.segments]]
|
||||
type = "session"
|
||||
style = "plain"
|
||||
foreground = "p:blue"
|
||||
template = "{{.HostName}}"
|
||||
template = '{{.HostName}}'
|
||||
foreground = 'p:blue'
|
||||
type = 'session'
|
||||
style = 'plain'
|
||||
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
|
||||
[[blocks]]
|
||||
type = 'prompt'
|
||||
@@ -128,24 +154,11 @@ version = 2
|
||||
newline = true
|
||||
|
||||
[[blocks.segments]]
|
||||
template = '❯ '
|
||||
background = 'transparent'
|
||||
type = 'text'
|
||||
style = 'plain'
|
||||
foreground_templates = [
|
||||
"{{if gt .Code 0}}p:red{{end}}",
|
||||
"{{if eq .Code 0}}p:bright_green{{end}}",
|
||||
]
|
||||
background = 'transparent'
|
||||
template = '❯ '
|
||||
foreground_templates = ['{{if gt .Code 0}}p:red{{end}}', '{{if eq .Code 0}}p:bright_green{{end}}']
|
||||
|
||||
[transient_prompt]
|
||||
foreground_templates = [
|
||||
"{{if gt .Code 0}}p:red{{end}}",
|
||||
"{{if eq .Code 0}}p:bright_green{{end}}",
|
||||
]
|
||||
background = 'transparent'
|
||||
template = '❯ '
|
||||
|
||||
[secondary_prompt]
|
||||
foreground = 'p:bright_green'
|
||||
background = 'transparent'
|
||||
template = '❯❯ '
|
||||
[blocks.segments.properties]
|
||||
cache_duration = 'none'
|
||||
|
||||
Reference in New Issue
Block a user