diff --git a/.config/yadm/bootstrap.d/00-SetClass.sh b/.config/yadm/_set_class.sh similarity index 100% rename from .config/yadm/bootstrap.d/00-SetClass.sh rename to .config/yadm/_set_class.sh diff --git a/.config/yadm/bootstrap b/.config/yadm/bootstrap index dd9f827..e7f44f9 100755 --- a/.config/yadm/bootstrap +++ b/.config/yadm/bootstrap @@ -40,17 +40,17 @@ display() { runfile() { local command="$1" - local prompt="Do you wish to run $command? [Yn] " + local prompt="Do you wish to run $command? [Ynq]" local display="Executing $command" - local promptLength=$((${#prompt} + 1)) + local promptLength=$((${#prompt})) local displayLength=${#display} local maxWidth=$((promptLength > displayLength ? promptLength : displayLength)) _header ${maxWidth} - read -p "| $prompt" -n 1 -r + read -p "| $prompt" -n 1 -r -s echo " |" if [[ $REPLY =~ ^[Nn]$ ]]; then @@ -58,6 +58,12 @@ runfile() { return fi + if [[ $REPLY =~ ^[Qq]$ ]]; then + _footer ${maxWidth} + display "Exiting..." + exit 0 + fi + echo -n "| $display" _repeat $((maxWidth - displayLength)) " " echo " |" @@ -72,9 +78,15 @@ runfile() { set -eu +SCRIPTPATH="$( + cd -- "$(dirname "$0")" >/dev/null 2>&1 + pwd -P +)" # Directory to look for bootstrap executables in BOOTSTRAP_D="${BASH_SOURCE[0]}.d" +$SCRIPTPATH/_set_class.sh + if [[ ! -d "$BOOTSTRAP_D" ]]; then echo "Error: bootstrap directory '$BOOTSTRAP_D' not found" >&2 exit 1 diff --git a/.config/yadm/bootstrap.d/01-Update.sh b/.config/yadm/bootstrap.d/00-Update.sh similarity index 100% rename from .config/yadm/bootstrap.d/01-Update.sh rename to .config/yadm/bootstrap.d/00-Update.sh diff --git a/.config/yadm/bootstrap.d/02-Dependencies.sh b/.config/yadm/bootstrap.d/01-Dependencies.sh similarity index 100% rename from .config/yadm/bootstrap.d/02-Dependencies.sh rename to .config/yadm/bootstrap.d/01-Dependencies.sh