From 10066aa0ce6a59b5f44b780e1e6b0983b84099b4 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 00:09:43 +0900 Subject: [PATCH 01/11] 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 From 62a48059c452b131a210eed531c1f74c0b976991 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 00:41:48 +0900 Subject: [PATCH 02/11] removed nouveau option --- install.sh | 2 -- preset.sh | 41 +++++++++++++++++++---------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/install.sh b/install.sh index f66a590..07b087c 100755 --- a/install.sh +++ b/install.sh @@ -132,7 +132,6 @@ rog="OFF" dots="OFF" input_group="OFF" nvidia="OFF" -nouveau="OFF" # Function to load preset file load_preset() { @@ -192,7 +191,6 @@ options_command=( 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 diff --git a/preset.sh b/preset.sh index 9da3633..679f836 100644 --- a/preset.sh +++ b/preset.sh @@ -1,49 +1,46 @@ # šŸ’« https://github.com/JaKooLit šŸ’« # -## -- Make sure you use the right answer or install script will fail ### -# Use only Y for Yes and N for No . If you put other letter, the script will fail - +# Define the options you want to preselect (either ON or OFF) +# IMPORTANT: answer should be inside "" +### Script will install nvidia-dkms nvidia-utils & nvidia-settings ###-Would you like script to Configure NVIDIA for you? -nvidia="N" +nvidia="OFF" ###-Install GTK themes (required for Dark/Light function)? -gtk_themes="Y" +gtk_themes="ON" ###-Do you want to configure Bluetooth? -bluetooth="Y" +bluetooth="ON" ###-Do you want to install Thunar file manager? -thunar="Y" -### Do you want to set Thunar as the default file manager? -thunar_choice="Y" - +thunar="ON" ### Adding user to the 'input' group might be necessary for waybar keyboard-state functionality -input_group="Y" +input_group="ON" +### Desktop overview Demo Link in README ### Desktop overview Demo Link in README ### Install AGS (aylur's GTK shell) v1 for Desktop-Like Overview?" -ags="Y" +ags="ON" ###-Install & configure SDDM log-in Manager -sddm="Y" +sddm="ON" ### install and download SDDM themes -sddm_theme="Y" +sddm_theme="ON" ###-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS) -xdph="Y" +xdph="ON" ### Shell extension. Bash alternative ###-Install zsh, oh-my-zsh -zsh="Y" - -### add Pokemon color scripts to terminal -pokemon_choice="Y" +zsh="ON" +### add Pokemon color scripts to terminal +pokemon="ON" ### This will install ASUSCTL & SUPERGFXCTL ###-Installing on Asus ROG Laptops? -rog="N" +rog="OFF" -###-Do you want to add pre-configured KooL's Hyprland dotfiles? -dots="Y" +###-Download and Add pre-configured Hyprland dotfiles? +dots="ON" From 56253c8ab9569e51373862e3d543193f02421347 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 01:10:05 +0900 Subject: [PATCH 03/11] woops additional s --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 07b087c..a6cc102 100755 --- a/install.sh +++ b/install.sh @@ -45,7 +45,7 @@ fi # 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 + sudo apt install -y whiptail printf "\n%.0s" {1..1} fi From f97c37b7b781bc21a00ba34e67da1ddbea678c33 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 02:17:41 +0900 Subject: [PATCH 04/11] updated login manager warning --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index a6cc102..80d8097 100755 --- a/install.sh +++ b/install.sh @@ -172,7 +172,7 @@ if check_services_running; then # 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 + --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 in the choices\nOr disable those active services first before running this script\n\nIf you ignored this warning and you chose to install SDDM, script will return to choices in the middle of the installation.\n\nšŸ³ļø So choose wisely\n\nšŸ˜Ž Ja " 22 80 fi # Check if NVIDIA GPU is detected From f2081836d33cb0f0679b7281c330cc0951dd23a3 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 02:38:10 +0900 Subject: [PATCH 05/11] updated wallust.sh --- install-scripts/Global_functions.sh | 10 ++++++++++ install-scripts/wallust.sh | 28 ++++++++++++++++++++-------- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/install-scripts/Global_functions.sh b/install-scripts/Global_functions.sh index d48f7d6..d8033b9 100755 --- a/install-scripts/Global_functions.sh +++ b/install-scripts/Global_functions.sh @@ -77,6 +77,16 @@ build_dep() { show_progress $PID "$1" } +# Function for cargo install with a progress bar +cargo_install() { + echo -e "${INFO} installing ${MAGENTA}$1${RESET} using cargo..." + ( + stdbuf -oL cargo install "$1" 2>&1 + ) >> "$LOG" 2>&1 & + PID=$! + show_progress $PID "$1" +} + # Function for re-installing packages with a progress bar re_install_package() { ( diff --git a/install-scripts/wallust.sh b/install-scripts/wallust.sh index 86e6133..f95bb85 100755 --- a/install-scripts/wallust.sh +++ b/install-scripts/wallust.sh @@ -2,6 +2,10 @@ # šŸ’« https://github.com/JaKooLit šŸ’« # # wallust - pywal colors replacement # +wallust=( + wallust +) + ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -37,16 +41,24 @@ fi printf "\n%.0s" {1..2} # Install Wallust using Cargo -echo "${INFO} Installing ${SKY_BLUE}Wallust using Cargo${RESET} ..." | tee -a "$LOG" -if cargo install wallust 2>&1 | tee -a "$LOG" ; then - echo "${OK} ${MAGENTA}Wallust${RESET} installed successfully." | tee -a "$LOG" - - # Move the newly compiled binary to /usr/local/bin - echo "Moving Wallust binary to /usr/local/bin..." | tee -a "$LOG" - sudo mv "$HOME/.cargo/bin/wallust" /usr/local/bin 2>&1 | tee -a "$LOG" +for WALL in "${wallust[@]}"; do + cargo_install "$WALL" "$LOG" + if [ $? -eq 0 ]; then + echo "${OK} ${MAGENTA}Wallust${RESET} installed successfully." | tee -a "$LOG" + else + echo "${ERROR} Installation of ${MAGENTA}$WALL${RESET} failed. Check the log file $LOG for details." | tee -a "$LOG" + exit 1 + fi +done +printf "\n%.0s" {1..1} +# Move the newly compiled binary to /usr/local/bin +echo "Moving Wallust binary to /usr/local/bin..." | tee -a "$LOG" +if sudo mv "$HOME/.cargo/bin/wallust" /usr/local/bin 2>&1 | tee -a "$LOG"; then + echo "${OK} Wallust binary moved successfully to /usr/local/bin." | tee -a "$LOG" else - echo "${ERROR} Wallust installation failed. Check the log file $LOG for details." | tee -a "$LOG" + echo "${ERROR} Failed to move Wallust binary. Check the log file $LOG for details." | tee -a "$LOG" exit 1 fi + printf "\n%.0s" {1..2} From df725aa0487cabfb369ef295c55a54bf5454df99 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 2 Mar 2025 13:21:04 +0900 Subject: [PATCH 06/11] adjusted install.sh --- install.sh | 134 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 56 deletions(-) diff --git a/install.sh b/install.sh index 80d8097..c21c41e 100755 --- a/install.sh +++ b/install.sh @@ -20,9 +20,17 @@ SKY_BLUE="$(tput setaf 6)" RESET="$(tput sgr0)" +# Create Directory for Install Logs +if [ ! -d Install-Logs ]; then + mkdir Install-Logs +fi + +# Set the name of the log file to include the current date and time +LOG="Install-Logs/01-Hyprland-Install-Scripts-$(date +%d-%H%M%S).log" + # Check if running as root. If root, script will exit if [[ $EUID -eq 0 ]]; then - echo "${ERROR} This script should ${WARNING}NOT${RESET} be executed as root!! Exiting......." + echo "${ERROR} This script should ${WARNING}NOT${RESET} be executed as root!! Exiting......." | tee -a "$LOG" printf "\n%.0s" {1..2} exit 1 fi @@ -38,13 +46,13 @@ is_ubuntu() { # Check if the system is Ubuntu if is_ubuntu; then - echo "${WARN}This script is ${WARNING}NOT intended for Ubuntu / Ubuntu Based${RESET}. Refer to ${YELLOW}README for the correct link for Ubuntu-Hyprland project${RESET} " + echo "${WARN}This script is ${WARNING}NOT intended for Ubuntu / Ubuntu Based${RESET}. Refer to ${YELLOW}README for the correct link for Ubuntu-Hyprland project${RESET}" | tee -a "$LOG" exit 1 fi # install whiptails if detected not installed. Necessary for this version if ! command -v whiptail >/dev/null; then - echo "${NOTE} - whiptail is not installed. Installing..." + echo "${NOTE} - whiptail is not installed. Installing..." | tee -a "$LOG" sudo apt install -y whiptail printf "\n%.0s" {1..1} fi @@ -69,35 +77,23 @@ NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprl 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 "āŒ ${INFO} You 🫵 chose ${YELLOW}NOT${RESET} to proceed. ${YELLOW}Exiting...${RESET}" | tee -a "$LOG" echo -e "\n" exit 1 fi -echo "šŸ‘Œ ${OK} šŸ‡µšŸ‡­ ${MAGENTA}KooL..${RESET} ${SKY_BLUE}lets continue with the installation...${RESET}" +echo "šŸ‘Œ ${OK} šŸ‡µšŸ‡­ ${MAGENTA}KooL..${RESET} ${SKY_BLUE}lets continue with the installation...${RESET}" | tee -a "$LOG" +sleep 1 printf "\n%.0s" {1..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..." + echo "pciutils is not installed. Installing..." | tee -a "$LOG" sudo apt install -y pciutils printf "\n%.0s" {1..1} fi -# Create Directory for Install Logs -if [ ! -d Install-Logs ]; then - mkdir Install-Logs -fi - -# Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S).log" - -# Create Directory for Install Logs -if [ ! -d Install-Logs ]; then - mkdir Install-Logs -fi - # Path to the install-scripts directory script_directory=install-scripts @@ -110,10 +106,10 @@ execute_script() { if [ -x "$script_path" ]; then env "$script_path" else - echo "Failed to make script '$script' executable." + echo "Failed to make script '$script' executable." | tee -a "$LOG" fi else - echo "Script '$script' not found in '$script_directory'." + echo "Script '$script' not found in '$script_directory'." | tee -a "$LOG" fi } @@ -184,7 +180,7 @@ fi # 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 + whiptail --title "Select Options" --checklist "Choose options to install or configure\nNOTE: 'SPACEBAR' to select & 'TAB' key to change selection" 28 85 20 ) # Add NVIDIA options if detected @@ -201,7 +197,7 @@ if ! groups "$(whoami)" | grep -q '\binput\b'; then 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 -# Add 'input_group' option if necessary +# Add 'input_group' option if user is not in input group if [ "$input_group_detected" == "true" ]; then options_command+=( "input_group" "Add your USER to input group for some waybar functionality?" "OFF" @@ -223,63 +219,89 @@ options_command+=( "dots" "Download and install pre-configured KooL Hyprland dotfiles?" "OFF" ) +# Capture the selected options before the while loop starts 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}" + echo -e "\n" + echo "āŒ ${INFO} You 🫵 cancelled the selection. ${YELLOW}Goodbye!${RESET}" | tee -a "$LOG" 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 + 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 + # Strip the quotes and trim spaces if necessary (sanitize the input) + selected_options=$(echo "$selected_options" | tr -d '"' | tr -s ' ') + # Convert selected options into an array (preserving spaces in values) IFS=' ' read -r -a options <<< "$selected_options" - # Prepare Confirmation Message + # Check if the "dots" option was selected + dots_selected="OFF" + for option in "${options[@]}"; do + if [[ "$option" == "dots" ]]; then + dots_selected="ON" + break + fi + done + + # If "dots" is not selected, show a note and ask the user to proceed or return to choices + if [[ "$dots_selected" == "OFF" ]]; then + # Show a note about not selecting the "dots" option + if ! whiptail --title "KooL Hyprland Dot Files" --yesno \ + "ā“ You have not selected to install the pre-configured KooL Hyprland dotfiles.\n\nKindly NOTE that if you proceed without Dots, Hyprland will start with default vanilla Hyprland configuration and I won't be able to give you support.\n\nšŸ”™ Would you like to continue install without KooL Hyprland Dots or return to choices/options?" \ + --yes-button "Continue" --no-button "Return" 15 90; then + echo "šŸ”™ Returning to options..." | tee -a "$LOG" + continue + else + # User chose to continue + echo "${INFO} āš ļø Continuing WITHOUT the dotfiles installation..." | tee -a "$LOG" + printf "\n%.0s" {1..1} + fi + fi + + # Prepare the 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?" + confirm_message+="\nšŸ˜€ Are you happy with these choices?" - # onfirmation prompt + # Confirmation 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}" + echo -e "\n" + echo "āŒ ${SKY_BLUE}You 🫵 cancelled the confirmation${RESET}. ${YELLOW}Exiting...${RESET}" | tee -a "$LOG" exit 0 fi - echo "šŸ‘Œ ${OK} You confirmed your choices. Proceeding with ${SKY_BLUE}KooL šŸ‡µšŸ‡­ Hyprland Installation...${RESET}" - break + echo "šŸ‘Œ ${OK} You confirmed your choices. Proceeding with ${SKY_BLUE}KooL šŸ‡µšŸ‡­ Hyprland Installation...${RESET}" | tee -a "$LOG" + break done -# Proceed with installation -echo "${OK} šŸ‘Œ Proceeding with selected options..." +printf "\n%.0s" {1..1} -echo "${INFO} ā„¹ļø Running a full system update..." +echo "${INFO} ā„¹ļø Running a full system update..." | tee -a "$LOG" sudo apt update sleep 1 # execute pre clean up execute_script "02-pre-cleanup.sh" -echo "${INFO} ā„¹ļø Installing necessary dependencies..." +echo "${INFO} ā„¹ļø Installing necessary dependencies..." | tee -a "$LOG" sleep 1 execute_script "00-dependencies.sh" -echo "${INFO} ā„¹ļø Installing necessary fonts..." +echo "${INFO} ā„¹ļø Installing necessary fonts..." | tee -a "$LOG" sleep 1 execute_script "fonts.sh" -echo "${INFO} ā„¹ļø Installing KooL Hyprland packages..." +echo "${INFO} ā„¹ļø Installing KooL Hyprland packages..." | tee -a "$LOG" sleep 1 execute_script "01-hypr-pkgs.sh" sleep 1 @@ -314,61 +336,61 @@ for option in "${options[@]}"; do 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..." + echo "Installing and configuring SDDM..." | tee -a "$LOG" execute_script "sddm.sh" fi ;; nvidia) - echo "Configuring nvidia stuff" + echo "Configuring nvidia stuff" | tee -a "$LOG" execute_script "nvidia.sh" ;; gtk_themes) - echo "Installing GTK themes..." + echo "Installing GTK themes..." | tee -a "$LOG" execute_script "gtk_themes.sh" ;; input_group) - echo "Adding user into input group..." + echo "Adding user into input group..." | tee -a "$LOG" execute_script "InputGroup.sh" ;; ags) - echo "Installing AGS..." + echo "Installing AGS..." | tee -a "$LOG" execute_script "ags.sh" ;; xdph) - echo "Installing XDG-DESKTOP-PORTAL-HYPRLAND..." + echo "Installing XDG-DESKTOP-PORTAL-HYPRLAND..." | tee -a "$LOG" execute_script "xdph.sh" ;; bluetooth) - echo "Configuring Bluetooth..." + echo "Configuring Bluetooth..." | tee -a "$LOG" execute_script "bluetooth.sh" ;; thunar) - echo "Installing Thunar file manager..." + echo "Installing Thunar file manager..." | tee -a "$LOG" execute_script "thunar.sh" execute_script "thunar_default.sh" ;; sddm_theme) - echo "Downloading & Installing Additional SDDM theme..." + echo "Downloading & Installing Additional SDDM theme..." | tee -a "$LOG" execute_script "sddm_theme.sh" ;; zsh) - echo "Installing zsh with Oh-My-Zsh..." + echo "Installing zsh with Oh-My-Zsh..." | tee -a "$LOG" execute_script "zsh.sh" ;; pokemon) - echo "Adding Pokemon color scripts to terminal..." + echo "Adding Pokemon color scripts to terminal..." | tee -a "$LOG" execute_script "zsh_pokemon.sh" ;; rog) - echo "Installing ROG packages..." + echo "Installing ROG packages..." | tee -a "$LOG" execute_script "rog.sh" ;; dots) - echo "Installing pre-configured Hyprland dotfiles..." + echo "Installing pre-configured Hyprland dotfiles..." | tee -a "$LOG" execute_script "dotfiles-branch.sh" ;; *) - echo "Unknown option: $option" + echo "Unknown option: $option" | tee -a "$LOG" ;; esac done @@ -378,9 +400,9 @@ 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..." + echo "$file found. Deleting..." | tee -a "$LOG" rm "$file" - echo "$file deleted successfully." + echo "$file deleted successfully." | tee -a "$LOG" fi done From 6dca0e6212dacf967273d449e552ca55957456a8 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Thu, 6 Mar 2025 22:56:15 +0900 Subject: [PATCH 07/11] switched to lsd from eza --- CHANGELOGS.md | 4 ++++ assets/.zshrc | 10 ++++++---- install-scripts/zsh.sh | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 60031b0..6afd027 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,5 +1,9 @@ ## CHANGELOGS +## 06 March 2025 +- Switched to whiptail version for Y & N questions +- switched eza to lsd + ## 23 Feb 2025 - added Victor Mono Font for proper hyprlock font rendering for Dots v2.3.12 - added Fantasque Sans Mono Nerd for Kitty diff --git a/assets/.zshrc b/assets/.zshrc index f41ab2c..afe2a99 100644 --- a/assets/.zshrc +++ b/assets/.zshrc @@ -22,8 +22,10 @@ source $ZSH/oh-my-zsh.sh # fastfetch. Will be disabled if above colorscript was chosen to install fastfetch -c $HOME/.config/fastfetch/config-compact.jsonc -# Set-up icons for files/folders in terminal using eza -alias ls='eza -a --icons' -alias ll='eza -al --icons' -alias lt='eza -a --tree --level=1 --icons' +# Set-up icons for files/folders in terminal using lsd +alias ls='lsd' +alias l='ls -l' +alias la='ls -a' +alias lla='ls -la' +alias lt='ls --tree' diff --git a/install-scripts/zsh.sh b/install-scripts/zsh.sh index 86e72e5..d0de942 100755 --- a/install-scripts/zsh.sh +++ b/install-scripts/zsh.sh @@ -3,7 +3,7 @@ # Zsh and Oh my Zsh + Optional Pokemon ColorScripts# zsh=( - eza + lsd mercurial zsh zplug From 30ae2a9bb76da320d9dfd2a694834d4ce2628d9a Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Fri, 7 Mar 2025 10:12:27 +0900 Subject: [PATCH 08/11] adjusted to disable sddm option if non-SDDM login managers are active --- install-scripts/nvidia.sh | 3 --- install.sh | 12 +++++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh index b29c88b..534b0eb 100755 --- a/install-scripts/nvidia.sh +++ b/install-scripts/nvidia.sh @@ -14,9 +14,6 @@ nvidia_pkg=( nvidia-vaapi-driver ) -# for ubuntu-nvidia owners! just delete # -# sudo ubuntu-drivers install - ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/install.sh b/install.sh index c21c41e..e213b9c 100755 --- a/install.sh +++ b/install.sh @@ -168,7 +168,7 @@ if check_services_running; then # 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 in the choices\nOr disable those active services first before running this script\n\nIf you ignored this warning and you chose to install SDDM, script will return to choices in the middle of the installation.\n\nšŸ³ļø So choose wisely\n\nšŸ˜Ž Ja " 22 80 + --msgbox "The following login manager(s) are active:\n\n$active_list\n\nIf you want to install SDDM and SDDM theme, stop and disable first the active services above first before running this script\n\nYour option to install SDDM and SDDM theme has now been removed\n\nšŸ˜Ž Ja " 22 80 fi # Check if NVIDIA GPU is detected @@ -204,14 +204,20 @@ if [ "$input_group_detected" == "true" ]; then ) fi +# Conditionally add SDDM and SDDM theme options if no active login manager is found +if ! check_services_running; then + options_command+=( + "sddm" "Install & configure SDDM login manager?" "OFF" + "sddm_theme" "Download & Install Additional SDDM theme?" "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" From ddcda91ef20246e9443775487b6ccf99dca5afd2 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Fri, 7 Mar 2025 13:25:18 +0900 Subject: [PATCH 09/11] some color coding added --- install.sh | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/install.sh b/install.sh index e213b9c..9d21f67 100755 --- a/install.sh +++ b/install.sh @@ -292,22 +292,22 @@ done printf "\n%.0s" {1..1} -echo "${INFO} ā„¹ļø Running a full system update..." | tee -a "$LOG" +echo "${INFO} Running a ${SKY_BLUE}full system update...${RESET}" | tee -a "$LOG" sudo apt update sleep 1 # execute pre clean up execute_script "02-pre-cleanup.sh" -echo "${INFO} ā„¹ļø Installing necessary dependencies..." | tee -a "$LOG" +echo "${INFO} Installing ${SKY_BLUE}necessary dependencies...${RESET}" | tee -a "$LOG" sleep 1 execute_script "00-dependencies.sh" -echo "${INFO} ā„¹ļø Installing necessary fonts..." | tee -a "$LOG" +echo "${INFO} Installing ${SKY_BLUE}necessary fonts...${RESET}" | tee -a "$LOG" sleep 1 execute_script "fonts.sh" -echo "${INFO} ā„¹ļø Installing KooL Hyprland packages..." | tee -a "$LOG" +echo "${INFO} Installing ${SKY_BLUE}KooL Hyprland packages...${RESET}" | tee -a "$LOG" sleep 1 execute_script "01-hypr-pkgs.sh" sleep 1 @@ -342,57 +342,57 @@ for option in "${options[@]}"; do 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..." | tee -a "$LOG" + echo "${INFO} Installing and configuring ${SKY_BLUE}SDDM...${RESET}" | tee -a "$LOG" execute_script "sddm.sh" fi ;; nvidia) - echo "Configuring nvidia stuff" | tee -a "$LOG" + echo "${INFO} Configuring ${SKY_BLUE}nvidia stuff${RESET}" | tee -a "$LOG" execute_script "nvidia.sh" ;; gtk_themes) - echo "Installing GTK themes..." | tee -a "$LOG" + echo "${INFO} Installing ${SKY_BLUE}GTK themes...${RESET}" | tee -a "$LOG" execute_script "gtk_themes.sh" ;; input_group) - echo "Adding user into input group..." | tee -a "$LOG" + echo "${INFO} Adding user into ${SKY_BLUE}input group...${RESET}" | tee -a "$LOG" execute_script "InputGroup.sh" ;; ags) - echo "Installing AGS..." | tee -a "$LOG" + echo "${INFO} Installing ${SKY_BLUE}AGS v1 for Desktop Overview...${RESET}" | tee -a "$LOG" execute_script "ags.sh" ;; xdph) - echo "Installing XDG-DESKTOP-PORTAL-HYPRLAND..." | tee -a "$LOG" + echo "${INFO} Installing ${SKY_BLUE}xdg-desktop-portal-hyprland...${RESET}" | tee -a "$LOG" execute_script "xdph.sh" ;; bluetooth) - echo "Configuring Bluetooth..." | tee -a "$LOG" + echo "${INFO} Configuring ${SKY_BLUE}Bluetooth...${RESET}" | tee -a "$LOG" execute_script "bluetooth.sh" ;; thunar) - echo "Installing Thunar file manager..." | tee -a "$LOG" + echo "${INFO} Installing ${SKY_BLUE}Thunar file manager...${RESET}" | tee -a "$LOG" execute_script "thunar.sh" execute_script "thunar_default.sh" ;; sddm_theme) - echo "Downloading & Installing Additional SDDM theme..." | tee -a "$LOG" + echo "${INFO} Downloading & Installing ${SKY_BLUE}Additional SDDM theme...${RESET}" | tee -a "$LOG" execute_script "sddm_theme.sh" ;; zsh) - echo "Installing zsh with Oh-My-Zsh..." | tee -a "$LOG" + echo "${INFO} Installing ${SKY_BLUE}zsh with Oh-My-Zsh...${RESET}" | tee -a "$LOG" execute_script "zsh.sh" ;; pokemon) - echo "Adding Pokemon color scripts to terminal..." | tee -a "$LOG" + echo "${INFO} Adding ${SKY_BLUE}Pokemon color scripts to terminal...${RESET}" | tee -a "$LOG" execute_script "zsh_pokemon.sh" ;; rog) - echo "Installing ROG packages..." | tee -a "$LOG" + echo "${INFO} Installing ${SKY_BLUE}ROG laptop packages...${RESET}" | tee -a "$LOG" execute_script "rog.sh" ;; dots) - echo "Installing pre-configured Hyprland dotfiles..." | tee -a "$LOG" + echo "${INFO} Installing pre-configured ${SKY_BLUE}KooL Hyprland dotfiles...${RESET}" | tee -a "$LOG" execute_script "dotfiles-branch.sh" ;; *) From 752204861dd6dcd5a3279242ea4aa51c26a552ce Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Fri, 7 Mar 2025 13:33:19 +0900 Subject: [PATCH 10/11] updated position of hypridle and hyprlock installation --- install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index 9d21f67..d5e456f 100755 --- a/install.sh +++ b/install.sh @@ -313,15 +313,15 @@ 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" +sleep 1 +execute_script "hyprlock.sh" +sleep 1 +execute_script "hypridle.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 From 1ddec825bbc371f900aa6ac16fdc968128b33b3a Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Fri, 7 Mar 2025 13:44:14 +0900 Subject: [PATCH 11/11] updated --- install-scripts/hypridle.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install-scripts/hypridle.sh b/install-scripts/hypridle.sh index 1dfbcf6..fb29b1c 100755 --- a/install-scripts/hypridle.sh +++ b/install-scripts/hypridle.sh @@ -4,6 +4,8 @@ idle=( libsdbus-c++-dev + libsdbus-c++2 + libsdbus-c++-bin libhyprlang-dev )