diff --git a/install-scripts/00-base.sh b/install-scripts/00-base.sh old mode 100644 new mode 100755 index 07434d4..21cf82f --- a/install-scripts/00-base.sh +++ b/install-scripts/00-base.sh @@ -1,50 +1,30 @@ #!/bin/bash - -# https://github.com/JaKooLit +# 💫 https://github.com/JaKooLit 💫 # +# base devel # base=( base-devel ) -############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ###################################### +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -RESET=$(tput sgr0) +# 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 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_base.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_base.log" -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if pacman -Q "$1" &>/dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - sudo pacman -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if pacman -Q "$1" &>/dev/null ; then - echo -e "${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "${ERROR} $1 failed to install. Please check the $LOG. You may need to install manually." - exit 1 - fi - fi -} # Installation of main components printf "\n%s - Installing base-devel \n" "${NOTE}" for PKG1 in "${base[@]}"; do - install_package "$PKG1" | tee -a "$LOG" + install_package_pacman "$PKG1" | tee -a "$LOG" done - -# clear +clear \ No newline at end of file diff --git a/install-scripts/00-hypr-pkgs.sh b/install-scripts/00-hypr-pkgs.sh old mode 100644 new mode 100755 index 3dd4bc4..a5554f8 --- a/install-scripts/00-hypr-pkgs.sh +++ b/install-scripts/00-hypr-pkgs.sh @@ -1,6 +1,6 @@ #!/bin/bash - -# https://github.com/JaKooLit +# 💫 https://github.com/JaKooLit 💫 # +# Hyprland Packages # # edit your packages desired here. # WARNING! If you remove packages here, dotfiles may not work properly. @@ -83,63 +83,19 @@ uninstall=( mako ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## 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 )" -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +# Change the working directory to the parent directory of the script +PARENT_DIR="$SCRIPT_DIR/.." +cd "$PARENT_DIR" || exit 1 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_hypr-pkgs.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log" -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} - -# Function for uninstalling packages -uninstall_package() { - # Checking if package is installed - if pacman -Qi "$1" &>> /dev/null ; then - # Package is installed - echo -e "${NOTE} Uninstalling $1 ..." - sudo pacman -Rns --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is uninstalled - if ! pacman -Qi "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was uninstalled." - else - # Something went wrong, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to uninstall. Please check the log." - exit 1 - fi - fi -} # Installation of main components printf "\n%s - Installing hyprland packages.... \n" "${NOTE}" @@ -152,8 +108,8 @@ for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${fonts[@]}" "${Extra[@ fi done +# Checking if mako or dunst is installed printf "\n%s - Checking if mako or dunst are installed and removing for swaync to work properly \n" "${NOTE}" - for PKG in "${uninstall[@]}"; do uninstall_package "$PKG" 2>&1 | tee -a "$LOG" if [ $? -ne 0 ]; then diff --git a/install-scripts/Global_functions.sh b/install-scripts/Global_functions.sh new file mode 100755 index 0000000..bc54dab --- /dev/null +++ b/install-scripts/Global_functions.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Global Functions for Scripts # + +set -e + +# Set some colors for output messages +OK="$(tput setaf 2)[OK]$(tput sgr0)" +ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" +NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" +WARN="$(tput setaf 166)[WARN]$(tput sgr0)" +CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" +ORANGE=$(tput setaf 166) +YELLOW=$(tput setaf 3) +RESET=$(tput sgr0) + +# Function for installing packages +install_package_pacman() { + # Checking if package is already installed + if pacman -Q "$1" &>/dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + sudo pacman -S --noconfirm "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if pacman -Q "$1" &>/dev/null ; then + echo -e "${OK} $1 was installed." + else + # Something is missing, exiting to review log + echo -e "${ERROR} $1 failed to install. Please check the $LOG. You may need to install manually." + exit 1 + fi + fi +} + + +ISAUR=$(command -v yay || command -v paru) + +# Function for installing packages +install_package() { + # Checking if package is already installed + if $ISAUR -Q "$1" &>> /dev/null ; then + echo -e "${OK} $1 is already installed. Skipping..." + else + # Package not installed + echo -e "${NOTE} Installing $1 ..." + $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" + # Making sure package is installed + if $ISAUR -Q "$1" &>> /dev/null ; then + echo -e "\e[1A\e[K${OK} $1 was installed." + else + # Something is missing, exiting to review log + echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" + exit 1 + fi + fi +} + +# Function for uninstalling packages +uninstall_package() { + # Checking if package is installed + if pacman -Qi "$1" &>> /dev/null ; then + # Package is installed + echo -e "${NOTE} Uninstalling $1 ..." + sudo pacman -Rns --noconfirm "$1" 2>&1 | tee -a "$LOG" + # Making sure package is uninstalled + if ! pacman -Qi "$1" &>> /dev/null ; then + echo -e "\e[1A\e[K${OK} $1 was uninstalled." + else + # Something went wrong, exiting to review log + echo -e "\e[1A\e[K${ERROR} $1 failed to uninstall. Please check the log." + exit 1 + fi + fi +} \ No newline at end of file diff --git a/install-scripts/InputGroup.sh b/install-scripts/InputGroup.sh old mode 100644 new mode 100755 index e82e37b..a3ebfee --- a/install-scripts/InputGroup.sh +++ b/install-scripts/InputGroup.sh @@ -1,6 +1,9 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Adding users into group # -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### + +## 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 )" @@ -8,18 +11,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PARENT_DIR="$SCRIPT_DIR/.." cd "$PARENT_DIR" || exit 1 -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_input.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_input.log" while true; do echo "${WARN} This script will add or remove your user from the 'input' group." @@ -36,7 +31,7 @@ while true; do sudo groupadd input # Log the creation of the 'input' group - echo "$(date '+%Y-%m-%d %H:%M:%S') - 'input' group created" >> "$LOG" + echo "'input' group created" >> "$LOG" fi # Add the user to the input group @@ -44,7 +39,7 @@ while true; do echo "${OK} User added to the 'input' group. Changes will take effect after you log out and log back in." # Log the addition of the user to the 'input' group - echo "$(date '+%Y-%m-%d %H:%M:%S') - User added to 'input' group" >> "$LOG" + echo "User added to 'input' group" >> "$LOG" break # Break out of the loop if 'yes' is chosen elif [[ $choice == "n" || $choice == "N" ]]; then echo "${NOTE} No changes made. Exiting the script." @@ -53,3 +48,5 @@ while true; do echo "${ERROR} Invalid choice. Please enter 'y' for yes or 'n' for no." fi done + +clear \ No newline at end of file diff --git a/install-scripts/bluetooth.sh b/install-scripts/bluetooth.sh old mode 100644 new mode 100755 index d315953..4eafee4 --- a/install-scripts/bluetooth.sh +++ b/install-scripts/bluetooth.sh @@ -1,4 +1,6 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Bluetooth Stuff # blue=( bluez @@ -6,55 +8,27 @@ bluez-utils blueman ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## 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 )" -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +# Change the working directory to the parent directory of the script +PARENT_DIR="$SCRIPT_DIR/.." +cd "$PARENT_DIR" || exit 1 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_bluetooth.log" - -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} +LOG="Install-Logs/install-$(date +%d-%H%M%S)_bluetooth.log" # Bluetooth - printf "${NOTE} Installing Bluetooth Packages...\n" for BLUE in "${blue[@]}"; do install_package "$BLUE" 2>&1 | tee -a "$LOG" [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $BLUE install had failed, please check the install.log"; exit 1; } done - printf " Activating Bluetooth Services...\n" - sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG" +printf " Activating Bluetooth Services...\n" +sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG" - clear \ No newline at end of file +clear \ No newline at end of file diff --git a/install-scripts/dotfiles.sh b/install-scripts/dotfiles.sh old mode 100644 new mode 100755 index 424b153..75576d6 --- a/install-scripts/dotfiles.sh +++ b/install-scripts/dotfiles.sh @@ -1,16 +1,10 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hyprland-Dots to download from Releases # -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" printf "${NOTE} Downloading / Checking for existing Hyprland-Dots.tar.gz...\n" @@ -36,14 +30,14 @@ if [ -f Hyprland-Dots.tar.gz ]; then echo -e "${WARN} Hyprland-Dots.tar.gz is outdated (Existing version: $existing_version, Latest version: $latest_version)." read -p "Do you want to upgrade to the latest version? (y/n): " upgrade_choice if [ "$upgrade_choice" = "y" ]; then - echo -e "${NOTE} Proceeding to download the latest release." + echo -e "${NOTE} Proceeding to download the latest release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log" # Delete existing directories starting with JaKooLit-Hyprland-Dots find . -type d -name 'JaKooLit-Hyprland-Dots*' -exec rm -rf {} + rm -f Hyprland-Dots.tar.gz printf "${WARN} Removed existing Hyprland-Dots.tar.gz.\n" else - echo -e "${NOTE} User chose not to upgrade. Exiting..." + echo -e "${NOTE} User chose not to upgrade. Exiting..." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log" exit 0 fi fi @@ -56,7 +50,7 @@ latest_tag=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/release # Check if the tag is obtained successfully if [ -z "$latest_tag" ]; then - echo -e "${ERROR} Unable to fetch the latest tag information." + echo -e "${ERROR} Unable to fetch the latest tag information." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log" exit 1 fi @@ -65,7 +59,7 @@ latest_tarball_url=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots # Check if the URL is obtained successfully if [ -z "$latest_tarball_url" ]; then - echo -e "${ERROR} Unable to fetch the tarball URL for the latest release." + echo -e "${ERROR} Unable to fetch the tarball URL for the latest release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log" exit 1 fi @@ -90,10 +84,12 @@ if curl -L "$latest_tarball_url" -o "$file_name"; then # Set execute permission for copy.sh and execute it chmod +x copy.sh - ./copy.sh 2>&1 | tee -a "../install-$(date +'%d-%H%M%S')_dots.log" + ./copy.sh - echo -e "${OK} Latest source code release downloaded, extracted, and processed successfully." + echo -e "${OK} Latest Dotfiles release downloaded, extracted, and processed successfully. Check JaKooLit-Hyprland-Dots folder for more detailed install logs" 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log" else - echo -e "${ERROR} Failed to download the latest source code release." + echo -e "${ERROR} Failed to download the latest Dotfiles release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log" exit 1 fi + +clear diff --git a/install-scripts/gtk_themes.sh b/install-scripts/gtk_themes.sh index ac2f8c7..e77a476 100755 --- a/install-scripts/gtk_themes.sh +++ b/install-scripts/gtk_themes.sh @@ -5,7 +5,7 @@ engine=( gtk-engine-murrine ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## 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 )" @@ -14,45 +14,12 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PARENT_DIR="$SCRIPT_DIR/.." cd "$PARENT_DIR" || exit 1 -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_themes_main.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_themes.log" -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} - # installing engine needed for gtk themes for PKG1 in "${engine[@]}"; do install_package "$PKG1" 2>&1 | tee -a "$LOG" @@ -69,10 +36,10 @@ if [ -d "GTK-themes-icons" ]; then fi echo "$NOTE Cloning Tokyo Theme GTK themes and Icons repository..." 2>&1 | tee -a "$LOG" -if git clone https://github.com/JaKooLit/GTK-themes-icons.git 2>&1 | tee -a "$LOG"; then +if git clone https://github.com/JaKooLit/GTK-themes-icons.git ; then cd GTK-themes-icons chmod +x auto-extract.sh - ./auto-extract.sh 2>&1 | tee -a "$LOG" + ./auto-extract.sh cd .. echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes folders" 2>&1 | tee -a "$LOG" else diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh old mode 100644 new mode 100755 index ea17544..389dccb --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -1,48 +1,24 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Main Hyprland Package # hypr=( hyprland ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +# 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 # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_hyprland.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log" -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Removing other Hyprland to avoid conflict printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n" @@ -58,6 +34,6 @@ printf "${NOTE} Installing Hyprland .......\n" for HYPR in "${hypr[@]}"; do install_package "$HYPR" 2>&1 | tee -a "$LOG" [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR install had failed, please check the install.log"; exit 1; } - done +done - clear \ No newline at end of file +clear \ No newline at end of file diff --git a/install-scripts/nvidia.sh b/install-scripts/nvidia.sh old mode 100644 new mode 100755 index a4af9a4..413fd7f --- a/install-scripts/nvidia.sh +++ b/install-scripts/nvidia.sh @@ -1,4 +1,6 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Nvidia Stuffs # nvidia_pkg=( nvidia-dkms @@ -12,45 +14,19 @@ hypr=( hyprland ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## 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 )" -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +# Change the working directory to the parent directory of the script +PARENT_DIR="$SCRIPT_DIR/.." +cd "$PARENT_DIR" || exit 1 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_nvidia.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log" -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry, I have tried :(" - exit 1 - fi - fi -} # nvidia stuff printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n" @@ -108,9 +84,9 @@ if [ -f /etc/default/grub ]; then sudo sed -i 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub # Regenerate GRUB configuration sudo grub-mkconfig -o /boot/grub/grub.cfg - echo "nvidia-drm.modeset=1 added to /etc/default/grub" + echo "nvidia-drm.modeset=1 added to /etc/default/grub" 2>&1 | tee -a "$LOG" else - echo "nvidia-drm.modeset=1 is already present in /etc/default/grub" + echo "nvidia-drm.modeset=1 is already present in /etc/default/grub" 2>&1 | tee -a "$LOG" fi else echo "/etc/default/grub does not exist" @@ -137,7 +113,7 @@ if [[ $response =~ ^[Yy]$ ]]; then fi fi else - printf "${NOTE} Skipping nouveau blacklisting.\n" + printf "${NOTE} Skipping nouveau blacklisting.\n" 2>&1 | tee -a "$LOG" fi clear diff --git a/install-scripts/paru.sh b/install-scripts/paru.sh old mode 100644 new mode 100755 index 78cf3d9..cf9cbc2 --- a/install-scripts/paru.sh +++ b/install-scripts/paru.sh @@ -1,25 +1,27 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Paru AUR Helper # +# NOTE: If yay is already installed, paru will not be installed # -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +## 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 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_paru.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_paru.log" # Check for AUR helper and install if not found ISAUR=$(command -v yay || command -v paru) if [ -n "$ISAUR" ]; then - printf "\n%s - AUR helper was located, moving on.\n" "${OK}" + printf "\n%s - AUR helper already installed, moving on..\n" "${OK}" else printf "\n%s - AUR helper was NOT located\n" "$WARN" printf "\n%s - Installing paru from AUR\n" "${NOTE}" diff --git a/install-scripts/pipewire.sh b/install-scripts/pipewire.sh old mode 100644 new mode 100755 index b938577..3ea0232 --- a/install-scripts/pipewire.sh +++ b/install-scripts/pipewire.sh @@ -1,4 +1,6 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Pipewire and Pipewire Audio Stuff # pipewire=( pipewire @@ -10,43 +12,20 @@ pipewire=( ############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ############## # Set some colors for output messages -OK=$(tput setaf 2)[OK]$(tput sgr0) -ERROR=$(tput setaf 1)[ERROR]$(tput sgr0) -NOTE=$(tput setaf 3)[NOTE]$(tput sgr0) -WARN=$(tput setaf 166)[WARN]$(tput sgr0) -CAT=$(tput setaf 6)[ACTION]$(tput sgr0) -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +# 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 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_bluetooth.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_pipewire.log" ISAUR=$(command -v yay || command -v paru) -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if the package is already installed - if $ISAUR -Q "$1" &>>/dev/null; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure the package is installed - if $ISAUR -Q "$1" &>>/dev/null; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review the log - echo -e "\e[1A\e[K${ERROR} $1 failed to install. Please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} - # Removal of pulseaudio printf "${YELLOW}Removing pulseaudio stuff...${RESET}\n" for pulseaudio in pulseaudio pulseaudio-alsa pulseaudio-bluetooth; do @@ -54,7 +33,7 @@ for pulseaudio in pulseaudio pulseaudio-alsa pulseaudio-bluetooth; do done # Disabling pulseaudio to avoid conflicts -systemctl --user disable --now pulseaudio.socket pulseaudio.service 2>&1 | tee -a "$LOG" +systemctl --user disable --now pulseaudio.socket pulseaudio.service 2>/dev/null && tee -a "$LOG" # Pipewire printf "${NOTE} Installing Pipewire Packages...\n" @@ -67,4 +46,5 @@ printf "Activating Pipewire Services...\n" systemctl --user enable --now pipewire.socket pipewire-pulse.socket wireplumber.service 2>&1 | tee -a "$LOG" systemctl --user enable --now pipewire.service 2>&1 | tee -a "$LOG" -clear + +clear \ No newline at end of file diff --git a/install-scripts/rog.sh b/install-scripts/rog.sh old mode 100644 new mode 100755 index 5b3b658..fad133d --- a/install-scripts/rog.sh +++ b/install-scripts/rog.sh @@ -1,8 +1,8 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Asus ROG Laptops # -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### - - +## 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 )" @@ -10,55 +10,24 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PARENT_DIR="$SCRIPT_DIR/.." cd "$PARENT_DIR" || exit 1 -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_rog.log" - -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} +LOG="Install-Logs/install-$(date +%d-%H%M%S)_rog.log" ### Install software for Asus ROG laptops ### - printf " Installing ASUS ROG packages...\n" - for ASUS in asusctl supergfxctl rog-control-center; do - install_package "$ASUS" 2>&1 | tee -a "$LOG" - if [ $? -ne 0 ]; then - echo -e "\e[1A\e[K${ERROR} - $ASUS install had failed, please check the install.log" - exit 1 - fi - done - printf " Activating ROG services...\n" - sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG" +printf " Installing ASUS ROG packages...\n" +for ASUS in asusctl supergfxctl rog-control-center; do +install_package "$ASUS" 2>&1 | tee -a "$LOG" + if [ $? -ne 0 ]; then + echo -e "\e[1A\e[K${ERROR} - $ASUS install had failed, please check the install.log" + exit 1 + fi +done + +printf " Activating ROG services...\n" +sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG" + +clear -clear \ No newline at end of file diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh old mode 100644 new mode 100755 index a68891f..a72e95e --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -1,4 +1,6 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# SDDM Log-in Manager # sddm=( qt5-graphicaleffects @@ -7,7 +9,7 @@ sddm=( sddm-git ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## 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 )" @@ -16,43 +18,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PARENT_DIR="$SCRIPT_DIR/.." cd "$PARENT_DIR" || exit 1 -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_sddm.log" - -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} +LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm.log" # SDDM @@ -112,7 +81,7 @@ while [ "$valid_input" != true ]; do echo -e "\e[1A\e[K${OK} - Removed existing 'simple-sddm' directory from the current location." 2>&1 | tee -a "$LOG" fi - if git clone https://github.com/JaKooLit/simple-sddm.git 2>&1 | tee -a "$LOG"; then + if git clone https://github.com/JaKooLit/simple-sddm.git; then while [ ! -d "simple-sddm" ]; do sleep 1 done @@ -125,7 +94,7 @@ while [ "$valid_input" != true ]; do sudo mv simple-sddm /usr/share/sddm/themes/ echo -e "[Theme]\nCurrent=simple-sddm" | sudo tee "$sddm_conf_dir/10-theme.conf" &>> "$LOG" else - echo -e "\e[1A\e[K${ERROR} - Failed to clone the theme repository. Please check your internet connection or repository availability." | tee -a "$LOG" >&2 + echo -e "\e[1A\e[K${ERROR} - Failed to clone the theme repository. Please check your internet connection" | tee -a "$LOG" >&2 fi valid_input=true elif [[ $install_sddm_theme =~ ^[Nn]$ ]]; then @@ -136,6 +105,4 @@ while [ "$valid_input" != true ]; do fi done - - -clear \ No newline at end of file +clear diff --git a/install-scripts/thunar.sh b/install-scripts/thunar.sh old mode 100644 new mode 100755 index 293fb16..9ad69c2 --- a/install-scripts/thunar.sh +++ b/install-scripts/thunar.sh @@ -1,4 +1,6 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Thunar # thunar=( thunar @@ -8,7 +10,7 @@ ffmpegthumbnailer thunar-archive-plugin ) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +## 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 )" @@ -17,65 +19,29 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" PARENT_DIR="$SCRIPT_DIR/.." cd "$PARENT_DIR" || exit 1 -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_thunar.log" - - -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} - -# Bluetooth +LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar.log" +# Thunar printf "${NOTE} Installing Thunar Packages...\n" for THUNAR in "${thunar[@]}"; do install_package "$THUNAR" 2>&1 | tee -a "$LOG" [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $THUNAR install had failed, please check the install.log"; exit 1; } done - # Check for existing config folders and backup - for DIR1 in Thunar xfce4; do - DIRPATH=~/.config/$DIR1 - if [ -d "$DIRPATH" ]; then - echo -e "${NOTE} Config for $DIR1 found, backing up." - mv $DIRPATH $DIRPATH-back-up 2>&1 | tee -a "$LOG" - echo -e "${NOTE} Backed up $DIR1 to $DIRPATH-back-up." - fi - done - -# copying from assets -cp -r assets/xfce4 ~/.config/ && echo "Copy xfce4 completed!" || echo "Error: Failed to copy xfce4 config files." 2>&1 | tee -a "$LOG" -cp -r assets/Thunar ~/.config/ && echo "Copy Thunar completed!" || echo "Error: Failed to copy Thunar config files." 2>&1 | tee -a "$LOG" + # Check for existing configs and copy if does not exist +for DIR1 in Thunar xfce4; do + DIRPATH=~/.config/$DIR1 + if [ -d "$DIRPATH" ]; then + echo -e "${NOTE} Config for $DIR1 found, no need to copy." + else + echo -e "${NOTE} Config for $DIR1 not found, copying from assets." + cp -r assets/$DIR1 ~/.config/ && echo "Copy $DIR1 completed!" || echo "Error: Failed to copy $DIR1 config files." 2>&1 | tee -a "$LOG" + fi +done clear + + diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh old mode 100644 new mode 100755 index 80b8a9e..f9117d5 --- a/install-scripts/xdph.sh +++ b/install-scripts/xdph.sh @@ -1,50 +1,29 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# XDG-Desktop-Portals # -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +xdg=( +xdg-desktop-portal-hyprland +xdg-desktop-portal-gtk +) +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +# 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 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_xdph.log" - -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} +LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log" # XDG-DESKTOP-PORTAL-HYPRLAND - -for xdph in xdg-desktop-portal-hyprland; do - install_package "$xdph" 2>&1 | tee -a "$LOG" +for xdgs in "${xdg[@]}"; do + install_package "$xdgs" 2>&1 | tee -a "$LOG" if [ $? -ne 0 ]; then echo -e "\e[1A\e[K${ERROR} - $xdph install had failed, please check the install.log" exit 1 @@ -55,30 +34,38 @@ printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n" sleep 1 printf "\n" printf "${NOTE} XDG-desktop-portal-KDE (if installed) should be manually disabled or removed! I can't remove it... sorry...\n" -read -rp "${CAT} Would you like to try to remove other XDG-Desktop-Portal-Implementations? (y/n) " XDPH1 -echo -sleep 1 +while true; do + read -rp "${CAT} Would you like to try to remove other XDG-Desktop-Portal-Implementations? (y/n) " XDPH1 + echo + sleep 1 -if [[ $XDPH1 =~ ^[Yy]$ ]]; then - # Clean out other portals - printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n" - # Check if packages are installed and uninstall if present - if pacman -Qs xdg-desktop-portal-gnome > /dev/null ; then - echo "Removing xdg-desktop-portal-gnome..." - sudo pacman -R --noconfirm xdg-desktop-portal-gnome 2>&1 | tee -a $LOG - fi - if pacman -Qs xdg-desktop-portal-gtk > /dev/null ; then - echo "Removing xdg-desktop-portal-gtk..." - sudo pacman -R --noconfirm xdg-desktop-portal-gtk 2>&1 | tee -a $LOG - fi - if pacman -Qs xdg-desktop-portal-wlr > /dev/null ; then - echo "Removing xdg-desktop-portal-wlr..." - sudo pacman -R --noconfirm xdg-desktop-portal-wlr 2>&1 | tee -a $LOG - fi - if pacman -Qs xdg-desktop-portal-lxqt > /dev/null ; then - echo "Removing xdg-desktop-portal-lxqt..." - sudo pacman -R --noconfirm xdg-desktop-portal-lxqt 2>&1 | tee -a $LOG - fi -fi + case $XDPH1 in + [Yy]) + # Clean out other portals + printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n" + # Check if packages are installed and uninstall if present + if pacman -Qs xdg-desktop-portal-gnome > /dev/null ; then + echo "Removing xdg-desktop-portal-gnome..." + sudo pacman -R --noconfirm xdg-desktop-portal-gnome 2>&1 | tee -a "$LOG" + fi + if pacman -Qs xdg-desktop-portal-wlr > /dev/null ; then + echo "Removing xdg-desktop-portal-wlr..." + sudo pacman -R --noconfirm xdg-desktop-portal-wlr 2>&1 | tee -a "$LOG" + fi + if pacman -Qs xdg-desktop-portal-lxqt > /dev/null ; then + echo "Removing xdg-desktop-portal-lxqt..." + sudo pacman -R --noconfirm xdg-desktop-portal-lxqt 2>&1 | tee -a "$LOG" + fi + break + ;; + [Nn]) + echo "no other XDG-implementations will be removed." >> "$LOG" + break + ;; + *) + echo "Invalid input. Please enter 'y' for yes or 'n' for no." + ;; + esac +done -clear \ No newline at end of file +clear diff --git a/install-scripts/yay.sh b/install-scripts/yay.sh old mode 100644 new mode 100755 index 0083a06..fb1f910 --- a/install-scripts/yay.sh +++ b/install-scripts/yay.sh @@ -1,26 +1,27 @@ #!/bin/bash - -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### +# 💫 https://github.com/JaKooLit 💫 # +# Yay AUR Helper # +# NOTE: If paru is already installed, yay will not be installed # -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) +## 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 + +source "$(dirname "$(readlink -f "$0")")/Global_functions.sh" # Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_yay.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_yay.log" # Check for AUR helper and install if not found ISAUR=$(command -v yay || command -v paru) if [ -n "$ISAUR" ]; then - printf "\n%s - AUR helper yay was located, moving on.\n" "${OK}" + printf "\n%s - AUR helper already installed, moving on.\n" "${OK}" else printf "\n%s - AUR helper was NOT located\n" "$WARN" printf "\n%s - Installing yay from AUR\n" "${NOTE}" diff --git a/install-scripts/zsh.sh b/install-scripts/zsh.sh old mode 100644 new mode 100755 index cbc6f4c..153bcb9 --- a/install-scripts/zsh.sh +++ b/install-scripts/zsh.sh @@ -1,23 +1,15 @@ #!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Yay AUR Helper # -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### - -# Set some colors for output messages -OK="$(tput setaf 2)[OK]$(tput sgr0)" -ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" -NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" -WARN="$(tput setaf 166)[WARN]$(tput sgr0)" -CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" -ORANGE=$(tput setaf 166) -YELLOW=$(tput setaf 3) -RESET=$(tput sgr0) - -# Set the name of the log file to include the current date and time -LOG="install-$(date +%d-%H%M%S)_zsh.log" +zsh=( +zsh +zsh-completions +pokemon-colorscripts-git +) -############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### - +## 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 )" @@ -25,47 +17,14 @@ 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" -ISAUR=$(command -v yay || command -v paru) - -# Set the script to exit on error -set -e - -# Function for installing packages -install_package() { - # Checking if package is already installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "${OK} $1 is already installed. Skipping..." - else - # Package not installed - echo -e "${NOTE} Installing $1 ..." - $ISAUR -S --noconfirm "$1" 2>&1 | tee -a "$LOG" - # Making sure package is installed - if $ISAUR -Q "$1" &>> /dev/null ; then - echo -e "\e[1A\e[K${OK} $1 was installed." - else - # Something is missing, exiting to review log - echo -e "\e[1A\e[K${ERROR} $1 failed to install :( , please check the install.log. You may need to install manually! Sorry I have tried :(" - exit 1 - fi - fi -} - - -# Check if the oh-my-zsh directory exists -if [ -d "$HOME/.oh-my-zsh" ]; then - printf "${NOTE} Oh My Zsh found. Creating a backup before uninstalling...${RESET}\n" - # Perform backup using cp -r and create a backup directory with -backup suffix - cp -r "$HOME/.oh-my-zsh" "$HOME/.oh-my-zsh-backup" || true - mv "$HOME/.zshrc" "$HOME/.zshrc-backup" || true - - printf "${NOTE} Backup created....${RESET}\n" -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" # Installing zsh packages printf "${NOTE} Installing core zsh packages...${RESET}\n" -for ZSH in zsh zsh-completions pokemon-colorscripts-git; do +for ZSH in "${zsh[@]}"; do install_package "$ZSH" 2>&1 | tee -a "$LOG" if [ $? -ne 0 ]; then echo -e "\e[1A\e[K${ERROR} - $ZSH install had failed, please check the install.log" @@ -79,19 +38,19 @@ if command -v zsh >/dev/null; then if [ ! -d "$HOME/.oh-my-zsh" ]; then sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended || true else - echo "Directory .oh-my-zsh already exists. Skipping re-installation." + echo "Directory .oh-my-zsh already exists. Skipping re-installation." 2>&1 | tee -a "$LOG" fi # Check if the directories exist before cloning the repositories - if [ ! -d "$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" ]; then + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions || true else - echo "Directory zsh-autosuggestions already exists. Skipping cloning." + echo "Directory zsh-autosuggestions already exists. Skipping cloning." 2>&1 | tee -a "$LOG" fi - if [ ! -d "$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" ]; then + if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting || true else - echo "Directory zsh-syntax-highlighting already exists. Skipping cloning." + echo "Directory zsh-syntax-highlighting already exists. Skipping cloning." 2>&1 | tee -a "$LOG" fi cp -r 'assets/.zshrc' ~/ @@ -100,13 +59,11 @@ if command -v zsh >/dev/null; then printf "${NOTE} Changing default shell to zsh...\n" while ! chsh -s $(which zsh); do - echo "${ERROR} Authentication failed. Please enter the correct password." + echo "${ERROR} Authentication failed. Please enter the correct password." 2>&1 | tee -a "$LOG" sleep 1 done printf "${NOTE} Shell changed successfully to zsh.\n" 2>&1 | tee -a "$LOG" fi - printf "\n\n\n\n" - -clear \ No newline at end of file +clear diff --git a/install.sh b/install.sh old mode 100644 new mode 100755 index 7203f41..a9e4b90 --- a/install.sh +++ b/install.sh @@ -32,6 +32,10 @@ if [ "$proceed" != "y" ]; then fi +# Create Directory for Install Logs +if [ ! -d Install-Logs ]; then + mkdir Install-Logs +fi # Set some colors for output messages OK="$(tput setaf 2)[OK]$(tput sgr0)" @@ -43,6 +47,7 @@ ORANGE=$(tput setaf 166) YELLOW=$(tput setaf 3) RESET=$(tput sgr0) + # Function to colorize prompts colorize_prompt() { local color="$1" @@ -195,7 +200,6 @@ if [ "$dots" == "Y" ]; then fi -clear printf "\n${OK} Yey! Installation Completed.\n" printf "\n"