Major Code Cleaned up and Improvement :)

Pokemon ColorScripts is now optional
This commit is contained in:
JaKooLit 2023-12-31 14:31:03 +09:00
parent 28f9f62222
commit 92c29af072
27 changed files with 558 additions and 805 deletions

View File

@ -1,5 +1,9 @@
## Changelogs ## Changelogs
## 30 December 2023
- Code Cleaned up.
- Pokemon Color Scripts now offered as optional
## 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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 2.0 MiB

View File

@ -27,13 +27,17 @@ sudo nano /etc/apt/sources.list
- ensure to allow to install non-free drivers especially for users with NVIDIA gpus. You can also install non-free drivers if required. Edit install-scripts/nvidia.sh and change the nvidia stuff's if required - ensure to allow to install non-free drivers especially for users with NVIDIA gpus. You can also install non-free drivers if required. Edit install-scripts/nvidia.sh and change the nvidia stuff's if required
- If you have login Manager already like GDM (gnome login manager), I highly advice not to install SDDM. But if you decide to install SDDM, see here [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2) - If you have login Manager already like GDM (gnome login manager), I highly advice not to install SDDM. But if you decide to install SDDM, see here [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2)
#### 🔔 NOTICE TO UBUNTU USERS ### > [!IMPORTANT]
- You can use this installer. However, I have only tested on Ubuntu 23.10. Not sure if it works on older ubuntu as Hyprland needs an updated wayland libraries. For sure wont work in any Ubuntu LTS. > UBUNTU USERS: You can use this installer. However, I have only tested on Ubuntu 23.10. Not sure if it works on older ubuntu as Hyprland needs an updated wayland libraries. For sure wont work in any Ubuntu LTS.
- If you are using Gnome already, DO NOT install the SDDM. The GDM works file as well. For some reason, during installation, you will be asked which login manager you wanted to use. But during my test, nothing happened. > If you are using Gnome already, DO NOT install the SDDM. The GDM works file as well. For some reason, during installation, you will be asked which login manager you wanted to use. But during my test, nothing happened.
- For Ubuntu with NVIDIA GPU's, make sure to edit the install-scripts/nvidia.sh . Delete all packages in nvidia_pkg except libva-wayland2 and nvidia-vaapi-driver and uncomment/remove # before sudo ubuntu-drivers install. You also need to delete or simply just add # in the lines 44 and 45 echo "echo "## for nvidia" | sudo tee -a... and echo "deb http://deb.debian.org/debian........
#### ⚠️ WARNING! If you have GDM already as log-in manager, DO NOT install SDDM > [!CAUTION]
- You will encounter issues. See [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2) > For Ubuntu with NVIDIA GPU's, make sure to edit the install-scripts/nvidia.sh . Delete all packages in nvidia_pkg except libva-wayland2 and nvidia-vaapi-driver and uncomment/remove # before sudo ubuntu-drivers install. You also need to delete or simply just add # in the lines 37 and 38 echo "echo "## for nvidia" | sudo tee -a... and echo "deb http://deb.debian.org/debian........
> [!WARNING]
> If you have GDM already as log-in manager, DO NOT install SDDM
> You will encounter issues. See [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2)
#### 📷 Hyprland-Dots-v2 Featuring Rofi #### 📷 Hyprland-Dots-v2 Featuring Rofi
<p align="center"> <p align="center">
@ -135,39 +139,8 @@ source ~/.zshrc
- swappy [`LINK`](https://github.com/jtheoof/swappy) - swappy [`LINK`](https://github.com/jtheoof/swappy)
- xdg-desktop-portal-hyprland [`LINK`](https://github.com/hyprwm/xdg-desktop-portal-hyprland) - xdg-desktop-portal-hyprland [`LINK`](https://github.com/hyprwm/xdg-desktop-portal-hyprland)
- rofi-wayland [`LINK`](https://github.com/lbonn/rofi) - rofi-wayland [`LINK`](https://github.com/lbonn/rofi)
> [!TIP]
- a.) to update these package, in your installation folder, you can move these folders, `Hyprland` `nwg-look` `swaylock-effects` `swappy` `swww` `rofi` `asusctl` `supergfxctl`, as appropriate or download manually, cd into it, update/install > To update to latest packages, re-running this script will auto update all. Script is configured to pull latest packages build for you.
~~- b.) to update Hyprland and xdg-desktop-portal-hyprland~~
~~``` bash~~
~~git pull~~
~~make all~~
~~sudo make install~~
~~```~~
- c.) for nwg-look, asusctl, supergfxtctl, to update ran
``` bash
git pull
sudo make install
```
- c.) for swww, to update
``` bash
git pull
cargo build --release
```
- d.) for swaylock-effects and swappy
``` bash
git pull
meson build
ninja -C build
sudo ninja -C build install
```
- e.) for rofi-wayland
``` bash
git pull
meson setup build
ninja -C build
sudo ninja -C build install
```
#### 🤬 FAQ #### 🤬 FAQ
#### Most common question I got is, Hey Ja, Why the heck it is taking long time to install? Other distro like Arch its only a minute or two. Why here takes like forever?!?!?! #### Most common question I got is, Hey Ja, Why the heck it is taking long time to install? Other distro like Arch its only a minute or two. Why here takes like forever?!?!?!
@ -184,6 +157,10 @@ sudo ninja -C build install
- 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 Fedora-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

@ -16,7 +16,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

43
install-scripts/00-dependencies.sh Normal file → Executable file
View File

@ -1,8 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# https://github.com/JaKooLit # main dependencies #
# WARNING! If you remove packages here, Hyprland may not work properly.
# packages neeeded # packages neeeded
dependencies=( dependencies=(
@ -97,7 +95,7 @@ dependencies=(
xwayland xwayland
) )
############## 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 )"
@ -105,41 +103,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)_dependencies.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_dependencies.log"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Installation of main dependencies # Installation of main dependencies
printf "\n%s - Installing main dependencies.... \n" "${NOTE}" printf "\n%s - Installing main dependencies.... \n" "${NOTE}"

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

@ -1,10 +1,9 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# https://github.com/JaKooLit # Hyprland-Dots 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.
# and also, ensure that packages are present in debian repo # and also, ensure that packages are present in Debian Official Repo
# add packages wanted here # add packages wanted here
Extra=( Extra=(
@ -63,7 +62,7 @@ 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 # Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -71,58 +70,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)_hypr-pkgs.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Function for uninstalling packages
uninstall_package() {
# Checking if package is installed
if sudo dpkg -l | grep -q -w "$1" ; then
# Package is installed
echo -e "${NOTE} Uninstalling $1 ..."
sudo apt-get autoremove -y "$1" 2>&1 | tee -a "$LOG"
# Making sure package is uninstalled
if ! sudo dpkg -l | grep -q -w "$1" ; 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 uninstall.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}"

View File

@ -0,0 +1,60 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Global Functions for Scripts #
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
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() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
uninstall_package() {
# Check if package is installed
if sudo dpkg -l | grep -q -w "^ii $1" ; then
# Package is installed, attempt to uninstall
echo -e "${NOTE} Uninstalling $1 ..."
# Attempt to uninstall the package and its configuration files
sudo apt-get autoremove -y "$1" >> "$LOG" 2>&1
# Check if the package is still installed after removal attempt
if ! dpkg -l | grep -q -w "^ii $1" ; then
echo -e "\e[1A\e[K${OK} $1 was uninstalled."
else
echo -e "\e[1A\e[K${ERROR} $1 failed to uninstall. Please check the uninstall.log."
exit 1
fi
fi
}

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

@ -1,6 +1,8 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Adding user in input group for waybar keyboard state module #
############## 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 +10,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."
@ -30,26 +24,29 @@ while true; do
if [[ $choice == "y" || $choice == "Y" ]]; then if [[ $choice == "y" || $choice == "Y" ]]; then
# Check if the 'input' group exists # Check if the 'input' group exists
if grep -q '^input:' /etc/group; then if grep -q '^input:' /etc/group; then
echo "${OK} 'input' group exists." echo "${OK} 'input' group exists." 2>&1 | tee -a "$LOG"
else else
echo "${NOTE} 'input' group doesn't exist. Creating 'input' group..." echo "${NOTE} 'input' group doesn't exist. Creating 'input' group..." 2>&1 | tee -a "$LOG"
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 "${NOTE} 'input' group created" 2>&1 | tee -a "$LOG"
fi fi
# Add the user to the input group # Add the user to the input group
sudo usermod -aG input "$(whoami)" sudo usermod -aG input "$(whoami)"
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." 2>&1 | tee -a "$LOG"
# 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 "${NOTE} - User added to 'input' group" 2>&1 | tee -a "$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." 2>&1 | tee -a "$LOG"
break # Break out of the loop if 'no' is chosen break # Break out of the loop if 'no' is chosen
else else
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

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

@ -1,12 +1,13 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Bluetooth #
blue=( blue=(
bluez bluez
blueman blueman
) )
## 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 dont 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,51 +15,19 @@ 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)_bluetooth.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_bluetooth.log"
# Set the script to exit on error
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# 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

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

@ -1,14 +1,10 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hyprland-Dots to download from Releases #
# Set some colors for output messages ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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"
@ -34,27 +30,29 @@ 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
fi fi
printf "${NOTE} Downloading the latest Hyprland source code release...\n" printf "\n"
printf "${NOTE} Downloading the latest Hyprland-Dots source code release...\n"
# Fetch the tag name for the latest release using the GitHub API # Fetch the tag name for the latest release using the GitHub API
latest_tag=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4) latest_tag=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4)
# 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
@ -63,7 +61,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
@ -88,10 +86,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

41
install-scripts/fonts.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Fonts Required #
fonts=( fonts=(
fonts-firacode fonts-firacode
@ -8,8 +10,7 @@ fonts-noto-cjk
fonts-noto-color-emoji fonts-noto-color-emoji
) )
## 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 dont 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,41 +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
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)"
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)_fonts.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_fonts.log"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Installation of main components # Installation of main components
printf "\n%s - Installing fonts.... \n" "${NOTE}" printf "\n%s - Installing fonts.... \n" "${NOTE}"
@ -65,6 +35,7 @@ for PKG1 in "${fonts[@]}"; do
done done
# jetbrains nerd font. Necessary for waybar # jetbrains nerd font. Necessary for waybar
printf "\n%s - Downloading and Extracting Jetbrains Mono Nerd Font.... \n" "${NOTE}"
DOWNLOAD_URL="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz" DOWNLOAD_URL="https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz"
# Maximum number of download attempts # Maximum number of download attempts
MAX_ATTEMPTS=3 MAX_ATTEMPTS=3

24
install-scripts/force-install.sh Normal file → Executable file
View File

@ -1,37 +1,29 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# force reinstall packages cause it says its already installed but still not
# some users report that they need to install this packages
force=( force=(
imagemagick imagemagick
) )
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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')_force.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_force.log"
printf "${NOTE} Force installing packages...\n" printf "${NOTE} Force installing packages...\n"
for FORCE in "${force[@]}"; do for FORCE in "${force[@]}"; do
sudo apt-get --reinstall install -y "$FORCE" 2>&1 | tee -a "$LOG" sudo apt-get --reinstall install -y "$FORCE" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $CLIP install had failed, please check the install.log"; exit 1; } [ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $FORCE install had failed, please check the install.log"; exit 1; }
done done
clear clear

41
install-scripts/gtk_themes.sh Normal file → Executable file
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
gtk2-engines-murrine gtk2-engines-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 )"
@ -13,40 +15,11 @@ 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.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_themes.log"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# installing engine needed for gtk themes # installing engine needed for gtk themes
for PKG1 in "${engine[@]}"; do for PKG1 in "${engine[@]}"; do
@ -64,10 +37,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

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

@ -1,17 +1,20 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package#
# Set some colors for output messages ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
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)_hyprland.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland.log"
MLOG="install-$(date +%d-%H%M%S)_hyprland2.log"
# Clone, build, and install Hyprland using Cmake # Clone, build, and install Hyprland using Cmake
printf "${NOTE} Cloning Hyprland...\n" printf "${NOTE} Cloning Hyprland...\n"
@ -22,17 +25,18 @@ if [ -d "Hyprland" ]; then
rm -rf "Hyprland" 2>&1 | tee -a "$LOG" rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
fi fi
if git clone --recursive -b v0.32.3 "https://github.com/hyprwm/Hyprland" 2>&1 | tee -a "$LOG"; then if git clone --recursive -b v0.32.3 "https://github.com/hyprwm/Hyprland"; then
cd "Hyprland" || exit 1 cd "Hyprland" || exit 1
make all 2>&1 | tee -a "$LOG" make all
if sudo make install 2>&1 | tee -a "$LOG"; then if sudo make install 2>&1 | tee -a "$MLOG"; then
printf "${OK} Hyprland installed successfully.\n" printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
else else
echo -e "${ERROR} Installation failed for Hyprland." echo -e "${ERROR} Installation failed for Hyprland." 2>&1 | tee -a "$MLOG"
fi fi
mv $MLOG ../Install-Logs/ || true
cd .. cd ..
else else
echo -e "${ERROR} Download failed for Hyprland." echo -e "${ERROR} Download failed for Hyprland." 2>&1 | tee -a "$LOG"
fi fi
clear clear

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

@ -1,4 +1,7 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Nvidia - Check Readme for more details for the drivers #
# UBUNTU USERS, FOLLOW README!
nvidia_pkg=( nvidia_pkg=(
nvidia-driver nvidia-driver
@ -12,7 +15,7 @@ nvidia_pkg=(
# for ubuntu-nvidia owners! just delete # # for ubuntu-nvidia owners! just delete #
# sudo ubuntu-drivers install # sudo ubuntu-drivers install
############## 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 )"
@ -20,20 +23,11 @@ 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)_nvidia.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log"
MLOG="install-$(date +%d-%H%M%S)_nvidia2.log"
set -e
## adding the deb source for nvidia driver ## adding the deb source for nvidia driver
# Create a backup of the sources.list file # Create a backup of the sources.list file
@ -47,26 +41,6 @@ echo "deb http://deb.debian.org/debian/ trixie main contrib non-free non-free-fi
# Update the package list # Update the package list
sudo apt update sudo apt update
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Function to add a value to a configuration file if not present # Function to add a value to a configuration file if not present
add_to_file() { add_to_file() {
local config_file="$1" local config_file="$1"
@ -80,8 +54,8 @@ add_to_file() {
fi fi
} }
# Clone, build, and install nvidia-Hyprland using Cmake # Clone, build, and install Hyprland using Cmake
printf "${NOTE} Installing nvidia-Hyprland...\n" printf "${NOTE} Cloning Hyprland...\n"
# Check if Hyprland folder exists and remove it # Check if Hyprland folder exists and remove it
if [ -d "Hyprland" ]; then if [ -d "Hyprland" ]; then
@ -89,20 +63,21 @@ if [ -d "Hyprland" ]; then
rm -rf "Hyprland" 2>&1 | tee -a "$LOG" rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
fi fi
if git clone --recursive -b v0.32.3 "https://github.com/hyprwm/Hyprland" 2>&1 | tee -a "$LOG"; then if git clone --recursive -b v0.32.3 "https://github.com/hyprwm/Hyprland"; then
cd Hyprland || exit 1 cd "Hyprland" || exit 1
make all make all
if sudo make install 2>&1 | tee -a "$LOG"; then if sudo make install 2>&1 | tee -a "$MLOG"; then
printf "${OK} Nvidia-Hyprland installed successfully.\n" printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
# Return to the previous directory
cd ..
else else
echo -e "${ERROR} Installation failed for Nvidia-Hyprland." 2>&1 | tee -a "$LOG" echo -e "${ERROR} Installation failed for Hyprland." 2>&1 | tee -a "$MLOG"
fi fi
mv $MLOG ../Install-Logs/ || true
cd ..
else else
echo -e "${ERROR} Download failed for Nvidia-Hyprland." 2>&1 | tee -a "$LOG" echo -e "${ERROR} Download failed for Hyprland." 2>&1 | tee -a "$LOG"
fi fi
# Install additional Nvidia packages # Install additional Nvidia packages
printf "${YELLOW} Installing Nvidia packages...\n" printf "${YELLOW} Installing Nvidia packages...\n"
for NVIDIA in "${nvidia_pkg[@]}"; do for NVIDIA in "${nvidia_pkg[@]}"; do

85
install-scripts/nwg-look.sh Normal file → Executable file
View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# nwg-look ) #
nwg_look=( nwg_look=(
golang golang
@ -7,68 +9,57 @@ nwg_look=(
libglib2.0-bin libglib2.0-bin
) )
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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')_nwg-look.log" LOG="Install-Logs/install-$(date +'%d-%H%M%S')_nwg-look.log"
MLOG="install-$(date +'%d-%H%M%S')_nwg-look2.log"
# Function for installing packages # Installing NWG-Look Dependencies
install_package() { for PKG1 in "${nwg_look[@]}"; do
# Checking if package is already installed install_package "$PKG1" 2>&1 | tee -a "$LOG"
if sudo dpkg -l | grep -q -w "$1" ; then if [ $? -ne 0 ]; then
echo -e "${OK} $1 is already installed. Skipping..." echo -e "\033[1A\033[K${ERROR} - $PKG1 install had failed, please check the install.log"
else exit 1
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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 fi
}
for package in "${nwg_look[@]}"; do
install_package "$package" || exit 1
done done
# Check if nwg-look folder exists and remove it
if [ -d "nwg-look" ]; then
printf "${NOTE} Removing existing nwg-look folder...\n"
rm -rf "nwg-look" 2>&1 | tee -a "$LOG"
fi
printf "${NOTE} Installing nwg-look\n" printf "${NOTE} Installing nwg-look\n"
if git clone https://github.com/nwg-piotr/nwg-look.git; then # Check if nwg-look directory exists
if [ -d "nwg-look" ]; then
printf "${INFO} nwg-look directory already exists. Updating...\n"
cd nwg-look || exit 1 cd nwg-look || exit 1
make build git stash
sudo make install git pull
cd ..
else else
echo -e "${ERROR} Download failed for nwg-look." # Clone nwg-look repository if directory doesn't exist
exit 1 if git clone https://github.com/nwg-piotr/nwg-look.git; then
cd nwg-look || exit 1
else
echo -e "${ERROR} Download failed for nwg-look." 2>&1 | tee -a "$LOG"
mv "$MLOG" ../Install-Logs/ || true
exit 1
fi
fi fi
# Build nwg-look
make build
if sudo make install 2>&1 | tee -a "$MLOG"; then
printf "${OK} nwg-look installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for nwg-look" 2>&1 | tee -a "$MLOG"
fi
# Move logs to Install-Logs directory
mv "$MLOG" ../Install-Logs/ || true
cd ..
clear clear

41
install-scripts/pywal.sh Normal file → Executable file
View File

@ -1,59 +1,32 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Pywal Colors) #
pywal=( pywal=(
imagemagick imagemagick
python3-pip python3-pip
) )
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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')_pywal.log" LOG="Install-Logs/install-$(date +'%d-%H%M%S')_pywal.log"
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Installing Pywal dependencies
for package in "${pywal[@]}"; do for package in "${pywal[@]}"; do
install_package "$package" || exit 1 install_package "$package" || exit 1
done done
## Installing pywal colors ## Installing pywal colors
printf "\n%s - Installing Pywal.... \n" "${NOTE}" printf "\n%s - Installing Pywal.... \n" "${NOTE}"
sudo pip3 install pywal --break-system-packages 2>&1 | tee -a "$LOG" sudo pip3 install pywal --break-system-packages 2>&1 | tee -a "$LOG"
clear clear

109
install-scripts/rofi-wayland.sh Normal file → Executable file
View File

@ -1,11 +1,13 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Rofi-Wayland) #
rofi=( rofi=(
bison bison
flex flex
) )
############## 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 )"
@ -13,87 +15,68 @@ 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)_rofi_wayland.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_rofi_wayland.log"
MLOG="install-$(date +%d-%H%M%S)_rofi_wayland2.log"
# uninstall other rofi # uninstall other rofi
printf "${YELLOW} Checking for other rofi packages and remove if any..${RESET}\n" for PKG in "rofi" "bison"; do
if sudo dpkg -l | grep -q -w "rofi"; then uninstall_package "$PKG" 2>&1 | tee -a "$LOG"
printf "${YELLOW} rofi detected.. uninstalling...${RESET}\n"
for rofi in rofi; do
sudo apt-get autoremove -y "rofi" 2>/dev/null | tee -a "$LOG" || true
done
fi
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Installation of main components
printf "\n%s - Installing rofi-wayland dependencies.... \n" "${NOTE}"
for PKG1 in "${rofi[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $PKG1 install had failed, please check the install.log" echo -e "\e[1A\e[K${ERROR} - $PKG uninstallation had failed, please check the log"
exit 1 exit 1
fi fi
done done
printf "\n\n\n" sleep 1
printf "\n"
# Installation of main components
printf "\n%s - Installing rofi-wayland dependencies.... \n" "${NOTE}"
printf "${NOTE} Force installing packages...\n"
for FORCE in "${rofi[@]}"; do
sudo apt-get --reinstall install -y "$FORCE" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $FORCE install had failed, please check the install.log"; exit 1; }
done
printf "\n\n"
# Clone and build rofi - wayland # Clone and build rofi - wayland
printf "${NOTE} Installing rofi-wayland...\n" printf "${NOTE} Installing rofi-wayland...\n"
# Check if rofi folder exists and remove it printf "${NOTE} Installing rofi-wayland\n"
# Check if rofi folder exists
if [ -d "rofi" ]; then if [ -d "rofi" ]; then
printf "${NOTE} Removing existing rofi folder...\n" printf "${NOTE} rofi folder exists. Pulling latest changes...\n"
rm -rf "rofi" 2>&1 | tee -a "$LOG" cd rofi || exit 1
git pull origin master 2>&1 | tee -a "$MLOG"
else
printf "${NOTE} Cloning rofi repository...\n"
if git clone https://github.com/lbonn/rofi.git; then
cd rofi || exit 1
else
echo -e "${ERROR} Download failed for rofi-wayland." 2>&1 | tee -a "$LOG"
exit 1
fi
fi fi
if git clone https://github.com/lbonn/rofi.git 2>&1 | tee -a "$LOG"; then # Proceed with the installation steps
cd "rofi" || exit 1 if meson setup build && ninja -C build; then
if meson setup build && ninja -C build; then if sudo ninja -C build install 2>&1 | tee -a "$MLOG"; then
if sudo ninja -C build install 2>&1 | tee -a "$LOG"; then printf "${OK} rofi-wayland installed successfully.\n" 2>&1 | tee -a "$MLOG"
printf "${OK} rofi-wayland installed successfully.\n"
# Return to the previous directory
cd ..
else
echo -e "${ERROR} Installation failed for rofi-wayland."
fi
else else
echo -e "${ERROR} Meson setup or ninja build failed for rofi-wayland." echo -e "${ERROR} Installation failed for rofi-wayland." 2>&1 | tee -a "$MLOG"
fi fi
else else
echo -e "${ERROR} Download failed for rofi-wayland." echo -e "${ERROR} Meson setup or ninja build failed for rofi-wayland." 2>&1 | tee -a "$MLOG"
fi fi
# Move logs to Install-Logs directory
mv "$MLOG" ../Install-Logs/ || true
cd .. || exit 1
clear clear

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

@ -1,26 +1,19 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# ASUS ROG ) #
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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-$(date +%d-%H%M%S)_rog.log"
# Function to handle the installation and log messages # Function to handle the installation and log messages
install_and_log() { install_and_log() {
@ -45,7 +38,8 @@ install_and_log() {
echo -e "${ERROR} Installation failed for $project_name." echo -e "${ERROR} Installation failed for $project_name."
fi fi
# Return to the previous directory #moving logs into main install-logs
mv $LOG ../Install-Logs/ || true
cd - || exit 1 cd - || exit 1
else else
echo -e "${ERROR} Cloning $project_name from $git_url failed." echo -e "${ERROR} Cloning $project_name from $git_url failed."
@ -58,5 +52,4 @@ install_and_log "asusctl" "https://gitlab.com/asus-linux/asusctl.git"
# Download and build supergfxctl # Download and build supergfxctl
install_and_log "supergfxctl" "https://gitlab.com/asus-linux/supergfxctl.git" install_and_log "supergfxctl" "https://gitlab.com/asus-linux/supergfxctl.git"
clear clear

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

@ -1,9 +1,8 @@
#!/bin/bash #!/bin/bash
# https://github.com/JaKooLit # 💫 https://github.com/JaKooLit 💫 #
# SDDM with optional SDDM theme #
# WARNING! If you remove packages here, dotfiles may not work properly.
# and also, ensure that packages are present in debian repo
# installing with NO-recommends
sddm1=( sddm1=(
sddm sddm
) )
@ -16,6 +15,7 @@ sddm2=(
qml-module-qtquick-layouts qml-module-qtquick-layouts
) )
## 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 )"
@ -23,42 +23,13 @@ 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"
set -e
# Function for installing packages # Install SDDM (no-recommends)
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# Install SDDM and Tokyo-Night theme
printf "\n%s - Installing sddm.... \n" "${NOTE}" printf "\n%s - Installing sddm.... \n" "${NOTE}"
for PKG1 in "${sddm1[@]}" ; do for PKG1 in "${sddm1[@]}" ; do
sudo apt-get install --no-install-recommends -y "$PKG1" 2>&1 | tee -a "$LOG" sudo apt-get install --no-install-recommends -y "$PKG1" 2>&1 | tee -a "$LOG"
@ -117,7 +88,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

53
install-scripts/swappy.sh Normal file → Executable file
View File

@ -1,44 +1,45 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# swappy - for screenshot) #
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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')_swappy.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_swappy2.log"
MLOG="install-$(date +%d-%H%M%S)_swappy.log"
printf "${NOTE} Installing swappy..\n" printf "${NOTE} Installing swappy..\n"
# Check if Hyprland folder exists and remove it # Check if swappy folder exists
if [ -d "swappy" ]; then if [ -d "swappy" ]; then
printf "${NOTE} Removing existing swappy folder...\n" printf "${NOTE} swappy folder exists. Pulling latest changes...\n"
rm -rf "swappy" 2>&1 | tee -a "$LOG" cd swappy || exit 1
git pull origin master 2>&1 | tee -a "$MLOG"
else
printf "${NOTE} Cloning swappy repository...\n"
if git clone https://github.com/jtheoof/swappy.git; then
cd swappy || exit 1
else
echo -e "${ERROR} Download failed for swappy" 2>&1 | tee -a "$LOG"
exit 1
fi
fi fi
if git clone https://github.com/jtheoof/swappy.git; then # Proceed with the installation steps
cd swappy || exit 1 meson build
meson build ninja -C build
ninja -C build sudo ninja -C build install 2>&1 | tee -a "$MLOG"
sudo ninja -C build install 2>&1 | tee -a "$LOG"
# Return to the previous directory # Moving logs into main Install-Logs
cd - || exit 1 mv "$MLOG" ../Install-Logs/ || true
else cd - || exit 1
echo -e "${ERROR} Download failed for swappy" 2>&1 | tee -a "$LOG"
fi
clear clear

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

@ -1,44 +1,44 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Swaylock Effects #
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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')_swaylock-effects.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_swaylock-effects2.log"
MLOG="install-$(date +%d-%H%M%S)_swaylock-effects.log"
printf "${NOTE} Installing swaylock-effects\n" printf "${NOTE} Installing swaylock-effects\n"
# Check if swaylock-effects folder exists
# Check if swaylock-effects folder exists and remove it
if [ -d "swaylock-effects" ]; then if [ -d "swaylock-effects" ]; then
printf "${NOTE} Removing existing swaylock-effects folder...\n" printf "${NOTE} swaylock-effects folder exists. Pulling latest changes...\n"
rm -rf "swaylock-effects" 2>&1 | tee -a "$LOG" cd swaylock-effects || exit 1
git pull origin master 2>&1 | tee -a "$MLOG"
else
printf "${NOTE} Cloning swaylock-effects repository...\n"
if git clone https://github.com/jirutka/swaylock-effects.git; then
cd swaylock-effects || exit 1
else
echo -e "${ERROR} Download failed for swaylock-effects" 2>&1 | tee -a "$LOG"
exit 1
fi
fi fi
if git clone https://github.com/mortie/swaylock-effects.git; then # Proceed with the installation steps
cd swaylock-effects || exit 1 meson build
meson build ninja -C build
ninja -C build sudo ninja -C build install 2>&1 | tee -a "$MLOG"
sudo ninja -C build install 2>&1 | tee -a "$LOG"
# Return to the previous directory # Moving logs into main Install-Logs
cd - || exit 1 mv "$MLOG" ../Install-Logs/ || true
else cd - || exit 1
echo -e "${ERROR} Download failed for swaylock-effects" 2>&1 | tee -a "$LOG"
fi
clear clear

71
install-scripts/swww.sh Normal file → Executable file
View File

@ -1,56 +1,55 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# SWWW - Wallpaper Utility #
############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 )"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
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')_swww.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_swww2.log"
MLOG="install-$(date +%d-%H%M%S)_swww.log"
printf "${NOTE} Installing swww\n" printf "${NOTE} Installing swww\n"
# Check if swww folder exists and remove it # Check if swww folder exists
if [ -d "swww" ]; then if [ -d "swww" ]; then
printf "${NOTE} Removing existing swww folder...\n" printf "${NOTE} swww folder exists. Pulling latest changes...\n"
rm -rf "swww" 2>&1 | tee -a "$LOG"
fi
if git clone https://github.com/Horus645/swww.git 2>&1 | tee -a "$LOG"; then
cd swww || exit 1 cd swww || exit 1
source "$HOME/.cargo/env" git pull origin main 2>&1 | tee -a "$MLOG"
cargo build --release 2>&1 | tee -a "$LOG"
# Copy binaries to /usr/bin/
sudo cp target/release/swww /usr/bin/ 2>&1 | tee -a "$LOG"
sudo cp target/release/swww-daemon /usr/bin/ 2>&1 | tee -a "$LOG"
# Copy bash completions
sudo mkdir -p /usr/share/bash-completion/completions 2>&1 | tee -a "$LOG"
sudo cp completions/swww.bash /usr/share/bash-completion/completions/swww 2>&1 | tee -a "$LOG"
# Copy zsh completions
sudo mkdir -p /usr/share/zsh/site-functions 2>&1 | tee -a "$LOG"
sudo cp completions/_swww /usr/share/zsh/site-functions/_swww 2>&1 | tee -a "$LOG"
# Return to the previous directory
cd - || exit 1
else else
echo -e "${ERROR} Download failed for swww" 2>&1 | tee -a "$LOG" printf "${NOTE} Cloning swww repository...\n"
if git clone https://github.com/Horus645/swww.git; then
cd swww || exit 1
else
echo -e "${ERROR} Download failed for swww" 2>&1 | tee -a "$LOG"
exit 1
fi
fi fi
# Proceed with the rest of the installation steps
source "$HOME/.cargo/env"
cargo build --release 2>&1 | tee -a "$MLOG"
# Copy binaries to /usr/bin/
sudo cp target/release/swww /usr/bin/ 2>&1 | tee -a "$MLOG"
sudo cp target/release/swww-daemon /usr/bin/ 2>&1 | tee -a "$MLOG"
# Copy bash completions
sudo mkdir -p /usr/share/bash-completion/completions 2>&1 | tee -a "$MLOG"
sudo cp completions/swww.bash /usr/share/bash-completion/completions/swww 2>&1 | tee -a "$MLOG"
# Copy zsh completions
sudo mkdir -p /usr/share/zsh/site-functions 2>&1 | tee -a "$MLOG"
sudo cp completions/_swww /usr/share/zsh/site-functions/_swww 2>&1 | tee -a "$MLOG"
# Moving logs into main Install-Logs
mv "$MLOG" ../Install-Logs/ || true
cd - || exit 1
clear clear

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

@ -1,7 +1,10 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Thunar #
thunar=( thunar=(
ffmpegthumbnailer ffmpegthumbnailer
file-roller
thunar thunar
thunar-volman thunar-volman
tumbler tumbler
@ -9,7 +12,7 @@ thunar-archive-plugin
xarchiver xarchiver
) )
############## 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,40 +20,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)_thunar.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar.log"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
printf "${NOTE} Installing Thunar Packages...\n" printf "${NOTE} Installing Thunar Packages...\n"
for THUNAR in "${thunar[@]}"; do for THUNAR in "${thunar[@]}"; do
@ -58,18 +31,15 @@ printf "${NOTE} Installing Thunar Packages...\n"
[ $? -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

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

@ -1,7 +1,12 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# XDG-Desktop-Portals #
xdg=(
xdg-desktop-portal-gtk
)
############## 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 )"
@ -9,59 +14,79 @@ 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)_xdph.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log"
MLOG="install-$(date +%d-%H%M%S)_xdph2.log"
##
printf "${NOTE} Installing xdg-desktop-portal-gtk...\n"
for portal in "${xdg[@]}"; do
install_package "$portal" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $portal install had failed, please check the install.log"; exit 1; }
done
# Check if xdg-desktop-portal-hyprland folder exists and remove it # Check if xdg-desktop-portal-hyprland folder exists and remove it
if [ -d "xdg-desktop-portal-hyprland" ]; then if [ -d "xdg-desktop-portal-hyprland" ]; then
printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n" printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n"
rm -rf "xdg-desktop-portal-hyprland" 2>&1 | tee -a "$LOG" rm -rf "xdg-desktop-portal-hyprland"
fi fi
# Clone and build xdg-desktop-portal-hyprland # Clone and build xdg-desktop-portal-hyprland
printf "${NOTE} Installing xdg-desktop-portal-hyprland...\n" printf "${NOTE} Installing xdg-desktop-portal-hyprland...\n"
if git clone --recursive https://github.com/hyprwm/xdg-desktop-portal-hyprland 2>&1 | tee -a "$LOG"; then if git clone --recursive https://github.com/hyprwm/xdg-desktop-portal-hyprland; then
cd xdg-desktop-portal-hyprland || exit 1 cd xdg-desktop-portal-hyprland || exit 1
make all make all
if sudo make install 2>&1 | tee -a "$LOG"; then if sudo make install 2>&1 | tee -a "$MLOG" ; then
printf "${OK} xdg-desktop-portal-hyprland installed successfully.\n" printf "${OK} xdg-desktop-portal-hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
# Return to the previous directory else
echo -e "${ERROR} Installation failed for xdg-desktop-portal-hyprland." 2>&1 | tee -a "$MLOG"
fi
#moving the addional logs to Install-Logs directory
mv $MLOG ../Install-Logs/ || true
cd .. cd ..
else
echo -e "${ERROR} Installation failed for xdg-desktop-portal-hyprland."
fi
else else
echo -e "${ERROR} Download failed for xdg-desktop-portal-hyprland." echo -e "${ERROR} Download failed for xdg-desktop-portal-hyprland." 2>&1 | tee -a "$MLOG"
mv $MLOG Install-Logs/ || true
fi fi
printf "\n\n\n" printf "\n\n"
printf "${NOTE} Checking for other XDG-Desktop-Portal-Implementations....\n"
sleep 1
printf "\n"
printf "${NOTE} XDG-desktop-portal-KDE & GNOME (if installed) should be manually disabled or removed! I can't remove it... sorry...\n"
while true; do
read -rp "${CAT} Would you like to try to remove other XDG-Desktop-Portal-Implementations? (y/n) " XDPH1
echo
sleep 1
# Clean out other portals case $XDPH1 in
printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n" [Yy])
# Check if packages are installed and uninstall if present # Clean out other portals
if sudo apt-get list installed xdg-desktop-portal-gnome &>> /dev/null; then printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n"
echo "Removing xdg-desktop-portal-gnome..." # Check if packages are installed and uninstall if present
sudo apt-get remove -y xdg-desktop-portal-gnome 2>&1 | tee -a "$LOG" if sudo apt-get list installed xdg-desktop-portal-wlr &>> /dev/null; then
fi echo "Removing xdg-desktop-portal-wlr..."
if sudo apt-get list installed xdg-desktop-portal-wlr &>> /dev/null; then sudo apt-get remove -y xdg-desktop-portal-wlr 2>&1 | tee -a "$LOG"
echo "Removing xdg-desktop-portal-wlr..." fi
sudo apt-get remove -y xdg-desktop-portal-wlr 2>&1 | tee -a "$LOG"
fi
if sudo apt-get list installed xdg-desktop-portal-lxqt &>> /dev/null; then
echo "Removing xdg-desktop-portal-lxqt..."
sudo apt-get remove -y xdg-desktop-portal-lxqt 2>&1 | tee -a "$LOG"
fi
if sudo apt-get list installed xdg-desktop-portal-lxqt &>> /dev/null; then
echo "Removing xdg-desktop-portal-lxqt..."
sudo apt-get remove -y xdg-desktop-portal-lxqt 2>&1 | tee -a "$LOG"
fi
break
;;
[Nn])
echo "no other XDG-implementations will be removed." 2>&1 | tee -a "$LOG"
break
;;
*)
echo "Invalid input. Please enter 'y' for yes or 'n' for no."
;;
esac
done
clear clear

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

@ -1,7 +1,12 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Zsh and Oh my Zsh + Optional Pokemon ColorScripts#
zsh=(
zsh
)
############## 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 )"
@ -9,80 +14,84 @@ 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)_zsh.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh.log"
set -e
# Function for installing packages
install_package() {
# Checking if package is already installed
if sudo dpkg -l | grep -q -w "$1" ; then
echo -e "${OK} $1 is already installed. Skipping..."
else
# Package not installed
echo -e "${NOTE} Installing $1 ..."
sudo apt-get install -y "$1" 2>&1 | tee -a "$LOG"
# Making sure the package is installed
if sudo dpkg -l | grep -q -w "$1" ; 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
}
# 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
# Check if the log file already exists, if yes, append a counter to make it unique
COUNTER=1
while [ -f "$LOG" ]; do
LOG="Install-Logs/install-$(date +%d-%H%M%S)_${COUNTER}_zsh.log"
((COUNTER++))
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; do for ZSHP in "${zsh[@]}"; do
install_package "$ZSH" 2>&1 | tee -a "$LOG" install_package "$ZSHP" 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} - $ZSHP install had failed, please check the install.log"
fi fi
done done
printf "\n"
## Optional Pokemon color scripts
while true; do
read -p "${CAT} Do you want to install Pokemon color scripts? (y/n): " choice
case "$choice" in
[Yy]*)
if [ -d "pokemon-colorscripts" ]; then
cd pokemon-colorscripts && git pull && sudo ./install.sh && cd ..
else
git clone https://gitlab.com/phoneybadger/pokemon-colorscripts.git &&
cd pokemon-colorscripts && sudo ./install.sh && cd ..
fi
sed -i '/#pokemon-colorscripts --no-title -s -r/s/^#//' assets/.zshrc >> "$LOG" 2>&1
echo "${NOTE} Pokemon Installation process completed" 2>&1 | tee -a "$LOG"
break
;;
[Nn]*)
echo "${ORANGE} You chose not to install Pokemon Color Scripts." 2>&1 | tee -a "$LOG"
break
;;
*)
echo "Please enter 'y' for yes or 'n' for no." 2>&1 | tee -a "$LOG"
;;
esac
done
printf "\n"
# Install Oh My Zsh, plugins, and set zsh as default shell # Install Oh My Zsh, plugins, and set zsh as default shell
if command -v zsh >/dev/null; then if command -v zsh >/dev/null; then
printf "${NOTE} Installing Oh My Zsh and plugins...\n" printf "${NOTE} Installing Oh My Zsh and plugins...\n"
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
if [ -f "$HOME/.zprofile" ]; then
cp -b "$HOME/.zprofile" "$HOME/.zprofile-backup" || true
fi fi
cp -r 'assets/.zshrc' ~/ cp -r 'assets/.zshrc' ~/
@ -91,27 +100,12 @@ if command -v zsh >/dev/null; then
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."
sleep 1 sleep 1
done done
printf "\n"
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"
# Pokemon Colorscripts
printf "${NOTE} Installing Pokemon-Colorscripts.\n"
# Check if directory 'pokemon-colorscripts' exists
if [ -d "pokemon-colorscripts" ]; then
echo "${OK} Directory 'pokemon-colorscripts' exists. Pulling changes..." 2>&1 | tee -a "$LOG"
cd pokemon-colorscripts && git pull 2>&1 | tee -a "$LOG"
sudo ./install.sh 2>&1 | tee -a "$LOG"
else
git clone https://gitlab.com/phoneybadger/pokemon-colorscripts.git 2>&1 | tee -a "$LOG"
cd pokemon-colorscripts && sudo ./install.sh 2>&1 | tee -a "$LOG"
fi
cd ..
clear clear

35
install.sh Normal file → Executable file
View File

@ -47,6 +47,11 @@ if [ "$proceed2" != "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)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
@ -129,7 +134,7 @@ execute_script() {
# Collect user responses to all questions # Collect user responses to all questions
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"
@ -137,20 +142,21 @@ 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 on Asus ROG Laptops?" rog ask_yes_no "-Install & configure SDDM log-in Manager plus (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 plus (OPTIONAL) pokemon-colorscripts for tty?" zsh
printf "\n" printf "\n"
ask_yes_no "-Install swaylock-effects? (recommended - for screen locks)" swaylock ask_yes_no "-Install swaylock-effects? (recommended - for screen locks)" swaylock
printf "\n" printf "\n"
ask_yes_no "-Do you want to install nwg-look? (GTK Theming app - lxappearance-like)" nwg ask_yes_no "-Install nwg-look? (a GTK Theming app - lxappearance-like) WARN! This Package Takes long time to build!" nwg
printf "\n" printf "\n"
ask_yes_no "-Do you want to copy Hyprland dotfiles?" dots ask_yes_no "-Installing on Asus ROG Laptops?" rog
printf "\n" printf "\n"
ask_yes_no "-Do you want to download and install 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/*
@ -187,10 +193,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
@ -211,11 +213,22 @@ if [ "$nwg" == "Y" ]; then
execute_script "nwg-look.sh" execute_script "nwg-look.sh"
fi fi
if [ "$rog" == "Y" ]; then
execute_script "rog.sh"
fi
execute_script "InputGroup.sh" execute_script "InputGroup.sh"
if [ "$dots" == "Y" ]; then if [ "$dots" == "Y" ]; then
execute_script "dotfiles.sh" execute_script "dotfiles.sh"
fi
# Clean up
printf "\n${OK} performing some clean up.\n"
if [ -e "JetBrainsMono.tar.xz" ]; then
echo "JetBrainsMono.tar.xz found. Deleting..."
rm JetBrainsMono.tar.xz
echo "JetBrainsMono.tar.xz deleted successfully."
fi fi
clear clear