From 66ffbc90984a45c3dab7b6d4afc58a42ee3b9d19 Mon Sep 17 00:00:00 2001 From: "Lockszmith (VAST@MacBook)" Date: Thu, 17 Apr 2025 18:21:10 -0400 Subject: [PATCH 1/4] added bat (for use with ov) --- chezmoi.roots/_src.posix/.chezmoiexternal.yaml.tmpl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/chezmoi.roots/_src.posix/.chezmoiexternal.yaml.tmpl b/chezmoi.roots/_src.posix/.chezmoiexternal.yaml.tmpl index e7d2da3..f7b5a75 100644 --- a/chezmoi.roots/_src.posix/.chezmoiexternal.yaml.tmpl +++ b/chezmoi.roots/_src.posix/.chezmoiexternal.yaml.tmpl @@ -112,6 +112,16 @@ "refreshPeriod" $defaultRefresh ) -}}{{- end -}}{{- end -}}{{- end -}} +{{- with $app_name := "bat" -}} +{{- with $repo := (printf "%s/%s" "sharkdp" $app_name) -}} +{{- with $version := (gitHubLatestRelease $repo).GetTagName -}} +{{- $_ := set $externals (printf ".local/bin/%s" $app_name) (dict + "type" "archive-file" + "url" (printf "https://github.com/%s/releases/download/%s/%s-%s-%s.tar.gz" $repo $version $app_name $version $myArch) + "path" (printf "%s-%s-%s/%s" $app_name $version $myArch $app_name) + "refreshPeriod" $defaultRefresh +) -}}{{- end -}}{{- end -}}{{- end -}} + {{/* # valid arch strings: # darwin_amd64 From a546290cf636df5782ca0aeffcb52bd23fc8888c Mon Sep 17 00:00:00 2001 From: "Lockszmith (VAST@MacBook)" Date: Thu, 17 Apr 2025 18:22:07 -0400 Subject: [PATCH 2/4] Add gitcd (and czgcd) functions --- .../private_dot_config/sz.env/zzy_chezmoi.env.tmpl | 3 +++ .../private_dot_config/sz.env/zzz_aliases.env.tmpl | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzy_chezmoi.env.tmpl b/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzy_chezmoi.env.tmpl index d97634b..f99fc3b 100644 --- a/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzy_chezmoi.env.tmpl +++ b/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzy_chezmoi.env.tmpl @@ -24,6 +24,9 @@ if is_cmd 'chezmoi'; then ${SET_X:-:} +x } czcd() { chezmoi cd "${@}"; } + czgcd() { + cd "$(chezmoi git -- rev-parse --show-toplevel)${1:+/${1}}" + } czedext() { local CZ_EXT="$(find $(command chezmoi source-path) -mindepth 1 -maxdepth 1 -name '.chezmoiexternal.*')" CZ_EXT="${CZ_EXT:-$(chezmoi source-path "${@}")/.chezmoiexternal.yaml.tmpl}" diff --git a/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl b/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl index ebaa3ff..b5bc05d 100644 --- a/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl +++ b/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl @@ -35,5 +35,11 @@ alias vim='nvim ' alias nvimdiff='nvim -d ' alias vimdiff='nvimdiff ' +if is_cmd git; then + gitcd() { + cd "$(git rev-parse --show-toplevel)${1:+/${1}}" + } +fi + # vim: set ft=sh expandtab tabstop=4 shiftwidth=4: From 68d5d29274795b7fdea373d61b4d5219422d3edd Mon Sep 17 00:00:00 2001 From: "Lockszmith (VAST@MacBook)" Date: Thu, 17 Apr 2025 18:22:34 -0400 Subject: [PATCH 3/4] Add Zellij mode switching/refreshing with zellij-mode --- .../private_dot_local/bin/executable_load-zellij | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij b/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij index e45e967..c208693 100644 --- a/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij +++ b/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij @@ -66,6 +66,21 @@ ${SET_X-:} -x . <( env zellij setup --generate-completion "$BASE_SHELL" ) fi } + + zellij-mode() { + local BASE="config.kdl" ROOT=~/.config/zellij + local SRC="${BASE}.${1:?Mode missing}" + [[ -s "${ROOT}/${SRC}" ]] \ + || ( printf 'Mode "%s" must exists!\n' "${1}" >&2; return 1 ) + [[ -L "${ROOT}/${BASE}" || ! -e "${ROOT}/${BASE}" ]] \ + || ( printf 'config.kdl is an actual file, will not replace\n' >&2; return 2 ) + if [[ "$RESET" == 'reset' ]]; then + [[ -e "${ROOT}/${BASE}" ]] && rm "${ROOT}/${BASE}" + cp "${ROOT}/${SRC}" "${ROOT}/${BASE}" + else + (cd "${ROOT}"; ln -sf "${SRC}" "${BASE}") + fi + } ${SET_X-:} -x if [[ -n "$(env which zellij)" ]]; then zellij-load-completion From a25d87bb12efca9f36f5beec172020b115995648 Mon Sep 17 00:00:00 2001 From: "Lockszmith (VAST@MacBook)" Date: Thu, 17 Apr 2025 18:23:26 -0400 Subject: [PATCH 4/4] pager configuration bat with ov are the prefered content and pager moar is a fallback to ov --- .../private_dot_config/sz.env/zzz_aliases.env.tmpl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl b/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl index b5bc05d..3af05a6 100644 --- a/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl +++ b/chezmoi.roots/_src.posix/private_dot_config/sz.env/zzz_aliases.env.tmpl @@ -18,12 +18,16 @@ alias lu='l -U ' alias sudo='sudo ' is_cmd ov \ -&& alias less="ov " \ -&& export PAGER=ov +&& alias less="ov --wrap=false " \ +&& export PAGER="ov --wrap=false " -is_cmd moar \ -&& alias less="moar " \ -&& export PAGER=moar +if is_cmd bat; then + alias cat='bat --wrap=never ' + alias less='cat ' +elif is_cmd moar; then + alias less="moar " \ + && export PAGER=moar +fi is_cmd nvim \ && export VISUAL="nvim" EDITOR="nvim" \