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
## 30 December 2023
- Code Cleaned up.
- Pokemon Color Scripts now offered as optional
## 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

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
- 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 ###
- 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.
- 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........
> [!IMPORTANT]
> 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.
#### ⚠️ 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)
> [!CAUTION]
> 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
<p align="center">
@ -135,39 +139,8 @@ source ~/.zshrc
- swappy [`LINK`](https://github.com/jtheoof/swappy)
- xdg-desktop-portal-hyprland [`LINK`](https://github.com/hyprwm/xdg-desktop-portal-hyprland)
- rofi-wayland [`LINK`](https://github.com/lbonn/rofi)
- 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
~~- 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
```
> [!TIP]
> To update to latest packages, re-running this script will auto update all. Script is configured to pull latest packages build for you.
#### 🤬 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?!?!?!
@ -184,6 +157,10 @@ sudo ninja -C build install
- 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)
#### 🔧 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:
- ~~[ ] Install zsh and oh-my-zsh without necessary steps above~~ DONE
- [ ] possibly adding gruvbox themes, cursors, icons

View File

@ -16,7 +16,7 @@ source $ZSH/oh-my-zsh.sh
# Display Pokemon-colorscripts
# 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

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

@ -1,8 +1,6 @@
#!/bin/bash
# https://github.com/JaKooLit
# WARNING! If you remove packages here, Hyprland may not work properly.
# 💫 https://github.com/JaKooLit 💫 #
# main dependencies #
# packages neeeded
dependencies=(
@ -97,7 +95,7 @@ dependencies=(
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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -105,41 +103,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
}
LOG="Install-Logs/install-$(date +%d-%H%M%S)_dependencies.log"
# Installation of main dependencies
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
# https://github.com/JaKooLit
# 💫 https://github.com/JaKooLit 💫 #
# Hyprland-Dots Packages #
# edit your packages desired here.
# 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
Extra=(
@ -63,7 +62,7 @@ uninstall=(
mako
)
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ######################################
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -71,58 +70,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
}
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log"
# Installation of main components
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
# 💫 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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -8,18 +10,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_input.log"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_input.log"
while true; do
echo "${WARN} This script will add or remove your user from the 'input' group."
@ -30,26 +24,29 @@ while true; do
if [[ $choice == "y" || $choice == "Y" ]]; then
# Check if the 'input' group exists
if grep -q '^input:' /etc/group; then
echo "${OK} 'input' group exists."
echo "${OK} 'input' group exists." 2>&1 | tee -a "$LOG"
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
# 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
# Add the user to the input group
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
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
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
else
echo "${ERROR} Invalid choice. Please enter 'y' for yes or 'n' for no."
fi
done
clear

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

@ -1,12 +1,13 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Bluetooth #
blue=(
bluez
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 )"
@ -14,51 +15,19 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
}
LOG="Install-Logs/install-$(date +%d-%H%M%S)_bluetooth.log"
# Bluetooth
printf "${NOTE} Installing Bluetooth Packages...\n"
for BLUE in "${blue[@]}"; do
install_package "$BLUE" 2>&1 | tee -a "$LOG"
[ $? -ne 0 ] && { echo -e "\e[1A\e[K${ERROR} - $BLUE install had failed, please check the install.log"; exit 1; }
done
printf " Activating Bluetooth Services...\n"
sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG"
printf " Activating Bluetooth Services...\n"
sudo systemctl enable --now bluetooth.service 2>&1 | tee -a "$LOG"
clear
clear

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

@ -1,14 +1,10 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hyprland-Dots to download from Releases #
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
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)."
read -p "Do you want to upgrade to the latest version? (y/n): " upgrade_choice
if [ "$upgrade_choice" = "y" ]; then
echo -e "${NOTE} Proceeding to download the latest release."
echo -e "${NOTE} Proceeding to download the latest release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
# Delete existing directories starting with JaKooLit-Hyprland-Dots
find . -type d -name 'JaKooLit-Hyprland-Dots*' -exec rm -rf {} +
rm -f Hyprland-Dots.tar.gz
printf "${WARN} Removed existing Hyprland-Dots.tar.gz.\n"
else
echo -e "${NOTE} User chose not to upgrade. Exiting..."
echo -e "${NOTE} User chose not to upgrade. Exiting..." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 0
fi
fi
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
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
if [ -z "$latest_tag" ]; then
echo -e "${ERROR} Unable to fetch the latest tag information."
echo -e "${ERROR} Unable to fetch the latest tag information." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi
@ -63,7 +61,7 @@ latest_tarball_url=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots
# Check if the URL is obtained successfully
if [ -z "$latest_tarball_url" ]; then
echo -e "${ERROR} Unable to fetch the tarball URL for the latest release."
echo -e "${ERROR} Unable to fetch the tarball URL for the latest release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi
@ -88,10 +86,12 @@ if curl -L "$latest_tarball_url" -o "$file_name"; then
# Set execute permission for copy.sh and execute it
chmod +x copy.sh
./copy.sh 2>&1 | tee -a "../install-$(date +'%d-%H%M%S')_dots.log"
./copy.sh
echo -e "${OK} Latest source code release downloaded, extracted, and processed successfully."
echo -e "${OK} Latest Dotfiles release downloaded, extracted, and processed successfully. Check JaKooLit-Hyprland-Dots folder for more detailed install logs" 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
else
echo -e "${ERROR} Failed to download the latest source code release."
echo -e "${ERROR} Failed to download the latest Dotfiles release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi
clear

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

@ -1,4 +1,6 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Fonts Required #
fonts=(
fonts-firacode
@ -8,8 +10,7 @@ fonts-noto-cjk
fonts-noto-color-emoji
)
############## WARNING DO NOT EDIT BEYOND THIS LINE if you dont know what you are doing! ######################################
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -17,41 +18,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
}
LOG="Install-Logs/install-$(date +%d-%H%M%S)_fonts.log"
# Installation of main components
printf "\n%s - Installing fonts.... \n" "${NOTE}"
@ -65,6 +35,7 @@ for PKG1 in "${fonts[@]}"; do
done
# 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"
# Maximum number of download attempts
MAX_ATTEMPTS=3

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

@ -1,37 +1,29 @@
#!/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=(
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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_force.log"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_force.log"
printf "${NOTE} Force installing packages...\n"
for FORCE in "${force[@]}"; do
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
clear

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

@ -1,11 +1,13 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# GTK Themes & ICONS and Sourcing from a different Repo #
engine=(
unzip
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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -13,40 +15,11 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_themes.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
for PKG1 in "${engine[@]}"; do
@ -64,10 +37,10 @@ if [ -d "GTK-themes-icons" ]; then
fi
echo "$NOTE Cloning Tokyo Theme GTK themes and Icons repository..." 2>&1 | tee -a "$LOG"
if git clone https://github.com/JaKooLit/GTK-themes-icons.git 2>&1 | tee -a "$LOG"; then
if git clone https://github.com/JaKooLit/GTK-themes-icons.git ; then
cd GTK-themes-icons
chmod +x auto-extract.sh
./auto-extract.sh 2>&1 | tee -a "$LOG"
./auto-extract.sh
cd ..
echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes folders" 2>&1 | tee -a "$LOG"
else
@ -77,4 +50,4 @@ fi
tar -xf "assets/Bibata-Modern-Ice.tar.xz" -C ~/.icons 2>&1 | tee -a "$LOG"
echo "$OK Extracted Bibata-Modern-Ice.tar.xz to ~/.icons folder." 2>&1 | tee -a "$LOG"
clear
clear

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

@ -1,17 +1,20 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package#
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ##
# Determine the directory where the script is located
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
printf "${NOTE} Cloning Hyprland...\n"
@ -22,17 +25,18 @@ if [ -d "Hyprland" ]; then
rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
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
make all 2>&1 | tee -a "$LOG"
if sudo make install 2>&1 | tee -a "$LOG"; then
printf "${OK} Hyprland installed successfully.\n"
make all
if sudo make install 2>&1 | tee -a "$MLOG"; then
printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for Hyprland."
fi
echo -e "${ERROR} Installation failed for Hyprland." 2>&1 | tee -a "$MLOG"
fi
mv $MLOG ../Install-Logs/ || true
cd ..
else
echo -e "${ERROR} Download failed for Hyprland."
echo -e "${ERROR} Download failed for Hyprland." 2>&1 | tee -a "$LOG"
fi
clear

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

@ -1,4 +1,7 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Nvidia - Check Readme for more details for the drivers #
# UBUNTU USERS, FOLLOW README!
nvidia_pkg=(
nvidia-driver
@ -12,7 +15,7 @@ nvidia_pkg=(
# for ubuntu-nvidia owners! just delete #
# 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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -20,20 +23,11 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_nvidia.log"
set -e
LOG="Install-Logs/install-$(date +%d-%H%M%S)_nvidia.log"
MLOG="install-$(date +%d-%H%M%S)_nvidia2.log"
## adding the deb source for nvidia driver
# 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
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
add_to_file() {
local config_file="$1"
@ -80,8 +54,8 @@ add_to_file() {
fi
}
# Clone, build, and install nvidia-Hyprland using Cmake
printf "${NOTE} Installing nvidia-Hyprland...\n"
# Clone, build, and install Hyprland using Cmake
printf "${NOTE} Cloning Hyprland...\n"
# Check if Hyprland folder exists and remove it
if [ -d "Hyprland" ]; then
@ -89,20 +63,21 @@ if [ -d "Hyprland" ]; then
rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
fi
if git clone --recursive -b v0.32.3 "https://github.com/hyprwm/Hyprland" 2>&1 | tee -a "$LOG"; then
cd Hyprland || exit 1
if git clone --recursive -b v0.32.3 "https://github.com/hyprwm/Hyprland"; then
cd "Hyprland" || exit 1
make all
if sudo make install 2>&1 | tee -a "$LOG"; then
printf "${OK} Nvidia-Hyprland installed successfully.\n"
# Return to the previous directory
cd ..
if sudo make install 2>&1 | tee -a "$MLOG"; then
printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
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
mv $MLOG ../Install-Logs/ || true
cd ..
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
# Install additional Nvidia packages
printf "${YELLOW} Installing Nvidia packages...\n"
for NVIDIA in "${nvidia_pkg[@]}"; do

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

@ -1,4 +1,6 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# nwg-look ) #
nwg_look=(
golang
@ -7,68 +9,57 @@ nwg_look=(
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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_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
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
# Installing NWG-Look Dependencies
for PKG1 in "${nwg_look[@]}"; do
install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\033[1A\033[K${ERROR} - $PKG1 install had failed, please check the install.log"
exit 1
fi
}
for package in "${nwg_look[@]}"; do
install_package "$package" || exit 1
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"
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
make build
sudo make install
cd ..
git stash
git pull
else
echo -e "${ERROR} Download failed for nwg-look."
exit 1
# Clone nwg-look repository if directory doesn't exist
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
# 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

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

@ -1,59 +1,32 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Pywal Colors) #
pywal=(
imagemagick
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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_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
}
LOG="Install-Logs/install-$(date +'%d-%H%M%S')_pywal.log"
# Installing Pywal dependencies
for package in "${pywal[@]}"; do
install_package "$package" || exit 1
done
## Installing pywal colors
printf "\n%s - Installing Pywal.... \n" "${NOTE}"
sudo pip3 install pywal --break-system-packages 2>&1 | tee -a "$LOG"
clear

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

@ -1,11 +1,13 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Rofi-Wayland) #
rofi=(
bison
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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -13,87 +15,68 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
printf "${YELLOW} Checking for other rofi packages and remove if any..${RESET}\n"
if sudo dpkg -l | grep -q -w "rofi"; then
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"
for PKG in "rofi" "bison"; do
uninstall_package "$PKG" 2>&1 | tee -a "$LOG"
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
fi
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
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
printf "${NOTE} Removing existing rofi folder...\n"
rm -rf "rofi" 2>&1 | tee -a "$LOG"
printf "${NOTE} rofi folder exists. Pulling latest changes...\n"
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
if git clone https://github.com/lbonn/rofi.git 2>&1 | tee -a "$LOG"; then
cd "rofi" || exit 1
if meson setup build && ninja -C build; then
if sudo ninja -C build install 2>&1 | tee -a "$LOG"; then
printf "${OK} rofi-wayland installed successfully.\n"
# Return to the previous directory
cd ..
else
echo -e "${ERROR} Installation failed for rofi-wayland."
fi
# Proceed with the installation steps
if meson setup build && ninja -C build; then
if sudo ninja -C build install 2>&1 | tee -a "$MLOG"; then
printf "${OK} rofi-wayland installed successfully.\n" 2>&1 | tee -a "$MLOG"
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
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
clear
# Move logs to Install-Logs directory
mv "$MLOG" ../Install-Logs/ || true
cd .. || exit 1
clear

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

@ -1,26 +1,19 @@
#!/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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_rog.log"
LOG="install-$(date +%d-%H%M%S)_rog.log"
# Function to handle the installation and log messages
install_and_log() {
@ -45,7 +38,8 @@ install_and_log() {
echo -e "${ERROR} Installation failed for $project_name."
fi
# Return to the previous directory
#moving logs into main install-logs
mv $LOG ../Install-Logs/ || true
cd - || exit 1
else
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
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
# https://github.com/JaKooLit
# WARNING! If you remove packages here, dotfiles may not work properly.
# and also, ensure that packages are present in debian repo
# 💫 https://github.com/JaKooLit 💫 #
# SDDM with optional SDDM theme #
# installing with NO-recommends
sddm1=(
sddm
)
@ -16,6 +15,7 @@ sddm2=(
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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -23,42 +23,13 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_sddm.log"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_sddm.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
}
# Install SDDM and Tokyo-Night theme
# Install SDDM (no-recommends)
printf "\n%s - Installing sddm.... \n" "${NOTE}"
for PKG1 in "${sddm1[@]}" ; do
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"
fi
if git clone https://github.com/JaKooLit/simple-sddm.git 2>&1 | tee -a "$LOG"; then
if git clone https://github.com/JaKooLit/simple-sddm.git; then
while [ ! -d "simple-sddm" ]; do
sleep 1
done

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

@ -1,44 +1,45 @@
#!/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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_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"
# Check if Hyprland folder exists and remove it
# Check if swappy folder exists
if [ -d "swappy" ]; then
printf "${NOTE} Removing existing swappy folder...\n"
rm -rf "swappy" 2>&1 | tee -a "$LOG"
printf "${NOTE} swappy folder exists. Pulling latest changes...\n"
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
if git clone https://github.com/jtheoof/swappy.git; then
cd swappy || exit 1
meson build
ninja -C build
sudo ninja -C build install 2>&1 | tee -a "$LOG"
# Return to the previous directory
cd - || exit 1
else
echo -e "${ERROR} Download failed for swappy" 2>&1 | tee -a "$LOG"
fi
# Proceed with the installation steps
meson build
ninja -C build
sudo ninja -C build install 2>&1 | tee -a "$MLOG"
# Moving logs into main Install-Logs
mv "$MLOG" ../Install-Logs/ || true
cd - || exit 1
clear

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

@ -1,44 +1,44 @@
#!/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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_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"
# Check if swaylock-effects folder exists and remove it
# Check if swaylock-effects folder exists
if [ -d "swaylock-effects" ]; then
printf "${NOTE} Removing existing swaylock-effects folder...\n"
rm -rf "swaylock-effects" 2>&1 | tee -a "$LOG"
fi
if git clone https://github.com/mortie/swaylock-effects.git; then
printf "${NOTE} swaylock-effects folder exists. Pulling latest changes...\n"
cd swaylock-effects || exit 1
meson build
ninja -C build
sudo ninja -C build install 2>&1 | tee -a "$LOG"
# Return to the previous directory
cd - || exit 1
git pull origin master 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Download failed for swaylock-effects" 2>&1 | tee -a "$LOG"
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
clear
# Proceed with the installation steps
meson build
ninja -C build
sudo ninja -C build install 2>&1 | tee -a "$MLOG"
# Moving logs into main Install-Logs
mv "$MLOG" ../Install-Logs/ || true
cd - || exit 1
clear

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

@ -1,56 +1,55 @@
#!/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
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
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +'%d-%H%M%S')_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"
# Check if swww folder exists and remove it
# Check if swww folder exists
if [ -d "swww" ]; then
printf "${NOTE} Removing existing swww folder...\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
printf "${NOTE} swww folder exists. Pulling latest changes...\n"
cd swww || exit 1
source "$HOME/.cargo/env"
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
git pull origin main 2>&1 | tee -a "$MLOG"
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
# 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

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

@ -1,7 +1,10 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Thunar #
thunar=(
ffmpegthumbnailer
file-roller
thunar
thunar-volman
tumbler
@ -9,7 +12,7 @@ thunar-archive-plugin
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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -17,40 +20,10 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
}
LOG="Install-Logs/install-$(date +%d-%H%M%S)_thunar.log"
printf "${NOTE} Installing Thunar Packages...\n"
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; }
done
# Check for existing config folders and backup
for DIR1 in Thunar xfce4; do
DIRPATH=~/.config/$DIR1
if [ -d "$DIRPATH" ]; then
echo -e "${NOTE} Config for $DIR1 found, backing up."
mv $DIRPATH $DIRPATH-back-up 2>&1 | tee -a "$LOG"
echo -e "${NOTE} Backed up $DIR1 to $DIRPATH-back-up."
fi
done
# copying from assets
cp -r assets/xfce4 ~/.config/ && echo "Copy xfce4 completed!" || echo "Error: Failed to copy xfce4 config files." 2>&1 | tee -a "$LOG"
cp -r assets/Thunar ~/.config/ && echo "Copy Thunar completed!" || echo "Error: Failed to copy Thunar config files." 2>&1 | tee -a "$LOG"
# Check for existing configs and copy if does not exist
for DIR1 in Thunar xfce4; do
DIRPATH=~/.config/$DIR1
if [ -d "$DIRPATH" ]; then
echo -e "${NOTE} Config for $DIR1 found, no need to copy." 2>&1 | tee -a "$LOG"
else
echo -e "${NOTE} Config for $DIR1 not found, copying from assets." 2>&1 | tee -a "$LOG"
cp -r assets/$DIR1 ~/.config/ && echo "Copy $DIR1 completed!" || echo "Error: Failed to copy $DIR1 config files." 2>&1 | tee -a "$LOG"
fi
done
clear

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

@ -1,7 +1,12 @@
#!/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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -9,59 +14,79 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
if [ -d "xdg-desktop-portal-hyprland" ]; then
printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n"
rm -rf "xdg-desktop-portal-hyprland" 2>&1 | tee -a "$LOG"
printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n"
rm -rf "xdg-desktop-portal-hyprland"
fi
# Clone and build xdg-desktop-portal-hyprland
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
cd xdg-desktop-portal-hyprland || exit 1
make all
if sudo make install 2>&1 | tee -a "$LOG"; then
printf "${OK} xdg-desktop-portal-hyprland installed successfully.\n"
# Return to the previous directory
if git clone --recursive https://github.com/hyprwm/xdg-desktop-portal-hyprland; then
cd xdg-desktop-portal-hyprland || exit 1
make all
if sudo make install 2>&1 | tee -a "$MLOG" ; then
printf "${OK} xdg-desktop-portal-hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG"
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 ..
else
echo -e "${ERROR} Installation failed for xdg-desktop-portal-hyprland."
fi
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
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
printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n"
# Check if packages are installed and uninstall if present
if sudo apt-get list installed xdg-desktop-portal-gnome &>> /dev/null; then
echo "Removing xdg-desktop-portal-gnome..."
sudo apt-get remove -y xdg-desktop-portal-gnome 2>&1 | tee -a "$LOG"
fi
if sudo apt-get list installed xdg-desktop-portal-wlr &>> /dev/null; then
echo "Removing xdg-desktop-portal-wlr..."
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
case $XDPH1 in
[Yy])
# Clean out other portals
printf "${NOTE} Clearing any other xdg-desktop-portal implementations...\n"
# Check if packages are installed and uninstall if present
if sudo apt-get list installed xdg-desktop-portal-wlr &>> /dev/null; then
echo "Removing xdg-desktop-portal-wlr..."
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
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
# 💫 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
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
@ -9,80 +14,84 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || exit 1
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
WARN="$(tput setaf 166)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
ORANGE=$(tput setaf 166)
YELLOW=$(tput setaf 3)
RESET=$(tput sgr0)
source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"
# Set the name of the log file to include the current date and time
LOG="install-$(date +%d-%H%M%S)_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
LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh.log"
# 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
printf "${NOTE} Installing core zsh packages...${RESET}\n"
for ZSH in zsh; do
install_package "$ZSH" 2>&1 | tee -a "$LOG"
for ZSHP in "${zsh[@]}"; do
install_package "$ZSHP" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - $ZSH install had failed, please check the install.log"
echo -e "\e[1A\e[K${ERROR} - $ZSHP install had failed, please check the install.log"
fi
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
if command -v zsh >/dev/null; then
printf "${NOTE} Installing Oh My Zsh and plugins...\n"
if [ ! -d "$HOME/.oh-my-zsh" ]; then
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended || true
else
echo "Directory .oh-my-zsh already exists. Skipping re-installation."
echo "Directory .oh-my-zsh already exists. Skipping re-installation." 2>&1 | tee -a "$LOG"
fi
# Check if the directories exist before cloning the repositories
if [ ! -d "$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" ]; then
if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ]; then
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-autosuggestions || true
else
echo "Directory zsh-autosuggestions already exists. Skipping cloning."
echo "Directory zsh-autosuggestions already exists. Skipping cloning." 2>&1 | tee -a "$LOG"
fi
if [ ! -d "$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting" ]; then
if [ ! -d "$HOME/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ]; then
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting || true
else
echo "Directory zsh-syntax-highlighting already exists. Skipping cloning."
echo "Directory zsh-syntax-highlighting already exists. Skipping cloning." 2>&1 | tee -a "$LOG"
fi
# 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
cp -r 'assets/.zshrc' ~/
@ -91,27 +100,12 @@ if command -v zsh >/dev/null; then
printf "${NOTE} Changing default shell to zsh...\n"
while ! chsh -s $(which zsh); do
echo "${ERROR} Authentication failed. Please enter the correct password."
sleep 1
echo "${ERROR} Authentication failed. Please enter the correct password."
sleep 1
done
printf "\n"
printf "${NOTE} Shell changed successfully to zsh.\n" 2>&1 | tee -a "$LOG"
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

35
install.sh Normal file → Executable file
View File

@ -47,6 +47,11 @@ if [ "$proceed2" != "y" ]; then
exit 1
fi
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
mkdir Install-Logs
fi
# Set some colors for output messages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
@ -129,7 +134,7 @@ execute_script() {
# Collect user responses to all questions
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"
ask_yes_no "-Install GTK themes (required for Dark/Light function)?" gtk_themes
printf "\n"
@ -137,20 +142,21 @@ ask_yes_no "-Do you want to configure Bluetooth?" bluetooth
printf "\n"
ask_yes_no "-Do you want to install Thunar file manager?" thunar
printf "\n"
ask_yes_no "-Installing on Asus ROG Laptops?" rog
printf "\n"
ask_yes_no "-Install and configure SDDM log-in Manager?" sddm
ask_yes_no "-Install & configure SDDM log-in Manager plus (OPTIONAL) SDDM Theme?" sddm
printf "\n"
ask_yes_no "-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS)" xdph
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"
ask_yes_no "-Install swaylock-effects? (recommended - for screen locks)" swaylock
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"
ask_yes_no "-Do you want to copy Hyprland dotfiles?" dots
ask_yes_no "-Installing on Asus ROG Laptops?" rog
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
chmod +x install-scripts/*
@ -187,10 +193,6 @@ if [ "$thunar" == "Y" ]; then
execute_script "thunar.sh"
fi
if [ "$rog" == "Y" ]; then
execute_script "rog.sh"
fi
if [ "$sddm" == "Y" ]; then
execute_script "sddm.sh"
fi
@ -211,11 +213,22 @@ if [ "$nwg" == "Y" ]; then
execute_script "nwg-look.sh"
fi
if [ "$rog" == "Y" ]; then
execute_script "rog.sh"
fi
execute_script "InputGroup.sh"
if [ "$dots" == "Y" ]; then
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
clear