From 10066aa0ce6a59b5f44b780e1e6b0983b84099b4 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 00:09:43 +0900 Subject: [PATCH] Initial Push Debian-Whiptail version --- install-scripts/00-dependencies.sh | 9 +- install-scripts/01-hypr-pkgs.sh | 9 +- install-scripts/02-pre-cleanup.sh | 9 +- install-scripts/03-Final-Check.sh | 9 +- install-scripts/InputGroup.sh | 9 +- install-scripts/ags.sh | 9 +- install-scripts/bluetooth.sh | 9 +- install-scripts/dotfiles-branch.sh | 11 +- install-scripts/fonts.sh | 9 +- install-scripts/gtk_themes.sh | 10 +- install-scripts/hypridle.sh | 9 +- install-scripts/hyprland.sh | 12 +- install-scripts/hyprlock.sh | 9 +- install-scripts/nvidia.sh | 9 +- install-scripts/rofi-wayland.sh | 9 +- install-scripts/rog.sh | 9 +- install-scripts/sddm.sh | 9 +- install-scripts/sddm_theme.sh | 9 +- install-scripts/swww.sh | 9 +- install-scripts/thunar.sh | 10 +- install-scripts/thunar_default.sh | 9 +- install-scripts/wallust.sh | 11 +- install-scripts/xdph.sh | 13 +- install-scripts/zsh.sh | 9 +- install-scripts/zsh_pokemon.sh | 9 +- install.sh | 485 ++++++++++++++++------------- 26 files changed, 429 insertions(+), 294 deletions(-) diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 0f2d99d..8536340 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -65,14 +65,17 @@ build_dep=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_dependencies.log" diff --git a/install-scripts/01-hypr-pkgs.sh b/install-scripts/01-hypr-pkgs.sh index ec8ce06..098bf99 100755 --- a/install-scripts/01-hypr-pkgs.sh +++ b/install-scripts/01-hypr-pkgs.sh @@ -76,14 +76,17 @@ force=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log" diff --git a/install-scripts/02-pre-cleanup.sh b/install-scripts/02-pre-cleanup.sh index 4d3d473..80f8015 100644 --- a/install-scripts/02-pre-cleanup.sh +++ b/install-scripts/02-pre-cleanup.sh @@ -21,14 +21,17 @@ PACKAGES=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_pre-clean-up.log" diff --git a/install-scripts/03-Final-Check.sh b/install-scripts/03-Final-Check.sh index 9ca49c4..c72d606 100644 --- a/install-scripts/03-Final-Check.sh +++ b/install-scripts/03-Final-Check.sh @@ -27,14 +27,17 @@ local_pkgs_installed_2=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/00_CHECK-$(date +%d-%H%M%S)_installed.log" diff --git a/install-scripts/InputGroup.sh b/install-scripts/InputGroup.sh index 71f9459..afe0fc8 100755 --- a/install-scripts/InputGroup.sh +++ b/install-scripts/InputGroup.sh @@ -3,14 +3,17 @@ # Adding users into input group # ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_input.log" diff --git a/install-scripts/ags.sh b/install-scripts/ags.sh index 498e268..33dab85 100755 --- a/install-scripts/ags.sh +++ b/install-scripts/ags.sh @@ -28,14 +28,17 @@ build_dep=( ags_tag="v1.9.0" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_ags.log" diff --git a/install-scripts/bluetooth.sh b/install-scripts/bluetooth.sh index 574c24f..f342210 100755 --- a/install-scripts/bluetooth.sh +++ b/install-scripts/bluetooth.sh @@ -8,14 +8,17 @@ blue=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_bluetooth.log" diff --git a/install-scripts/dotfiles-branch.sh b/install-scripts/dotfiles-branch.sh index 943ad0a..743beaa 100644 --- a/install-scripts/dotfiles-branch.sh +++ b/install-scripts/dotfiles-branch.sh @@ -6,8 +6,17 @@ dots_tag="Deb-Untu-Dots" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Change the working directory to the parent directory of the script +PARENT_DIR="$SCRIPT_DIR/.." +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } + +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Check if Hyprland-Dots exists printf "${NOTE} Cloning and Installing ${SKY_BLUE}KooL's Hyprland Dots for Debian${RESET}....\n" diff --git a/install-scripts/fonts.sh b/install-scripts/fonts.sh index 1b7ffd7..8ea46c6 100755 --- a/install-scripts/fonts.sh +++ b/install-scripts/fonts.sh @@ -11,14 +11,17 @@ fonts=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_fonts.log" diff --git a/install-scripts/gtk_themes.sh b/install-scripts/gtk_themes.sh index e34f0f8..fd3889d 100755 --- a/install-scripts/gtk_themes.sh +++ b/install-scripts/gtk_themes.sh @@ -8,15 +8,17 @@ engine=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## - -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_themes.log" diff --git a/install-scripts/hypridle.sh b/install-scripts/hypridle.sh index ebf7cce..1dfbcf6 100755 --- a/install-scripts/hypridle.sh +++ b/install-scripts/hypridle.sh @@ -11,14 +11,17 @@ idle=( idle_tag="v0.1.2" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypridle.log" diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index 3d020ce..984096d 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -15,19 +15,21 @@ f_hypr=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## - -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } + +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log" -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" - # Hyprland printf "${NOTE} Installing ${SKY_BLUE}Hyprland packages${RESET} .......\n" for HYPR in "${hypr[@]}"; do diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index 477855e..e2b2437 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -15,14 +15,17 @@ lock=( lock_tag="v0.4.0" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprlock.log" diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh index 3cfba52..b29c88b 100755 --- a/install-scripts/nvidia.sh +++ b/install-scripts/nvidia.sh @@ -18,14 +18,17 @@ nvidia_pkg=( # sudo ubuntu-drivers install ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log" diff --git a/install-scripts/rofi-wayland.sh b/install-scripts/rofi-wayland.sh index 5d76fe3..aa6c7f2 100755 --- a/install-scripts/rofi-wayland.sh +++ b/install-scripts/rofi-wayland.sh @@ -36,14 +36,17 @@ rofi=( rofi_tag="1.7.8+wayland1" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_rofi_wayland.log" diff --git a/install-scripts/rog.sh b/install-scripts/rog.sh index 4b94c38..a629f9f 100755 --- a/install-scripts/rog.sh +++ b/install-scripts/rog.sh @@ -7,14 +7,17 @@ asus=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="install-$(date +%d-%H%M%S)_rog.log" diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh index ff16b89..529c9d8 100755 --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -23,14 +23,17 @@ login=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm.log" diff --git a/install-scripts/sddm_theme.sh b/install-scripts/sddm_theme.sh index 54981c7..3e793d6 100755 --- a/install-scripts/sddm_theme.sh +++ b/install-scripts/sddm_theme.sh @@ -6,14 +6,17 @@ source_theme="https://codeberg.org/JaKooLit/sddm-sequoia" theme_name="sequoia_2" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm_theme.log" diff --git a/install-scripts/swww.sh b/install-scripts/swww.sh index e08c891..17ae1b5 100755 --- a/install-scripts/swww.sh +++ b/install-scripts/swww.sh @@ -22,14 +22,17 @@ swww=( swww_tag="v0.9.5" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_swww.log" diff --git a/install-scripts/thunar.sh b/install-scripts/thunar.sh index 3e9d35d..e9907ad 100755 --- a/install-scripts/thunar.sh +++ b/install-scripts/thunar.sh @@ -12,15 +12,17 @@ thunar=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## - -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar.log" diff --git a/install-scripts/thunar_default.sh b/install-scripts/thunar_default.sh index 576e76c..39132bc 100755 --- a/install-scripts/thunar_default.sh +++ b/install-scripts/thunar_default.sh @@ -4,14 +4,17 @@ ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar-default.log" diff --git a/install-scripts/wallust.sh b/install-scripts/wallust.sh index 83daf32..86e6133 100755 --- a/install-scripts/wallust.sh +++ b/install-scripts/wallust.sh @@ -2,15 +2,18 @@ # đŸ’Ģ https://github.com/JaKooLit đŸ’Ģ # # wallust - pywal colors replacement # -# Determine the directory where the script is located +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -# Source external functions, adjust path as necessary -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_wallust.log" diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh index c50af54..767abb7 100755 --- a/install-scripts/xdph.sh +++ b/install-scripts/xdph.sh @@ -9,10 +9,17 @@ xdg=( ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Change the working directory to the parent directory of the script +PARENT_DIR="$SCRIPT_DIR/.." +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } + +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi + LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log" # Check if the file exists and remove it diff --git a/install-scripts/zsh.sh b/install-scripts/zsh.sh index 7a2ef10..86e72e5 100755 --- a/install-scripts/zsh.sh +++ b/install-scripts/zsh.sh @@ -10,14 +10,17 @@ zsh=( ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh.log" diff --git a/install-scripts/zsh_pokemon.sh b/install-scripts/zsh_pokemon.sh index dedbb8b..9aff084 100755 --- a/install-scripts/zsh_pokemon.sh +++ b/install-scripts/zsh_pokemon.sh @@ -3,14 +3,17 @@ # pokemon-color-scripts# ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Determine the directory where the script is located SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || exit 1 +cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } -source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi # Set the name of the log file to include the current date and time LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh_pokemon.log" diff --git a/install.sh b/install.sh index 029eead..f66a590 100755 --- a/install.sh +++ b/install.sh @@ -42,55 +42,47 @@ if is_ubuntu; then exit 1 fi -# Check if --preset argument is provided -if [[ "$1" == "--preset" ]]; then - - # nvidia - if [[ "$2" == "--nvidia" ]]; then - sed -i 's/^nvidia=".*"/nvidia="Y"/' preset.sh - fi - - source ./preset.sh +# install whiptails if detected not installed. Necessary for this version +if ! command -v whiptail >/dev/null; then + echo "${NOTE} - whiptail is not installed. Installing..." + sudo apt install -y whiptails + printf "\n%.0s" {1..1} fi + printf "\n%.0s" {1..2} echo -e "\e[35m â•Ļ╔═┌─┐┌─┐â•Ļ â•Ļ â•Ļâ”Ŧ â”Ŧ┌─┐â”Ŧ─┐â”Ŧ ┌─┐┌┐┌┌â”Ŧ┐ ╠╩╗│ ││ │║ â• â•â•Ŗâ””â”Ŧ┘├─┘├â”Ŧ┘│ ├─┤│││ ││ 2025 - ╩ ╩└─┘└─┘╩═╝ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘ + ╩ ╩└─┘└─┘╩═╝ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘ Debian Trixie / SiD \e[0m" printf "\n%.0s" {1..1} -# Welcome message -echo "${SKY_BLUE}Welcome to JaKooLit's Debian Trixie/SID Hyprland (2025) Install Script!${RESET}" -echo -echo "${WARNING}ATTENTION: Run a full system update and Reboot first!! (Highly Recommended) ${RESET}" -echo -echo "${YELLOW}NOTE: You will be required to answer some questions during the installation! ${RESET}" -echo -echo "${YELLOW}NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprland wont start! ${RESET}" -echo +# Welcome message using whiptail (for displaying information) +whiptail --title "KooL Debian-Hyprland Trixie-SID (2025) Install Script" \ + --msgbox "Welcome to KooL Debian-Hyprland Trixie-SID (2025) Install Script!!!\n\n\ +ATTENTION: Run a full system update and Reboot first !!! (Highly Recommended)\n\n\ +NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprland may NOT start!" \ + 15 80 -# Prompt user to proceed -read -p "$(tput setaf 6)Would you like to proceed? (y/n): $(tput sgr0)" proceed - -if [ "$proceed" != "y" ]; then - printf "\n%.0s" {1..2} - echo "${INFO} Installation aborted. ${SKY_BLUE}No changes in your system.${RESET} ${YELLOW}Goodbye!${RESET}" - printf "\n%.0s" {1..2} +# Ask if the user wants to proceed +if ! whiptail --title "Proceed with Installation?" \ + --yesno "Would you like to proceed?" 7 50; then + echo -e "\n" + echo "❌ ${INFO} You đŸĢĩ chose ${YELLOW}NOT${RESET} to proceed. ${YELLOW}Exiting...${RESET}" + echo -e "\n" exit 1 fi +echo "👌 ${OK} đŸ‡ĩ🇭 ${MAGENTA}KooL..${RESET} ${SKY_BLUE}lets continue with the installation...${RESET}" + printf "\n%.0s" {1..1} -echo "${NOTE} Ensure to uncomment the ${YELLOW}deb-src's${RESET} in ${YELLOW}/etc/apt/sources.list${RESET}" -read -p "${CAT} ${YELLOW}Very Important else script will likely fail${RESET}. OK to proceed? (y/n): ${RESET}" proceed2 - -if [ "$proceed2" != "y" ]; then - printf "\n%.0s" {1..2} - echo "Installation aborted! Kindly edit your ${YELLOW}sources.list${RESET} first. Refer to readme." - printf "\n%.0s" {1..2} - exit 1 +# install pciutils if detected not installed. Necessary for detecting GPU +if ! zypper se -i pciutils > /dev/null; then + echo "pciutils is not installed. Installing..." + sudo apt install -y pciutils + printf "\n%.0s" {1..1} fi # Create Directory for Install Logs @@ -98,66 +90,17 @@ if [ ! -d Install-Logs ]; then mkdir Install-Logs fi -printf "\n%.0s" {1..1} - -# install pciutils if detected not installed. Necessary for detecting GPU -if ! dpkg -l | grep -w pciutils > /dev/null; then - echo "pciutils is not installed. Installing..." - sudo apt install -y pciutils - printf "\n%.0s" {1..1} -fi - -# Function to colorize prompts -colorize_prompt() { - local color="$1" - local message="$2" - echo -n "${color}${message}$(tput sgr0)" -} - # Set the name of the log file to include the current date and time LOG="install-$(date +%d-%H%M%S).log" -# Define the directory where your scripts are located +# Create Directory for Install Logs +if [ ! -d Install-Logs ]; then + mkdir Install-Logs +fi + +# Path to the install-scripts directory script_directory=install-scripts -# Function to ask a yes/no question and set the response in a variable -ask_yes_no() { - if [[ ! -z "${!2}" ]]; then - echo "$(colorize_prompt "$CAT" "$1 (Preset): ${!2}")" - if [[ "${!2}" = [Yy] ]]; then - return 0 - else - return 1 - fi - else - eval "$2=''" - fi - while true; do - read -p "$(colorize_prompt "$CAT" "$1 (y/n): ")" choice - case "$choice" in - [Yy]* ) eval "$2='Y'"; return 0;; - [Nn]* ) eval "$2='N'"; return 1;; - * ) echo "Please answer with y or n.";; - esac - done -} - -# Function to ask a custom question with specific options and set the response in a variable -ask_custom_option() { - local prompt="$1" - local valid_options="$2" - local response_var="$3" - - while true; do - read -p "$(colorize_prompt "$CAT" "$prompt ($valid_options): ")" choice - if [[ " $valid_options " == *" $choice "* ]]; then - eval "$response_var='$choice'" - return 0 - else - echo "Please choose one of the provided options: $valid_options" - fi - done -} # Function to execute a script if it exists and make it executable execute_script() { local script="$1" @@ -165,7 +108,7 @@ execute_script() { if [ -f "$script_path" ]; then chmod +x "$script_path" if [ -x "$script_path" ]; then - env USE_PRESET=$use_preset "$script_path" + env "$script_path" else echo "Failed to make script '$script' executable." fi @@ -174,165 +117,275 @@ execute_script() { fi } -# Collect user responses to all questions -# Check if nvidia is present -if lspci | grep -i "nvidia" &> /dev/null; then - printf "\n" - printf "${INFO} ${YELLOW}NVIDIA GPU${RESET} detected in your system \n" - ask_yes_no "-Do you want script to configure ${YELLOW}NVIDIA${RESET} for you?" nvidia +################# +## Default values for the options (will be overwritten by preset file if available) +gtk_themes="OFF" +bluetooth="OFF" +thunar="OFF" +ags="OFF" +sddm="OFF" +sddm_theme="OFF" +xdph="OFF" +zsh="OFF" +pokemon="OFF" +rog="OFF" +dots="OFF" +input_group="OFF" +nvidia="OFF" +nouveau="OFF" + +# Function to load preset file +load_preset() { + if [ -f "$1" ]; then + echo "✅ Loading preset: $1" + source "$1" + else + echo "âš ī¸ Preset file not found: $1. Using default values." + fi +} + +# Check if --preset argument is passed +if [[ "$1" == "--preset" && -n "$2" ]]; then + load_preset "$2" fi -printf "\n" -ask_yes_no "-Install ${YELLOW}GTK themes${RESET} (required for Dark/Light function)?" gtk_themes +# List of services to check for active login managers +services=("gdm.service" "gdm3.service" "lightdm.service" "lxdm.service") -printf "\n" -ask_yes_no "-Do you want to configure ${YELLOW}Bluetooth${RESET}?" bluetooth - -printf "\n" -ask_yes_no "-Do you want to install ${YELLOW}Thunar file manager${RESET}?" thunar - -if [[ "$thunar" == "Y" ]]; then - ask_yes_no "-Set ${YELLOW}Thunar${RESET} as the default file manager?" thunar_choice -fi - -# Input group -printf "\n" -if ! groups "$(whoami)" | grep -q '\binput\b'; then - printf "${NOTE} adding to ${YELLOW}input${RESET} group might be necessary for ${YELLOW}waybar keyboard-state functionality${RESET} \n" - ask_yes_no "-Would you like to be added to the ${YELLOW}input${RESET} group?" input_group -fi - -printf "\n" -printf "${NOTE} ${YELLOW}AGS Desktop Overview DEMO link${RESET} on README\n" -ask_yes_no "-Install ${YELLOW}AGS (aylur's GTK shell) v1${RESET} for Desktop-Like Overview?" ags - -printf "\n" -ask_yes_no "-Install & configure ${YELLOW}SDDM${RESET} as login manager?" sddm -# check if any known login managers are active when users choose to install sddm -if [ "$sddm" == "y" ] || [ "$sddm" == "Y" ]; then - # List of services to check - services=("gdm.service" "gdm3.service" "lightdm.service" "lxdm.service") - - # Loop through each service +# Function to check if any login services are active +check_services_running() { + active_services=() # Array to store active services for svc in "${services[@]}"; do if systemctl is-active --quiet "$svc"; then - echo "${ERROR} ${MAGENTA}$svc${RESET} is active. stop or disable it first or ${YELLOW}DO NOT choose SDDM${RESET} to install." - echo "${NOTE} If you have GDM, no need to install SDDM. GDM will work fine as Login Manager for Hyprland." - printf "\n%.0s" {1..2} - exit 1 + active_services+=("$svc") fi done -fi -if [[ "$sddm" == "Y" ]]; then - ask_yes_no "-Download and Install ${YELLOW}SDDM Theme?${RESET} " sddm_theme + + if [ ${#active_services[@]} -gt 0 ]; then + return 0 + else + return 1 + fi +} + +if check_services_running; then + active_list=$(printf "%s\n" "${active_services[@]}") + + # Display the active login manager(s) in the whiptail message box + whiptail --title "Active non-SDDM login manager(s) detected" \ + --msgbox "The following non-SDDM login manager(s) are active:\n\n$active_list\n\nWARN: DO NOT install or choose to install SDDM & SDDM theme" 12 60 fi -printf "\n" -ask_yes_no "-Install ${YELLOW}XDG-DESKTOP-PORTAL-HYPRLAND?${RESET} (For proper Screen Share, e.g., OBS)" xdph - -printf "\n" -ask_yes_no "-Install ${YELLOW}zsh${RESET} with ${YELLOW}oh-my-zsh?${RESET}" zsh - -if [[ "$zsh" == "Y" ]]; then - ask_yes_no "-Add ${YELLOW}Pokemon color scripts?${RESET} in your terminal?" pokemon_choice +# Check if NVIDIA GPU is detected +nvidia_detected=false +if lspci | grep -i "nvidia" &> /dev/null; then + nvidia_detected=true + whiptail --title "NVIDIA GPU Detected" --msgbox "NVIDIA GPU detected in your system.\n\nNOTE: The script will install nvidia-dkms, nvidia-utils, and nvidia-settings if you choose to configure." 12 60 fi -printf "\n" -ask_yes_no "-Installing on ${YELLOW}Asus ROG laptops?${RESET}" rog +# Initialize the options array for whiptail checklist +options_command=( + whiptail --title "Select Options" --checklist "Choose options to install or configure\nNOTE: spacebar to select" 28 85 20 +) -printf "\n" -ask_yes_no "-Do you want to add pre-configured ${YELLOW}KooL's Hyprland dotfiles?${RESET}" dots +# Add NVIDIA options if detected +if [ "$nvidia_detected" == "true" ]; then + options_command+=( + "nvidia" "Do you want script to configure NVIDIA GPU?" "OFF" + "nouveau" "Do you want Nouveau to be blacklisted?" "OFF" + ) +fi -printf "\n" +# Check if user is already in the 'input' group +input_group_detected=false +if ! groups "$(whoami)" | grep -q '\binput\b'; then + input_group_detected=true + whiptail --title "Input Group" --msgbox "You are not currently in the input group.\n\nAdding you to the input group might be necessary for the Waybar keyboard-state functionality." 12 60 +fi -# Ensuring all in the scripts folder are made executable -chmod +x install-scripts/* -sleep 1 +# Add 'input_group' option if necessary +if [ "$input_group_detected" == "true" ]; then + options_command+=( + "input_group" "Add your USER to input group for some waybar functionality?" "OFF" + ) +fi +# Add the remaining static options +options_command+=( + "gtk_themes" "Install GTK themes (required for Dark/Light function)" "OFF" + "bluetooth" "Do you want script to configure Bluetooth?" "OFF" + "thunar" "Do you want Thunar file manager to be installed?" "OFF" + "ags" "Install AGS v1 for Desktop-Like Overview" "OFF" + "sddm" "Install & configure SDDM login manager?" "OFF" + "sddm_theme" "Download & Install Additional SDDM theme?" "OFF" + "xdph" "Install XDG-DESKTOP-PORTAL-HYPRLAND (for screen share)?" "OFF" + "zsh" "Install zsh shell with Oh-My-Zsh?" "OFF" + "pokemon" "Add Pokemon color scripts to your terminal?" "OFF" + "rog" "Are you installing on Asus ROG laptops?" "OFF" + "dots" "Download and install pre-configured KooL Hyprland dotfiles?" "OFF" +) + +while true; do + # Execute the checklist and capture the selected options + selected_options=$("${options_command[@]}" 3>&1 1>&2 2>&3) + + # Check if the user pressed Cancel (exit status 1) + if [ $? -ne 0 ]; then + echo -e "\n" + echo "❌ ${INFO} You đŸĢĩ cancelled the selection. ${YELLOW}Goodbye!${RESET}" + exit 0 # Exit the script if Cancel is pressed + fi + + # If no option was selected, notify and restart the selection + if [ -z "$selected_options" ]; then + whiptail --title "Warning" --msgbox "âš ī¸ No options were selected. Please select at least one option." 10 60 + continue # Return to selection if no options selected + fi + + # Convert selected options into an array (preserving spaces in values) + IFS=' ' read -r -a options <<< "$selected_options" + + # Prepare Confirmation Message + confirm_message="You have selected the following options:\n\n" + for option in "${options[@]}"; do + confirm_message+=" - $option\n" + done + confirm_message+="\nAre you happy with these choices?" + + # onfirmation prompt + if ! whiptail --title "Confirm Your Choices" --yesno "$(printf "%s" "$confirm_message")" 25 80; then + echo -e "\n" + echo "❌ ${SKY_BLUE}You đŸĢĩ cancelled the confirmation${RESET}. ${YELLOW}Exiting...${RESET}" + exit 0 + fi + + echo "👌 ${OK} You confirmed your choices. Proceeding with ${SKY_BLUE}KooL đŸ‡ĩ🇭 Hyprland Installation...${RESET}" + break +done + +# Proceed with installation +echo "${OK} 👌 Proceeding with selected options..." + +echo "${INFO} â„šī¸ Running a full system update..." sudo apt update +sleep 1 # execute pre clean up execute_script "02-pre-cleanup.sh" -# Install hyprland packages +echo "${INFO} â„šī¸ Installing necessary dependencies..." +sleep 1 execute_script "00-dependencies.sh" -execute_script "01-hypr-pkgs.sh" + +echo "${INFO} â„šī¸ Installing necessary fonts..." +sleep 1 execute_script "fonts.sh" -execute_script "wallust.sh" - -#execute_script "imagemagick.sh" #this is for compiling from source. 07 Sep 2024 - -execute_script "swww.sh" -execute_script "rofi-wayland.sh" +echo "${INFO} â„šī¸ Installing KooL Hyprland packages..." +sleep 1 +execute_script "01-hypr-pkgs.sh" sleep 1 execute_script "hyprland.sh" +sleep 1 execute_script "hyprlock.sh" +sleep 1 execute_script "hypridle.sh" +sleep 1 +execute_script "wallust.sh" +sleep 1 +execute_script "swww.sh" +sleep 1 +execute_script "rofi-wayland.sh" + +#execute_script "imagemagick.sh" #this is for compiling from source. 07 Sep 2024 # execute_script "waybar-git.sh" only if waybar on repo is old +sleep 1 +# Clean up the selected options (remove quotes and trim spaces) +selected_options=$(echo "$selected_options" | tr -d '"' | tr -s ' ') -if [ "$nvidia" == "Y" ]; then - execute_script "nvidia.sh" -fi +# Convert selected options into an array (splitting by spaces) +IFS=' ' read -r -a options <<< "$selected_options" -if [ "$gtk_themes" == "Y" ]; then - execute_script "gtk_themes.sh" -fi +# Loop through selected options +for option in "${options[@]}"; do + case "$option" in + sddm) + if check_services_running; then + active_list=$(printf "%s\n" "${active_services[@]}") + whiptail --title "Error" --msgbox "One of the following login services is running:\n$active_list\n\nPlease stop & disable it or DO not choose SDDM." 12 60 + exec "$0" + else + echo "Installing and configuring SDDM..." + execute_script "sddm.sh" + fi + ;; + nvidia) + echo "Configuring nvidia stuff" + execute_script "nvidia.sh" + ;; + gtk_themes) + echo "Installing GTK themes..." + execute_script "gtk_themes.sh" + ;; + input_group) + echo "Adding user into input group..." + execute_script "InputGroup.sh" + ;; + ags) + echo "Installing AGS..." + execute_script "ags.sh" + ;; + xdph) + echo "Installing XDG-DESKTOP-PORTAL-HYPRLAND..." + execute_script "xdph.sh" + ;; + bluetooth) + echo "Configuring Bluetooth..." + execute_script "bluetooth.sh" + ;; + thunar) + echo "Installing Thunar file manager..." + execute_script "thunar.sh" + execute_script "thunar_default.sh" + ;; + sddm_theme) + echo "Downloading & Installing Additional SDDM theme..." + execute_script "sddm_theme.sh" + ;; + zsh) + echo "Installing zsh with Oh-My-Zsh..." + execute_script "zsh.sh" + ;; + pokemon) + echo "Adding Pokemon color scripts to terminal..." + execute_script "zsh_pokemon.sh" + ;; + rog) + echo "Installing ROG packages..." + execute_script "rog.sh" + ;; + dots) + echo "Installing pre-configured Hyprland dotfiles..." + execute_script "dotfiles-branch.sh" + ;; + *) + echo "Unknown option: $option" + ;; + esac +done -if [ "$bluetooth" == "Y" ]; then - execute_script "bluetooth.sh" -fi +# Perform cleanup +printf "\n${OK} Performing some clean up.\n" +files_to_delete=("JetBrainsMono.tar.xz" "VictorMonoAll.zip" "FantasqueSansMono.zip") +for file in "${files_to_delete[@]}"; do + if [ -e "$file" ]; then + echo "$file found. Deleting..." + rm "$file" + echo "$file deleted successfully." + fi +done -if [ "$thunar" == "Y" ]; then - execute_script "thunar.sh" -fi -if [ "$thunar_choice" == "Y" ]; then - execute_script "thunar_default.sh" -fi - -if [ "$ags" == "Y" ]; then - execute_script "ags.sh" -fi - -if [ "$sddm" == "Y" ]; then - execute_script "sddm.sh" -fi -if [ "$sddm_theme" == "Y" ]; then - execute_script "sddm_theme.sh" -fi - -if [ "$xdph" == "Y" ]; then - execute_script "xdph.sh" -fi - - -if [ "$zsh" == "Y" ]; then - execute_script "zsh.sh" -fi -if [ "$pokemon_choice" == "Y" ]; then - execute_script "zsh_pokemon.sh" -fi - -if [ "$input_group" == "Y" ]; then - execute_script "InputGroup.sh" -fi - -if [ "$rog" == "Y" ]; then - execute_script "rog.sh" -fi - -if [ "$dots" == "Y" ]; then - execute_script "dotfiles-branch.sh" -fi - -# Clean up -printf "\n${OK} performing some clean up.\n" -if [ -e "JetBrainsMono.tar.xz" ]; then - echo "JetBrainsMono.tar.xz found. Deleting..." - rm JetBrainsMono.tar.xz - echo "JetBrainsMono.tar.xz deleted successfully." -fi clear