Compare commits

..

3 Commits

Author SHA1 Message Date
Lockszmith (@wolfpack) f26c5b3cc2 TrueNAS SCALE path to work on wolfpack and kateryna 2024-12-03 08:21:37 -05:00
Lockszmith (@wolfpack) 63997d2285 Shell detection syntax fixed 2024-12-03 08:21:02 -05:00
Lockszmith (@wolfpack) 681ff45134 Fixed zellij loading 2024-12-03 08:20:29 -05:00
3 changed files with 45 additions and 28 deletions

View File

@ -1,9 +1,14 @@
#!/usr/bin/env -S bash -c 'echo "Not a user script. source(aka .) only"' #!/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')" 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 [ -d "/mnt/$SCALE_POOL" ] || unset SCALE_POOL
fi 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

View File

@ -15,37 +15,49 @@ BASE_SHELL=$(basename "$SHELL")
if is_sourced; then if is_sourced; then
zellij-cleanup() { zellij-cleanup() {
type -pa zellij > /dev/null && type -pa zellij | sed -Ee 's/^.* is //' | awk '{ print $1 }' | grep -E "^$HOME" | xargs -tr rm which zellij > /dev/null && which zellij | grep -E "^$HOME" | ${SUDO:-} xargs -tr rm
[[ -d "$HOME/.cache/zellij" ]] && echo "$HOME/.cache/zellij" | xargs -rt rm -fR [[ -d "$HOME/.cache/zellij" ]] && echo "$HOME/.cache/zellij" | ${SUDO:-} xargs -tr rm -fR
find /tmp -maxdepth 1 -mindepth 1 -type d -name 'zellij*' -print0 | xargs -r0t rm -fR find /tmp -maxdepth 1 -mindepth 1 -type d -name 'zellij*' -print0 | ${SUDO:-} xargs -r0t rm -fR
printf 'Zellij has been cleaned up, you can now reinstall it.\n' 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() { refresh-zellij() {
if [[ ! -x ~/bin/zellij ]]; then if [ -z "$(which zellij)" ] && ! [ -x ~/.local/bin/zellij ]; then
if [[ -x $HOME/.cache/chezmoi/tmp/zellij/zellij ]]; then if [[ ! -r /tmp/zellij/bootstrap/zellij ]]; then
ln --symbolic --relative $HOME/.cache/chezmoi/tmp/zellij/zellij ~/bin printf "Grabbing zellij from the web!\n"
elif [[ ! -x /tmp/zellij/bootstrap/zellij ]]; then bash <(curl -sL zellij.dev/launch) "--help" > /dev/null 2>&1 || true
printf "Grabbing zellij from the web!\n" fi
bash <(curl -sL zellij.dev/launch) "${@}" && return if [[ -r /tmp/zellij/bootstrap/zellij ]]; then
mv /tmp/zellij/bootstrap/zellij ~/.local/bin/zellij
rm -fR /tmp/zellij
fi fi
fi fi
if [[ -e /tmp/zellij/bootstrap/zellij ]]; then refresh-zellij() { :; }
mv /tmp/zellij/bootstrap/zellij ~/bin/zellij }
rm -fR /tmp/zellij zellij() {
refresh-zellij
if [[ $# -eq 0 ]]; then
env zellij attach -c $USER@$(hostname)
else
env zellij "${@}"
fi fi
if [[ -x ~/bin/zellij ]]; then
~/bin/zellij "${@}"
fi
} }
zellij-completion() { zellij-completion() {
if [[ "${BASE_SHELL}" == "zsh" ]]; then if [[ "${BASE_SHELL}" == "zsh" ]]; then
. <( zellij setup --generate-completion zsh | sed -Ee 's/^(_(zellij) ).*/compdef \1\2/' ) . <( env zellij setup --generate-completion zsh | sed -Ee 's/^(_(zellij) ).*/compdef \1\2/' )
else else
. <( zellij setup --generate-completion "$BASE_SHELL" ) . <( env zellij setup --generate-completion "$BASE_SHELL" )
fi fi
} }
zellij-completion ${SET:-:} -x
if [[ -n "$(which zellij)" ]]; then
zellij-completion
fi
${SET:-:} -x
# Was needed when zsh would load # Was needed when zsh would load
# . <( zellij setup --generate-completion "$BASE_SHELL" | sed -ne '/^function/,$p' ) # . <( zellij setup --generate-completion "$BASE_SHELL" | sed -ne '/^function/,$p' )
if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then if [[ -z "$ZELLIJ_SESSION_NAME" ]]; then

View File

@ -5,7 +5,7 @@
# SC1090 Can't follow non-constant source # SC1090 Can't follow non-constant source
# User basename instead of ${0:##*/} to be POSIX compliant # 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 )"} SCRIPT_DIR=${SCRIPT_DIR:-"$( cd -- "$( dirname -- "$0" )" &> /dev/null && pwd )"}
BASE_SHELL=$(basename "$SHELL") BASE_SHELL=$(basename "$SHELL")
@ -15,7 +15,7 @@ is_sourced() {
case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac
else else
# case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac # 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 fi
return 1; # NOT sourced. return 1; # NOT sourced.
} }