From 0ec2169efdf30240558e8a97fb3147dd4bda526e Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 12:24:49 -0500 Subject: [PATCH 1/7] Updated CHANGELOG --- CHANGELOGS.md | 111 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 91 insertions(+), 20 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 316dad4..088bb0d 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,13 +1,19 @@ ## CHANGELOGS -## 10 October 2025 +## 10 December 2025 + +- Updated Hyprland Build to v0.52.2 + - Thanks entirely to @sdegler + +## 10 October 2025 + +### Hyprland 0.51.x install support -### Hyprland 0.51.x install support - - Hyprland builds 0.51.x from source - Added documentation for upgrading from 0.49/0.50.x to 0.51.1. - -### New scripts and modules + +### New scripts and modules + - update-hyprland.sh: Manage the Hyprland stack with: - --install / --dry-run build modes - --only and --skip for selective components @@ -18,8 +24,9 @@ - dry-run-build.sh: Compile-only helper with summary output - install-scripts/wayland-protocols-src.sh: Build wayland-protocols from source (>= 1.45) to satisfy Hyprland 0.51.x requirements - -### Core features + +### Core features + - Centralized tag management via hypr-tags.env; tags exported to all modules. Environment overrides remain first priority. - Automatic dependency ordering for Hyprland 0.51.x: @@ -29,243 +36,307 @@ hyprland (can be disabled via --no-fetch) - Selective updates for targeted components and skip lists - Dry-run mode to validate builds without installing - -### Installer integration + +### Installer integration + - install.sh reads hypr-tags.env and optionally refreshes tags. - Ensures wayland-protocols-src is built before Hyprland. - Maintains proper sequencing for the Hyprland dependencies. - -### Docs + +### Docs + - Debian-Hyprland-Install-Upgrade.md and .es.md: - Add explicit section: Upgrade 0.49/0.50.x → 0.51.1 - Recommend: `./update-hyprland.sh --install --only hyprland` - Provide optional `--with-deps` and `--dry-run` flows - Full install via install.sh is not required for this upgrade unless optional modules need refresh - -### Usage highlights + +### Usage highlights + - Pin and upgrade to 0.51.1: ./update-hyprland.sh --set HYPRLAND=v0.51.1 ./update-hyprland.sh --install --only hyprland - Optional: ./update-hyprland.sh --with-deps --install --only hyprland ./update-hyprland.sh --dry-run --only hyprland - -### Notes - - Target OS remains Debian Trixie/Testing/SID + +### Notes + + - Target OS remains Debian Trixie/Testing/SID - Run as sudo-capable user (not root) - Ensure deb-src entries are enabled. - ## 22 July 2025 + - Updated sddm theme and script to work with the updated simple_sddm_2 theme - Manual building process ## 21 June 2025 + - Added a warning message that support is now very limited ## 08 June 2025 -- updated SDDM theme. + +- updated SDDM theme. ## 20 March 2025 + - added findutils as dependencies ## 11 March 2025 + - Added uninstall script - forked AGS v1 into JakooLit repo. This is just incase Aylur decide to take down v1 ## 10 March 2025 + - Dropped pyprland in favor of hyprland built in tool for a drop down like terminal and Desktop magnifier ## 06 March 2025 + - Switched to whiptail version for Y & N questions - switched eza to lsd ## 23 Feb 2025 + - added Victor Mono Font for proper hyprlock font rendering for Dots v2.3.12 - added Fantasque Sans Mono Nerd for Kitty ## 22 Feb 2025 + - replaced eog with loupe - changed url for installing oh-my-zsh to get wider coverage. Some countries are blocking github raw url's ## 18 Feb 2025 + - Change default zsh theme to adnosterzak - pokemon coloscript integrated with fastfetch when opted with pokemon to add some bling - additional external oh-my-zsh theme ## 06 Feb 2025 + - added semi-unattended function. - move all the initial questions at the beginning ## 04 Feb 2025 + - Re-coded for better visibility - Offered a new SDDM theme. - script will automatically detect if you have nvidia but script still offer if you want to set up for user ## 30 Jan 2025 + - AGS (aylur's GTK shell) v1 for desktop overview is now optional ## 12 Jan 2025 + - switch to final version of aylurs-gtk-shell-v1 ## 01 Jan 2025 + - Switched to download dots from KooL's Hyprland dots specific branch ## 26 Dec 2024 + - Removal of Bibata Ice cursor on assets since its integrated in the GTK Themes and Icons extract from a separate repo ## 10 Dec 2024 + - updated swww.sh to download from version v0.9.5 ## 24 Nov 2024 + - switched to download rofi-wayland from releases instead from upstream ## 20 Sep 2024 + - User will be ask if they want to set Thunar as default file manager if they decided to install it ## 19 Sep 2024 + - updated xdph installation since it is now in Debian Repo - Added fastfetch on tty. However, will be disabled if user decided to install pokemon colorscripts ## 14 Sep 2024 + - Added Essential Packages final check in lieu of errors from Install log files in Install-Logs directory - nwg-look is now in Debian Repo ## 10 Sep 2024 + - added background check of known login managers if they are active if user chose to install sddm ## 08 Sep 2024 + - Added final error checks on install-logs ## 07 Sep 2024 + - Fix installation issue on hyprlock and xdph - disabled imagemagick compilation from source - dotfiles adjusted so it will be compatible for imagemagick v6 ## 04 Sep 2024 + - added a function to check if it is Ubuntu or Based on Ubuntu and script will exit ## 28 Aug 2024 + - Added final check if hyprland is installed and will give an error to user ## 24 Aug 2024 + - Created a newer and compatible Hyprland-Dots repo -- +- + ## 23 Aug 2024 + - Moved Ubuntu-Hyprland on a separate Github Repo ## 22 Aug 2024 + - refactor Debian-Hyprland script. As Hyprland is now in official repo - + ## 07 Jul 2024 + - added eza (ls replacement for tty). Note only on .zshrc ## 06 July 2024 + - Version bumps for Debian (Hyprland v0.41.2) ## 11 June 2024 + - adjusted script to install only Hyprland-Dots v2.2.14 ## 10 June 2024 + - changed behaviour of rofi-wayland.sh. To redownload a new rofi-wayland from repo instead of pulling changes. (It proves giving issue) ## 04 June 2024 + - switched over to source install for imagemagick - removal of fzf for Debian and Ubuntu (headache) ## 26 May 2024 + - Added fzf for zsh (CTRL R to invoke FZF history) ## 23 May 2024 + - added qalculate-gtk to work with rofi-calc. Default keybinds (SUPER ALT C) - added power-profiles-daemon for ROG laptops. Note, I cant add to all since it conflicts with TLP, CPU-Auto-frequency etc. - Note: Fastfetch configs will be added from Hyprland-Dots v2.2.12. However, you need to install from Fastfetch github page ## 19 May 2024 + - Disabled the auto-login in .zprofile as it causes auto-login to Hyprland if any wayland was chosen. Can enabled if only using hyprland ## 15 May 2025 + - Backed down hyprland version to install as v0.40.0 is failing to install - removed from waybar-git to install. Instead to install from official repo - cliphist install script is removed as it is now on Debian repo - dependencies cleaned up and added ## 10 May 2024 + - added wallust-git and remove python-pywal for migration to wallust on Hyprland-Dots v2.2.11 ## 07 May 2024 + - added ags.sh for upcoming ags overview for next Hyprland-Dots release. Will be installed form source - added manual installation of waybar since Debian is very slow in updating their packages ## 03 May 2024 + - Bump swww to v0.9.5 - added python3-pyquery for new weather-waybar python based on Hyprland-Dots ## 02 May 2024 + - Added pyprland (hyprland plugin) - warning, I cant make it to properly run. Drop Down terminal not working, zoom is hit and miss ## 30 Apr 2024 + - 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 ## 22 Apr 2024 + - Change dotfiles to specific version only as Debian and Ubuntu cant keep up with Hyprland development ## 20 Apr 2024 + - Change default Oh-my-zsh theme to xiong-chiamiov-plus ## 11 Jan 2024 + - dropped wlsunset - added hyprlang build and install ## 02 Jan 2024 + - Readme updated for cliphist instruction for ubuntu 23.10 users - Created cliphist.sh for ubuntu 23.10 users (disabled by default and needs to be enabled on install.sh if desired) ## 30 December 2023 + - Code Cleaned up. - Pokemon Color Scripts now offered as optional ## 29 December 2023 + - Remove dunst in favor of swaync. NOTE: Part of the script is to also uninstall mako and dunst (if installed) as on my experience, dunst is sometimes taking over the notification even if it is not set to start ## 16 Dec 2023 + - zsh theme switched to `agnoster` theme by default - pywal tty color change disabled by default ## 13 Dec 2023 + - Added a script / function to force install packages. Some users reported that it is not installed. ## 11 Dec 2023 + - Changing over to zsh automatically if user opted - If chose to install zsh and have no login manager, zsh auto login will auto start Hyprland - added as optional, with zsh, pokemon colorscripts - improved zsh install scripts, so even the existing zsh users of can still opt for zsh and oh-my-zsh installation :) ## 03 Dec 2023 + - Added kvantum for qt apps theming - return of wlogout due to theming issues of rofi-power ## 1 Dec 2023 + - replace the Hyprland to specific branch/version as newest needed some new libraries and debian dont have those yet ## 26 Nov 2023 + - nvidia - Move to normal hyprland package as nvidia patches are doing nothing see [`commit`](https://github.com/hyprwm/Hyprland/commit/cd96ceecc551c25631783499bd92c6662c5d3616) ## 25 Nov 2023 + - drop wlogout since Hyprland-Dots v2.1.9 uses rofi-power ## 23-Nov-2023 + - Added Bibata cursor to install if opted for GTK Themes. However, it is not pre-applied. Use nwg-look utility to apply ## 19-Nov-2023 + - Adjust dotfiles script to download from releases instead of from upstream ## 14-Oct-2023 + - initial release. Added swappy for screenshots ## 12-Oct-2023 + - BETA release From 42cbae3c1c4ed6d1a662685aae96905fb0a87079 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 12:35:43 -0500 Subject: [PATCH 2/7] Pushing sdegler's changes to dev On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: install-scripts/aquamarine.sh new file: install-scripts/xkbcommon.sh --- install-scripts/aquamarine.sh | 2 +- install-scripts/xkbcommon.sh | 69 +++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100755 install-scripts/xkbcommon.sh diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh index 758635b..50f2c89 100755 --- a/install-scripts/aquamarine.sh +++ b/install-scripts/aquamarine.sh @@ -45,7 +45,7 @@ fi printf "${INFO} Installing ${YELLOW}aquamarine $tag${RESET} ...\n" if git clone --recursive -b $tag https://github.com/hyprwm/aquamarine.git; then cd aquamarine || exit 1 - cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build + cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF` if [ $DO_INSTALL -eq 1 ]; then if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then diff --git a/install-scripts/xkbcommon.sh b/install-scripts/xkbcommon.sh new file mode 100755 index 0000000..58a60fe --- /dev/null +++ b/install-scripts/xkbcommon.sh @@ -0,0 +1,69 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# xkbcommon # + +xkbcommon=( +bison +libzip-dev +librsvg2-dev +) + +#specific branch or release +tag="xkbcommon-1.13.1" + +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## +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" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } + +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi + +# Set the name of the log file to include the current date and time +LOG="Install-Logs/install-$(date +%d-%H%M%S)_xkbcommon.log" +MLOG="install-$(date +%d-%H%M%S)_xkbcommon.log" + +# Installation of dependencies +printf "\n%s - Installing xkbcommon dependencies.... \n" "${NOTE}" + +for PKG1 in "${xkbcommon[@]}"; do + install_package "$PKG1" 2>&1 | tee -a "$LOG" + if [ $? -ne 0 ]; then + echo -e "\e[1A\e[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs" + exit 1 + fi +done + +# Check if xkbcommon folder exists and remove it +if [ -d "libxkbcommon" ]; then + printf "${NOTE} Removing existing libxkbcommon folder...\n" + rm -rf "libxkbcommon" +fi + +# Clone and build +printf "${NOTE} Installing xkbcommon...\n" +if git clone --recursive -b $tag https://github.com/xkbcommon/libxkbcommon.git; then + cd libxkbcommon || exit 1 + meson setup build --libdir=/usr/local/lib + meson compile -C build + if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then + printf "${OK} xkbcommon installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for xkbcommon." 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 xkbcommon." 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} + + From cb46365d8cb4cc2fd33e6eb70490eff0f3f91ea7 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 12:47:00 -0500 Subject: [PATCH 3/7] Updated dev to match sdeglers changes On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: hypr-tags.env modified: install-scripts/00-dependencies.sh modified: install-scripts/aquamarine.sh renamed: install-scripts/hyprland-qtutils.sh -> install-scripts/hyprland-guiutils.sh new file: install-scripts/hyprtoolkit.sh modified: install.sh modified: update-hyprland.sh --- hypr-tags.env | 17 ++--- install-scripts/00-dependencies.sh | 3 +- install-scripts/aquamarine.sh | 2 +- ...prland-qtutils.sh => hyprland-guiutils.sh} | 38 +++++------ install-scripts/hyprtoolkit.sh | 65 +++++++++++++++++++ install.sh | 6 +- update-hyprland.sh | 4 +- 7 files changed, 104 insertions(+), 31 deletions(-) rename install-scripts/{hyprland-qtutils.sh => hyprland-guiutils.sh} (68%) create mode 100755 install-scripts/hyprtoolkit.sh diff --git a/hypr-tags.env b/hypr-tags.env index 9b8fb92..81c0404 100644 --- a/hypr-tags.env +++ b/hypr-tags.env @@ -2,13 +2,14 @@ # You can edit these values or let update-hyprland.sh manage them. # Each module script reads its TAG from these environment variables if set. -HYPRLAND_TAG=v0.51.1 -AQUAMARINE_TAG=v0.9.3 -HYPRUTILS_TAG=v0.8.3 -HYPRLANG_TAG=v0.6.4 -HYPRGRAPHICS_TAG=v0.1.5 +HYPRLAND_TAG=v0.52.2 +AQUAMARINE_TAG=v0.10.0 +HYPRUTILS_TAG=v0.10.4 +HYPRLANG_TAG=v0.6.7 +HYPRGRAPHICS_TAG=v0.4.0 +HYPRTOOLKIT_TAG=v0.4.1 HYPRWAYLAND_SCANNER_TAG=v0.4.5 -HYPRLAND_PROTOCOLS_TAG=v0.6.4 +HYPRLAND_PROTOCOLS_TAG=v0.7.0 HYPRLAND_QT_SUPPORT_TAG=v0.1.0 -HYPRLAND_QTUTILS_TAG=v0.1.4 -WAYLAND_PROTOCOLS_TAG=1.45 +HYPRLAND_GUIUTILS_TAG=v0.2.0 +WAYLAND_PROTOCOLS_TAG=1.46 diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 35bfe47..529226c 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -39,6 +39,7 @@ dependencies=( libgulkan-0.15-0t64 libgulkan-dev libinih-dev + libiniparser-dev libinput-dev libjbig-dev libjpeg-dev @@ -163,4 +164,4 @@ for PKG1 in "${build_dep[@]}"; do build_dep "$PKG1" "$LOG" done -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh index 50f2c89..579e80a 100755 --- a/install-scripts/aquamarine.sh +++ b/install-scripts/aquamarine.sh @@ -63,4 +63,4 @@ else echo -e "${ERROR} Download failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$LOG" fi -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprland-qtutils.sh b/install-scripts/hyprland-guiutils.sh similarity index 68% rename from install-scripts/hyprland-qtutils.sh rename to install-scripts/hyprland-guiutils.sh index caff755..badf48a 100755 --- a/install-scripts/hyprland-qtutils.sh +++ b/install-scripts/hyprland-guiutils.sh @@ -1,9 +1,9 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # # Hypr Ecosystem # -# hypland-qtutils # +# hypland-guiutils # -qtutils=( +guiutils=( libqt6core5compat6 qt6-base-dev qt6-wayland-dev @@ -17,9 +17,9 @@ qtutils=( ) #specific branch or release -tag="v0.1.4" +tag="v0.2.0" # Allow environment override -if [ -n "${HYPRLAND_QTUTILS_TAG:-}" ]; then tag="$HYPRLAND_QTUTILS_TAG"; fi +if [ -n "${HYPRLAND_GUIUTILS_TAG:-}" ]; then tag="$HYPRLAND_GUIUTILS_TAG"; fi # Dry-run support DO_INSTALL=1 @@ -42,13 +42,13 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then fi # Set the name of the log file to include the current date and time -LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-qtutils.log" -MLOG="install-$(date +%d-%H%M%S)_hyprland-qtutils2.log" +LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-guiutils.log" +MLOG="install-$(date +%d-%H%M%S)_hyprland-guiutils2.log" # Installation of dependencies -printf "\n%s - Installing ${YELLOW}hyprland-qtutils dependencies${RESET} .... \n" "${INFO}" +printf "\n%s - Installing ${YELLOW}hyprland-guiutils dependencies${RESET} .... \n" "${INFO}" -for PKG1 in "${qtutils[@]}"; do +for PKG1 in "${guiutils[@]}"; do re_install_package "$PKG1" 2>&1 | tee -a "$LOG" if [ $? -ne 0 ]; then echo -e "\e[1A\e[K${ERROR} - ${YELLOW}$PKG1${RESET} Package installation failed, Please check the installation logs" @@ -58,31 +58,31 @@ done printf "\n%.0s" {1..1} -# Check if hyprland-qtutils directory exists and remove it -if [ -d "hyprland-qtutils" ]; then - rm -rf "hyprland-qtutils" +# Check if hyprland-guiutils directory exists and remove it +if [ -d "hyprland-guiutils" ]; then + rm -rf "hyprland-guiutils" fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprland-qtutils $tag${RESET} ...\n" -if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qtutils.git; then - cd hyprland-qtutils || exit 1 +printf "${INFO} Installing ${YELLOW}hyprland-guiutils $tag${RESET} ...\n" +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git; then + cd hyprland-guiutils || 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 [ $DO_INSTALL -eq 1 ]; then if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then - printf "${OK} ${MAGENTA}hyprland-qtutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hyprland-guiutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$MLOG" fi else - echo "${NOTE} DRY RUN: Skipping installation of hyprland-qtutils $tag." + echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag." fi #moving the addional logs to Install-Logs directory [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ cd .. else - echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$LOG" fi -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprtoolkit.sh b/install-scripts/hyprtoolkit.sh new file mode 100755 index 0000000..f059c01 --- /dev/null +++ b/install-scripts/hyprtoolkit.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hyprtoolkit # + +#specific branch or release +tag="v0.4.1" +# Allow environment override +if [ -n "${HYPRTOOLKIT_TAG:-}" ]; then tag="$HYPRTOOLKIT_TAG"; fi + +# Dry-run support +DO_INSTALL=1 +if [ "$1" = "--dry-run" ] || [ "${DRY_RUN}" = "1" ] || [ "${DRY_RUN}" = "true" ]; then + DO_INSTALL=0 + echo "${NOTE} DRY RUN: install step will be skipped." +fi + +## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## +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" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } + +# Source the global functions script +if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then + echo "Failed to source Global_functions.sh" + exit 1 +fi + +# Set the name of the log file to include the current date and time +LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprtoolkit.log" +MLOG="install-$(date +%d-%H%M%S)_hyprtoolkit2.log" + +# Clone, build, and install using Cmake +printf "${NOTE} Cloning hyprtoolkit...\n" + +# Check if hyprtoolkit folder exists and remove it +if [ -d "hyprtoolkit" ]; then + printf "${NOTE} Removing existing hyprtoolkit folder...\n" + rm -rf "hyprtoolkit" 2>&1 | tee -a "$LOG" +fi + +if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git"; then + cd "hyprtoolkit" || exit 1 + cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B ./build + cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` + if [ $DO_INSTALL -eq 1 ]; then + if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then + printf "${OK} hyprtoolkit installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for hyprtoolkit." 2>&1 | tee -a "$MLOG" + fi + else + echo "${NOTE} DRY RUN: Skipping installation of hyprtoolkit $tag." + fi + [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + cd .. +else + echo -e "${ERROR} Download failed for hyprtoolkit" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} + + diff --git a/install.sh b/install.sh index a097c9c..0f2c2fc 100755 --- a/install.sh +++ b/install.sh @@ -400,13 +400,17 @@ execute_script "aquamarine.sh" sleep 1 execute_script "hyprland-qt-support.sh" sleep 1 -execute_script "hyprland-qtutils.sh" +execute_script "hyprtoolkit.sh" +sleep 1 +execute_script "hyprland-guiutils.sh" sleep 1 execute_script "hyprland-protocols.sh" sleep 1 # Ensure wayland-protocols (from source) is installed to satisfy Hyprland's >= 1.45 requirement execute_script "wayland-protocols-src.sh" sleep 1 +execute_script "xkbcommon.sh" +sleep 1 execute_script "hyprland.sh" sleep 1 execute_script "hyprpolkitagent.sh" diff --git a/update-hyprland.sh b/update-hyprland.sh index c5a1830..6063082 100755 --- a/update-hyprland.sh +++ b/update-hyprland.sh @@ -33,15 +33,17 @@ SUMMARY_LOG="$LOG_DIR/update-hypr-$TS.log" # Default module order (core first, then Hyprland) DEFAULT_MODULES=( + xkbcommon hyprutils hyprlang + hyprtoolkit wayland-protocols-src aquamarine hyprgraphics hyprwayland-scanner hyprland-protocols hyprland-qt-support - hyprland-qtutils + hyprland-guiutils hyprland ) From b98e468d560c8e517ccabbe3f80918e27edf8a89 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 13:08:48 -0500 Subject: [PATCH 4/7] Updated version is the individual files On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: install-scripts/aquamarine.sh modified: install-scripts/hyprgraphics.sh modified: install-scripts/hyprland-protocols.sh modified: install-scripts/hyprland.sh modified: install-scripts/hyprlang.sh modified: install-scripts/hyprutils.sh --- install-scripts/aquamarine.sh | 2 +- install-scripts/hyprgraphics.sh | 4 ++-- install-scripts/hyprland-protocols.sh | 4 ++-- install-scripts/hyprland.sh | 2 +- install-scripts/hyprlang.sh | 2 +- install-scripts/hyprutils.sh | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh index 579e80a..97a986d 100755 --- a/install-scripts/aquamarine.sh +++ b/install-scripts/aquamarine.sh @@ -5,7 +5,7 @@ #specific branch or release -tag="v0.9.3" +tag="v0.10.0" # Allow environment override if [ -n "${AQUAMARINE_TAG:-}" ]; then tag="$AQUAMARINE_TAG"; fi diff --git a/install-scripts/hyprgraphics.sh b/install-scripts/hyprgraphics.sh index 9674523..21cb5f4 100755 --- a/install-scripts/hyprgraphics.sh +++ b/install-scripts/hyprgraphics.sh @@ -8,7 +8,7 @@ hyprgraphics=( ) #specific branch or release -tag="v0.1.5" +tag="v0.4.0" # Allow environment override if [ -n "${HYPRGRAPHICS_TAG:-}" ]; then tag="$HYPRGRAPHICS_TAG"; fi @@ -75,4 +75,4 @@ else echo -e "${ERROR} Download failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$LOG" fi -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprland-protocols.sh b/install-scripts/hyprland-protocols.sh index 69b1f9c..ce05bbf 100755 --- a/install-scripts/hyprland-protocols.sh +++ b/install-scripts/hyprland-protocols.sh @@ -5,7 +5,7 @@ #specific branch or release -tag="v0.6.4" +tag="v0.7.0" # Allow environment override if [ -n "${HYPRLAND_PROTOCOLS_TAG:-}" ]; then tag="$HYPRLAND_PROTOCOLS_TAG"; fi @@ -62,4 +62,4 @@ else echo -e "${ERROR} Download failed for ${YELLOW}hyprland-protocols tag${RESET}" 2>&1 | tee -a "$LOG" fi -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index f7147a1..cbd469d 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -3,7 +3,7 @@ # Main Hyprland Package# #specific branch or release -tag="v0.51.1" +tag="v0.52.2" # Allow environment override if [ -n "${HYPRLAND_TAG:-}" ]; then tag="$HYPRLAND_TAG"; fi diff --git a/install-scripts/hyprlang.sh b/install-scripts/hyprlang.sh index 05ec20f..95f3bfe 100755 --- a/install-scripts/hyprlang.sh +++ b/install-scripts/hyprlang.sh @@ -5,7 +5,7 @@ #specific branch or release -tag="v0.6.4" +tag="v0.6.7" # Allow environment override if [ -n "${HYPRLANG_TAG:-}" ]; then tag="$HYPRLANG_TAG"; fi diff --git a/install-scripts/hyprutils.sh b/install-scripts/hyprutils.sh index 40425bc..311a1d2 100755 --- a/install-scripts/hyprutils.sh +++ b/install-scripts/hyprutils.sh @@ -4,7 +4,7 @@ # hyprutils # #specific branch or release -tag="v0.8.2" +tag="v0.10.4" # Allow environment override if [ -n "${HYPRUTILS_TAG:-}" ]; then tag="$HYPRUTILS_TAG"; fi From 24fb2b0dc5598c6b98dab0228c335e298320db77 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 13:17:36 -0500 Subject: [PATCH 5/7] Fixed pkg name qt-style-kavantum-themes not qt5 On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: install-scripts/01-hypr-pkgs.sh --- install-scripts/01-hypr-pkgs.sh | 138 ++++++++++++++++---------------- 1 file changed, 71 insertions(+), 67 deletions(-) diff --git a/install-scripts/01-hypr-pkgs.sh b/install-scripts/01-hypr-pkgs.sh index c6a4a57..c3b862d 100755 --- a/install-scripts/01-hypr-pkgs.sh +++ b/install-scripts/01-hypr-pkgs.sh @@ -1,7 +1,7 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # # Hyprland-Dots Packages # -# edit your packages desired here. +# edit your packages desired here. # WARNING! If you remove packages here, dotfiles may not work properly. # and also, ensure that packages are present in Debian Official Repo @@ -12,79 +12,82 @@ Extra=( # packages needed hypr_package=( - cliphist - grim - gvfs - gvfs-backends - inxi - imagemagick - kitty - nano - pavucontrol - playerctl - polkit-kde-agent-1 - python3-requests - python3-pip - qt5ct - qt5-style-kvantum - qt5-style-kvantum-themes - qt6ct - slurp - swappy - sway-notification-center - unzip - waybar - wget - wl-clipboard - wlogout - xdg-user-dirs - xdg-utils - yad + cliphist + grim + gvfs + gvfs-backends + inxi + imagemagick + kitty + nano + pavucontrol + playerctl + polkit-kde-agent-1 + python3-requests + python3-pip + qt5ct + qt5-style-kvantum + qt-style-kvantum-themes + qt6ct + slurp + swappy + sway-notification-center + unzip + waybar + wget + wl-clipboard + wlogout + xdg-user-dirs + xdg-utils + yad ) # the following packages can be deleted. however, dotfiles may not work properly hypr_package_2=( - brightnessctl - btop - cava - fastfetch - loupe - gnome-system-monitor - mousepad - mpv - mpv-mpris - nwg-look - nwg-displays - nvtop - pamixer - qalculate-gtk + brightnessctl + btop + cava + fastfetch + loupe + gnome-system-monitor + mousepad + mpv + mpv-mpris + nwg-look + nwg-displays + nvtop + pamixer + qalculate-gtk ) -# packages to force reinstall +# packages to force reinstall force=( - imagemagick - wayland-protocols + imagemagick + wayland-protocols ) # List of packages to uninstall as it conflicts with swaync or causing swaync to not function properly uninstall=( - dunst - mako - rofi - cargo + dunst + mako + rofi + cargo ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } +cd "$PARENT_DIR" || { + echo "${ERROR} Failed to change directory to $PARENT_DIR" + exit 1 +} # Source the global functions script if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then - echo "Failed to source Global_functions.sh" - exit 1 + echo "Failed to source Global_functions.sh" + exit 1 fi # Set the name of the log file to include the current date and time @@ -94,14 +97,14 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log" overall_failed=0 printf "\n%s - ${SKY_BLUE}Removing some packages${RESET} as it conflicts with KooL's Hyprland Dots \n" "${NOTE}" for PKG in "${uninstall[@]}"; do - uninstall_package "$PKG" 2>&1 | tee -a "$LOG" - if [ $? -ne 0 ]; then - overall_failed=1 - fi + uninstall_package "$PKG" 2>&1 | tee -a "$LOG" + if [ $? -ne 0 ]; then + overall_failed=1 + fi done if [ $overall_failed -ne 0 ]; then - echo -e "${ERROR} Some packages failed to uninstall. Please check the log." + echo -e "${ERROR} Some packages failed to uninstall. Please check the log." fi printf "\n%.0s" {1..1} @@ -110,24 +113,24 @@ printf "\n%.0s" {1..1} printf "\n%s - Installing ${SKY_BLUE}KooL's hyprland necessary packages${RESET} .... \n" "${NOTE}" for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${Extra[@]}"; do - install_package "$PKG1" "$LOG" + install_package "$PKG1" "$LOG" done printf "\n%.0s" {1..1} for PKG2 in "${force[@]}"; do - re_install_package "$PKG2" "$LOG" + re_install_package "$PKG2" "$LOG" done printf "\n%.0s" {1..1} # install YAD from assets. NOTE This is downloaded from SID repo and sometimes # Trixie is removing YAD for some strange reasons # Check if yad is installed -if ! command -v yad &> /dev/null; then - echo "${INFO} Installing ${YELLOW}YAD from assets${RESET} ..." - sudo dpkg -i assets/yad_0.40.0-1+b2_amd64.deb - sudo apt install -f -y - echo "${INFO} ${YELLOW}YAD from assets${RESET} succesfully installed ..." +if ! command -v yad &>/dev/null; then + echo "${INFO} Installing ${YELLOW}YAD from assets${RESET} ..." + sudo dpkg -i assets/yad_0.40.0-1+b2_amd64.deb + sudo apt install -f -y + echo "${INFO} ${YELLOW}YAD from assets${RESET} succesfully installed ..." fi printf "\n%.0s" {1..2} @@ -140,4 +143,5 @@ source "$HOME/.cargo/env" ## making brightnessctl work sudo chmod +s $(which brightnessctl) 2>&1 | tee -a "$LOG" || true -printf "\n%.0s" {1..2} \ No newline at end of file +printf "\n%.0s" {1..2} + From 9281ac4295a9daedb1dbcd68fa7d04e27b860817 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 13:19:58 -0500 Subject: [PATCH 6/7] Updated CHANGELOG --- CHANGELOGS.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 088bb0d..4ea2d73 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -2,8 +2,11 @@ ## 10 December 2025 -- Updated Hyprland Build to v0.52.2 +- Updated: + - Hyprland Build to v0.52.2 - Thanks entirely to @sdegler +- Fixed: + - `qt5-style-kvantum-themes` failed to install Wrong package name ## 10 October 2025 From cb1250ce8de55fce97a1e8e44a5ff1ed95d1dc30 Mon Sep 17 00:00:00 2001 From: Don Williams Date: Wed, 10 Dec 2025 16:55:30 -0500 Subject: [PATCH 7/7] Fixed package name for libdisplay-info2 failed to install On branch development Your branch is up to date with 'origin/development'. Changes to be committed: modified: CHANGELOGS.md modified: install-scripts/00-dependencies.sh --- CHANGELOGS.md | 5 +- install-scripts/00-dependencies.sh | 257 +++++++++++++++-------------- 2 files changed, 134 insertions(+), 128 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 4ea2d73..a04fdb8 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -6,7 +6,10 @@ - Hyprland Build to v0.52.2 - Thanks entirely to @sdegler - Fixed: - - `qt5-style-kvantum-themes` failed to install Wrong package name + - `qt5-style-kvantum-themes` failed to install + - Wrong package name it's `qt-style-kvantume-themes` + - `libdisplay-info2` failed to install + - New package name: `libdisplay-info3` ## 10 October 2025 diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 529226c..6bf8d74 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -5,147 +5,150 @@ # packages neeeded dependencies=( - build-essential - cmake - cmake-extras - curl - findutils - gawk - gettext - gir1.2-graphene-1.0 - git - glslang-tools - gobject-introspection - golang - hwdata - jq - libavcodec-dev - libavformat-dev - libavutil-dev - libcairo2-dev - libdeflate-dev - libdisplay-info-dev - libdrm-dev - libegl-dev - libegl1-mesa-dev - libgbm-dev - libgdk-pixbuf-2.0-dev - libgdk-pixbuf2.0-bin - libgirepository1.0-dev - libgl1-mesa-dev - libgraphene-1.0-0 - libgraphene-1.0-dev - libgtk-3-dev - libgulkan-0.15-0t64 - libgulkan-dev - libinih-dev - libiniparser-dev - libinput-dev - libjbig-dev - libjpeg-dev - libjpeg62-turbo-dev - liblerc-dev - libliftoff-dev - liblzma-dev - libnotify-bin - libpam0g-dev - libpango1.0-dev - libpipewire-0.3-dev - libqt6svg6 - libsdbus-c++-dev - libseat-dev - libstartup-notification0-dev - libswresample-dev - libsystemd-dev - libtiff-dev - libtiffxx6 - libtomlplusplus-dev - libudev-dev - libvkfft-dev - libvulkan-dev - libvulkan-volk-dev - libwayland-dev - libwebp-dev - libxcb-composite0-dev - libxcb-cursor-dev - libxcb-dri3-dev - libxcb-ewmh-dev - libxcb-icccm4-dev - libxcb-present-dev - libxcb-render-util0-dev - libxcb-res0-dev - libxcb-util-dev - libxcb-xinerama0-dev - libxcb-xinput-dev - libxcb-xkb-dev - libxkbcommon-dev - libxkbcommon-x11-dev - libxkbregistry-dev - libxml2-dev - libxxhash-dev - meson - ninja-build - openssl - psmisc - python3-mako - python3-markdown - python3-markupsafe - python3-pyquery - python3-yaml - qt6-base-dev - scdoc - seatd - spirv-tools - unzip - vulkan-utility-libraries-dev - vulkan-validationlayers - wayland-protocols - xdg-desktop-portal - xwayland + build-essential + cmake + cmake-extras + curl + findutils + gawk + gettext + gir1.2-graphene-1.0 + git + glslang-tools + gobject-introspection + golang + hwdata + jq + libavcodec-dev + libavformat-dev + libavutil-dev + libcairo2-dev + libdeflate-dev + libdisplay-info-dev + libdrm-dev + libegl-dev + libegl1-mesa-dev + libgbm-dev + libgdk-pixbuf-2.0-dev + libgdk-pixbuf2.0-bin + libgirepository1.0-dev + libgl1-mesa-dev + libgraphene-1.0-0 + libgraphene-1.0-dev + libgtk-3-dev + libgulkan-0.15-0t64 + libgulkan-dev + libinih-dev + libiniparser-dev + libinput-dev + libjbig-dev + libjpeg-dev + libjpeg62-turbo-dev + liblerc-dev + libliftoff-dev + liblzma-dev + libnotify-bin + libpam0g-dev + libpango1.0-dev + libpipewire-0.3-dev + libqt6svg6 + libsdbus-c++-dev + libseat-dev + libstartup-notification0-dev + libswresample-dev + libsystemd-dev + libtiff-dev + libtiffxx6 + libtomlplusplus-dev + libudev-dev + libvkfft-dev + libvulkan-dev + libvulkan-volk-dev + libwayland-dev + libwebp-dev + libxcb-composite0-dev + libxcb-cursor-dev + libxcb-dri3-dev + libxcb-ewmh-dev + libxcb-icccm4-dev + libxcb-present-dev + libxcb-render-util0-dev + libxcb-res0-dev + libxcb-util-dev + libxcb-xinerama0-dev + libxcb-xinput-dev + libxcb-xkb-dev + libxkbcommon-dev + libxkbcommon-x11-dev + libxkbregistry-dev + libxml2-dev + libxxhash-dev + meson + ninja-build + openssl + psmisc + python3-mako + python3-markdown + python3-markupsafe + python3-pyquery + python3-yaml + qt6-base-dev + scdoc + seatd + spirv-tools + unzip + vulkan-utility-libraries-dev + vulkan-validationlayers + wayland-protocols + xdg-desktop-portal + xwayland ) # hyprland dependencies hyprland_dep=( - bc - binutils - libc6 - libcairo2-dev - libdisplay-info2 - libdrm2 - libjpeg-dev - libjxl-dev - libmagic-dev - libpixman-1-dev - libpugixml-dev - libre2-dev - librsvg2-dev - libspng-dev - libtomlplusplus-dev - libwebp-dev - libzip-dev - libpam0g-dev - libxcursor-dev - qt6-declarative-dev - qt6-base-private-dev - qt6-wayland-dev - qt6-wayland-private-dev + bc + binutils + libc6 + libcairo2-dev + libdisplay-info3 + libdrm2 + libjpeg-dev + libjxl-dev + libmagic-dev + libpixman-1-dev + libpugixml-dev + libre2-dev + librsvg2-dev + libspng-dev + libtomlplusplus-dev + libwebp-dev + libzip-dev + libpam0g-dev + libxcursor-dev + qt6-declarative-dev + qt6-base-private-dev + qt6-wayland-dev + qt6-wayland-private-dev ) build_dep=( - wlroots + wlroots ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Change the working directory to the parent directory of the script PARENT_DIR="$SCRIPT_DIR/.." -cd "$PARENT_DIR" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } +cd "$PARENT_DIR" || { + echo "${ERROR} Failed to change directory to $PARENT_DIR" + exit 1 +} # Source the global functions script if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then - echo "Failed to source Global_functions.sh" - exit 1 + echo "Failed to source Global_functions.sh" + exit 1 fi # Set the name of the log file to include the current date and time @@ -155,13 +158,13 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_dependencies.log" printf "\n%s - Installing ${SKY_BLUE}main dependencies....${RESET} \n" "${NOTE}" for PKG1 in "${dependencies[@]}" "${hyprland_dep[@]}"; do - install_package "$PKG1" "$LOG" + install_package "$PKG1" "$LOG" done printf "\n%.0s" {1..1} for PKG1 in "${build_dep[@]}"; do - build_dep "$PKG1" "$LOG" + build_dep "$PKG1" "$LOG" done printf "\n%.0s" {1..2}