Merge pull request #14 from JaKooLit/development

Migration to new structure completed
This commit is contained in:
Ja.KooLit 2024-01-01 23:24:20 +09:00 committed by GitHub
commit fa1b5cc43a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 447 additions and 602 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 665 KiB

View File

@ -1,5 +1,12 @@
## Changelogs ## Changelogs
## 01 Jan 2024
- Re-coded complete and test
- Added to spice up pacman.conf including adding of ILoveCandy on it :)
## 30 Dec 2023
- Install scripts reconstructed
## 29 December 2023 ## 29 December 2023
- Remove dunst in favor of swaync. NOTE: Part of the script is to also uninstall mako and dunst (if installed) as on my experience, dunst is sometimes taking over the notification even if it is not set to start - Remove dunst in favor of swaync. NOTE: Part of the script is to also uninstall mako and dunst (if installed) as on my experience, dunst is sometimes taking over the notification even if it is not set to start

BIN
Installer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -68,7 +68,7 @@ chmod +x install.sh
``` ```
<p align="center"> <p align="center">
<img align="center" width="100%" src="https://raw.githubusercontent.com/JaKooLit/Arch-Hyprland/main/Arch-Installer.png" /> <img align="center" width="100%" src="https://raw.githubusercontent.com/JaKooLit/Arch-Hyprland/main/Installer.png" />
#### ✨ for ZSH and OH-MY-ZSH installation #### ✨ for ZSH and OH-MY-ZSH installation
> installer should auto change your default shell to zsh. However, if it does not, do this > installer should auto change your default shell to zsh. However, if it does not, do this
@ -94,6 +94,10 @@ source ~/.zshrc
- for the install part, kindly open issue on this repo - for the install part, kindly open issue on this repo
- for the Pre-configured Hyprland dots / configuration, submit issue [`here`](https://github.com/JaKooLit/Hyprland-Dots/issues) - for the Pre-configured Hyprland dots / configuration, submit issue [`here`](https://github.com/JaKooLit/Hyprland-Dots/issues)
#### 🔧 Proper way to re-installing a particular script from install-scripts folder
- CD into Arch-Hyprland Folder and then ran the below command.
- i.e. `./install-scripts/gtk-themes` - For reinstall GTK Themes.
#### 🛣️ Roadmap: #### 🛣️ Roadmap:
- ~~[ ] Install zsh and oh-my-zsh without necessary steps above~~ DONE - ~~[ ] Install zsh and oh-my-zsh without necessary steps above~~ DONE
- [ ] possibly adding gruvbox themes, cursors, icons - [ ] possibly adding gruvbox themes, cursors, icons

View File

@ -20,7 +20,7 @@ source $ZSH/oh-my-zsh.sh
# Display Pokemon-colorscripts # Display Pokemon-colorscripts
# Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macos # Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macos
pokemon-colorscripts --no-title -s -r #pokemon-colorscripts --no-title -s -r
### From this line is for pywal-colors ### From this line is for pywal-colors

42
install-scripts/00-base.sh Normal file → Executable file
View File

@ -1,50 +1,22 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# https://github.com/JaKooLit # base devel #
base=( base=(
base-devel 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! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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)
# Set the name of the log file to include the current date and time # 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 # Installation of main components
printf "\n%s - Installing base-devel \n" "${NOTE}" printf "\n%s - Installing base-devel \n" "${NOTE}"
for PKG1 in "${base[@]}"; do for PKG1 in "${base[@]}"; do
install_package "$PKG1" | tee -a "$LOG" install_package_pacman "$PKG1" | tee -a "$LOG"
done done
clear
# clear

68
install-scripts/00-hypr-pkgs.sh Normal file → Executable file
View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# https://github.com/JaKooLit # Hyprland Packages #
# edit your packages desired here. # edit your packages desired here.
# WARNING! If you remove packages here, dotfiles may not work properly. # WARNING! If you remove packages here, dotfiles may not work properly.
@ -83,63 +83,19 @@ uninstall=(
mako 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 # Change the working directory to the parent directory of the script
OK="$(tput setaf 2)[OK]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # 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 # Installation of main components
printf "\n%s - Installing hyprland packages.... \n" "${NOTE}" printf "\n%s - Installing hyprland packages.... \n" "${NOTE}"
@ -152,8 +108,8 @@ for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${fonts[@]}" "${Extra[@
fi fi
done 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}" printf "\n%s - Checking if mako or dunst are installed and removing for swaync to work properly \n" "${NOTE}"
for PKG in "${uninstall[@]}"; do for PKG in "${uninstall[@]}"; do
uninstall_package "$PKG" 2>&1 | tee -a "$LOG" uninstall_package "$PKG" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then

View File

@ -0,0 +1,82 @@
#!/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)
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# 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
}

23
install-scripts/InputGroup.sh Normal file → Executable file
View File

@ -1,6 +1,9 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Adding users into input 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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -8,18 +11,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # 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 while true; do
echo "${WARN} This script will add or remove your user from the 'input' group." echo "${WARN} This script will add or remove your user from the 'input' group."
@ -36,7 +31,7 @@ while true; do
sudo groupadd input sudo groupadd input
# Log the creation of the 'input' group # 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 fi
# Add the user to the input group # 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." 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 # 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 break # Break out of the loop if 'yes' is chosen
elif [[ $choice == "n" || $choice == "N" ]]; then elif [[ $choice == "n" || $choice == "N" ]]; then
echo "${NOTE} No changes made. Exiting the script." 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." echo "${ERROR} Invalid choice. Please enter 'y' for yes or 'n' for no."
fi fi
done done
clear

54
install-scripts/bluetooth.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Bluetooth Stuff #
blue=( blue=(
bluez bluez
@ -6,55 +8,27 @@ bluez-utils
blueman 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 # Change the working directory to the parent directory of the script
OK="$(tput setaf 2)[OK]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # 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)_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
}
# Bluetooth # Bluetooth
printf "${NOTE} Installing Bluetooth Packages...\n" printf "${NOTE} Installing Bluetooth Packages...\n"
for BLUE in "${blue[@]}"; do for BLUE in "${blue[@]}"; do
install_package "$BLUE" 2>&1 | tee -a "$LOG" 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; } [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $BLUE install had failed, please check the install.log"; exit 1; }
done done
printf " Activating Bluetooth Services...\n" printf " Activating Bluetooth Services...\n"
sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG" sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG"
clear clear

30
install-scripts/dotfiles.sh Normal file → Executable file
View File

@ -1,16 +1,10 @@
#!/bin/bash #!/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 source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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)
printf "${NOTE} Downloading / Checking for existing Hyprland-Dots.tar.gz...\n" 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)." 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 read -p "Do you want to upgrade to the latest version? (y/n): " upgrade_choice
if [ "$upgrade_choice" = "y" ]; then 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 # Delete existing directories starting with JaKooLit-Hyprland-Dots
find . -type d -name 'JaKooLit-Hyprland-Dots*' -exec rm -rf {} + find . -type d -name 'JaKooLit-Hyprland-Dots*' -exec rm -rf {} +
rm -f Hyprland-Dots.tar.gz rm -f Hyprland-Dots.tar.gz
printf "${WARN} Removed existing Hyprland-Dots.tar.gz.\n" printf "${WARN} Removed existing Hyprland-Dots.tar.gz.\n"
else 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 exit 0
fi fi
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 # Check if the tag is obtained successfully
if [ -z "$latest_tag" ]; then 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 exit 1
fi 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 # Check if the URL is obtained successfully
if [ -z "$latest_tarball_url" ]; then 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 exit 1
fi fi
@ -90,10 +84,12 @@ if curl -L "$latest_tarball_url" -o "$file_name"; then
# Set execute permission for copy.sh and execute it # Set execute permission for copy.sh and execute it
chmod +x copy.sh 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 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 exit 1
fi fi
clear

View File

@ -1,11 +1,13 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# GTK Themes & ICONS and Sourcing from a different Repo #
engine=( engine=(
unzip unzip
gtk-engine-murrine 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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -14,45 +16,12 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # 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 # installing engine needed for gtk themes
for PKG1 in "${engine[@]}"; do for PKG1 in "${engine[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG" install_package "$PKG1" 2>&1 | tee -a "$LOG"
@ -69,10 +38,10 @@ if [ -d "GTK-themes-icons" ]; then
fi fi
echo "$NOTE Cloning Tokyo Theme GTK themes and Icons repository..." 2>&1 | tee -a "$LOG" 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 cd GTK-themes-icons
chmod +x auto-extract.sh chmod +x auto-extract.sh
./auto-extract.sh 2>&1 | tee -a "$LOG" ./auto-extract.sh
cd .. cd ..
echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes folders" 2>&1 | tee -a "$LOG" echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes folders" 2>&1 | tee -a "$LOG"
else else

50
install-scripts/hyprland.sh Normal file → Executable file
View File

@ -1,48 +1,24 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package #
hypr=( hypr=(
hyprland 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 # Determine the directory where the script is located
OK="$(tput setaf 2)[OK]$(tput sgr0)" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" # Change the working directory to the parent directory of the script
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
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 # 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) source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# 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
}
# Removing other Hyprland to avoid conflict # Removing other Hyprland to avoid conflict
printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n" 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 for HYPR in "${hypr[@]}"; do
install_package "$HYPR" 2>&1 | tee -a "$LOG" 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; } [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $HYPR install had failed, please check the install.log"; exit 1; }
done done
clear clear

52
install-scripts/nvidia.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Nvidia Stuffs #
nvidia_pkg=( nvidia_pkg=(
nvidia-dkms nvidia-dkms
@ -12,45 +14,19 @@ hypr=(
hyprland 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 # Change the working directory to the parent directory of the script
OK="$(tput setaf 2)[OK]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # 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 # nvidia stuff
printf "${YELLOW} Checking for other hyprland packages and remove if any..${RESET}\n" 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 sudo sed -i 's/\(GRUB_CMDLINE_LINUX_DEFAULT=".*\)"/\1 nvidia-drm.modeset=1"/' /etc/default/grub
# Regenerate GRUB configuration # Regenerate GRUB configuration
sudo grub-mkconfig -o /boot/grub/grub.cfg 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 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 fi
else else
echo "/etc/default/grub does not exist" echo "/etc/default/grub does not exist"
@ -137,7 +113,7 @@ if [[ $response =~ ^[Yy]$ ]]; then
fi fi
fi fi
else else
printf "${NOTE} Skipping nouveau blacklisting.\n" printf "${NOTE} Skipping nouveau blacklisting.\n" 2>&1 | tee -a "$LOG"
fi fi
clear clear

45
install-scripts/pacman.sh Executable file
View File

@ -0,0 +1,45 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# pacman adding up extra-spices #
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_pacman.log"
echo -e "${NOTE} Adding Extra Spice in pacman.conf ... ${RESET}" 2>&1 | tee -a "$LOG"
pacman_conf="/etc/pacman.conf"
# Remove comments '#' from specific lines
lines_to_edit=(
"Color"
"CheckSpace"
"VerbosePkgLists"
"ParallelDownloads"
)
# Uncomment specified lines if they are commented out
for line in "${lines_to_edit[@]}"; do
if grep -q "^#$line" "$pacman_conf"; then
sudo sed -i "s/^#$line/$line/" "$pacman_conf"
echo -e "${CAT} Uncommented: $line ${RESET}" 2>&1 | tee -a "$LOG"
else
echo -e "${CAT} $line is already uncommented. ${RESET}" 2>&1 | tee -a "$LOG"
fi
done
# Add "ILoveCandy" below ParallelDownloads if it doesn't exist
if grep -q "^ParallelDownloads" "$pacman_conf" && ! grep -q "^ILoveCandy" "$pacman_conf"; then
sudo sed -i "/^ParallelDownloads/a ILoveCandy" "$pacman_conf"
echo -e "${CAT} Added ILoveCandy below ParallelDownloads. ${RESET}" 2>&1 | tee -a "$LOG"
else
echo -e "${CAT} ILoveCandy already exists ${RESET}" 2>&1 | tee -a "$LOG"
fi
echo -e "${CAT} Pacman.conf spicing up completed ${RESET}" 2>&1 | tee -a "$LOG"
# updating pacman.conf
sudo pacman -Sy
clear

26
install-scripts/paru.sh Normal file → Executable file
View File

@ -1,6 +1,12 @@
#!/bin/bash #!/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! ######################################
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_paru.log"
# Set some colors for output messages # Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)" OK="$(tput setaf 2)[OK]$(tput sgr0)"
@ -12,20 +18,32 @@ ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3) YELLOW=$(tput setaf 3)
RESET=$(tput sgr0) RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_paru.log" # Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# checking if paru-bin exist and removing if it is
if [ -d paru-bin ]; then
rm -rf paru-bin 2>&1 | tee -a "$LOG"
fi
# Check for AUR helper and install if not found # Check for AUR helper and install if not found
ISAUR=$(command -v yay || command -v paru) ISAUR=$(command -v yay || command -v paru)
if [ -n "$ISAUR" ]; then 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 else
printf "\n%s - AUR helper was NOT located\n" "$WARN" printf "\n%s - AUR helper was NOT located\n" "$WARN"
printf "\n%s - Installing paru from AUR\n" "${NOTE}" printf "\n%s - Installing paru from AUR\n" "${NOTE}"
git clone https://aur.archlinux.org/paru-bin.git || { printf "%s - Failed to clone paru from AUR\n" "${ERROR}"; exit 1; } git clone https://aur.archlinux.org/paru-bin.git || { printf "%s - Failed to clone paru from AUR\n" "${ERROR}"; exit 1; }
cd paru-bin || { printf "%s - Failed to enter paru-bin directory\n" "${ERROR}"; exit 1; } cd paru-bin || { printf "%s - Failed to enter paru-bin directory\n" "${ERROR}"; exit 1; }
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install paru from AUR\n" "${ERROR}"; exit 1; } makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install paru from AUR\n" "${ERROR}"; exit 1; }
# moving install logs in to Install-Logs folder
mv install*.log ../Install-Logs/ || true
cd ..
fi fi
# Update system before proceeding # Update system before proceeding

48
install-scripts/pipewire.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Pipewire and Pipewire Audio Stuff #
pipewire=( pipewire=(
pipewire pipewire
@ -10,43 +12,20 @@ pipewire=(
############## 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 # Set some colors for output messages
OK=$(tput setaf 2)[OK]$(tput sgr0) # Determine the directory where the script is located
ERROR=$(tput setaf 1)[ERROR]$(tput sgr0) SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
NOTE=$(tput setaf 3)[NOTE]$(tput sgr0)
WARN=$(tput setaf 166)[WARN]$(tput sgr0) # Change the working directory to the parent directory of the script
CAT=$(tput setaf 6)[ACTION]$(tput sgr0) PARENT_DIR="$SCRIPT_DIR/.."
ORANGE=$(tput setaf 166) cd "$PARENT_DIR" || exit 1
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 # 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) 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 # Removal of pulseaudio
printf "${YELLOW}Removing pulseaudio stuff...${RESET}\n" printf "${YELLOW}Removing pulseaudio stuff...${RESET}\n"
for pulseaudio in pulseaudio pulseaudio-alsa pulseaudio-bluetooth; do for pulseaudio in pulseaudio pulseaudio-alsa pulseaudio-bluetooth; do
@ -54,7 +33,7 @@ for pulseaudio in pulseaudio pulseaudio-alsa pulseaudio-bluetooth; do
done done
# Disabling pulseaudio to avoid conflicts # 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 # Pipewire
printf "${NOTE} Installing Pipewire Packages...\n" 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.socket pipewire-pulse.socket wireplumber.service 2>&1 | tee -a "$LOG"
systemctl --user enable --now pipewire.service 2>&1 | tee -a "$LOG" systemctl --user enable --now pipewire.service 2>&1 | tee -a "$LOG"
clear
clear

67
install-scripts/rog.sh Normal file → Executable file
View File

@ -1,8 +1,8 @@
#!/bin/bash #!/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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -10,55 +10,24 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_rog.log" LOG="Install-Logs/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
}
### Install software for Asus ROG laptops ### ### Install software for Asus ROG laptops ###
printf " Installing ASUS ROG packages...\n" printf " Installing ASUS ROG packages...\n"
for ASUS in asusctl supergfxctl rog-control-center; do for ASUS in asusctl supergfxctl rog-control-center; do
install_package "$ASUS" 2>&1 | tee -a "$LOG" install_package "$ASUS" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $ASUS install had failed, please check the install.log" echo -e "\e[1A\e[K${ERROR} - $ASUS install had failed, please check the install.log"
exit 1 exit 1
fi fi
done done
printf " Activating ROG services...\n"
sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG" printf " Activating ROG services...\n"
sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG"
clear
clear

49
install-scripts/sddm.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# SDDM Log-in Manager #
sddm=( sddm=(
qt5-graphicaleffects qt5-graphicaleffects
@ -7,7 +9,7 @@ sddm=(
sddm-git 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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -16,43 +18,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_sddm.log" LOG="Install-Logs/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
}
# SDDM # 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" echo -e "\e[1A\e[K${OK} - Removed existing 'simple-sddm' directory from the current location." 2>&1 | tee -a "$LOG"
fi 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 while [ ! -d "simple-sddm" ]; do
sleep 1 sleep 1
done done
@ -125,7 +94,7 @@ while [ "$valid_input" != true ]; do
sudo mv simple-sddm /usr/share/sddm/themes/ sudo mv simple-sddm /usr/share/sddm/themes/
echo -e "[Theme]\nCurrent=simple-sddm" | sudo tee "$sddm_conf_dir/10-theme.conf" &>> "$LOG" echo -e "[Theme]\nCurrent=simple-sddm" | sudo tee "$sddm_conf_dir/10-theme.conf" &>> "$LOG"
else 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 fi
valid_input=true valid_input=true
elif [[ $install_sddm_theme =~ ^[Nn]$ ]]; then elif [[ $install_sddm_theme =~ ^[Nn]$ ]]; then
@ -136,6 +105,4 @@ while [ "$valid_input" != true ]; do
fi fi
done done
clear
clear

70
install-scripts/thunar.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Thunar #
thunar=( thunar=(
thunar thunar
@ -8,7 +10,7 @@ ffmpegthumbnailer
thunar-archive-plugin 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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -17,65 +19,29 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
# Set some colors for output messages source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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 # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_thunar.log" LOG="Install-Logs/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
# Thunar
printf "${NOTE} Installing Thunar Packages...\n" printf "${NOTE} Installing Thunar Packages...\n"
for THUNAR in "${thunar[@]}"; do for THUNAR in "${thunar[@]}"; do
install_package "$THUNAR" 2>&1 | tee -a "$LOG" 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; } [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $THUNAR install had failed, please check the install.log"; exit 1; }
done done
# Check for existing config folders and backup # Check for existing configs and copy if does not exist
for DIR1 in Thunar xfce4; do for DIR1 in Thunar xfce4; do
DIRPATH=~/.config/$DIR1 DIRPATH=~/.config/$DIR1
if [ -d "$DIRPATH" ]; then if [ -d "$DIRPATH" ]; then
echo -e "${NOTE} Config for $DIR1 found, backing up." echo -e "${NOTE} Config for $DIR1 found, no need to copy." 2>&1 | tee -a "$LOG"
mv $DIRPATH $DIRPATH-back-up 2>&1 | tee -a "$LOG" else
echo -e "${NOTE} Backed up $DIR1 to $DIRPATH-back-up." echo -e "${NOTE} Config for $DIR1 not found, copying from assets." 2>&1 | tee -a "$LOG"
fi cp -r assets/$DIR1 ~/.config/ && echo "Copy $DIR1 completed!" || echo "Error: Failed to copy $DIR1 config files." 2>&1 | tee -a "$LOG"
done 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"
clear clear

115
install-scripts/xdph.sh Normal file → Executable file
View File

@ -1,84 +1,69 @@
#!/bin/bash #!/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 # Determine the directory where the script is located
OK="$(tput setaf 2)[OK]$(tput sgr0)" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" # Change the working directory to the parent directory of the script
WARN="$(tput setaf 166)[WARN]$(tput sgr0)" PARENT_DIR="$SCRIPT_DIR/.."
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" cd "$PARENT_DIR" || exit 1
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3) source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_xdph.log" LOG="Install-Logs/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
}
# XDG-DESKTOP-PORTAL-HYPRLAND # XDG-DESKTOP-PORTAL-HYPRLAND
for xdgs in "${xdg[@]}"; do
for xdph in xdg-desktop-portal-hyprland; do install_package "$xdgs" 2>&1 | tee -a "$LOG"
install_package "$xdph" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $xdph install had failed, please check the install.log" echo -e "\e[1A\e[K${ERROR} - $xdph install had failed, please check the install.log"
exit 1 exit 1
fi fi
done done
printf "\n"
printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n" printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n"
sleep 1 sleep 1
printf "\n" printf "\n"
printf "${NOTE} XDG-desktop-portal-KDE (if installed) should be manually disabled or removed! I can't remove it... sorry...\n" printf "${NOTE} XDG-desktop-portal-KDE & GNOME (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 while true; do
echo read -rp "${CAT} Would you like to try to remove other XDG-Desktop-Portal-Implementations? (y/n) " XDPH1
sleep 1 echo
sleep 1
if [[ $XDPH1 =~ ^[Yy]$ ]]; then case $XDPH1 in
# Clean out other portals [Yy])
printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n" # Clean out other portals
# Check if packages are installed and uninstall if present printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n"
if pacman -Qs xdg-desktop-portal-gnome > /dev/null ; then # Check if packages are installed and uninstall if present
echo "Removing xdg-desktop-portal-gnome..." if pacman -Qs xdg-desktop-portal-wlr > /dev/null ; then
sudo pacman -R --noconfirm xdg-desktop-portal-gnome 2>&1 | tee -a $LOG echo "Removing xdg-desktop-portal-wlr..."
fi sudo pacman -R --noconfirm xdg-desktop-portal-wlr 2>&1 | tee -a "$LOG"
if pacman -Qs xdg-desktop-portal-gtk > /dev/null ; then fi
echo "Removing xdg-desktop-portal-gtk..." if pacman -Qs xdg-desktop-portal-lxqt > /dev/null ; then
sudo pacman -R --noconfirm xdg-desktop-portal-gtk 2>&1 | tee -a $LOG echo "Removing xdg-desktop-portal-lxqt..."
fi sudo pacman -R --noconfirm xdg-desktop-portal-lxqt 2>&1 | tee -a "$LOG"
if pacman -Qs xdg-desktop-portal-wlr > /dev/null ; then fi
echo "Removing xdg-desktop-portal-wlr..." break
sudo pacman -R --noconfirm xdg-desktop-portal-wlr 2>&1 | tee -a $LOG ;;
fi [Nn])
if pacman -Qs xdg-desktop-portal-lxqt > /dev/null ; then echo "no other XDG-implementations will be removed." >> "$LOG"
echo "Removing xdg-desktop-portal-lxqt..." break
sudo pacman -R --noconfirm xdg-desktop-portal-lxqt 2>&1 | tee -a $LOG ;;
fi *)
fi echo "Invalid input. Please enter 'y' for yes or 'n' for no."
;;
esac
done
clear clear

25
install-scripts/yay.sh Normal file → Executable file
View File

@ -1,7 +1,12 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Yay AUR Helper #
# NOTE: If paru is already installed, yay will not be installed #
############## 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 the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_yay.log"
# Set some colors for output messages # Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)" OK="$(tput setaf 2)[OK]$(tput sgr0)"
@ -13,20 +18,30 @@ ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3) YELLOW=$(tput setaf 3)
RESET=$(tput sgr0) RESET=$(tput sgr0)
# Set the name of the log file to include the current date and time # Create Directory for Install Logs
LOG="install-$(date +%d-%H%M%S)_yay.log" if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# Check Existing yay-bin
if [ -d yay-bin ]; then
rm -rf yay-bin 2>&1 | tee -a "$LOG"
fi
# Check for AUR helper and install if not found # Check for AUR helper and install if not found
ISAUR=$(command -v yay || command -v paru) ISAUR=$(command -v yay || command -v paru)
if [ -n "$ISAUR" ]; then 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 else
printf "\n%s - AUR helper was NOT located\n" "$WARN" printf "\n%s - AUR helper was NOT located\n" "$WARN"
printf "\n%s - Installing yay from AUR\n" "${NOTE}" printf "\n%s - Installing yay from AUR\n" "${NOTE}"
git clone https://aur.archlinux.org/yay-bin.git || { printf "%s - Failed to clone yay from AUR\n" "${ERROR}"; exit 1; } git clone https://aur.archlinux.org/yay-bin.git || { printf "%s - Failed to clone yay from AUR\n" "${ERROR}"; exit 1; }
cd yay-bin || { printf "%s - Failed to enter yay-bin directory\n" "${ERROR}"; exit 1; } cd yay-bin || { printf "%s - Failed to enter yay-bin directory\n" "${ERROR}"; exit 1; }
makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install yay from AUR\n" "${ERROR}"; exit 1; } makepkg -si --noconfirm 2>&1 | tee -a "$LOG" || { printf "%s - Failed to install yay from AUR\n" "${ERROR}"; exit 1; }
# moving install logs in to Install-Logs folder
mv install*.log ../Install-Logs/ || true
cd ..
fi fi
# Update system before proceeding # Update system before proceeding

107
install-scripts/zsh.sh Normal file → Executable file
View File

@ -1,23 +1,14 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# zsh and oh my zsh including pokemon-color-scripts#
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ###################################### zsh=(
zsh
# Set some colors for output messages zsh-completions
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"
############## 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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -25,47 +16,33 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1 cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
ISAUR=$(command -v yay || command -v paru) # 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"
# 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
## Optional Pokemon color scripts
while true; do
read -p "${CAT} OPTIONAL - Do you want to add Pokemon color scripts? (y/n): " choice
case "$choice" in
[Yy]*)
zsh+=('pokemon-colorscripts-git')
sed -i '/#pokemon-colorscripts --no-title -s -r/s/^#//' assets/.zshrc
break
;;
[Nn]*)
echo "${NOTE}Skipping Pokemon color scripts installation.${RESET}" 2>&1 | tee -a "$LOG"
break
;;
*)
echo "${WARN}Please enter 'y' for yes or 'n' for no.${RESET}"
;;
esac
done
# Installing zsh packages # Installing zsh packages
printf "${NOTE} Installing core zsh packages...${RESET}\n" 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" install_package "$ZSH" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $ZSH install had failed, please check the install.log" echo -e "\e[1A\e[K${ERROR} - $ZSH install had failed, please check the install.log"
@ -79,34 +56,42 @@ if command -v zsh >/dev/null; then
if [ ! -d "$HOME/.oh-my-zsh" ]; then if [ ! -d "$HOME/.oh-my-zsh" ]; then
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended || true sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended || true
else 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 fi
# Check if the directories exist before cloning the repositories # 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 git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions || true
else else
echo "Directory zsh-autosuggestions already exists. Skipping cloning." echo "Directory zsh-autosuggestions already exists. Skipping cloning." 2>&1 | tee -a "$LOG"
fi 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 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting || true
else 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
# Check if ~/.zshrc and .zprofile exists, create a backup, and copy the new configuration
if [ -f "$HOME/.zshrc" ]; then
cp -b "$HOME/.zshrc" "$HOME/.zshrc-backup" || true
fi fi
if [ -f "$HOME/.zprofile" ]; then
cp -b "$HOME/.zprofile" "$HOME/.zprofile-backup" || true
fi
# Copying the preconfigured zsh themes and profile
cp -r 'assets/.zshrc' ~/ cp -r 'assets/.zshrc' ~/
cp -r 'assets/.zprofile' ~/ cp -r 'assets/.zprofile' ~/
printf "${NOTE} Changing default shell to zsh...\n" printf "${NOTE} Changing default shell to zsh...\n"
while ! chsh -s $(which zsh); do 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 sleep 1
done done
printf "${NOTE} Shell changed successfully to zsh.\n" 2>&1 | tee -a "$LOG" printf "${NOTE} Shell changed successfully to zsh.\n" 2>&1 | tee -a "$LOG"
fi fi
printf "\n\n\n\n"
clear clear

36
install.sh Normal file → Executable file
View File

@ -31,7 +31,10 @@ if [ "$proceed" != "y" ]; then
exit 1 exit 1
fi fi
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# Set some colors for output messages # Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)" OK="$(tput setaf 2)[OK]$(tput sgr0)"
@ -43,6 +46,7 @@ ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3) YELLOW=$(tput setaf 3)
RESET=$(tput sgr0) RESET=$(tput sgr0)
# Function to colorize prompts # Function to colorize prompts
colorize_prompt() { colorize_prompt() {
local color="$1" local color="$1"
@ -116,7 +120,7 @@ execute_script() {
printf "\n" printf "\n"
ask_custom_option "-Type AUR helper" "paru or yay" aur_helper ask_custom_option "-Type AUR helper" "paru or yay" aur_helper
printf "\n" printf "\n"
ask_yes_no "-Do you have nvidia gpu?" nvidia ask_yes_no "-Do you have any nvidia gpu in your system?" nvidia
printf "\n" printf "\n"
ask_yes_no "-Install GTK themes (required for Dark/Light function)?" gtk_themes ask_yes_no "-Install GTK themes (required for Dark/Light function)?" gtk_themes
printf "\n" printf "\n"
@ -124,22 +128,25 @@ ask_yes_no "-Do you want to configure Bluetooth?" bluetooth
printf "\n" printf "\n"
ask_yes_no "-Do you want to install Thunar file manager?" thunar ask_yes_no "-Do you want to install Thunar file manager?" thunar
printf "\n" printf "\n"
ask_yes_no "-Installing in Asus ROG Laptops?" rog ask_yes_no "-Install & configure SDDM log-in Manager w/ (Optional) SDDM Theme?" sddm
printf "\n"
ask_yes_no "-Install and configure SDDM log-in Manager?" sddm
printf "\n" printf "\n"
ask_yes_no "-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS)" xdph ask_yes_no "-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS)" xdph
printf "\n" printf "\n"
ask_yes_no "-Install zsh, oh-my-zsh & pokemon-colorscripts?" zsh ask_yes_no "-Install zsh, oh-my-zsh & (Optional) pokemon-colorscripts?" zsh
printf "\n" printf "\n"
ask_yes_no "-Do you want to copy Hyprland dotfiles?" dots ask_yes_no "-Installing in a Asus ROG Laptops?" rog
printf "\n" printf "\n"
ask_yes_no "-Do you want to download pre-configured Hyprland dotfiles?" dots
printf "\n"
# Ensuring all in the scripts folder are made executable # Ensuring all in the scripts folder are made executable
chmod +x install-scripts/* chmod +x install-scripts/*
sleep 0.5
# Execute AUR helper script based on user choice # Ensuring base-devel is installed
execute_script "00-base.sh" execute_script "00-base.sh"
sleep 0.5
execute_script "pacman.sh"
# Execute AUR helper script based on user choice
if [ "$aur_helper" == "paru" ]; then if [ "$aur_helper" == "paru" ]; then
execute_script "paru.sh" execute_script "paru.sh"
elif [ "$aur_helper" == "yay" ]; then elif [ "$aur_helper" == "yay" ]; then
@ -172,10 +179,6 @@ if [ "$thunar" == "Y" ]; then
execute_script "thunar.sh" execute_script "thunar.sh"
fi fi
if [ "$rog" == "Y" ]; then
execute_script "rog.sh"
fi
if [ "$sddm" == "Y" ]; then if [ "$sddm" == "Y" ]; then
execute_script "sddm.sh" execute_script "sddm.sh"
fi fi
@ -190,12 +193,15 @@ fi
execute_script "InputGroup.sh" execute_script "InputGroup.sh"
if [ "$rog" == "Y" ]; then
execute_script "rog.sh"
fi
if [ "$dots" == "Y" ]; then if [ "$dots" == "Y" ]; then
execute_script "dotfiles.sh" execute_script "dotfiles.sh"
fi fi
clear
printf "\n${OK} Yey! Installation Completed.\n" printf "\n${OK} Yey! Installation Completed.\n"
printf "\n" printf "\n"