Single repo + chezmoi status in oh-my-posh prompt

Oh-My-Posh prompt displaying chezmoi status when changes are in working
copy (home dir) and/or uncommitted changes in the source path.

Externals manages as a separate chezmoi source in a subdir of the source
repo.
This commit is contained in:
Gal Szkolnik 2022-09-26 18:39:41 -04:00
parent fed4970b64
commit d6687d8fa4
7 changed files with 110 additions and 8 deletions

View File

@ -0,0 +1,85 @@
{{ if eq .chezmoi.hostname "pqb-laptop" }}
[".local/share/git-on-web/chemacs2"]
type = "git-repo"
url = "https://github.com/plexus/chemacs2.git"
refreshPeriod = "168h" # 7 days
[".config/_my.emacs/spacemacs/emacs.d"]
type = "git-repo"
url = "https://github.com/syl20bnr/spacemacs.git"
clone.args = ["--depth=1","--branch=develop","--single-branch"]
refreshPeriod = "168h" # 7 days
[".config/_my.emacs/doom/emacs.d"]
type = "git-repo"
url = "https://github.com/doomemacs/doomemacs"
clone.args = ["--depth=1","--branch=develop","--single-branch"]
refreshPeriod = "168h" # 7 days
{{ end }}
# ["my/code/from_web/nerd-fonts"]
# type = "git-repo"
# url = "https://github.com/ryanoasis/nerd-fonts.git"
# clone.args = ["--depth=1"]
# refreshPeriod = "168h" # 7 days
[".local/share/bash-completion/tmux"]
type = "git-repo"
url = "https://github.com/imomaliev/tmux-bash-completion"
clone.args = ["--depth=1","--single-branch"]
refreshPeriod = "168h" # 7 days
[".local/share/fonts/NF_CodeNewRoman"]
type = "archive"
# url = "https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/CodeNewRoman.zip"
url = "https://github.com/ryanoasis/nerd-fonts/releases/download/2.2.0-RC/CodeNewRoman.zip"
exact = true
refreshPeriod = "168h" # 7 days
[".local/share/fonts/NF_FiraCode"]
type = "archive"
# url = "https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/FiraCode.zip"
url = "https://github.com/ryanoasis/nerd-fonts/releases/download/2.2.0-RC/FiraCode.zip"
exact = true
refreshPeriod = "168h" # 7 days
[".local/bin/oh-my-posh"]
type = "file"
url = "https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64"
executable = true
[".poshthemes"]
type = "archive"
url = "https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip"
exact = true
refreshPeriod = "168h" # 7 days
[".config/Code/Dictionaries/English (American).dic"]
type = "file"
url = "https://raw.githubusercontent.com/titoBouzout/Dictionaries/master/English%20(American).dic"
refreshPeriod = "168h" # 7 days
[".config/Code/Dictionaries/English (American).aff"]
type = "file"
url = "https://raw.githubusercontent.com/titoBouzout/Dictionaries/master/English%20(American).aff"
refreshPeriod = "168h" # 7 days
[".config/Code/Dictionaries/English (American).txt"]
type = "file"
url = "https://raw.githubusercontent.com/titoBouzout/Dictionaries/master/English%20(American).txt"
refreshPeriod = "168h" # 7 days
[".config/Code/Dictionaries/Hebrew (Israel).dic"]
type = "file"
url = "https://raw.githubusercontent.com/titoBouzout/Dictionaries/master/Hebrew%20(Israel).dic"
refreshPeriod = "168h" # 7 days
[".config/Code/Dictionaries/Hebrew (Israel).aff"]
type = "file"
url = "https://raw.githubusercontent.com/titoBouzout/Dictionaries/master/Hebrew%20(Israel).aff"
refreshPeriod = "168h" # 7 days
[".config/Code/Dictionaries/Hebrew (Israel).txt"]
type = "file"
url = "https://raw.githubusercontent.com/titoBouzout/Dictionaries/master/Hebrew%20(Israel).txt"
refreshPeriod = "168h" # 7 days

View File

@ -0,0 +1,3 @@
.local/share/fonts/**/.uuid
.ssh/*
~.ssh/authorized_keys.template

View File

View File

@ -1,4 +0,0 @@
[".local/share/chezmoi.externals"]
type = "git-repo"
url = "https://code.lksz.me/lksz/dotfiles.chezmoi.externals.git"
refreshPeriod = "168h" # 7 days

View File

@ -1,13 +1,13 @@
if [[ -n "$(which-command chezmoi)" ]]; then if [[ -n "$(which-command chezmoi)" ]]; then
export CZ="$(chezmoi source-path)" export CHEZMOIROOT="$(chezmoi source-path)"
export CZ_X="$CZ.externals" export CZ="$CHEZMOIROOT/_home"
export CHEZMOIROOT="$CZ" export CZ_X="$CHEZMOIROOT/_externals"
alias czcd="cd $CZ" alias czcd="cd $CZ"
alias czxcd="cd $CZ_X" alias czxcd="cd $CZ_X"
alias cz="chezmoi " alias cz="chezmoi "
alias czx="chezmoi --source $CZ_X --config $HOME/.config/chezmoi.externals/chezmoi.toml " alias czx="chezmoi --source $CZ_X --config $HOME/.config/chezmoi/chezmoi.externals.toml "
alias czs="cz status " alias czs="cz status "

View File

@ -287,6 +287,24 @@
"template": "{{ if gt .Code 0 }}{{ .Meaning }}{{ else }}✔{{ end }} ", "template": "{{ if gt .Code 0 }}{{ .Meaning }}{{ else }}✔{{ end }} ",
"type": "exit" "type": "exit"
}, },
{
"type": "command",
"foreground": "",
"foreground_templates": [
"{{ if eq .Output \"0,0\" }}#DD7700{{else}}#d3d7cf{{ end }}"
],
"background_templates": [
"{{ if eq .Output \"0,0\" }}#000000{{else}}#DD7700{{ end }}"
],
"powerline_symbol": "",
"invert_powerline": true,
"style": "powerline",
"properties": {
"shell": "bash",
"command": "type -t chezmoi 2>&1 >/dev/null && printf \"%s\" $(chezmoi status 2>/dev/null | wc -l) , $(chezmoi git -- status --short | wc -l)"
},
"template": "{{ if ne .Output \"0,0\" }}≢{{ .Output }}{{ end }}"
},
{ {
"background": "#4063D8", "background": "#4063D8",
"background_templates": [ "background_templates": [