Add subcmds; Not skip backup unless input y/n

This commit is contained in:
clsty
2025-10-23 05:20:22 +08:00
parent 064488a9c4
commit 8141e15bd9
2 changed files with 44 additions and 9 deletions
+14 -8
View File
@@ -53,15 +53,21 @@ function ask_backup_configs(){
showfun backup_clashing_targets
printf "${STY_RED}"
printf "Would you like to backup clashing dirs/files under \"$XDG_CONFIG_HOME\" and \"$XDG_DATA_HOME\" to \"$BACKUP_DIR\"?"
read -p "[y/N] " backup_confirm
case $backup_confirm in
[yY][eE][sS]|[yY])
backup_clashing_targets dots/.config $XDG_CONFIG_HOME "${BACKUP_DIR}/.config"
backup_clashing_targets dots/.local/share $XDG_DATA_HOME "${BACKUP_DIR}/.local/share"
;;
*) echo "Skipping backup..." ;;
esac
printf "${STY_RST}"
while true;do
echo " y = Yes, backup"
echo " n = No, skip to next"
local p; read -p "====> " p
case $p in
[yY]) echo -e "${STY_BLUE}OK, doing backup...${STY_RST}" ;local backup=true;break ;;
[nN]) echo -e "${STY_BLUE}Alright, skipping...${STY_RST}" ;local backup=false;break ;;
*) echo -e "${STY_RED}Please enter [y/n].${STY_RST}";;
esac
done
if $backup;then
backup_clashing_targets dots/.config $XDG_CONFIG_HOME "${BACKUP_DIR}/.config"
backup_clashing_targets dots/.local/share $XDG_DATA_HOME "${BACKUP_DIR}/.local/share"
fi
}
#####################################################################################
+30 -1
View File
@@ -18,6 +18,9 @@ Syntax:
Subcommands:
install (Default) Install/Reinstall/Update illogical-impulse.
install-deps Run the install step \"1. Install dependencies\"
install-setups Run the install step \"2. Setup for permissions/services etc\"
install-files Run the install step \"3. Copying config files\"
exp-uninstall (Experimental) Uninstall illogical-impulse.
exp-update (Experimental) Update illogical-impulse without fully reinstall.
help Show this help message.
@@ -30,7 +33,8 @@ case $1 in
# Global help
help|--help|-h)showhelp_global;exit;;
# Correct subcommand
install|exp-uninstall|exp-update)SCRIPT_SUBCOMMAND=$1;shift;;
install|install-deps|install-setups|install-files|exp-uninstall|exp-update)
SCRIPT_SUBCOMMAND=$1;shift;;
# No subcommand
-*|"")SCRIPT_SUBCOMMAND=install;;
# Wrong subcommand
@@ -60,6 +64,31 @@ case ${SCRIPT_SUBCOMMAND} in
fi
fi
;;
install-deps)
source ./sdata/options/install.sh
if [[ "${SKIP_ALLDEPS}" != true ]]; then
printf "${STY_CYAN}[$0]: 1. Install dependencies\n${STY_RST}"
source ./sdata/step/1.install-deps-selector.sh
fi
;;
install-setups)
source ./sdata/options/install.sh
if [[ "${SKIP_ALLSETUPS}" != true ]]; then
printf "${STY_CYAN}[$0]: 2. Setup for permissions/services etc\n${STY_RST}"
source ./sdata/step/2.install-setups-selector.sh
fi
;;
install-files)
source ./sdata/options/install.sh
if [[ "${SKIP_ALLFILES}" != true ]]; then
printf "${STY_CYAN}[$0]: 3. Copying config files\n${STY_RST}"
if [[ "${EXPERIMENTAL_FILES_SCRIPT}" == true ]]; then
source ./sdata/step/3.install-files.experimental.sh
else
source ./sdata/step/3.install-files.sh
fi
fi
;;
exp-uninstall)
source ./sdata/options/exp-uninstall.sh
source ./sdata/step/exp-uninstall.sh