Compare commits

...

9 Commits

Author SHA1 Message Date
Donald Williams
7613ab90e7
Merge pull request #229 from JaKooLit/development
Development to main,  Updated HL to 0.52.2
2025-12-11 12:15:51 -05:00
Donald Williams
5a51d35ec0
Merge branch 'main' into development 2025-12-11 12:15:18 -05:00
Don Williams
cb1250ce8d 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
2025-12-10 16:55:30 -05:00
Don Williams
9281ac4295 Updated CHANGELOG 2025-12-10 13:19:58 -05:00
Don Williams
24fb2b0dc5 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
2025-12-10 13:17:36 -05:00
Don Williams
b98e468d56 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
2025-12-10 13:08:48 -05:00
Don Williams
cb46365d8c 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
2025-12-10 12:47:00 -05:00
Don Williams
42cbae3c1c 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
2025-12-10 12:35:43 -05:00
Don Williams
0ec2169efd Updated CHANGELOG 2025-12-10 12:24:49 -05:00
15 changed files with 389 additions and 234 deletions

View File

@ -2,8 +2,14 @@
## 10 December 2025 ## 10 December 2025
- Updated Hyprland Build to v0.52.2 - Updated:
- Hyprland Build to v0.52.2
- Thanks entirely to @sdegler - Thanks entirely to @sdegler
- Fixed:
- `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 ## 10 October 2025

View File

@ -2,13 +2,14 @@
# You can edit these values or let update-hyprland.sh manage them. # You can edit these values or let update-hyprland.sh manage them.
# Each module script reads its TAG from these environment variables if set. # Each module script reads its TAG from these environment variables if set.
HYPRLAND_TAG=v0.51.1 HYPRLAND_TAG=v0.52.2
AQUAMARINE_TAG=v0.9.3 AQUAMARINE_TAG=v0.10.0
HYPRUTILS_TAG=v0.8.3 HYPRUTILS_TAG=v0.10.4
HYPRLANG_TAG=v0.6.4 HYPRLANG_TAG=v0.6.7
HYPRGRAPHICS_TAG=v0.1.5 HYPRGRAPHICS_TAG=v0.4.0
HYPRTOOLKIT_TAG=v0.4.1
HYPRWAYLAND_SCANNER_TAG=v0.4.5 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_QT_SUPPORT_TAG=v0.1.0
HYPRLAND_QTUTILS_TAG=v0.1.4 HYPRLAND_GUIUTILS_TAG=v0.2.0
WAYLAND_PROTOCOLS_TAG=1.45 WAYLAND_PROTOCOLS_TAG=1.46

View File

@ -5,146 +5,150 @@
# packages neeeded # packages neeeded
dependencies=( dependencies=(
build-essential build-essential
cmake cmake
cmake-extras cmake-extras
curl curl
findutils findutils
gawk gawk
gettext gettext
gir1.2-graphene-1.0 gir1.2-graphene-1.0
git git
glslang-tools glslang-tools
gobject-introspection gobject-introspection
golang golang
hwdata hwdata
jq jq
libavcodec-dev libavcodec-dev
libavformat-dev libavformat-dev
libavutil-dev libavutil-dev
libcairo2-dev libcairo2-dev
libdeflate-dev libdeflate-dev
libdisplay-info-dev libdisplay-info-dev
libdrm-dev libdrm-dev
libegl-dev libegl-dev
libegl1-mesa-dev libegl1-mesa-dev
libgbm-dev libgbm-dev
libgdk-pixbuf-2.0-dev libgdk-pixbuf-2.0-dev
libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-bin
libgirepository1.0-dev libgirepository1.0-dev
libgl1-mesa-dev libgl1-mesa-dev
libgraphene-1.0-0 libgraphene-1.0-0
libgraphene-1.0-dev libgraphene-1.0-dev
libgtk-3-dev libgtk-3-dev
libgulkan-0.15-0t64 libgulkan-0.15-0t64
libgulkan-dev libgulkan-dev
libinih-dev libinih-dev
libinput-dev libiniparser-dev
libjbig-dev libinput-dev
libjpeg-dev libjbig-dev
libjpeg62-turbo-dev libjpeg-dev
liblerc-dev libjpeg62-turbo-dev
libliftoff-dev liblerc-dev
liblzma-dev libliftoff-dev
libnotify-bin liblzma-dev
libpam0g-dev libnotify-bin
libpango1.0-dev libpam0g-dev
libpipewire-0.3-dev libpango1.0-dev
libqt6svg6 libpipewire-0.3-dev
libsdbus-c++-dev libqt6svg6
libseat-dev libsdbus-c++-dev
libstartup-notification0-dev libseat-dev
libswresample-dev libstartup-notification0-dev
libsystemd-dev libswresample-dev
libtiff-dev libsystemd-dev
libtiffxx6 libtiff-dev
libtomlplusplus-dev libtiffxx6
libudev-dev libtomlplusplus-dev
libvkfft-dev libudev-dev
libvulkan-dev libvkfft-dev
libvulkan-volk-dev libvulkan-dev
libwayland-dev libvulkan-volk-dev
libwebp-dev libwayland-dev
libxcb-composite0-dev libwebp-dev
libxcb-cursor-dev libxcb-composite0-dev
libxcb-dri3-dev libxcb-cursor-dev
libxcb-ewmh-dev libxcb-dri3-dev
libxcb-icccm4-dev libxcb-ewmh-dev
libxcb-present-dev libxcb-icccm4-dev
libxcb-render-util0-dev libxcb-present-dev
libxcb-res0-dev libxcb-render-util0-dev
libxcb-util-dev libxcb-res0-dev
libxcb-xinerama0-dev libxcb-util-dev
libxcb-xinput-dev libxcb-xinerama0-dev
libxcb-xkb-dev libxcb-xinput-dev
libxkbcommon-dev libxcb-xkb-dev
libxkbcommon-x11-dev libxkbcommon-dev
libxkbregistry-dev libxkbcommon-x11-dev
libxml2-dev libxkbregistry-dev
libxxhash-dev libxml2-dev
meson libxxhash-dev
ninja-build meson
openssl ninja-build
psmisc openssl
python3-mako psmisc
python3-markdown python3-mako
python3-markupsafe python3-markdown
python3-pyquery python3-markupsafe
python3-yaml python3-pyquery
qt6-base-dev python3-yaml
scdoc qt6-base-dev
seatd scdoc
spirv-tools seatd
unzip spirv-tools
vulkan-utility-libraries-dev unzip
vulkan-validationlayers vulkan-utility-libraries-dev
wayland-protocols vulkan-validationlayers
xdg-desktop-portal wayland-protocols
xwayland xdg-desktop-portal
xwayland
) )
# hyprland dependencies # hyprland dependencies
hyprland_dep=( hyprland_dep=(
bc bc
binutils binutils
libc6 libc6
libcairo2-dev libcairo2-dev
libdisplay-info2 libdisplay-info3
libdrm2 libdrm2
libjpeg-dev libjpeg-dev
libjxl-dev libjxl-dev
libmagic-dev libmagic-dev
libpixman-1-dev libpixman-1-dev
libpugixml-dev libpugixml-dev
libre2-dev libre2-dev
librsvg2-dev librsvg2-dev
libspng-dev libspng-dev
libtomlplusplus-dev libtomlplusplus-dev
libwebp-dev libwebp-dev
libzip-dev libzip-dev
libpam0g-dev libpam0g-dev
libxcursor-dev libxcursor-dev
qt6-declarative-dev qt6-declarative-dev
qt6-base-private-dev qt6-base-private-dev
qt6-wayland-dev qt6-wayland-dev
qt6-wayland-private-dev qt6-wayland-private-dev
) )
build_dep=( build_dep=(
wlroots wlroots
) )
## 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! ##
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || { 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 # Source the global functions script
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
echo "Failed to source Global_functions.sh" echo "Failed to source Global_functions.sh"
exit 1 exit 1
fi fi
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
@ -154,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}" printf "\n%s - Installing ${SKY_BLUE}main dependencies....${RESET} \n" "${NOTE}"
for PKG1 in "${dependencies[@]}" "${hyprland_dep[@]}"; do for PKG1 in "${dependencies[@]}" "${hyprland_dep[@]}"; do
install_package "$PKG1" "$LOG" install_package "$PKG1" "$LOG"
done done
printf "\n%.0s" {1..1} printf "\n%.0s" {1..1}
for PKG1 in "${build_dep[@]}"; do for PKG1 in "${build_dep[@]}"; do
build_dep "$PKG1" "$LOG" build_dep "$PKG1" "$LOG"
done done
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}

View File

@ -12,79 +12,82 @@ Extra=(
# packages needed # packages needed
hypr_package=( hypr_package=(
cliphist cliphist
grim grim
gvfs gvfs
gvfs-backends gvfs-backends
inxi inxi
imagemagick imagemagick
kitty kitty
nano nano
pavucontrol pavucontrol
playerctl playerctl
polkit-kde-agent-1 polkit-kde-agent-1
python3-requests python3-requests
python3-pip python3-pip
qt5ct qt5ct
qt5-style-kvantum qt5-style-kvantum
qt5-style-kvantum-themes qt-style-kvantum-themes
qt6ct qt6ct
slurp slurp
swappy swappy
sway-notification-center sway-notification-center
unzip unzip
waybar waybar
wget wget
wl-clipboard wl-clipboard
wlogout wlogout
xdg-user-dirs xdg-user-dirs
xdg-utils xdg-utils
yad yad
) )
# the following packages can be deleted. however, dotfiles may not work properly # the following packages can be deleted. however, dotfiles may not work properly
hypr_package_2=( hypr_package_2=(
brightnessctl brightnessctl
btop btop
cava cava
fastfetch fastfetch
loupe loupe
gnome-system-monitor gnome-system-monitor
mousepad mousepad
mpv mpv
mpv-mpris mpv-mpris
nwg-look nwg-look
nwg-displays nwg-displays
nvtop nvtop
pamixer pamixer
qalculate-gtk qalculate-gtk
) )
# packages to force reinstall # packages to force reinstall
force=( force=(
imagemagick imagemagick
wayland-protocols wayland-protocols
) )
# List of packages to uninstall as it conflicts with swaync or causing swaync to not function properly # List of packages to uninstall as it conflicts with swaync or causing swaync to not function properly
uninstall=( uninstall=(
dunst dunst
mako mako
rofi rofi
cargo cargo
) )
## 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! ##
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Change the working directory to the parent directory of the script # Change the working directory to the parent directory of the script
PARENT_DIR="$SCRIPT_DIR/.." PARENT_DIR="$SCRIPT_DIR/.."
cd "$PARENT_DIR" || { 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 # Source the global functions script
if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
echo "Failed to source Global_functions.sh" echo "Failed to source Global_functions.sh"
exit 1 exit 1
fi fi
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
@ -94,14 +97,14 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_hypr-pkgs.log"
overall_failed=0 overall_failed=0
printf "\n%s - ${SKY_BLUE}Removing some packages${RESET} as it conflicts with KooL's Hyprland Dots \n" "${NOTE}" printf "\n%s - ${SKY_BLUE}Removing some packages${RESET} as it conflicts with KooL's Hyprland Dots \n" "${NOTE}"
for PKG in "${uninstall[@]}"; do for PKG in "${uninstall[@]}"; do
uninstall_package "$PKG" 2>&1 | tee -a "$LOG" uninstall_package "$PKG" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
overall_failed=1 overall_failed=1
fi fi
done done
if [ $overall_failed -ne 0 ]; then 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 fi
printf "\n%.0s" {1..1} 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}" printf "\n%s - Installing ${SKY_BLUE}KooL's hyprland necessary packages${RESET} .... \n" "${NOTE}"
for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${Extra[@]}"; do for PKG1 in "${hypr_package[@]}" "${hypr_package_2[@]}" "${Extra[@]}"; do
install_package "$PKG1" "$LOG" install_package "$PKG1" "$LOG"
done done
printf "\n%.0s" {1..1} printf "\n%.0s" {1..1}
for PKG2 in "${force[@]}"; do for PKG2 in "${force[@]}"; do
re_install_package "$PKG2" "$LOG" re_install_package "$PKG2" "$LOG"
done done
printf "\n%.0s" {1..1} printf "\n%.0s" {1..1}
# install YAD from assets. NOTE This is downloaded from SID repo and sometimes # install YAD from assets. NOTE This is downloaded from SID repo and sometimes
# Trixie is removing YAD for some strange reasons # Trixie is removing YAD for some strange reasons
# Check if yad is installed # Check if yad is installed
if ! command -v yad &> /dev/null; then if ! command -v yad &>/dev/null; then
echo "${INFO} Installing ${YELLOW}YAD from assets${RESET} ..." echo "${INFO} Installing ${YELLOW}YAD from assets${RESET} ..."
sudo dpkg -i assets/yad_0.40.0-1+b2_amd64.deb sudo dpkg -i assets/yad_0.40.0-1+b2_amd64.deb
sudo apt install -f -y sudo apt install -f -y
echo "${INFO} ${YELLOW}YAD from assets${RESET} succesfully installed ..." echo "${INFO} ${YELLOW}YAD from assets${RESET} succesfully installed ..."
fi fi
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}
@ -141,3 +144,4 @@ source "$HOME/.cargo/env"
sudo chmod +s $(which brightnessctl) 2>&1 | tee -a "$LOG" || true sudo chmod +s $(which brightnessctl) 2>&1 | tee -a "$LOG" || true
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}

View File

@ -5,7 +5,7 @@
#specific branch or release #specific branch or release
tag="v0.9.3" tag="v0.10.0"
# Allow environment override # Allow environment override
if [ -n "${AQUAMARINE_TAG:-}" ]; then tag="$AQUAMARINE_TAG"; fi if [ -n "${AQUAMARINE_TAG:-}" ]; then tag="$AQUAMARINE_TAG"; fi
@ -45,7 +45,7 @@ fi
printf "${INFO} Installing ${YELLOW}aquamarine $tag${RESET} ...\n" printf "${INFO} Installing ${YELLOW}aquamarine $tag${RESET} ...\n"
if git clone --recursive -b $tag https://github.com/hyprwm/aquamarine.git; then if git clone --recursive -b $tag https://github.com/hyprwm/aquamarine.git; then
cd aquamarine || exit 1 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` cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
if [ $DO_INSTALL -eq 1 ]; then if [ $DO_INSTALL -eq 1 ]; then
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then

View File

@ -8,7 +8,7 @@ hyprgraphics=(
) )
#specific branch or release #specific branch or release
tag="v0.1.5" tag="v0.4.0"
# Allow environment override # Allow environment override
if [ -n "${HYPRGRAPHICS_TAG:-}" ]; then tag="$HYPRGRAPHICS_TAG"; fi if [ -n "${HYPRGRAPHICS_TAG:-}" ]; then tag="$HYPRGRAPHICS_TAG"; fi

View File

@ -1,9 +1,9 @@
#!/bin/bash #!/bin/bash
# 💫 https://github.com/JaKooLit 💫 # # 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem # # Hypr Ecosystem #
# hypland-qtutils # # hypland-guiutils #
qtutils=( guiutils=(
libqt6core5compat6 libqt6core5compat6
qt6-base-dev qt6-base-dev
qt6-wayland-dev qt6-wayland-dev
@ -17,9 +17,9 @@ qtutils=(
) )
#specific branch or release #specific branch or release
tag="v0.1.4" tag="v0.2.0"
# Allow environment override # 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 # Dry-run support
DO_INSTALL=1 DO_INSTALL=1
@ -42,13 +42,13 @@ if ! source "$(dirname "$(readlink -f "$0")")/Global_functions.sh"; then
fi fi
# Set the name of the log file to include the current date and time # Set the name of the log file to include the current date and time
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-qtutils.log" LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-guiutils.log"
MLOG="install-$(date +%d-%H%M%S)_hyprland-qtutils2.log" MLOG="install-$(date +%d-%H%M%S)_hyprland-guiutils2.log"
# Installation of dependencies # 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" re_install_package "$PKG1" 2>&1 | tee -a "$LOG"
if [ $? -ne 0 ]; then if [ $? -ne 0 ]; then
echo -e "\e[1A\e[K${ERROR} - ${YELLOW}$PKG1${RESET} Package installation failed, Please check the installation logs" 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} printf "\n%.0s" {1..1}
# Check if hyprland-qtutils directory exists and remove it # Check if hyprland-guiutils directory exists and remove it
if [ -d "hyprland-qtutils" ]; then if [ -d "hyprland-guiutils" ]; then
rm -rf "hyprland-qtutils" rm -rf "hyprland-guiutils"
fi fi
# Clone and build # Clone and build
printf "${INFO} Installing ${YELLOW}hyprland-qtutils $tag${RESET} ...\n" printf "${INFO} Installing ${YELLOW}hyprland-guiutils $tag${RESET} ...\n"
if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qtutils.git; then if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git; then
cd hyprland-qtutils || exit 1 cd hyprland-guiutils || 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 -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF` cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf NPROCESSORS_CONF`
if [ $DO_INSTALL -eq 1 ]; then if [ $DO_INSTALL -eq 1 ]; then
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; 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 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 fi
else else
echo "${NOTE} DRY RUN: Skipping installation of hyprland-qtutils $tag." echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag."
fi fi
#moving the addional logs to Install-Logs directory #moving the addional logs to Install-Logs directory
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
cd .. cd ..
else 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 fi
printf "\n%.0s" {1..2} printf "\n%.0s" {1..2}

View File

@ -5,7 +5,7 @@
#specific branch or release #specific branch or release
tag="v0.6.4" tag="v0.7.0"
# Allow environment override # Allow environment override
if [ -n "${HYPRLAND_PROTOCOLS_TAG:-}" ]; then tag="$HYPRLAND_PROTOCOLS_TAG"; fi if [ -n "${HYPRLAND_PROTOCOLS_TAG:-}" ]; then tag="$HYPRLAND_PROTOCOLS_TAG"; fi

View File

@ -3,7 +3,7 @@
# Main Hyprland Package# # Main Hyprland Package#
#specific branch or release #specific branch or release
tag="v0.51.1" tag="v0.52.2"
# Allow environment override # Allow environment override
if [ -n "${HYPRLAND_TAG:-}" ]; then tag="$HYPRLAND_TAG"; fi if [ -n "${HYPRLAND_TAG:-}" ]; then tag="$HYPRLAND_TAG"; fi

View File

@ -5,7 +5,7 @@
#specific branch or release #specific branch or release
tag="v0.6.4" tag="v0.6.7"
# Allow environment override # Allow environment override
if [ -n "${HYPRLANG_TAG:-}" ]; then tag="$HYPRLANG_TAG"; fi if [ -n "${HYPRLANG_TAG:-}" ]; then tag="$HYPRLANG_TAG"; fi

65
install-scripts/hyprtoolkit.sh Executable file
View File

@ -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}

View File

@ -4,7 +4,7 @@
# hyprutils # # hyprutils #
#specific branch or release #specific branch or release
tag="v0.8.2" tag="v0.10.4"
# Allow environment override # Allow environment override
if [ -n "${HYPRUTILS_TAG:-}" ]; then tag="$HYPRUTILS_TAG"; fi if [ -n "${HYPRUTILS_TAG:-}" ]; then tag="$HYPRUTILS_TAG"; fi

69
install-scripts/xkbcommon.sh Executable file
View File

@ -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}

View File

@ -400,13 +400,17 @@ execute_script "aquamarine.sh"
sleep 1 sleep 1
execute_script "hyprland-qt-support.sh" execute_script "hyprland-qt-support.sh"
sleep 1 sleep 1
execute_script "hyprland-qtutils.sh" execute_script "hyprtoolkit.sh"
sleep 1
execute_script "hyprland-guiutils.sh"
sleep 1 sleep 1
execute_script "hyprland-protocols.sh" execute_script "hyprland-protocols.sh"
sleep 1 sleep 1
# Ensure wayland-protocols (from source) is installed to satisfy Hyprland's >= 1.45 requirement # Ensure wayland-protocols (from source) is installed to satisfy Hyprland's >= 1.45 requirement
execute_script "wayland-protocols-src.sh" execute_script "wayland-protocols-src.sh"
sleep 1 sleep 1
execute_script "xkbcommon.sh"
sleep 1
execute_script "hyprland.sh" execute_script "hyprland.sh"
sleep 1 sleep 1
execute_script "hyprpolkitagent.sh" execute_script "hyprpolkitagent.sh"

View File

@ -33,15 +33,17 @@ SUMMARY_LOG="$LOG_DIR/update-hypr-$TS.log"
# Default module order (core first, then Hyprland) # Default module order (core first, then Hyprland)
DEFAULT_MODULES=( DEFAULT_MODULES=(
xkbcommon
hyprutils hyprutils
hyprlang hyprlang
hyprtoolkit
wayland-protocols-src wayland-protocols-src
aquamarine aquamarine
hyprgraphics hyprgraphics
hyprwayland-scanner hyprwayland-scanner
hyprland-protocols hyprland-protocols
hyprland-qt-support hyprland-qt-support
hyprland-qtutils hyprland-guiutils
hyprland hyprland
) )