From 681ff451346dcdac5ce07a30dc4d37ff8222c5b8 Mon Sep 17 00:00:00 2001 From: "Lockszmith (@wolfpack)" Date: Tue, 3 Dec 2024 08:20:29 -0500 Subject: [PATCH 1/3] Fixed zellij loading --- .../bin/executable_load-zellij | 60 +++++++++++-------- 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/_home/private_dot_local/bin/executable_load-zellij b/_home/private_dot_local/bin/executable_load-zellij index 0a6deb2..4399ad7 100644 --- a/_home/private_dot_local/bin/executable_load-zellij +++ b/_home/private_dot_local/bin/executable_load-zellij @@ -15,37 +15,49 @@ BASE_SHELL=$(basename "$SHELL") if is_sourced; then zellij-cleanup() { - type -pa zellij > /dev/null && type -pa zellij | sed -Ee 's/^.* is //' | awk '{ print $1 }' | grep -E "^$HOME" | xargs -tr rm - [[ -d "$HOME/.cache/zellij" ]] && echo "$HOME/.cache/zellij" | xargs -rt rm -fR - find /tmp -maxdepth 1 -mindepth 1 -type d -name 'zellij*' -print0 | xargs -r0t rm -fR - printf 'Zellij has been cleaned up, you can now reinstall it.\n' + which zellij > /dev/null && which zellij | grep -E "^$HOME" | ${SUDO:-} xargs -tr rm + [[ -d "$HOME/.cache/zellij" ]] && echo "$HOME/.cache/zellij" | ${SUDO:-} xargs -tr rm -fR + find /tmp -maxdepth 1 -mindepth 1 -type d -name 'zellij*' -print0 | ${SUDO:-} xargs -r0t rm -fR + if [[ -d "$HOME/.cache/zellij" ]]; then + printf 'Zellij cleanup failed to remove the cache directory, you might still have a zellij session active.\n' + else + printf 'Zellij has been cleaned up, you can now reinstall it.\n' + unset zellij-cleanup + fi } - zellij() { - if [[ ! -x ~/bin/zellij ]]; then - if [[ -x $HOME/.cache/chezmoi/tmp/zellij/zellij ]]; then - ln --symbolic --relative $HOME/.cache/chezmoi/tmp/zellij/zellij ~/bin - elif [[ ! -x /tmp/zellij/bootstrap/zellij ]]; then - printf "Grabbing zellij from the web!\n" - bash <(curl -sL zellij.dev/launch) "${@}" && return + refresh-zellij() { + if [ -z "$(which zellij)" ] && ! [ -x ~/.local/bin/zellij ]; then + if [[ ! -r /tmp/zellij/bootstrap/zellij ]]; then + printf "Grabbing zellij from the web!\n" + bash <(curl -sL zellij.dev/launch) "--help" > /dev/null 2>&1 || true + fi + if [[ -r /tmp/zellij/bootstrap/zellij ]]; then + mv /tmp/zellij/bootstrap/zellij ~/.local/bin/zellij + rm -fR /tmp/zellij fi fi - if [[ -e /tmp/zellij/bootstrap/zellij ]]; then - mv /tmp/zellij/bootstrap/zellij ~/bin/zellij - rm -fR /tmp/zellij + refresh-zellij() { :; } + } + zellij() { + refresh-zellij + if [[ $# -eq 0 ]]; then + env zellij attach -c $USER@$(hostname) + else + env zellij "${@}" fi - if [[ -x ~/bin/zellij ]]; then - ~/bin/zellij "${@}" - fi - } zellij-completion() { - if [[ "${BASE_SHELL}" == "zsh" ]]; then - . <( zellij setup --generate-completion zsh | sed -Ee 's/^(_(zellij) ).*/compdef \1\2/' ) - else - . <( zellij setup --generate-completion "$BASE_SHELL" ) - fi + if [[ "${BASE_SHELL}" == "zsh" ]]; then + . <( env zellij setup --generate-completion zsh | sed -Ee 's/^(_(zellij) ).*/compdef \1\2/' ) + else + . <( env zellij setup --generate-completion "$BASE_SHELL" ) + fi } - zellij-completion +${SET:-:} -x + if [[ -n "$(which zellij)" ]]; then + zellij-completion + fi +${SET:-:} -x # Was needed when zsh would load # . <( zellij setup --generate-completion "$BASE_SHELL" | sed -ne '/^function/,$p' ) if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then From 63997d2285a67aa58fbe1699d370d832594ee783 Mon Sep 17 00:00:00 2001 From: "Lockszmith (@wolfpack)" Date: Tue, 3 Dec 2024 08:21:02 -0500 Subject: [PATCH 2/3] Shell detection syntax fixed --- _home/private_dot_local/bin/executable_szetup-kubectl4k3s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_home/private_dot_local/bin/executable_szetup-kubectl4k3s b/_home/private_dot_local/bin/executable_szetup-kubectl4k3s index d82f8b0..1ec4e51 100644 --- a/_home/private_dot_local/bin/executable_szetup-kubectl4k3s +++ b/_home/private_dot_local/bin/executable_szetup-kubectl4k3s @@ -5,7 +5,7 @@ # SC1090 Can't follow non-constant source # User basename instead of ${0:##*/} to be POSIX compliant -BASE_0=${BASE_0:-$(basename $0)} +BASE_0=${BASE_0:-$(basename ${0#-})} SCRIPT_DIR=${SCRIPT_DIR:-"$( cd -- "$( dirname -- "$0" )" &> /dev/null && pwd )"} BASE_SHELL=$(basename "$SHELL") @@ -15,7 +15,7 @@ is_sourced() { case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac else # case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac - case "$(basename $0)" in $BASE_SHELL|-$BASE_SHELL) return 0;; esac + case "${BASE_0}" in $BASE_SHELL|-$BASE_SHELL) return 0;; esac fi return 1; # NOT sourced. } From f26c5b3cc29d3e2cbb7429cf1ca15605457d3f0d Mon Sep 17 00:00:00 2001 From: "Lockszmith (@wolfpack)" Date: Tue, 3 Dec 2024 08:21:37 -0500 Subject: [PATCH 3/3] TrueNAS SCALE path to work on wolfpack and kateryna --- _home/private_dot_config/sz.env/PATH_truestuff.env | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/_home/private_dot_config/sz.env/PATH_truestuff.env b/_home/private_dot_config/sz.env/PATH_truestuff.env index 88e9bea..bced20c 100644 --- a/_home/private_dot_config/sz.env/PATH_truestuff.env +++ b/_home/private_dot_config/sz.env/PATH_truestuff.env @@ -1,9 +1,14 @@ #!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"' -if is_truenas && is_cmd midclt && [ -z "$SCALE_POOL" ]; then +if is_cmd midclt; then export SCALE_POOL="$(midclt call "kubernetes.config" 2>/dev/null | jq -r '.pool')" + [ -n "$SCALE_POOL" ] && [ "$SCALE_POOL" != "null" ] || export SCALE_POOL="$(midclt call "pool.query" 2>/dev/null | jq -r '.[0].name')" [ -d "/mnt/$SCALE_POOL" ] || unset SCALE_POOL fi -[ -n "$SCALE_POOL" ] && export SCALE_POOL_ROOT=/mnt/$SCALE_POOL && export PATH="$SCALE_POOL_ROOT/_apps.data/_scripts/truestuff:$PATH" +[ -n "$SCALE_POOL" ] \ +&& export SCALE_POOL_ROOT=/mnt/$SCALE_POOL \ +&& PATH="$SCALE_POOL_ROOT/_apps.data/_scripts/truestuff:$PATH" \ +&& PATH="$SCALE_POOL_ROOT/data/scripts/truestuff:$PATH" \ +&& export PATH