Compare commits

..

No commits in common. "7613ab90e7330f722738eba67895f73fd9911b60" and "7707ec2c4eb764bdadfd366c77530e854ca4d9ec" have entirely different histories.

15 changed files with 234 additions and 389 deletions

View File

@ -2,14 +2,8 @@
## 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 it's `qt-style-kvantume-themes`
- `libdisplay-info2` failed to install
- New package name: `libdisplay-info3`
## 10 October 2025

View File

@ -2,14 +2,13 @@
# 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.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
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
HYPRWAYLAND_SCANNER_TAG=v0.4.5
HYPRLAND_PROTOCOLS_TAG=v0.7.0
HYPRLAND_PROTOCOLS_TAG=v0.6.4
HYPRLAND_QT_SUPPORT_TAG=v0.1.0
HYPRLAND_GUIUTILS_TAG=v0.2.0
WAYLAND_PROTOCOLS_TAG=1.46
HYPRLAND_QTUTILS_TAG=v0.1.4
WAYLAND_PROTOCOLS_TAG=1.45

View File

@ -5,150 +5,146 @@
# 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
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-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
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
)
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
@ -158,13 +154,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}

View File

@ -12,82 +12,79 @@ 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
qt-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
qt5-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
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
@ -97,14 +94,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}
@ -113,24 +110,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}
@ -144,4 +141,3 @@ source "$HOME/.cargo/env"
sudo chmod +s $(which brightnessctl) 2>&1 | tee -a "$LOG" || true
printf "\n%.0s" {1..2}

View File

@ -5,7 +5,7 @@
#specific branch or release
tag="v0.10.0"
tag="v0.9.3"
# Allow environment override
if [ -n "${AQUAMARINE_TAG:-}" ]; then tag="$AQUAMARINE_TAG"; fi
@ -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/local -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`
if [ $DO_INSTALL -eq 1 ]; then
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then

View File

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

View File

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

View File

@ -1,9 +1,9 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hypland-guiutils #
# hypland-qtutils #
guiutils=(
qtutils=(
libqt6core5compat6
qt6-base-dev
qt6-wayland-dev
@ -17,9 +17,9 @@ guiutils=(
)
#specific branch or release
tag="v0.2.0"
tag="v0.1.4"
# Allow environment override
if [ -n "${HYPRLAND_GUIUTILS_TAG:-}" ]; then tag="$HYPRLAND_GUIUTILS_TAG"; fi
if [ -n "${HYPRLAND_QTUTILS_TAG:-}" ]; then tag="$HYPRLAND_QTUTILS_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-guiutils.log"
MLOG="install-$(date +%d-%H%M%S)_hyprland-guiutils2.log"
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprland-qtutils.log"
MLOG="install-$(date +%d-%H%M%S)_hyprland-qtutils2.log"
# Installation of dependencies
printf "\n%s - Installing ${YELLOW}hyprland-guiutils dependencies${RESET} .... \n" "${INFO}"
printf "\n%s - Installing ${YELLOW}hyprland-qtutils dependencies${RESET} .... \n" "${INFO}"
for PKG1 in "${guiutils[@]}"; do
for PKG1 in "${qtutils[@]}"; 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-guiutils directory exists and remove it
if [ -d "hyprland-guiutils" ]; then
rm -rf "hyprland-guiutils"
# Check if hyprland-qtutils directory exists and remove it
if [ -d "hyprland-qtutils" ]; then
rm -rf "hyprland-qtutils"
fi
# Clone and build
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
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
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-guiutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
printf "${OK} ${MAGENTA}hyprland-qtutils $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
fi
else
echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag."
echo "${NOTE} DRY RUN: Skipping installation of hyprland-qtutils $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-guiutils $tag${RESET}" 2>&1 | tee -a "$LOG"
echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

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

View File

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

View File

@ -1,65 +0,0 @@
#!/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 #
#specific branch or release
tag="v0.10.4"
tag="v0.8.2"
# Allow environment override
if [ -n "${HYPRUTILS_TAG:-}" ]; then tag="$HYPRUTILS_TAG"; fi

View File

@ -1,69 +0,0 @@
#!/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,17 +400,13 @@ execute_script "aquamarine.sh"
sleep 1
execute_script "hyprland-qt-support.sh"
sleep 1
execute_script "hyprtoolkit.sh"
sleep 1
execute_script "hyprland-guiutils.sh"
execute_script "hyprland-qtutils.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"

View File

@ -33,17 +33,15 @@ 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-guiutils
hyprland-qtutils
hyprland
)