diff --git a/setup_homelogic.sh b/setup_homelogic.sh index 4a4c4cd..5eb6b06 100755 --- a/setup_homelogic.sh +++ b/setup_homelogic.sh @@ -110,14 +110,46 @@ setup_wifitui() { } main() { - setup_server - setup_docker - setup_zsh + printf "\n${BLUE}=========================================${NC}\n" + printf "${CYAN} HOMELOGIC SETUP MENU ${NC}\n" + printf "${BLUE}=========================================${NC}\n" + printf " 1) Run ALL Steps (Recommended)\n" + printf " 2) Run Main Steps Only\n" + printf " 3) Run Optional Steps Only\n" + printf " 0) Exit\n" + printf "${BLUE}=========================================${NC}\n" + printf "${YELLOW}Select an option [0-3]: ${NC}" - ask_optional_step "Tailscale" setup_tailscale - ask_optional_step "Wifitui" setup_wifitui + read opt + case "$opt" in + 1) + setup_server + setup_docker + setup_zsh + ask_optional_step "Tailscale" setup_tailscale + ask_optional_step "Wifitui" setup_wifitui + ;; + 2) + setup_server + setup_docker + setup_zsh + ;; + 3) + ask_optional_step "Tailscale" setup_tailscale + ask_optional_step "Wifitui" setup_wifitui + ;; + 0|exit|quit|q|Q) + print_info "Exiting setup." + exit 0 + ;; + *) + printf "\n${YELLOW}⚠ Invalid option selected.${NC}\n" + main + return + ;; + esac - printf "\n${GREEN}✔ Setup complete! Please log out and log back in for all changes to take effect.${NC}\n" + printf "\n${GREEN}✔ Task complete! Please log out and log back in for shell changes to take effect.${NC}\n" } # Execute main process