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