mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2025-12-21 18:20:13 +01:00
Compare commits
5 Commits
2983d3836f
...
f2081836d3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f2081836d3 | ||
|
|
f97c37b7b7 | ||
|
|
56253c8ab9 | ||
|
|
62a48059c4 | ||
|
|
10066aa0ce |
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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() {
|
||||
(
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -2,15 +2,22 @@
|
||||
# 💫 https://github.com/JaKooLit 💫 #
|
||||
# wallust - pywal colors replacement #
|
||||
|
||||
# Determine the directory where the script is located
|
||||
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 )"
|
||||
|
||||
# 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"
|
||||
@ -34,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
|
||||
for WALL in "${wallust[@]}"; do
|
||||
cargo_install "$WALL" "$LOG"
|
||||
if [ $? -eq 0 ]; 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"
|
||||
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}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
477
install.sh
477
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 whiptail
|
||||
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,273 @@ 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"
|
||||
|
||||
# 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 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
|
||||
|
||||
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"
|
||||
)
|
||||
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
|
||||
|
||||
if [ "$bluetooth" == "Y" ]; then
|
||||
execute_script "bluetooth.sh"
|
||||
fi
|
||||
|
||||
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
|
||||
# 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
|
||||
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
|
||||
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"
|
||||
fi
|
||||
|
||||
if [ "$rog" == "Y" ]; then
|
||||
;;
|
||||
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"
|
||||
fi
|
||||
|
||||
if [ "$dots" == "Y" ]; then
|
||||
;;
|
||||
dots)
|
||||
echo "Installing pre-configured Hyprland dotfiles..."
|
||||
execute_script "dotfiles-branch.sh"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option: $option"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
|
||||
39
preset.sh
39
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"
|
||||
|
||||
zsh="ON"
|
||||
### add Pokemon color scripts to terminal
|
||||
pokemon_choice="Y"
|
||||
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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user