diff --git a/_home/.chezmoiexternal.yaml b/_home/.chezmoiexternal.yaml index ab3f242..ccfb642 100644 --- a/_home/.chezmoiexternal.yaml +++ b/_home/.chezmoiexternal.yaml @@ -1,5 +1,20 @@ +# https://www.chezmoi.io/reference/special-files-and-directories/chezmoiexternal-format/ +# +# type string none External type (file, archive, archive-file, or git-repo) +# refreshPeriod duration 0 Refresh period (Examples: one day (24h), one week (168h), or four weeks (672h)) + ".config/sz.env/lib/ble.sh.curl": type: "archive" url: "https://github.com/akinomyoga/ble.sh/releases/download/nightly/ble-nightly.tar.xz" refreshPeriod: "168h" +".config/sz.env/lib/bash-preexec/bash-preexec.sh": + type: "file" + url: "https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh" + refreshPeriod: "168h" + +".cache/chezmoi/tmp/zellij": + type: "archive" + url: "https://github.com/zellij-org/zellij/releases/download/v0.40.1/zellij-x86_64-unknown-linux-musl.tar.gz" + refreshPeriod: "168h" + diff --git a/_home/private_dot_local/bin/executable_load-webi b/_home/private_dot_local/bin/executable_load-webi new file mode 100644 index 0000000..32e58fd --- /dev/null +++ b/_home/private_dot_local/bin/executable_load-webi @@ -0,0 +1,40 @@ +#! /usr/bin/env bash + +# Helper function +is_sourced() { + if [ -n "$ZSH_VERSION" ]; then + case $ZSH_EVAL_CONTEXT in *:file:*) return 0;; esac + else # Add additional POSIX-compatible shell names here, if needed. + case ${0##*/} in dash|-dash|bash|-bash|ksh|-ksh|sh|-sh) return 0;; esac + fi + return 1; # NOT sourced. +} + +BASE_0=${BASE_0:-$0} +BASE_SHELL=$(basename "$SHELL") + +if is_sourced; then + webi() { + if [[ ! -x "${HOME}/.local/bin/webi" ]]; then + printf '%s\n' \ + "webi isn't installed, install by running:" \ + " curl -sS https://webi.sh/webi | sh" + return + fi + ${HOME}/.local/bin/webi "${@}" + } + if is_cmd webi; then + webi + fi + +elif [[ "$1" == '-' ]]; then + cat "${BASH_SOURCE[0]}" +else + SCRIPT_NAME="$BASE_0" + printf '%s\n' \ + "It seems $SCRIPT_NAME was invoked as a script. It should be sourced instead." \ + 'The easiest way is to call it like this:' \ + " $ . <( $SCRIPT_NAME - ) # Note the '-' after the script's name" \ + '' +fi + diff --git a/_home/private_dot_local/bin/executable_load-zellij b/_home/private_dot_local/bin/executable_load-zellij index a7dfff3..3d6ab54 100644 --- a/_home/private_dot_local/bin/executable_load-zellij +++ b/_home/private_dot_local/bin/executable_load-zellij @@ -22,7 +22,9 @@ if is_sourced; then } zellij() { if [[ ! -x ~/bin/zellij ]]; then - if [[ ! -x /tmp/zellij/bootstrap/zellij ]]; then + if [[ -r $HOME/.cache/chezmoi/tmp/zellij/zellij ]]; then + ln --symbolic --relative $HOME/.cache/chezmoi/tmp/zellij/zellij ~/bin + elif [[ ! -x /tmp/zellij/bootstrap/zellij ]]; then bash <(curl -sL zellij.dev/launch) "${@}" && return fi fi