From dcfabb19e9fb7f27dd768977ccf30763a370dda4 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 10:47:10 +0900
Subject: [PATCH 01/15] small swww.sh tweak
---
install-scripts/swww.sh | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/install-scripts/swww.sh b/install-scripts/swww.sh
index fcf3ba2..fcfb0a3 100755
--- a/install-scripts/swww.sh
+++ b/install-scripts/swww.sh
@@ -53,17 +53,32 @@ fi
source "$HOME/.cargo/env" || true
cargo build --release 2>&1 | tee -a "$MLOG"
+
+# Checking if swww is previously installed and delete before copying
+file1="/usr/bin/swww"
+file2="/usr/bin/swww-daemon"
+
+# Check if file1 exists and delete if so
+if [ -f "$file1" ]; then
+ sudo rm -r "$file1"
+fi
+
+# Check if file2 exists and delete if so
+if [ -f "$file2" ]; then
+ sudo rm -r "$file2"
+fi
+
# 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"
+sudo cp -r target/release/swww /usr/bin/ 2>&1 | tee -a "$MLOG"
+sudo cp -r 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"
+sudo mkdir -p /usr/share/bash-completion/completions 2>&1 | tee -a "$MLOG"
+sudo cp -r 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"
+sudo mkdir -p /usr/share/zsh/site-functions 2>&1 | tee -a "$MLOG"
+sudo cp -r completions/_swww /usr/share/zsh/site-functions/_swww 2>&1 | tee -a "$MLOG"
# Moving logs into main Install-Logs
mv "$MLOG" ../Install-Logs/ || true
From 5cd440d19c51eaf0b33eff6c0bc962752bda97c7 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 11:09:07 +0900
Subject: [PATCH 02/15] - adding hypridle and hyprlock - dropping
swaylock-effects and swayidle - adjusted to work with recent Hyprland-Dots
---
CHANGELOGS.md | 3 +
README.md | 5 --
install-scripts/00-hypr-pkgs.sh | 1 -
install-scripts/dotfiles.sh | 89 ++++++++++++++++++++---------
install-scripts/hypridle.sh | 60 +++++++++++++++++++
install-scripts/hyprlock.sh | 59 +++++++++++++++++++
install-scripts/swaylock-effects.sh | 44 --------------
install.sh | 9 +--
8 files changed, 186 insertions(+), 84 deletions(-)
create mode 100755 install-scripts/hypridle.sh
create mode 100755 install-scripts/hyprlock.sh
delete mode 100755 install-scripts/swaylock-effects.sh
diff --git a/CHANGELOGS.md b/CHANGELOGS.md
index f6ba853..5dc256f 100644
--- a/CHANGELOGS.md
+++ b/CHANGELOGS.md
@@ -2,6 +2,9 @@
## 30 Apr 2024
- Updated hyprland.sh to install v0.34.0 Hyprland
+- adding hypridle and hyprlock
+- dropping swaylock-effects and swayidle
+- adjusted to work with current Hyprland-Dots
## 22 Apr 2024
- Change dotfiles to specific version only as Debian and Ubuntu cant keep up with Hyprland development
diff --git a/README.md b/README.md
index 8a54de8..fd5a813 100644
--- a/README.md
+++ b/README.md
@@ -11,11 +11,6 @@
### ♨️♨️♨️ ATTENTION ♨️♨️♨️ 30 Apr 2024
- Due to fast development of Hyprland and most up to date requirement of hyprland, Hyprland version to be installed by this script will be older version. For now, the hyprland version to be installed with this script is v0.34.0
-### ♨️♨️♨️ ATTENTION ♨️♨️♨️ 22 Apr 2024
-- Pre-configured dotfiles to be downloaded here will be v2.2.6 only
-- [`Hyprland-Dots v2.2.6`](https://github.com/JaKooLit/Hyprland-Dots/releases/tag/v2.2.6)
-- This is because Debian/Ubuntu are very slow with Hyprland Development
-
> [!IMPORTANT]
> install a backup tool like `snapper` or `timeshift`. and Backup your system before installing hyprland using this script. This script does NOT include uninstallation of packages
diff --git a/install-scripts/00-hypr-pkgs.sh b/install-scripts/00-hypr-pkgs.sh
index ce7e923..b7554d2 100755
--- a/install-scripts/00-hypr-pkgs.sh
+++ b/install-scripts/00-hypr-pkgs.sh
@@ -51,7 +51,6 @@ hypr_package_2=(
mpv-mpris
nvtop
pamixer
- swayidle
vim
)
diff --git a/install-scripts/dotfiles.sh b/install-scripts/dotfiles.sh
index 5630cb0..bf492fb 100755
--- a/install-scripts/dotfiles.sh
+++ b/install-scripts/dotfiles.sh
@@ -1,51 +1,86 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
-# Hyprland-Dots to download a specific release #
-
-# Define the specific release version to download
-specific_version="v2.2.6"
+# Hyprland-Dots to download from Releases #
+if [[ $USE_PRESET = [Yy] ]]; then
+ source ./preset.sh
+fi
## 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-${specific_version}.tar.gz...\n"
+printf "${NOTE} Downloading / Checking for existing Hyprland-Dots.tar.gz...\n"
-# Check if the specific release tarball exists
-if [ -f "Hyprland-Dots-${specific_version}.tar.gz" ]; then
- printf "${NOTE} Hyprland-Dots-${specific_version}.tar.gz found.\n"
- echo -e "${OK} Hyprland-Dots-${specific_version}.tar.gz is already downloaded."
- exit 0
+# Check if Hyprland-Dots.tar.gz exists
+if [ -f Hyprland-Dots.tar.gz ]; then
+ printf "${NOTE} Hyprland-Dots.tar.gz found.\n"
+
+ # Get the version from the existing tarball filename
+ existing_version=$(echo Hyprland-Dots.tar.gz | grep -oP 'v\d+\.\d+\.\d+' | sed 's/v//')
+
+ # Fetch the tag_name for the latest release using the GitHub API
+ latest_version=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tag_name" | cut -d '"' -f 4 | sed 's/v//')
+
+ # Check if versions match
+ if [ "$existing_version" = "$latest_version" ]; then
+ echo -e "${OK} Hyprland-Dots.tar.gz is up-to-date with the latest release ($latest_version)."
+
+ # Sleep for 10 seconds before exiting
+ printf "${NOTE} No update found. Sleeping for 10 seconds...\n"
+ sleep 10
+ exit 0
+ else
+ echo -e "${WARN} Hyprland-Dots.tar.gz is outdated (Existing version: $existing_version, Latest version: $latest_version)."
+ if [[ -z $upgrade_choice ]]; then
+ read -p "Do you want to upgrade to the latest version? (y/n): " upgrade_choice
+ fi
+ 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"
+
+ # 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"
+ exit 0
+ fi
+ fi
fi
-printf "${NOTE} Downloading the Hyprland-Dots-${specific_version} source code release...\n"
+printf "${NOTE} Downloading the latest Hyprland source code release...\n"
-# Fetch the tag name for the specific release using the GitHub API
-release_info=$(curl -s "https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/tags/${specific_version}")
-if [ -z "$release_info" ]; then
- echo -e "${ERROR} Unable to fetch information for release ${specific_version}." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
+# 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." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
exit 1
fi
-# Get the tarball URL for the specific release
-tarball_url=$(echo "$release_info" | grep "tarball_url" | cut -d '"' -f 4)
+# Fetch the tarball URL for the latest release using the GitHub API
+latest_tarball_url=$(curl -s https://api.github.com/repos/JaKooLit/Hyprland-Dots/releases/latest | grep "tarball_url" | cut -d '"' -f 4)
# Check if the URL is obtained successfully
-if [ -z "$tarball_url" ]; then
- echo -e "${ERROR} Unable to fetch the tarball URL for release ${specific_version}." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
+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"
exit 1
fi
-# Download the specific release source code tarball to the current directory
-if curl -L "$tarball_url" -o "Hyprland-Dots-${specific_version}.tar.gz"; then
- # Extract the contents of the tarball
- tar -xzf "Hyprland-Dots-${specific_version}.tar.gz" || exit 1
+# Get the filename from the URL and include the tag name in the file name
+file_name="Hyprland-Dots-${latest_tag}.tar.gz"
- # Delete existing Hyprland-Dots
+# Download the latest release source code tarball to the current directory
+if curl -L "$latest_tarball_url" -o "$file_name"; then
+ # Extract the contents of the tarball
+ tar -xzf "$file_name" || exit 1
+
+ # delete existing Hyprland-Dots
rm -rf JaKooLit-Hyprland-Dots
# Identify the extracted directory
- extracted_directory=$(tar -tf "Hyprland-Dots-${specific_version}.tar.gz" | grep -o '^[^/]\+' | uniq)
+ extracted_directory=$(tar -tf "$file_name" | grep -o '^[^/]\+' | uniq)
# Rename the extracted directory to JaKooLit-Hyprland-Dots
mv "$extracted_directory" JaKooLit-Hyprland-Dots || exit 1
@@ -56,9 +91,9 @@ if curl -L "$tarball_url" -o "Hyprland-Dots-${specific_version}.tar.gz"; then
chmod +x copy.sh
./copy.sh
- echo -e "${OK} Hyprland-Dots-${specific_version} 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 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 Hyprland-Dots-${specific_version} release." 2>&1 | tee -a "../Install-Logs/install-$(date +'%d-%H%M%S')_dotfiles.log"
+ 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
diff --git a/install-scripts/hypridle.sh b/install-scripts/hypridle.sh
new file mode 100755
index 0000000..b033120
--- /dev/null
+++ b/install-scripts/hypridle.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+# 💫 https://github.com/JaKooLit 💫 #
+# hypidle #
+
+idle=(
+libsdbus-c++-dev
+)
+
+## 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-Logs/install-$(date +%d-%H%M%S)_hypridle.log"
+MLOG="install-$(date +%d-%H%M%S)_hypridle.log"
+
+# Installation of dependencies
+printf "\n%s - Installing hypridle dependencies.... \n" "${NOTE}"
+
+for PKG1 in "${idle[@]}"; do
+ install_package "$PKG1" 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"
+ exit 1
+ fi
+done
+
+# Check if hypridle folder exists and remove it
+if [ -d "hypridle" ]; then
+ printf "${NOTE} Removing existing hypridle folder...\n"
+ rm -rf "hypridle"
+fi
+
+# Clone and build
+printf "${NOTE} Installing hypridle...\n"
+if git clone https://github.com/hyprwm/hypridle.git; then
+ cd hypridle || exit 1
+ cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
+ cmake --build ./build --config Release --target hypridle -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
+ if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
+ printf "${OK} hypridle installed successfully.\n" 2>&1 | tee -a "$MLOG"
+ else
+ echo -e "${ERROR} Installation failed for hypridle." 2>&1 | tee -a "$MLOG"
+ fi
+ #moving the addional logs to Install-Logs directory
+ mv $MLOG ../Install-Logs/ || true
+ cd ..
+else
+ echo -e "${ERROR} Download failed for hypridle." 2>&1 | tee -a "$LOG"
+fi
+
+clear
+
+
diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh
new file mode 100755
index 0000000..411e122
--- /dev/null
+++ b/install-scripts/hyprlock.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+# 💫 https://github.com/JaKooLit 💫 #
+# hyprlock #
+
+lock=(
+libmagic-dev
+)
+
+## 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-Logs/install-$(date +%d-%H%M%S)_hyprlock.log"
+MLOG="install-$(date +%d-%H%M%S)_hyprlock.log"
+
+# Installation of dependencies
+printf "\n%s - Installing hyprlock dependencies.... \n" "${NOTE}"
+
+for PKG1 in "${lock[@]}"; do
+ install_package "$PKG1" 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"
+ exit 1
+ fi
+done
+
+# Check if hyprlidle folder exists and remove it
+if [ -d "hyprlock" ]; then
+ printf "${NOTE} Removing existing hyprlock folder...\n"
+ rm -rf "hyprlock"
+fi
+
+# Clone and build hyprlock
+printf "${NOTE} Installing hyprlock...\n"
+if git clone https://github.com/hyprwm/hyprlock.git; then
+ cd hyprlock || exit 1
+ cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
+ cmake --build ./build --config Release --target hyprlock -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
+ if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
+ printf "${OK} hyprlock installed successfully.\n" 2>&1 | tee -a "$MLOG"
+ else
+ echo -e "${ERROR} Installation failed for hyprlock." 2>&1 | tee -a "$MLOG"
+ fi
+ #moving the addional logs to Install-Logs directory
+ mv $MLOG ../Install-Logs/ || true
+ cd ..
+else
+ echo -e "${ERROR} Download failed for hyprlock." 2>&1 | tee -a "$LOG"
+fi
+
+clear
+
diff --git a/install-scripts/swaylock-effects.sh b/install-scripts/swaylock-effects.sh
deleted file mode 100755
index ed2e99e..0000000
--- a/install-scripts/swaylock-effects.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-# 💫 https://github.com/JaKooLit 💫 #
-# Swaylock Effects #
-
-## 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-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
-if [ -d "swaylock-effects" ]; then
- printf "${NOTE} swaylock-effects folder exists. Pulling latest changes...\n"
- cd swaylock-effects || exit 1
- git pull origin master 2>&1 | tee -a "$MLOG"
-else
- printf "${NOTE} Cloning swaylock-effects repository...\n"
- if git clone https://github.com/jirutka/swaylock-effects.git; then
- cd swaylock-effects || exit 1
- else
- echo -e "${ERROR} Download failed for swaylock-effects" 2>&1 | tee -a "$LOG"
- exit 1
- fi
-fi
-
-# 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
\ No newline at end of file
diff --git a/install.sh b/install.sh
index 95eb670..05cec53 100755
--- a/install.sh
+++ b/install.sh
@@ -84,7 +84,6 @@ nvidia=""
nwg=""
rog=""
sddm=""
-swaylock=""
thunar=""
xdph=""
zsh=""
@@ -155,8 +154,6 @@ ask_yes_no "-Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OB
printf "\n"
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 "-Install nwg-look? (a GTK Theming app - lxappearance-like) WARN! This Package Takes long time to build!" nwg
printf "\n"
ask_yes_no "-Installing on Asus ROG Laptops?" rog
@@ -179,6 +176,8 @@ execute_script "rofi-wayland.sh"
execute_script "pywal.sh"
execute_script "force-install.sh"
execute_script "hyprlang.sh"
+execute_script "hyprlock.sh"
+execute_script "hyprlidle.sh"
#execute_script "cliphist.sh"
@@ -214,10 +213,6 @@ if [ "$zsh" == "Y" ]; then
execute_script "zsh.sh"
fi
-if [ "$swaylock" == "Y" ]; then
- execute_script "swaylock-effects.sh"
-fi
-
if [ "$nwg" == "Y" ]; then
execute_script "nwg-look.sh"
fi
From e1693f1ba3295bd73d8a3391ec33f3e300587f49 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 11:39:49 +0900
Subject: [PATCH 03/15] updated swww.sh
---
install-scripts/swww.sh | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/install-scripts/swww.sh b/install-scripts/swww.sh
index fcfb0a3..2dfdf83 100755
--- a/install-scripts/swww.sh
+++ b/install-scripts/swww.sh
@@ -49,6 +49,14 @@ else
fi
fi
+# install new rust
+# Define environment variables for non-interactive installation
+export RUSTUP_INIT_SKIP_PATH_CHECK=yes
+export RUSTUP_INIT_SKIP_CONFIRMATION=yes
+
+# Download and execute the Rust installer script, automatically answering "yes" to all prompts
+curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path 2>&1 | tee -a "$LOG" || true
+
# Proceed with the rest of the installation steps
source "$HOME/.cargo/env" || true
From b12684e9b335f205930a9ec4459c8ef865983bc6 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 11:41:26 +0900
Subject: [PATCH 04/15] small update
---
install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install.sh b/install.sh
index 05cec53..aaec454 100755
--- a/install.sh
+++ b/install.sh
@@ -158,7 +158,7 @@ ask_yes_no "-Install nwg-look? (a GTK Theming app - lxappearance-like) WARN! Thi
printf "\n"
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 v2.2.6?" dots
+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
From 2e46dc2bf90758ac904b25e63a8f5f13e823d5c6 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 12:11:49 +0900
Subject: [PATCH 05/15] small update
---
install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install.sh b/install.sh
index aaec454..609039a 100755
--- a/install.sh
+++ b/install.sh
@@ -177,7 +177,7 @@ execute_script "pywal.sh"
execute_script "force-install.sh"
execute_script "hyprlang.sh"
execute_script "hyprlock.sh"
-execute_script "hyprlidle.sh"
+execute_script "hypridle.sh"
#execute_script "cliphist.sh"
From b3d3f8e731a1c85accddd28fa453ace441f01432 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 14:53:26 +0900
Subject: [PATCH 06/15] updated install.sh
---
install.sh | 6 ------
1 file changed, 6 deletions(-)
diff --git a/install.sh b/install.sh
index 609039a..46cd6e5 100755
--- a/install.sh
+++ b/install.sh
@@ -31,12 +31,6 @@ echo "$(tput bold)$(tput setaf 7)Due to fast development of Hyprland, Hyprland t
echo "$(tput bold)$(tput setaf 7)For now, the Hyprland version to be installed with this script will be v0.34.0$(tput sgr0)"
printf "\n%.0s" {1..3}
-printf "\n%.0s" {1..5}
-echo "$(tput bold)$(tput setaf 3)ATTENTION!!!! One MORE IMPORTANT NOTICE!!!! $(tput sgr0)"
-echo "$(tput bold)$(tput setaf 7)Dotfiles version to be downloaded here will be specific to v2.2.6 only $(tput sgr0)"
-echo "$(tput bold)$(tput setaf 7)Debian and Ubuntu Cant keep up with Hyprland development. $(tput sgr0)"
-printf "\n%.0s" {1..3}
-
read -p "$(tput setaf 6)Would you like to proceed? (y/n): $(tput sgr0)" proceed
if [ "$proceed" != "y" ]; then
From 1a4b7633216887bef7dfe9145f5d9494497fc770 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 14:54:32 +0900
Subject: [PATCH 07/15] updated install.sh format
---
install.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install.sh b/install.sh
index 46cd6e5..8c53ed1 100755
--- a/install.sh
+++ b/install.sh
@@ -25,7 +25,7 @@ echo
echo "$(tput setaf 3)NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprland wont start! $(tput sgr0)"
echo
-printf "\n%.0s" {1..5}
+printf "\n%.0s" {1..3}
echo "$(tput bold)$(tput setaf 3)ATTENTION!!!! VERY IMPORTANT NOTICE!!!! $(tput sgr0)"
echo "$(tput bold)$(tput setaf 7)Due to fast development of Hyprland, Hyprland to be install here would be old version $(tput sgr0)"
echo "$(tput bold)$(tput setaf 7)For now, the Hyprland version to be installed with this script will be v0.34.0$(tput sgr0)"
From 0d25f13c54074ee99e9e8680578162e0c9788b6e Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 17:14:53 +0900
Subject: [PATCH 08/15] bump to install hyprland v0.36
---
CHANGELOGS.md | 2 +-
README.md | 2 +-
install-scripts/hyprland.sh | 2 +-
install.sh | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CHANGELOGS.md b/CHANGELOGS.md
index 5dc256f..673dbec 100644
--- a/CHANGELOGS.md
+++ b/CHANGELOGS.md
@@ -1,7 +1,7 @@
## Changelogs
## 30 Apr 2024
-- Updated hyprland.sh to install v0.34.0 Hyprland
+- Updated hyprland.sh to install v0.36.0 Hyprland
- adding hypridle and hyprlock
- dropping swaylock-effects and swayidle
- adjusted to work with current Hyprland-Dots
diff --git a/README.md b/README.md
index fd5a813..bbd37b6 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
### ♨️♨️♨️ ATTENTION ♨️♨️♨️ 30 Apr 2024
-- Due to fast development of Hyprland and most up to date requirement of hyprland, Hyprland version to be installed by this script will be older version. For now, the hyprland version to be installed with this script is v0.34.0
+- Due to fast development of Hyprland and most up to date requirement of hyprland, Hyprland version to be installed by this script will be older version. For now, the hyprland version to be installed with this script is v0.36.0
> [!IMPORTANT]
> install a backup tool like `snapper` or `timeshift`. and Backup your system before installing hyprland using this script. This script does NOT include uninstallation of packages
diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh
index 0eec6be..df98c99 100755
--- a/install-scripts/hyprland.sh
+++ b/install-scripts/hyprland.sh
@@ -25,7 +25,7 @@ if [ -d "Hyprland" ]; then
rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
fi
-if git clone --recursive -b v0.34.0 "https://github.com/hyprwm/Hyprland"; then
+if git clone --recursive -b v0.36.0 "https://github.com/hyprwm/Hyprland"; then
cd "Hyprland" || exit 1
make all
if sudo make install 2>&1 | tee -a "$MLOG"; then
diff --git a/install.sh b/install.sh
index 8c53ed1..5ac39d2 100755
--- a/install.sh
+++ b/install.sh
@@ -28,7 +28,7 @@ echo
printf "\n%.0s" {1..3}
echo "$(tput bold)$(tput setaf 3)ATTENTION!!!! VERY IMPORTANT NOTICE!!!! $(tput sgr0)"
echo "$(tput bold)$(tput setaf 7)Due to fast development of Hyprland, Hyprland to be install here would be old version $(tput sgr0)"
-echo "$(tput bold)$(tput setaf 7)For now, the Hyprland version to be installed with this script will be v0.34.0$(tput sgr0)"
+echo "$(tput bold)$(tput setaf 7)For now, the Hyprland version to be installed with this script will be v0.36.0$(tput sgr0)"
printf "\n%.0s" {1..3}
read -p "$(tput setaf 6)Would you like to proceed? (y/n): $(tput sgr0)" proceed
From 25f35e166507b444e81f278c5a8143f9bdcf2071 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 17:43:58 +0900
Subject: [PATCH 09/15] Bumping to Hyprland Version v0.39.1 :)
---
CHANGELOGS.md | 2 +-
install-scripts/hyprcursor.sh | 61 +++++++++++++++++++++++++++++++++++
install-scripts/hyprland.sh | 2 +-
install.sh | 6 ----
4 files changed, 63 insertions(+), 8 deletions(-)
create mode 100755 install-scripts/hyprcursor.sh
diff --git a/CHANGELOGS.md b/CHANGELOGS.md
index 673dbec..0f0ef81 100644
--- a/CHANGELOGS.md
+++ b/CHANGELOGS.md
@@ -1,7 +1,7 @@
## Changelogs
## 30 Apr 2024
-- Updated hyprland.sh to install v0.36.0 Hyprland
+- Updated hyprland.sh to install v0.39.1 Hyprland
- adding hypridle and hyprlock
- dropping swaylock-effects and swayidle
- adjusted to work with current Hyprland-Dots
diff --git a/install-scripts/hyprcursor.sh b/install-scripts/hyprcursor.sh
new file mode 100755
index 0000000..b9857f8
--- /dev/null
+++ b/install-scripts/hyprcursor.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+# 💫 https://github.com/JaKooLit 💫 #
+# hyprcursor #
+
+cursor=(
+libzip-dev
+librsvg2-dev
+)
+
+## 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-Logs/install-$(date +%d-%H%M%S)_hyprcursor.log"
+MLOG="install-$(date +%d-%H%M%S)_hyprcursor.log"
+
+# Installation of dependencies
+printf "\n%s - Installing hyprcursor dependencies.... \n" "${NOTE}"
+
+for PKG1 in "${cursor[@]}"; do
+ install_package "$PKG1" 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"
+ exit 1
+ fi
+done
+
+# Check if hyprcursor folder exists and remove it
+if [ -d "hyprcursor" ]; then
+ printf "${NOTE} Removing existing hyprcursor folder...\n"
+ rm -rf "hyprcursor"
+fi
+
+# Clone and build
+printf "${NOTE} Installing hyprcursor...\n"
+if git clone https://github.com/hyprwm/hyprcursor.git; then
+ cd hyprcursor || exit 1
+ cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
+ cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
+ if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
+ printf "${OK} hyprcursor installed successfully.\n" 2>&1 | tee -a "$MLOG"
+ else
+ echo -e "${ERROR} Installation failed for hyprcursor." 2>&1 | tee -a "$MLOG"
+ fi
+ #moving the addional logs to Install-Logs directory
+ mv $MLOG ../Install-Logs/ || true
+ cd ..
+else
+ echo -e "${ERROR} Download failed for hyprcursor." 2>&1 | tee -a "$LOG"
+fi
+
+clear
+
+
diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh
index df98c99..e65fda5 100755
--- a/install-scripts/hyprland.sh
+++ b/install-scripts/hyprland.sh
@@ -25,7 +25,7 @@ if [ -d "Hyprland" ]; then
rm -rf "Hyprland" 2>&1 | tee -a "$LOG"
fi
-if git clone --recursive -b v0.36.0 "https://github.com/hyprwm/Hyprland"; then
+if git clone --recursive -b v0.39.1 "https://github.com/hyprwm/Hyprland"; then
cd "Hyprland" || exit 1
make all
if sudo make install 2>&1 | tee -a "$MLOG"; then
diff --git a/install.sh b/install.sh
index 5ac39d2..99b73c6 100755
--- a/install.sh
+++ b/install.sh
@@ -25,12 +25,6 @@ echo
echo "$(tput setaf 3)NOTE: If you are installing on a VM, ensure to enable 3D acceleration else Hyprland wont start! $(tput sgr0)"
echo
-printf "\n%.0s" {1..3}
-echo "$(tput bold)$(tput setaf 3)ATTENTION!!!! VERY IMPORTANT NOTICE!!!! $(tput sgr0)"
-echo "$(tput bold)$(tput setaf 7)Due to fast development of Hyprland, Hyprland to be install here would be old version $(tput sgr0)"
-echo "$(tput bold)$(tput setaf 7)For now, the Hyprland version to be installed with this script will be v0.36.0$(tput sgr0)"
-printf "\n%.0s" {1..3}
-
read -p "$(tput setaf 6)Would you like to proceed? (y/n): $(tput sgr0)" proceed
if [ "$proceed" != "y" ]; then
From b0e3c9ab67d4923659287da53b0447d5f59e0179 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 18:59:33 +0900
Subject: [PATCH 10/15] updated readme
---
README.md | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/README.md b/README.md
index bbd37b6..b542068 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
## 💌 JaKooLit's Debian/Ubuntu Hyprland Install Script 💌
-#### For Debian 13 Trixie and SID and Ubuntu 23.10 Mantic Minotaur or newer
+#### For Debian 13 Trixie and SID and Ubuntu 24.04 Noble Numbat
  
@@ -9,7 +9,7 @@
### ♨️♨️♨️ ATTENTION ♨️♨️♨️ 30 Apr 2024
-- Due to fast development of Hyprland and most up to date requirement of hyprland, Hyprland version to be installed by this script will be older version. For now, the hyprland version to be installed with this script is v0.36.0
+- This script will not work on older build of Ubuntu like Ubuntu 23.10 and older. Due to depencies. If you want to install on Ubuntu 23.10, you can download the version v2.2.3 from the releases
> [!IMPORTANT]
> install a backup tool like `snapper` or `timeshift`. and Backup your system before installing hyprland using this script. This script does NOT include uninstallation of packages
@@ -37,11 +37,10 @@ sudo nano /etc/apt/sources.list
> For Ubuntu 24.04 LTS, no need to edit the /etc/apt/sources.list
> [!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.
+> UBUNTU USERS: Will only work on Ubuntu 24.04. See above!
> 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.
-> Ubuntu 23.10 dont have cliphist (used as clipboard manager) in their repo yet! And it is not set to build by default. If you want script to install for you, edit `install-scripts/00-hypr-pks.sh` line 15 remove the cliphist under hypr_package . then edit `install.sh` line 175 remove # in `#execute_script "cliphist.sh"`
> [!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........
@@ -134,12 +133,10 @@ zsh
source ~/.zshrc
```
- reboot or logout
-- by default agnoster theme is installed. You can find more themes from this [`OH-MY-ZSH-THEMES`](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)
+- by default `xiong-chiamiov-plus` theme is installed. You can find more themes from this [`OH-MY-ZSH-THEMES`](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)
- to change the theme, edit ~/.zshrc ZSH_THEME="desired theme"
#### ✨ TO DO once installation done and dotfiles copied
-- ~~if you opted to install gtk themes, to apply the theme and icon, press the dark/light button (beside the padlock). To apply Bibata modern ice cursor, launch nwg-look (GTK Settings) through rofi.~~ Hyprland-Dots v2.1.18, initial boot file will attempt to apply GTK themes,cursor, and icons. You can tweak more using nwg-look (GTK-Settings) utility
-
- SUPER H for HINT or click on the waybar HINT! Button
- Head over to [FAQ](https://github.com/JaKooLit/Hyprland-Dots/wiki/FAQ) and [TIPS](https://github.com/JaKooLit/Hyprland-Dots/wiki/TIPS)
@@ -151,7 +148,10 @@ source ~/.zshrc
- nwg-look [`LINK`](https://github.com/nwg-piotr/nwg-look)
- Asus ROG asusctl [`LINK`](https://gitlab.com/asus-linux/asusctl) and superfxctl [`LINK`](https://gitlab.com/asus-linux/supergfxctl)
- swww [`LINK`](https://github.com/Horus645/swww)
-- swaylock-effects [`LINK`](https://github.com/mortie/swaylock-effects)
+- hyprlock [`LINK`](https://github.com/hyprwm/hyprlock)
+- hypridle [`LINK`](https://github.com/hyprwm/hypridle)
+- hyprlang [`LINK`](https://github.com/hyprwm/hyprlang)
+- hyprcursor [`LINK`](https://github.com/hyprwm/hyprcursor)
- 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)
@@ -177,11 +177,10 @@ source ~/.zshrc
- 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.
+- CD into Debian-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
#### ❗ some known issues for nvidia
@@ -199,7 +198,7 @@ log into your account
- more info from the hyprland wiki [`Hyprland Wiki Link`](https://wiki.hyprland.org/FAQ/#my-external-monitor-is-blank--doesnt-render--receives-no-signal-laptop)
-- [ ] Does not work in Ubuntu 23.04
+- [ ] Does not work in Ubuntu 23.10 and older
- [ ] sddm blackscreen when log-out
- [ ] Installing SDDM if or any other Login Manager installed. See [`Issue 2 - SDDM`](https://github.com/JaKooLit/Debian-Hyprland/issues/2)
- [ ] network is down or become unmanaged [`This`](https://askubuntu.com/questions/71159/network-manager-says-device-not-managed) might help
From 3f775e6a12f00fd61d2f43b0782dd602565cc66e Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 19:01:30 +0900
Subject: [PATCH 11/15] updated readme
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index b542068..db2b6ef 100644
--- a/README.md
+++ b/README.md
@@ -114,7 +114,7 @@ sudo nano /etc/apt/sources.list
> [!IMPORTANT]
> If you want to use nouveau driver, choose N when asked if you have nvidia gpu. This is because the nvidia installer part, it will blacklist nouveau. Hyprland will still be installed but it will skip blacklisting nouveau.
-#### ✨ to run
+# ✨ to run or Use this script
> clone this repo (latest commit only) by using git. Change directory, make executable and run the script
```bash
git clone --depth=1 https://github.com/JaKooLit/Debian-Hyprland.git ~/Debian-Hyprland
From ae454f8a43f4a3ca5b11ed88872cdb9503fa9c55 Mon Sep 17 00:00:00 2001
From: "Ja.KooLit"
Date: Tue, 30 Apr 2024 21:56:42 +0900
Subject: [PATCH 12/15] Update install.sh
---
install.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/install.sh b/install.sh
index 99b73c6..d609982 100755
--- a/install.sh
+++ b/install.sh
@@ -165,6 +165,7 @@ execute_script "pywal.sh"
execute_script "force-install.sh"
execute_script "hyprlang.sh"
execute_script "hyprlock.sh"
+execute_script "hyprcursor.sh"
execute_script "hypridle.sh"
#execute_script "cliphist.sh"
From 496002106ebb15d0ea88a6f12c09da2c054567d1 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 23:10:32 +0900
Subject: [PATCH 13/15] updated readme
---
README.md | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index db2b6ef..14441d6 100644
--- a/README.md
+++ b/README.md
@@ -50,15 +50,14 @@ sudo nano /etc/apt/sources.list
> 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)
-
#### 📷 Gallery
-
+
-
-
+
+
@@ -162,6 +161,9 @@ source ~/.zshrc
#### 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?!?!?!
- Well, most of the core packages are downloaded and Build and compiled from SOURCE. There are no pre-built binary (yet) for Debian and Ubuntu. Unlike Other distros, they already have prepacked binary that can just download and install.
+> [!NOTE]
+> Kindly set up audio. This script does not setup. If you have not, I recommend pipewire. `sudo apt install -y pipewire`
+
#### ❗ some known issues on this Installer
- some users reported that they have to install some packages. It is in the install-scripts/force-install.sh
- At this time the packages force to install are the following `imagemagick`
From bb7932f298ee99f32150a6b462c1007040da12b7 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 23:11:39 +0900
Subject: [PATCH 14/15] updated readme
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 14441d6..1f7fffc 100644
--- a/README.md
+++ b/README.md
@@ -162,7 +162,7 @@ source ~/.zshrc
- Well, most of the core packages are downloaded and Build and compiled from SOURCE. There are no pre-built binary (yet) for Debian and Ubuntu. Unlike Other distros, they already have prepacked binary that can just download and install.
> [!NOTE]
-> Kindly set up audio. This script does not setup. If you have not, I recommend pipewire. `sudo apt install -y pipewire`
+> This script does not setup audio. Kindly set up. If you have not, I recommend pipewire. `sudo apt install -y pipewire`
#### ❗ some known issues on this Installer
- some users reported that they have to install some packages. It is in the install-scripts/force-install.sh
From 359bbe85eb0a92ff10566643d6ca596b64383d95 Mon Sep 17 00:00:00 2001
From: JaKooLit
Date: Tue, 30 Apr 2024 23:12:45 +0900
Subject: [PATCH 15/15] updated readme
---
README.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 1f7fffc..a1ebb87 100644
--- a/README.md
+++ b/README.md
@@ -56,8 +56,8 @@ sudo nano /etc/apt/sources.list
-
-
+
+