From 8d4a214fac08606f7c18119ecc361303e5c6f758 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 01:17:36 +0900 Subject: [PATCH 01/26] initial pushed. Just copied from my old script --- install-scripts/00-dependencies.sh | 68 ++++++++++++++++++++++++++++-- install-scripts/hyprland.sh | 68 +++++++++++++++++++----------- install-scripts/hyprlock.sh | 2 - 3 files changed, 108 insertions(+), 30 deletions(-) diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 7fef79b..6d39d69 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -6,21 +6,80 @@ # packages neeeded dependencies=( - build-essential + build-essential cmake cmake-extras curl - findutils gawk gettext + gir1.2-graphene-1.0 git glslang-tools gobject-introspection golang hwdata jq - libegl-dev + libavcodec-dev + libavformat-dev + libavutil-dev + libcairo2-dev + libdeflate-dev + libdisplay-info-dev + libdrm-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 + 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 @@ -31,8 +90,9 @@ dependencies=( python3-yaml python3-pyquery qt6-base-dev + scdoc + seatd spirv-tools - unzip vulkan-validationlayers vulkan-utility-libraries-dev wayland-protocols diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index 71282e6..ab8ee85 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -1,44 +1,64 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # -# Main Hyprland Package # +# Main Hyprland Package# -hypr=( - hyprland-protocols - hyprwayland-scanner -) +#specific branch or release +hyprland_tag="v0.41.2" -# forcing to reinstall. Had experience it says hyprland is already installed -f_hypr=( - hyprland +hyprland=( + libxcb-errors-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" || { echo "${ERROR} Failed to change directory to $PARENT_DIR"; exit 1; } +cd "$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 +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)_hyprland.log" +MLOG="install-$(date +%d-%H%M%S)_hyprland2.log" +# Installation of dependencies +printf "\n%s - Installing hyprland additional dependencies.... \n" "${NOTE}" -# Hyprland -printf "${NOTE} Installing ${SKY_BLUE}Hyprland packages${RESET} .......\n" - for HYPR in "${hypr[@]}"; do - install_package "$HYPR" "$LOG" +for PKG1 in "${hyprland[@]}"; 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 -# force -printf "${NOTE} Reinstalling ${SKY_BLUE}Hyprland packages${RESET} .......\n" - for HYPR1 in "${f_hypr[@]}"; do - re_install_package "$HYPR1" "$LOG" -done +# Clone, build, and install Hyprland using Cmake +printf "${NOTE} Cloning Hyprland...\n" -printf "\n%.0s" {1..2} \ No newline at end of file +# Check if Hyprland folder exists and remove it +if [ -d "Hyprland" ]; then + printf "${NOTE} Removing existing Hyprland folder...\n" + rm -rf "Hyprland" 2>&1 | tee -a "$LOG" +fi + +if git clone --recursive -b $hyprland_tag "https://github.com/hyprwm/Hyprland"; then + cd "Hyprland" || exit 1 + make all + if sudo make install 2>&1 | tee -a "$MLOG"; then + printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for Hyprland." 2>&1 | tee -a "$MLOG" + fi + mv $MLOG ../Install-Logs/ || true + cd .. +else + echo -e "${ERROR} Download failed for Hyprland." 2>&1 | tee -a "$LOG" +fi + +wayland_sessions_dir=/usr/share/wayland-sessions +[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } +sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" + +clear \ No newline at end of file diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index f220076..a58401c 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -7,8 +7,6 @@ lock=( libgbm-dev libdrm-dev libmagic-dev - libhyprlang-dev - libhyprutils-dev ) #specific branch or release From 9e2ea0c99863304bc3d60fc52e4d96d435084f97 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 01:29:48 +0900 Subject: [PATCH 02/26] added hyprcursor and hyprutils --- install-scripts/hyprcursor.sh | 67 +++++++++++++++++++++++++++++++++++ install-scripts/hyprutils.sh | 51 ++++++++++++++++++++++++++ install.sh | 4 +++ 3 files changed, 122 insertions(+) create mode 100755 install-scripts/hyprcursor.sh create mode 100755 install-scripts/hyprutils.sh diff --git a/install-scripts/hyprcursor.sh b/install-scripts/hyprcursor.sh new file mode 100755 index 0000000..34b3d61 --- /dev/null +++ b/install-scripts/hyprcursor.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# hyprcursor # + +cursor=( +libzip-dev +librsvg2-dev +) + +#specific branch or release +cursor_tag="v0.1.9" + +## 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)_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 Package installation failed, Please check the installation logs" + 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 --recursive -b $cursor_tag 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/hyprutils.sh b/install-scripts/hyprutils.sh new file mode 100755 index 0000000..e4b8cf2 --- /dev/null +++ b/install-scripts/hyprutils.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hyprutils # + +#specific branch or release +hyprutils_tag="v0.1.5" + +## 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)_hyprutils.log" +MLOG="install-$(date +%d-%H%M%S)_hyprutils2.log" + +# Clone, build, and install using Cmake +printf "${NOTE} Cloning hyprutils...\n" + +# Check if hyprutils folder exists and remove it +if [ -d "hyprutils" ]; then + printf "${NOTE} Removing existing hyprutils folder...\n" + rm -rf "hyprutils" 2>&1 | tee -a "$LOG" +fi + +if git clone -b $hyprutils_tag "https://github.com/hyprwm/hyprutils.git"; then + cd "hyprutils" || 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} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG" + fi + mv $MLOG ../Install-Logs/ || true + cd .. +else + echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG" +fi + + + diff --git a/install.sh b/install.sh index 9cdcec3..8f4352d 100755 --- a/install.sh +++ b/install.sh @@ -329,6 +329,10 @@ echo "${INFO} Installing ${SKY_BLUE}KooL Hyprland packages...${RESET}" | tee -a sleep 1 execute_script "01-hypr-pkgs.sh" sleep 1 +execute_script "hyprcursor.sh" +sleep 1 +execute_script "hyprutils.sh" +sleep 1 execute_script "hyprland.sh" sleep 1 execute_script "wallust.sh" From 7a5c0cb54e852fbfe19713d2f82b46963344daf7 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 01:33:57 +0900 Subject: [PATCH 03/26] added hyprwayland scanner --- install-scripts/hyprcursor.sh | 2 +- install-scripts/hyprland.sh | 2 +- install-scripts/hyprutils.sh | 1 + install-scripts/hyprwayland-scanner.sh | 67 ++++++++++++++++++++++++++ 4 files changed, 70 insertions(+), 2 deletions(-) create mode 100755 install-scripts/hyprwayland-scanner.sh diff --git a/install-scripts/hyprcursor.sh b/install-scripts/hyprcursor.sh index 34b3d61..54a1974 100755 --- a/install-scripts/hyprcursor.sh +++ b/install-scripts/hyprcursor.sh @@ -62,6 +62,6 @@ else echo -e "${ERROR} Download failed for hyprcursor." 2>&1 | tee -a "$LOG" fi -clear +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index ab8ee85..e15a484 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -61,4 +61,4 @@ wayland_sessions_dir=/usr/share/wayland-sessions [ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" -clear \ No newline at end of file +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprutils.sh b/install-scripts/hyprutils.sh index e4b8cf2..d6e519d 100755 --- a/install-scripts/hyprutils.sh +++ b/install-scripts/hyprutils.sh @@ -47,5 +47,6 @@ else echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG" fi +printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprwayland-scanner.sh b/install-scripts/hyprwayland-scanner.sh new file mode 100755 index 0000000..10032b1 --- /dev/null +++ b/install-scripts/hyprwayland-scanner.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# hyprwayland-scanner - One depency from Hyprland v0.40.0# + +scan_depend=( + libpugixml-dev +) +#specific branch or release +scan_tag="v0.4.0" + +## 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)_hyprwayland-scanner.log" +MLOG="install-$(date +%d-%H%M%S)_hyprwayland-scanner2.log" + +## +# Installation of dependencies +printf "\n%s - Installing hyprwayland-scanner dependencies.... \n" "${NOTE}" + +for PKG1 in "${scan_depend[@]}"; 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 + +printf "${NOTE} Installing hyprwayland-scanner...\n" + +# Check if hyprwayland-scanner folder exists and remove it +if [ -d "hyprwayland-scanner" ]; then + printf "${NOTE} Removing existing hyprwayland-scanner folder...\n" + rm -rf "hyprwayland-scanner" +fi + +# Clone and build hyprlang +printf "${NOTE} Installing hyprwayland-scanner...\n" +if git clone --recursive -b $scan_tag https://github.com/hyprwm/hyprwayland-scanner.git; then + cd hyprwayland-scanner || exit 1 + cmake -DCMAKE_INSTALL_PREFIX=/usr -B build + cmake --build build -j `nproc` + if sudo cmake --install build 2>&1 | tee -a "$MLOG" ; then + printf "${OK} hyprwayland-scanner installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for hyprwayland-scanner." 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 hyprwayland-scanner. Please check log." 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} + From aad716cbb382868493f9f175e1601c0c5515b282 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 01:35:53 +0900 Subject: [PATCH 04/26] forgot to add hyprwayland scanner in the install.sh --- install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install.sh b/install.sh index 8f4352d..5f8f098 100755 --- a/install.sh +++ b/install.sh @@ -333,6 +333,8 @@ execute_script "hyprcursor.sh" sleep 1 execute_script "hyprutils.sh" sleep 1 +execute_script "hyprwayland-scanner.sh" +sleep 1 execute_script "hyprland.sh" sleep 1 execute_script "wallust.sh" From 7a31cd755cc1dd8a923519eed3732a03d0e4fd66 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 10:57:13 +0900 Subject: [PATCH 05/26] another attempt --- install-scripts/aquamarine.sh | 53 +++++++++++++++++++ install-scripts/hyprcursor.sh | 3 +- install-scripts/hyprgraphics.sh | 53 +++++++++++++++++++ install-scripts/hyprland-protocols.sh | 52 +++++++++++++++++++ install-scripts/hyprland-qt-support.sh | 68 ++++++++++++++++++++++++ install-scripts/hyprland-qtutils.sh | 72 ++++++++++++++++++++++++++ install-scripts/hyprland.sh | 28 ++++++++-- install-scripts/hyprlang.sh | 5 +- install-scripts/hyprpolkitagent.sh | 68 ++++++++++++++++++++++++ install-scripts/hyprutils.sh | 2 +- install-scripts/hyprwayland-scanner.sh | 5 +- install-scripts/sddm.sh | 2 +- install.sh | 14 +++++ 13 files changed, 413 insertions(+), 12 deletions(-) create mode 100755 install-scripts/aquamarine.sh create mode 100755 install-scripts/hyprgraphics.sh create mode 100755 install-scripts/hyprland-protocols.sh create mode 100755 install-scripts/hyprland-qt-support.sh create mode 100755 install-scripts/hyprland-qtutils.sh create mode 100755 install-scripts/hyprpolkitagent.sh diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh new file mode 100755 index 0000000..d15b859 --- /dev/null +++ b/install-scripts/aquamarine.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# aquamarine # + + +#specific branch or release +aqua_tag="v0.9.2" + +## 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)_aquamarine.log" +MLOG="install-$(date +%d-%H%M%S)_aquamarine.log" + +# Installation of dependencies +printf "\n%s - Installing ${YELLOW}aquamarine dependencies${RESET} .... \n" "${INFO}" + +# Check if aquamarinedirectory exists and remove it +if [ -d "aquamarine" ]; then + rm -rf "aquamarine" +fi + +# Clone and build +printf "${INFO} Installing ${YELLOW}aquamarine $aqua_tag${RESET} ...\n" +if git clone --recursive -b $aqua_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 --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} ${MAGENTA}aquamarine $aqua_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $aqua_tag${RESET}" 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 ${YELLOW}aquamarine $aqua_tag${RESET}" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprcursor.sh b/install-scripts/hyprcursor.sh index 54a1974..d39e295 100755 --- a/install-scripts/hyprcursor.sh +++ b/install-scripts/hyprcursor.sh @@ -1,5 +1,6 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # # hyprcursor # cursor=( @@ -8,7 +9,7 @@ librsvg2-dev ) #specific branch or release -cursor_tag="v0.1.9" +cursor_tag="v0.1.12" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/install-scripts/hyprgraphics.sh b/install-scripts/hyprgraphics.sh new file mode 100755 index 0000000..ac24a5c --- /dev/null +++ b/install-scripts/hyprgraphics.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hyprgraphics # + + +#specific branch or release +graphics_tag="v0.1.5" + +## 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)_hyprgraphics.log" +MLOG="install-$(date +%d-%H%M%S)_hyprgraphics2.log" + +# Installation of dependencies +printf "\n%s - Installing ${YELLOW}hyprgraphics dependencies${RESET} .... \n" "${INFO}" + +# Check if hyprgraphics directory exists and remove it +if [ -d "hyprgraphics" ]; then + rm -rf "hyprgraphics" +fi + +# Clone and build +printf "${INFO} Installing ${YELLOW}hyprgraphics $graphics_tag${RESET} ...\n" +if git clone --recursive -b $graphics_tag https://github.com/hyprwm/hyprgraphics.git; then + cd hyprgraphics || 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 hyprgraphics -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` + if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then + printf "${OK} ${MAGENTA}hyprgraphics $graphics_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics_tag${RESET}" 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 ${YELLOW}hyprgraphics $graphics_tag${RESET}" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprland-protocols.sh b/install-scripts/hyprland-protocols.sh new file mode 100755 index 0000000..e1f568a --- /dev/null +++ b/install-scripts/hyprland-protocols.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hypland-protocols # + + +#specific branch or release +protocols_tag="v0.6.4" + +## 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)_protocols.log" +MLOG="install-$(date +%d-%H%M%S)_protocols2.log" + +# Installation of dependencies +printf "\n%s - Installing ${YELLOW}hyprland-protocols dependencies${RESET} .... \n" "${INFO}" + +# Check if hyprland-protocols directory exists and remove it +if [ -d "hyprland-protocols" ]; then + rm -rf "hyprland-protocols" +fi + +# Clone and build +printf "${INFO} Installing ${YELLOW}hyprland-protocols $protocols_tag${RESET} ...\n" +if git clone --recursive -b $protocols_tag https://github.com/hyprwm/hyprland-protocols.git; then + cd hyprland-protocols || exit 1 + meson setup build + if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then + printf "${OK} ${MAGENTA}hyprland-protocols $protocols_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $protocols_tag${RESET}" 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 ${YELLOW}hyprland-protocols protocols_tag${RESET}" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprland-qt-support.sh b/install-scripts/hyprland-qt-support.sh new file mode 100755 index 0000000..ca24b64 --- /dev/null +++ b/install-scripts/hyprland-qt-support.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hypland-qt-support # + +qt_support=( + qt6-base-dev + qt6-wayland + qt6-declarative-dev +) + +#specific branch or release +qt_support_tag="v0.1.0" + +## 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)_hyprland-qt-support.log" +MLOG="install-$(date +%d-%H%M%S)_hyprland-qt-support2.log" + +# Installation of dependencies +printf "\n%s - Installing ${YELLOW}hyprland-qt-support dependencies${RESET} .... \n" "${INFO}" + +for PKG1 in "${qt_support[@]}"; 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" + exit 1 + fi +done + +printf "\n%.0s" {1..1} + +# Check if hyprland-qt-support directory exists and remove it +if [ -d "hyprland-qt-support" ]; then + rm -rf "hyprland-qt-support" +fi + +# Clone and build +printf "${INFO} Installing ${YELLOW}hyprland-qt-support $qt_support_tag${RESET} ...\n" +if git clone --recursive -b $qt_support_tag https://github.com/hyprwm/hyprland-qt-support.git; then + cd hyprland-qt-support || 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} ${MAGENTA}hyprland-qt-support $qt_support_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $qt_support_tag${RESET}" 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 ${YELLOW}hyprland-qt-support $qt_support_tag${RESET}" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprland-qtutils.sh b/install-scripts/hyprland-qtutils.sh new file mode 100755 index 0000000..88d0b02 --- /dev/null +++ b/install-scripts/hyprland-qtutils.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hypland-qtutils # + +qtutils=( + libqt6core5compat6 + qt6-base-dev + qt6-wayland + qt6-declarative-dev + qml6-module-qtcore + qt6-3d-dev + qt6-5compat-dev +) + +#specific branch or release +qtutils_tag="v0.1.4" + +## 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)_hyprland-qtutils.log" +MLOG="install-$(date +%d-%H%M%S)_hyprland-qtutils2.log" + +# Installation of dependencies +printf "\n%s - Installing ${YELLOW}hyprland-qtutils dependencies${RESET} .... \n" "${INFO}" + +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" + exit 1 + fi +done + +printf "\n%.0s" {1..1} + +# 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-qtutils $qtutils_tag${RESET} ...\n" +if git clone --recursive -b $qtutils_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 sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then + printf "${OK} ${MAGENTA}hyprland-qtutils $qtutils_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $qtutils_tag${RESET}" 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 ${YELLOW}hyprland-qtutils $qtutils_tag${RESET}" 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index e15a484..58f55ca 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -3,10 +3,12 @@ # Main Hyprland Package# #specific branch or release -hyprland_tag="v0.41.2" +hyprland_tag="v0.49.0" hyprland=( libxcb-errors-dev + libre2-dev + libglaze-dev ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## @@ -34,8 +36,24 @@ for PKG1 in "${hyprland[@]}"; do fi done +printf "\n%.0s" {1..1} + +# Installation of dependencies (glaze) +printf "\n%s - Installing Hyprland additional dependencies (glaze).... \n" "${NOTE}" + +# Check if /usr/include/glaze exists +if [ ! -d /usr/include/glaze ]; then + echo "${INFO} ${YELLOW}Glaze${RESET} is not installed. Installing ${YELLOW}glaze from assets${RESET} ..." + sudo dpkg -i assets/libglaze-dev_4.4.3-1_all.deb 2>&1 | tee -a "$LOG" + sudo apt install -f -y 2>&1 | tee -a "$LOG" + echo "${INFO} ${YELLOW}libglaze-dev from assets${RESET} installed." +fi + + +printf "\n%.0s" {1..1} + # Clone, build, and install Hyprland using Cmake -printf "${NOTE} Cloning Hyprland...\n" +printf "${NOTE} Cloning and Installing ${YELLOW}Hyprland $hyprland_tag${RESET} ...\n" # Check if Hyprland folder exists and remove it if [ -d "Hyprland" ]; then @@ -47,14 +65,14 @@ if git clone --recursive -b $hyprland_tag "https://github.com/hyprwm/Hyprland"; cd "Hyprland" || exit 1 make all if sudo make install 2>&1 | tee -a "$MLOG"; then - printf "${OK} Hyprland installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}Hyprland $hyprland_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for Hyprland." 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $hyprland_tag${RESET}" 2>&1 | tee -a "$MLOG" fi mv $MLOG ../Install-Logs/ || true cd .. else - echo -e "${ERROR} Download failed for Hyprland." 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $hyprland_tag${RESET}" 2>&1 | tee -a "$LOG" fi wayland_sessions_dir=/usr/share/wayland-sessions diff --git a/install-scripts/hyprlang.sh b/install-scripts/hyprlang.sh index c043955..e648aa0 100755 --- a/install-scripts/hyprlang.sh +++ b/install-scripts/hyprlang.sh @@ -1,10 +1,11 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # # hyplang # #specific branch or release -lang_tag="v0.5.2" +lang_tag="v0.6.3" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -36,7 +37,7 @@ printf "${INFO} Installing ${YELLOW}hyprlang $lang_tag${RESET} ...\n" if git clone --recursive -b $lang_tag https://github.com/hyprwm/hyprlang.git; then cd hyprlang || 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 hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` + cmake --build ./build --config Release --target hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then printf "${OK} ${MAGENTA}hyprlang $lang_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else diff --git a/install-scripts/hyprpolkitagent.sh b/install-scripts/hyprpolkitagent.sh new file mode 100755 index 0000000..e384a80 --- /dev/null +++ b/install-scripts/hyprpolkitagent.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# 💫 https://github.com/JaKooLit 💫 # +# Hypr Ecosystem # +# hyprpolkitagent # + +polkitagent=( + libpolkit-agent-1-dev + libpolkit-qt6-1-dev +) + +#specific branch or release +polkitagent_tag="v0.1.2" + +## 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)_hyprpolkitagent.log" +MLOG="install-$(date +%d-%H%M%S)_hyprpolkitagent.log" + +# Installation of dependencies +printf "\n%s - Installing hyprpolkitagent dependencies.... \n" "${NOTE}" + +for PKG1 in "${polkitagent[@]}"; 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 hyprpolkitagent folder exists and remove it +if [ -d "hyprpolkitagent" ]; then + printf "${NOTE} Removing existing hyprpolkitagent folder...\n" + rm -rf "hyprpolkitagent" +fi + +# Clone and build +printf "${NOTE} Installing hyprpolkitagent...\n" +if git clone --recursive -b $polkitagent_tag https://github.com/hyprwm/hyprpolkitagent.git; then + cd hyprpolkitagent || 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} hyprpolkitagent installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for hyprpolkitagent." 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 hyprpolkitagent." 2>&1 | tee -a "$LOG" +fi + +printf "\n%.0s" {1..2} + + diff --git a/install-scripts/hyprutils.sh b/install-scripts/hyprutils.sh index d6e519d..e27d758 100755 --- a/install-scripts/hyprutils.sh +++ b/install-scripts/hyprutils.sh @@ -4,7 +4,7 @@ # hyprutils # #specific branch or release -hyprutils_tag="v0.1.5" +hyprutils_tag="v0.8.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 )" diff --git a/install-scripts/hyprwayland-scanner.sh b/install-scripts/hyprwayland-scanner.sh index 10032b1..d842573 100755 --- a/install-scripts/hyprwayland-scanner.sh +++ b/install-scripts/hyprwayland-scanner.sh @@ -1,12 +1,13 @@ #!/bin/bash # 💫 https://github.com/JaKooLit 💫 # -# hyprwayland-scanner - One depency from Hyprland v0.40.0# +# Hypr Ecosystem # +# hyprwayland-scanner # scan_depend=( libpugixml-dev ) #specific branch or release -scan_tag="v0.4.0" +scan_tag="v0.4.5" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh index 3e4fe37..82f018b 100755 --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -48,7 +48,7 @@ done # Installation of additional sddm stuff for PKG2 in "${sddm2[@]}"; do - install_package "$PKG2" "$LOG" + re_install_package "$PKG2" "$LOG" done # Check if other login managers are installed and disable their service before enabling SDDM diff --git a/install.sh b/install.sh index 5f8f098..f4e898f 100755 --- a/install.sh +++ b/install.sh @@ -329,14 +329,28 @@ echo "${INFO} Installing ${SKY_BLUE}KooL Hyprland packages...${RESET}" | tee -a sleep 1 execute_script "01-hypr-pkgs.sh" sleep 1 +execute_script "hyprlang.sh" +sleep 1 execute_script "hyprcursor.sh" sleep 1 execute_script "hyprutils.sh" sleep 1 execute_script "hyprwayland-scanner.sh" sleep 1 +execute_script "hyprgraphics.sh" +sleep 1 +execute_script "aquamarine.sh" +sleep 1 +execute_script "hyprland-qt-support.sh" +sleep 1 +execute_script "hyprland-qt-utils.sh" +sleep 1 +execute_script "hyprland-protocols.sh" +sleep 1 execute_script "hyprland.sh" sleep 1 +execute_script "hyprpolkitagent.sh" +sleep 1 execute_script "wallust.sh" sleep 1 execute_script "swww.sh" From e1c65a06dbb9ab1b66d2140b33ca7f18121f077d Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 11:01:39 +0900 Subject: [PATCH 06/26] clean up hyprland dependencies --- install-scripts/00-dependencies.sh | 5 +---- install-scripts/03-Final-Check.sh | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 6d39d69..6bb9279 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -108,11 +108,8 @@ hyprland_dep=( libcairo2 libdisplay-info2 libdrm2 - libhyprcursor-dev - libhyprlang-dev - libhyprutils-dev libpam0g-dev - hyprcursor-util + ) build_dep=( diff --git a/install-scripts/03-Final-Check.sh b/install-scripts/03-Final-Check.sh index 259a9ee..c05c3a4 100644 --- a/install-scripts/03-Final-Check.sh +++ b/install-scripts/03-Final-Check.sh @@ -11,11 +11,11 @@ packages=( cliphist wlogout kitty - hyprland ) # Local packages that should be in /usr/local/bin/ local_pkgs_installed=( + hyprland rofi hypridle hyprlock From ed40d04fc068ad541b6ddf50a879d9e98da0eef4 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 11:08:55 +0900 Subject: [PATCH 07/26] updated --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index f4e898f..c8e29c7 100755 --- a/install.sh +++ b/install.sh @@ -343,7 +343,7 @@ execute_script "aquamarine.sh" sleep 1 execute_script "hyprland-qt-support.sh" sleep 1 -execute_script "hyprland-qt-utils.sh" +execute_script "hyprland-qtutils.sh" sleep 1 execute_script "hyprland-protocols.sh" sleep 1 From 849677a93b37975b0d003fe0af0631cd338db2ed Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 11:21:18 +0900 Subject: [PATCH 08/26] another update --- install-scripts/hypridle.sh | 2 +- install-scripts/hyprlock.sh | 2 +- install.sh | 2 -- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/install-scripts/hypridle.sh b/install-scripts/hypridle.sh index b07f942..d96a9b7 100755 --- a/install-scripts/hypridle.sh +++ b/install-scripts/hypridle.sh @@ -7,7 +7,7 @@ idle=( ) #specific branch or release -idle_tag="v0.1.2" +idle_tag="v0.1.6" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index a58401c..3f328ff 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -10,7 +10,7 @@ lock=( ) #specific branch or release -lock_tag="v0.4.0" +lock_tag="v0.9.0" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" diff --git a/install.sh b/install.sh index c8e29c7..c36692f 100755 --- a/install.sh +++ b/install.sh @@ -359,8 +359,6 @@ execute_script "rofi-wayland.sh" sleep 1 execute_script "hyprlock.sh" sleep 1 -execute_script "hyprlang.sh" -sleep 1 execute_script "hypridle.sh" #execute_script "imagemagick.sh" #this is for compiling from source. 07 Sep 2024 From 1603c8be35e6223b70d66e2170982ce20cd332ed Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 11:27:22 +0900 Subject: [PATCH 09/26] updated dependencies and hyprlock --- install-scripts/00-dependencies.sh | 1 - install-scripts/hyprlock.sh | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 6bb9279..78d8be4 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -109,7 +109,6 @@ hyprland_dep=( libdisplay-info2 libdrm2 libpam0g-dev - ) build_dep=( diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index 3f328ff..ecf9e86 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -7,6 +7,7 @@ lock=( libgbm-dev libdrm-dev libmagic-dev + libaudit-dev ) #specific branch or release From 110e2a14530099623249e5aed1f43fe2ef8dd9ac Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 16:51:22 +0900 Subject: [PATCH 10/26] added removal cleanup for the hyprland packages installed from Debian Official. Updated rofi-wayland to latest package. updated hyprlock.sh --- install-scripts/02-pre-cleanup.sh | 31 ++++++++++++++++++++++++++----- install-scripts/hyprlock.sh | 8 ++++++++ install-scripts/rofi-wayland.sh | 10 +++++++--- install.sh | 8 ++++---- 4 files changed, 45 insertions(+), 12 deletions(-) diff --git a/install-scripts/02-pre-cleanup.sh b/install-scripts/02-pre-cleanup.sh index 9864ac3..cd63a5d 100644 --- a/install-scripts/02-pre-cleanup.sh +++ b/install-scripts/02-pre-cleanup.sh @@ -9,10 +9,6 @@ TARGET_DIR="/usr/local/bin" # Define packages to manually remove (was manually installed previously) PACKAGES=( - hyprctl - hyprpm - hyprland - Hyprland cliphist pypr swappy @@ -20,6 +16,16 @@ PACKAGES=( magick ) +# List of packages installed from Debian-Hyprland repo +uninstall=( + xdg-desktop-portal-hyprland + libhhyprland-dev + libhyprutils-dev + libhyprutils0 + hyprwayland-scanner + hyprland-protocols +) + ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -51,4 +57,19 @@ for PKG_NAME in "${PACKAGES[@]}"; do fi done -clear \ No newline at end of file + +# packages removal installed from Debian-Hyprland repo +overall_failed=0 +printf "\n%s - ${SKY_BLUE}Removing some packages${RESET} installed from Debian Hyprland official repo \n" "${NOTE}" +for PKG in "${uninstall[@]}"; do + 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." +fi + +printf "\n%.0s" {1..1} \ No newline at end of file diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index ecf9e86..1e037c9 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -10,6 +10,10 @@ lock=( libaudit-dev ) +build_dep=( + pam +) + #specific branch or release lock_tag="v0.9.0" @@ -37,6 +41,10 @@ for PKG1 in "${lock[@]}"; do re_install_package "$PKG1" "$LOG" done +for PKG1 in "${build_dep[@]}"; do + build_dep "$PKG1" "$LOG" +done + # Check if hyprlock directory exists and remove it if [ -d "hyprlock" ]; then rm -rf "hyprlock" diff --git a/install-scripts/rofi-wayland.sh b/install-scripts/rofi-wayland.sh index 25cce16..0526b40 100755 --- a/install-scripts/rofi-wayland.sh +++ b/install-scripts/rofi-wayland.sh @@ -35,7 +35,11 @@ rofi=( wget ) -rofi_tag="1.7.8+wayland1" +# variables +rofi_tag="1.7.9+wayland1" +release_url="https://github.com/lbonn/rofi/releases/download/1.7.9%2Bwayland1/rofi-1.7.9+wayland1.tar.gz" + + ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -62,7 +66,7 @@ printf "\n%s - Re-installing ${SKY_BLUE}rofi-wayland dependencies${RESET}.... \n printf "\n%.0s" {1..2} # Clone and build rofi - wayland -printf "${NOTE} Installing ${SKY_BLUE}rofi-wayland${RESET}...\n" +printf "${NOTE} Building and Installing ${SKY_BLUE}rofi-wayland${RESET} $rofi_tag ...\n" # Check if rofi directory exists if [ -d "rofi-$rofi_tag" ]; then @@ -71,7 +75,7 @@ fi # cloning rofi-wayland printf "${NOTE} Downloading ${YELLOW}rofi-wayland $rofi_tag${RESET} from releases...\n" -wget https://github.com/lbonn/rofi/releases/download/1.7.8%2Bwayland1/rofi-1.7.8+wayland1.tar.gz +wget $release_url if [ -f "rofi-$rofi_tag.tar.gz" ]; then printf "${OK} ${YELLOW}rofi-wayland $rofi_tag${RESET} downloaded successfully.\n" 2>&1 | tee -a "$LOG" diff --git a/install.sh b/install.sh index c36692f..048260c 100755 --- a/install.sh +++ b/install.sh @@ -20,9 +20,9 @@ SKY_BLUE="$(tput setaf 6)" RESET="$(tput sgr0)" # Display warning message -echo -e "${WARNING}NOTE:${RESET} Hyprland on Repo is extremely outdated and will not be supported anymore." -echo -e "Use this at your own risk." -echo -e "${WARNING}Any issues will not be dealt with${RESET}" +echo -e "${NOTE}: Most Hyprland Packages installed here are manually built from github" +echo -e "${INFO}: You need to manually update it yourself." +echo -e "${WARN}: Use this script at your own risk" echo # Prompt user to continue or exit @@ -78,7 +78,7 @@ fi printf "\n%.0s" {1..2} echo -e "\e[35m ╦╔═┌─┐┌─┐╦ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐ - ╠╩╗│ ││ │║ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││ 2025 + ╠╩╗│ ││ │║ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││ July 2025 ╩ ╩└─┘└─┘╩═╝ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘ Debian Trixie / SiD \e[0m" printf "\n%.0s" {1..1} From 6d7cbb5e92a81caa47521a65e075ca24ba40082f Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 17:27:59 +0900 Subject: [PATCH 11/26] updated to download from specific dots branch --- install-scripts/dotfiles-branch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install-scripts/dotfiles-branch.sh b/install-scripts/dotfiles-branch.sh index d22efd7..61744a3 100644 --- a/install-scripts/dotfiles-branch.sh +++ b/install-scripts/dotfiles-branch.sh @@ -3,7 +3,7 @@ # Hyprland-Dots to download from main # #specific branch or release -dots_tag="Deb-Untu-Dots" +dots_tag="Debian-Dots" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" From e789518612a3216282f5d7463da4866b3d6c0958 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 20:25:44 +0900 Subject: [PATCH 12/26] fixed for hyprutils --- install-scripts/hyprland-qt-support.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install-scripts/hyprland-qt-support.sh b/install-scripts/hyprland-qt-support.sh index ca24b64..8229f8b 100755 --- a/install-scripts/hyprland-qt-support.sh +++ b/install-scripts/hyprland-qt-support.sh @@ -7,6 +7,7 @@ qt_support=( qt6-base-dev qt6-wayland qt6-declarative-dev + qml6-module-qtcore ) #specific branch or release From 6029b017b7953feedac3319624d029feaff83fbf Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 20:38:01 +0900 Subject: [PATCH 13/26] removal of hyprland.desktop from assets --- assets/hyprland.desktop | 5 ----- install-scripts/hyprland.sh | 4 ---- install-scripts/sddm.sh | 1 - 3 files changed, 10 deletions(-) delete mode 100644 assets/hyprland.desktop diff --git a/assets/hyprland.desktop b/assets/hyprland.desktop deleted file mode 100644 index 8bc9468..0000000 --- a/assets/hyprland.desktop +++ /dev/null @@ -1,5 +0,0 @@ -[Desktop Entry] -Name=Hyprland -Comment=An intelligent dynamic tiling Wayland compositor -Exec=Hyprland -Type=Application diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index 58f55ca..0441c25 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -75,8 +75,4 @@ else echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $hyprland_tag${RESET}" 2>&1 | tee -a "$LOG" fi -wayland_sessions_dir=/usr/share/wayland-sessions -[ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } -sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" - printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh index 82f018b..ab4d99d 100755 --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -77,6 +77,5 @@ sudo systemctl enable sddm.service 2>&1 | tee -a "$LOG" wayland_sessions_dir=/usr/share/wayland-sessions [ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } -sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" printf "\n%.0s" {1..2} \ No newline at end of file From 102aefb7749d0f5169525f2925447d9ff8718a41 Mon Sep 17 00:00:00 2001 From: "Ja.KooLit" <85185940+JaKooLit@users.noreply.github.com> Date: Sun, 20 Jul 2025 00:28:47 +0900 Subject: [PATCH 14/26] Update install.sh --- install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install.sh b/install.sh index 048260c..8c540fc 100755 --- a/install.sh +++ b/install.sh @@ -329,6 +329,8 @@ echo "${INFO} Installing ${SKY_BLUE}KooL Hyprland packages...${RESET}" | tee -a sleep 1 execute_script "01-hypr-pkgs.sh" sleep 1 +execute_script "hyprutils.sh" +sleep 1 execute_script "hyprlang.sh" sleep 1 execute_script "hyprcursor.sh" From 805821e85a2e370c0404df18cb8a5811e0413e2e Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 01:03:34 +0900 Subject: [PATCH 15/26] some updates on dependencies --- install-scripts/hyprgraphics.sh | 12 ++++++++ install-scripts/hyprland-qtutils.sh | 5 ++- install-scripts/hyprland.sh | 2 +- install-scripts/hyprpolkitagent.sh | 2 +- install-scripts/xdph.sh | 47 +++++++++++++++++++++++++---- install.sh | 2 -- 6 files changed, 59 insertions(+), 11 deletions(-) diff --git a/install-scripts/hyprgraphics.sh b/install-scripts/hyprgraphics.sh index ac24a5c..e4e1abc 100755 --- a/install-scripts/hyprgraphics.sh +++ b/install-scripts/hyprgraphics.sh @@ -3,6 +3,9 @@ # Hypr Ecosystem # # hyprgraphics # +hyprgraphics=( + libmagic +) #specific branch or release graphics_tag="v0.1.5" @@ -27,6 +30,15 @@ MLOG="install-$(date +%d-%H%M%S)_hyprgraphics2.log" # Installation of dependencies printf "\n%s - Installing ${YELLOW}hyprgraphics dependencies${RESET} .... \n" "${INFO}" +for PKG1 in "${hyprgraphics[@]}"; do + re_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 +printf "\n%.0s" {1..1} + # Check if hyprgraphics directory exists and remove it if [ -d "hyprgraphics" ]; then rm -rf "hyprgraphics" diff --git a/install-scripts/hyprland-qtutils.sh b/install-scripts/hyprland-qtutils.sh index 88d0b02..d0f8ceb 100755 --- a/install-scripts/hyprland-qtutils.sh +++ b/install-scripts/hyprland-qtutils.sh @@ -6,11 +6,14 @@ qtutils=( libqt6core5compat6 qt6-base-dev - qt6-wayland + qt6-wayland-dev + qt6-wayland qt6-declarative-dev qml6-module-qtcore qt6-3d-dev qt6-5compat-dev + libqt6waylandclient6 + qml6-module-qtwayland-client-texturesharing ) #specific branch or release diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index 0441c25..b3106a8 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -45,7 +45,7 @@ printf "\n%s - Installing Hyprland additional dependencies (glaze).... \n" "${NO if [ ! -d /usr/include/glaze ]; then echo "${INFO} ${YELLOW}Glaze${RESET} is not installed. Installing ${YELLOW}glaze from assets${RESET} ..." sudo dpkg -i assets/libglaze-dev_4.4.3-1_all.deb 2>&1 | tee -a "$LOG" - sudo apt install -f -y 2>&1 | tee -a "$LOG" + sudo apt-get install -f -y 2>&1 | tee -a "$LOG" echo "${INFO} ${YELLOW}libglaze-dev from assets${RESET} installed." fi diff --git a/install-scripts/hyprpolkitagent.sh b/install-scripts/hyprpolkitagent.sh index e384a80..667e0ee 100755 --- a/install-scripts/hyprpolkitagent.sh +++ b/install-scripts/hyprpolkitagent.sh @@ -32,7 +32,7 @@ MLOG="install-$(date +%d-%H%M%S)_hyprpolkitagent.log" printf "\n%s - Installing hyprpolkitagent dependencies.... \n" "${NOTE}" for PKG1 in "${polkitagent[@]}"; do - install_package "$PKG1" 2>&1 | tee -a "$LOG" + re_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 diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh index 767abb7..195c4a9 100755 --- a/install-scripts/xdph.sh +++ b/install-scripts/xdph.sh @@ -3,10 +3,17 @@ # XDG-Desktop-Portals for hyprland # xdg=( - xdg-desktop-portal-gtk - xdg-desktop-portal-hyprland + libdrm-dev + libpipewire-0.3-dev + libspa-0.2-dev + libsdbus-c++-dev + libwayland-client0 + wayland-protocols + xdg-desktop-portal-gtk ) +xdph_tag="v1.3.9" + ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -26,9 +33,37 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_xdph.log" [[ -f "/usr/lib/xdg-desktop-portal-hyprland" ]] && sudo rm "/usr/lib/xdg-desktop-portal-hyprland" # XDG-DESKTOP-PORTAL-HYPRLAND -printf "${NOTE} Installing ${SKY_BLUE}xdg-desktop-portal-hyprland${RESET}\n\n" -for xdgs in "${xdg[@]}"; do - install_package "$xdgs" "$LOG" +printf "${NOTE} Installing ${SKY_BLUE}xdg-desktop-portal-hyprland dependencies${RESET}\n\n" + +for PKG1 in "${xdg[@]}"; do + re_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 - + +# Clone, build, and install XDPH +printf "${NOTE} Cloning and Installing ${YELLOW}XDG Desktop Portal Hyprland $hyprland_tag${RESET} ...\n" + +# Check if xdg-desktop-portal-hyprland folder exists and remove it +if [ -d "xdg-desktop-portal-hyprland" ]; then + printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n" + rm -rf "xdg-desktop-portal-hyprland" 2>&1 | tee -a "$LOG" +fi + +if git clone --recursive -b $xdph_tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git"; then + cd "xdg-desktop-portal-hyprland" || exit 1 + make all + if sudo make install 2>&1 | tee -a "$MLOG"; then + printf "${OK} ${MAGENTA}xdph $xdph_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + else + echo -e "${ERROR} Installation failed for ${YELLOW}xdph $xdph_tag${RESET}" 2>&1 | tee -a "$MLOG" + fi + mv $MLOG ../Install-Logs/ || true + cd .. +else + echo -e "${ERROR} Download failed for ${YELLOW}xdph $xdph_tag${RESET}" 2>&1 | tee -a "$LOG" +fi + printf "\n%.0s" {1..2} diff --git a/install.sh b/install.sh index 8c540fc..07991b4 100755 --- a/install.sh +++ b/install.sh @@ -335,8 +335,6 @@ execute_script "hyprlang.sh" sleep 1 execute_script "hyprcursor.sh" sleep 1 -execute_script "hyprutils.sh" -sleep 1 execute_script "hyprwayland-scanner.sh" sleep 1 execute_script "hyprgraphics.sh" From 1c2301ef9a52ecb78a58e0531969d0f0a84becfd Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 01:15:33 +0900 Subject: [PATCH 16/26] added dependencies --- install-scripts/00-dependencies.sh | 1 + install-scripts/hyprlock.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 78d8be4..8923dfa 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -79,6 +79,7 @@ dependencies=( libxkbcommon-x11-dev libxkbregistry-dev libxml2-dev + libsdbus-c++-dev libxxhash-dev meson ninja-build diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index 1e037c9..d432ae2 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -8,6 +8,7 @@ lock=( libdrm-dev libmagic-dev libaudit-dev + libsdbus-c++-dev ) build_dep=( From e1492382439b4aa0954b45f1d823602fb022fe0b Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 01:30:32 +0900 Subject: [PATCH 17/26] updated dependencies --- install-scripts/hyprland-qt-support.sh | 4 ++++ install-scripts/hyprpolkitagent.sh | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/install-scripts/hyprland-qt-support.sh b/install-scripts/hyprland-qt-support.sh index 8229f8b..bec3dbe 100755 --- a/install-scripts/hyprland-qt-support.sh +++ b/install-scripts/hyprland-qt-support.sh @@ -8,6 +8,10 @@ qt_support=( qt6-wayland qt6-declarative-dev qml6-module-qtcore + qml6-module-qtquick-layouts + qt6-tools-dev + qt6-tools-dev-tools + qt6-charts-dev ) #specific branch or release diff --git a/install-scripts/hyprpolkitagent.sh b/install-scripts/hyprpolkitagent.sh index 667e0ee..ececb6e 100755 --- a/install-scripts/hyprpolkitagent.sh +++ b/install-scripts/hyprpolkitagent.sh @@ -6,6 +6,10 @@ polkitagent=( libpolkit-agent-1-dev libpolkit-qt6-1-dev + qml6-module-qtquick-layouts + qt6-tools-dev + qt6-tools-dev-tools + qt6-charts-dev ) #specific branch or release From 3a3ee81726a740beb96ec91f350893bea433da31 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 01:39:04 +0900 Subject: [PATCH 18/26] updated xdph --- install-scripts/xdph.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh index 195c4a9..d4435b7 100755 --- a/install-scripts/xdph.sh +++ b/install-scripts/xdph.sh @@ -54,8 +54,9 @@ fi if git clone --recursive -b $xdph_tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git"; then cd "xdg-desktop-portal-hyprland" || exit 1 - make all - if sudo make install 2>&1 | tee -a "$MLOG"; then + cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build + cmake --build build + if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then printf "${OK} ${MAGENTA}xdph $xdph_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else echo -e "${ERROR} Installation failed for ${YELLOW}xdph $xdph_tag${RESET}" 2>&1 | tee -a "$MLOG" From 2a364e0730f54f218a157b69cda8b77bbc645174 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 01:42:19 +0900 Subject: [PATCH 19/26] updated install.sh --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 07991b4..6c6d07b 100755 --- a/install.sh +++ b/install.sh @@ -464,8 +464,8 @@ execute_script "03-Final-Check.sh" printf "\n%.0s" {1..1} -# Check if either hyprland or hyprland-git is installed -if dpkg -l | grep -qw hyprland; then +# Check if either hyprland or Hyprland files exist in /usr/local/bin/ +if [ -e /usr/local/bin/hyprland ] || [ -f /usr/local/bin/Hyprland ]; then printf "\n ${OK} 👌 Hyprland is installed. However, some essential packages may not be installed. Please see above!" printf "\n${CAT} Ignore this message if it states ${YELLOW}All essential packages${RESET} are installed as per above\n" sleep 2 From e4737a709eed39f0f164053cd3d848e17939e629 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 16:49:14 +0900 Subject: [PATCH 20/26] updated, clean up codes / scripts --- install-scripts/00-dependencies.sh | 222 +++++++++++++------------ install-scripts/01-hypr-pkgs.sh | 94 +++++------ install-scripts/02-pre-cleanup.sh | 6 +- install-scripts/aquamarine.sh | 12 +- install-scripts/hyprcursor.sh | 4 +- install-scripts/hyprgraphics.sh | 12 +- install-scripts/hypridle.sh | 12 +- install-scripts/hyprland-protocols.sh | 12 +- install-scripts/hyprland-qt-support.sh | 18 +- install-scripts/hyprland-qtutils.sh | 12 +- install-scripts/hyprland.sh | 12 +- install-scripts/hyprlang.sh | 12 +- install-scripts/hyprlock.sh | 12 +- install-scripts/hyprpolkitagent.sh | 4 +- install-scripts/hyprutils.sh | 4 +- install-scripts/hyprwayland-scanner.sh | 5 +- install-scripts/xdph.sh | 13 +- 17 files changed, 245 insertions(+), 221 deletions(-) diff --git a/install-scripts/00-dependencies.sh b/install-scripts/00-dependencies.sh index 8923dfa..35bfe47 100755 --- a/install-scripts/00-dependencies.sh +++ b/install-scripts/00-dependencies.sh @@ -3,113 +3,131 @@ # main dependencies # # 22 Aug 2024 - NOTE will trim this more down - # packages neeeded dependencies=( - build-essential - cmake - cmake-extras - curl - 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 - 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 - 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 - libsdbus-c++-dev - libxxhash-dev - meson - ninja-build - openssl - psmisc - python3-mako - python3-markdown - python3-markupsafe - python3-yaml - python3-pyquery - qt6-base-dev - scdoc - seatd - spirv-tools - vulkan-validationlayers - vulkan-utility-libraries-dev - 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 - libdisplay-info2 - libdrm2 - libpam0g-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=( @@ -145,4 +163,4 @@ for PKG1 in "${build_dep[@]}"; do build_dep "$PKG1" "$LOG" done -printf "\n%.0s" {1..2} +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/01-hypr-pkgs.sh b/install-scripts/01-hypr-pkgs.sh index 7064a3d..c6a4a57 100755 --- a/install-scripts/01-hypr-pkgs.sh +++ b/install-scripts/01-hypr-pkgs.sh @@ -12,52 +12,52 @@ 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 + 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 @@ -68,10 +68,10 @@ force=( # 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! ## @@ -140,4 +140,4 @@ source "$HOME/.cargo/env" ## making brightnessctl work sudo chmod +s $(which brightnessctl) 2>&1 | tee -a "$LOG" || true -printf "\n%.0s" {1..2} +printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/02-pre-cleanup.sh b/install-scripts/02-pre-cleanup.sh index cd63a5d..b2d6b34 100644 --- a/install-scripts/02-pre-cleanup.sh +++ b/install-scripts/02-pre-cleanup.sh @@ -18,12 +18,16 @@ PACKAGES=( # List of packages installed from Debian-Hyprland repo uninstall=( + hyprland xdg-desktop-portal-hyprland libhhyprland-dev libhyprutils-dev libhyprutils0 hyprwayland-scanner - hyprland-protocols + hyprland-protocols + hyprctl + hyprpm + Hyprland ) ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh index d15b859..f0a2fb6 100755 --- a/install-scripts/aquamarine.sh +++ b/install-scripts/aquamarine.sh @@ -5,7 +5,7 @@ #specific branch or release -aqua_tag="v0.9.2" +tag="v0.9.2" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -33,21 +33,21 @@ if [ -d "aquamarine" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}aquamarine $aqua_tag${RESET} ...\n" -if git clone --recursive -b $aqua_tag https://github.com/hyprwm/aquamarine.git; then +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 --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} ${MAGENTA}aquamarine $aqua_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}aquamarine $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $aqua_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}aquamarine $tag${RESET}" 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 ${YELLOW}aquamarine $aqua_tag${RESET}" 2>&1 | tee -a "$LOG" + 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 diff --git a/install-scripts/hyprcursor.sh b/install-scripts/hyprcursor.sh index d39e295..c387de5 100755 --- a/install-scripts/hyprcursor.sh +++ b/install-scripts/hyprcursor.sh @@ -9,7 +9,7 @@ librsvg2-dev ) #specific branch or release -cursor_tag="v0.1.12" +tag="v0.1.12" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -47,7 +47,7 @@ fi # Clone and build printf "${NOTE} Installing hyprcursor...\n" -if git clone --recursive -b $cursor_tag https://github.com/hyprwm/hyprcursor.git; then +if git clone --recursive -b $tag 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` diff --git a/install-scripts/hyprgraphics.sh b/install-scripts/hyprgraphics.sh index e4e1abc..2712371 100755 --- a/install-scripts/hyprgraphics.sh +++ b/install-scripts/hyprgraphics.sh @@ -8,7 +8,7 @@ hyprgraphics=( ) #specific branch or release -graphics_tag="v0.1.5" +tag="v0.1.5" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -45,21 +45,21 @@ if [ -d "hyprgraphics" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprgraphics $graphics_tag${RESET} ...\n" -if git clone --recursive -b $graphics_tag https://github.com/hyprwm/hyprgraphics.git; then +printf "${INFO} Installing ${YELLOW}hyprgraphics $tag${RESET} ...\n" +if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git; then cd hyprgraphics || 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 hyprgraphics -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then - printf "${OK} ${MAGENTA}hyprgraphics $graphics_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hyprgraphics $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprgraphics $graphics${RESET}" 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 ${YELLOW}hyprgraphics $graphics_tag${RESET}" 2>&1 | tee -a "$LOG" + 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 diff --git a/install-scripts/hypridle.sh b/install-scripts/hypridle.sh index d96a9b7..3b85f96 100755 --- a/install-scripts/hypridle.sh +++ b/install-scripts/hypridle.sh @@ -7,7 +7,7 @@ idle=( ) #specific branch or release -idle_tag="v0.1.6" +tag="v0.1.6" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -43,21 +43,21 @@ if [ -d "hypridle" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}hypridle $idle_tag${RESET} ...\n" -if git clone --recursive -b $idle_tag https://github.com/hyprwm/hypridle.git; then +printf "${INFO} Installing ${YELLOW}hypridle $tag${RESET} ...\n" +if git clone --recursive -b $tag 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} ${MAGENTA}hypridle $idle_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hypridle $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hypridle $idle_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hypridle $tag${RESET}" 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 ${YELLOW}hypridle $idle_tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}hypridle $tag${RESET}" 2>&1 | tee -a "$LOG" fi printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprland-protocols.sh b/install-scripts/hyprland-protocols.sh index e1f568a..72f0bc0 100755 --- a/install-scripts/hyprland-protocols.sh +++ b/install-scripts/hyprland-protocols.sh @@ -5,7 +5,7 @@ #specific branch or release -protocols_tag="v0.6.4" +tag="v0.6.4" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -33,20 +33,20 @@ if [ -d "hyprland-protocols" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprland-protocols $protocols_tag${RESET} ...\n" -if git clone --recursive -b $protocols_tag https://github.com/hyprwm/hyprland-protocols.git; then +printf "${INFO} Installing ${YELLOW}hyprland-protocols $tag${RESET} ...\n" +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-protocols.git; then cd hyprland-protocols || exit 1 meson setup build if sudo meson install -C build 2>&1 | tee -a "$MLOG" ; then - printf "${OK} ${MAGENTA}hyprland-protocols $protocols_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hyprland-protocols $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $protocols_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-protocols $tag${RESET}" 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 ${YELLOW}hyprland-protocols protocols_tag${RESET}" 2>&1 | tee -a "$LOG" + 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 diff --git a/install-scripts/hyprland-qt-support.sh b/install-scripts/hyprland-qt-support.sh index bec3dbe..b0d8354 100755 --- a/install-scripts/hyprland-qt-support.sh +++ b/install-scripts/hyprland-qt-support.sh @@ -5,9 +5,9 @@ qt_support=( qt6-base-dev - qt6-wayland - qt6-declarative-dev - qml6-module-qtcore + qt6-wayland + qt6-declarative-dev + qml6-module-qtcore qml6-module-qtquick-layouts qt6-tools-dev qt6-tools-dev-tools @@ -15,7 +15,7 @@ qt_support=( ) #specific branch or release -qt_support_tag="v0.1.0" +tag="v0.1.0" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -53,21 +53,21 @@ if [ -d "hyprland-qt-support" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprland-qt-support $qt_support_tag${RESET} ...\n" -if git clone --recursive -b $qt_support_tag https://github.com/hyprwm/hyprland-qt-support.git; then +printf "${INFO} Installing ${YELLOW}hyprland-qt-support $tag${RESET} ...\n" +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.git; then cd hyprland-qt-support || 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} ${MAGENTA}hyprland-qt-support $qt_support_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hyprland-qt-support $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $qt_support_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 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 ${YELLOW}hyprland-qt-support $qt_support_tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$LOG" fi printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprland-qtutils.sh b/install-scripts/hyprland-qtutils.sh index d0f8ceb..4a05a7a 100755 --- a/install-scripts/hyprland-qtutils.sh +++ b/install-scripts/hyprland-qtutils.sh @@ -17,7 +17,7 @@ qtutils=( ) #specific branch or release -qtutils_tag="v0.1.4" +tag="v0.1.4" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -55,21 +55,21 @@ if [ -d "hyprland-qtutils" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprland-qtutils $qtutils_tag${RESET} ...\n" -if git clone --recursive -b $qtutils_tag https://github.com/hyprwm/hyprland-qtutils.git; then +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 sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then - printf "${OK} ${MAGENTA}hyprland-qtutils $qtutils_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-qtutils $qtutils_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 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 ${YELLOW}hyprland-qtutils $qtutils_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} \ No newline at end of file diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index b3106a8..1388b0b 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -3,7 +3,7 @@ # Main Hyprland Package# #specific branch or release -hyprland_tag="v0.49.0" +tag="v0.49.0" hyprland=( libxcb-errors-dev @@ -53,7 +53,7 @@ fi printf "\n%.0s" {1..1} # Clone, build, and install Hyprland using Cmake -printf "${NOTE} Cloning and Installing ${YELLOW}Hyprland $hyprland_tag${RESET} ...\n" +printf "${NOTE} Cloning and Installing ${YELLOW}Hyprland $tag${RESET} ...\n" # Check if Hyprland folder exists and remove it if [ -d "Hyprland" ]; then @@ -61,18 +61,18 @@ if [ -d "Hyprland" ]; then rm -rf "Hyprland" 2>&1 | tee -a "$LOG" fi -if git clone --recursive -b $hyprland_tag "https://github.com/hyprwm/Hyprland"; then +if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland"; then cd "Hyprland" || exit 1 make all if sudo make install 2>&1 | tee -a "$MLOG"; then - printf "${OK} ${MAGENTA}Hyprland $hyprland_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}Hyprland tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $hyprland_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$MLOG" fi mv $MLOG ../Install-Logs/ || true cd .. else - echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $hyprland_tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$LOG" fi printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprlang.sh b/install-scripts/hyprlang.sh index e648aa0..c06dda5 100755 --- a/install-scripts/hyprlang.sh +++ b/install-scripts/hyprlang.sh @@ -5,7 +5,7 @@ #specific branch or release -lang_tag="v0.6.3" +tag="v0.6.3" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -33,21 +33,21 @@ if [ -d "hyprlang" ]; then fi # Clone and build -printf "${INFO} Installing ${YELLOW}hyprlang $lang_tag${RESET} ...\n" -if git clone --recursive -b $lang_tag https://github.com/hyprwm/hyprlang.git; then +printf "${INFO} Installing ${YELLOW}hyprlang $tag${RESET} ...\n" +if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git; then cd hyprlang || 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 hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF` if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then - printf "${OK} ${MAGENTA}hyprlang $lang_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}hyprlang tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $lang_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $tag${RESET}" 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 ${YELLOW}hyprlang $lang_tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$LOG" fi printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index d432ae2..3be0b3c 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -16,7 +16,7 @@ build_dep=( ) #specific branch or release -lock_tag="v0.9.0" +tag="v0.9.0" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -52,21 +52,21 @@ if [ -d "hyprlock" ]; then fi # Clone and build hyprlock -printf "${INFO} Installing ${YELLOW}hyprlock $lock_tag${RESET} ...\n" -if git clone --recursive -b $lock_tag https://github.com/hyprwm/hyprlock.git; then +printf "${INFO} Installing ${YELLOW}hyprlock $tag${RESET} ...\n" +if git clone --recursive -b $tag 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} ${YELLOW}hyprlock $lock_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${YELLOW}hyprlock $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}hyprlock $lock_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}hyprlock $tag${RESET}" 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 ${YELLOW}hyprlock $lock_tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}hyprlock $tag${RESET}" 2>&1 | tee -a "$LOG" fi printf "\n%.0s" {1..2} diff --git a/install-scripts/hyprpolkitagent.sh b/install-scripts/hyprpolkitagent.sh index ececb6e..cd1fdea 100755 --- a/install-scripts/hyprpolkitagent.sh +++ b/install-scripts/hyprpolkitagent.sh @@ -13,7 +13,7 @@ polkitagent=( ) #specific branch or release -polkitagent_tag="v0.1.2" +tag="v0.1.2" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -51,7 +51,7 @@ fi # Clone and build printf "${NOTE} Installing hyprpolkitagent...\n" -if git clone --recursive -b $polkitagent_tag https://github.com/hyprwm/hyprpolkitagent.git; then +if git clone --recursive -b $tag https://github.com/hyprwm/hyprpolkitagent.git; then cd hyprpolkitagent || 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` diff --git a/install-scripts/hyprutils.sh b/install-scripts/hyprutils.sh index e27d758..41118ee 100755 --- a/install-scripts/hyprutils.sh +++ b/install-scripts/hyprutils.sh @@ -4,7 +4,7 @@ # hyprutils # #specific branch or release -hyprutils_tag="v0.8.1" +tag="v0.8.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 )" @@ -32,7 +32,7 @@ if [ -d "hyprutils" ]; then rm -rf "hyprutils" 2>&1 | tee -a "$LOG" fi -if git clone -b $hyprutils_tag "https://github.com/hyprwm/hyprutils.git"; then +if git clone -b $tag "https://github.com/hyprwm/hyprutils.git"; then cd "hyprutils" || 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` diff --git a/install-scripts/hyprwayland-scanner.sh b/install-scripts/hyprwayland-scanner.sh index d842573..21bb5bf 100755 --- a/install-scripts/hyprwayland-scanner.sh +++ b/install-scripts/hyprwayland-scanner.sh @@ -6,8 +6,9 @@ scan_depend=( libpugixml-dev ) + #specific branch or release -scan_tag="v0.4.5" +tag="v0.4.5" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -48,7 +49,7 @@ fi # Clone and build hyprlang printf "${NOTE} Installing hyprwayland-scanner...\n" -if git clone --recursive -b $scan_tag https://github.com/hyprwm/hyprwayland-scanner.git; then +if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.git; then cd hyprwayland-scanner || exit 1 cmake -DCMAKE_INSTALL_PREFIX=/usr -B build cmake --build build -j `nproc` diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh index d4435b7..eb99aec 100755 --- a/install-scripts/xdph.sh +++ b/install-scripts/xdph.sh @@ -12,7 +12,8 @@ xdg=( xdg-desktop-portal-gtk ) -xdph_tag="v1.3.9" +#specific branch or release +tag="v1.3.9" ## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU ARE DOING! ## SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" @@ -44,7 +45,7 @@ for PKG1 in "${xdg[@]}"; do done # Clone, build, and install XDPH -printf "${NOTE} Cloning and Installing ${YELLOW}XDG Desktop Portal Hyprland $hyprland_tag${RESET} ...\n" +printf "${NOTE} Cloning and Installing ${YELLOW}XDG Desktop Portal Hyprland $tag${RESET} ...\n" # Check if xdg-desktop-portal-hyprland folder exists and remove it if [ -d "xdg-desktop-portal-hyprland" ]; then @@ -52,19 +53,19 @@ if [ -d "xdg-desktop-portal-hyprland" ]; then rm -rf "xdg-desktop-portal-hyprland" 2>&1 | tee -a "$LOG" fi -if git clone --recursive -b $xdph_tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git"; then +if git clone --recursive -b $tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git"; then cd "xdg-desktop-portal-hyprland" || exit 1 cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B build cmake --build build if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then - printf "${OK} ${MAGENTA}xdph $xdph_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" + printf "${OK} ${MAGENTA}xdph $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else - echo -e "${ERROR} Installation failed for ${YELLOW}xdph $xdph_tag${RESET}" 2>&1 | tee -a "$MLOG" + echo -e "${ERROR} Installation failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$MLOG" fi mv $MLOG ../Install-Logs/ || true cd .. else - echo -e "${ERROR} Download failed for ${YELLOW}xdph $xdph_tag${RESET}" 2>&1 | tee -a "$LOG" + echo -e "${ERROR} Download failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$LOG" fi printf "\n%.0s" {1..2} From b7eb23b7686057991501690e353535a3a393f99f Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sun, 20 Jul 2025 17:37:59 +0900 Subject: [PATCH 21/26] updated some dependencies --- assets/libglaze-dev_4.4.3-1_all.deb | Bin 0 -> 217336 bytes install-scripts/hyprland.sh | 8 +++++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 assets/libglaze-dev_4.4.3-1_all.deb diff --git a/assets/libglaze-dev_4.4.3-1_all.deb b/assets/libglaze-dev_4.4.3-1_all.deb new file mode 100644 index 0000000000000000000000000000000000000000..7463ce009b2f0da12b17ba72003b95d0385f0a6e GIT binary patch literal 217336 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 qb$k4%VlV)PLR{a0QG?t70o45rfRJ`0 Date: Tue, 22 Jul 2025 13:07:18 +0900 Subject: [PATCH 22/26] Preparation for the new SDDM theme simple sddm updated version --- CHANGELOGS.md | 4 ++++ install-scripts/sddm.sh | 10 +++++++--- install-scripts/sddm_theme.sh | 20 +++++++++++++++++--- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 407e3ca..fa41030 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,5 +1,9 @@ ## CHANGELOGS +## 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 diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh index ab4d99d..b2be906 100755 --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -8,10 +8,13 @@ sddm1=( ) sddm2=( - qt6-5compat-dev - qml6-module-qt5compat-graphicaleffects + libqt6svg6 qt6-declarative-dev qt6-svg-dev + qt6-virtualkeyboard-plugin + libqt6multimedia6 + qml6-module-qtquick-controls + qml6-module-qtquick-effects ) # login managers to attempt to disable @@ -48,7 +51,7 @@ done # Installation of additional sddm stuff for PKG2 in "${sddm2[@]}"; do - re_install_package "$PKG2" "$LOG" + install_package "$PKG2" "$LOG" done # Check if other login managers are installed and disable their service before enabling SDDM @@ -77,5 +80,6 @@ sudo systemctl enable sddm.service 2>&1 | tee -a "$LOG" wayland_sessions_dir=/usr/share/wayland-sessions [ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } +sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" printf "\n%.0s" {1..2} \ No newline at end of file diff --git a/install-scripts/sddm_theme.sh b/install-scripts/sddm_theme.sh index 4f85513..b2838d5 100755 --- a/install-scripts/sddm_theme.sh +++ b/install-scripts/sddm_theme.sh @@ -52,7 +52,6 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then # Move cloned theme to the themes directory sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG" - # setting up SDDM theme sddm_conf="/etc/sddm.conf" BACKUP_SUFFIX=".bak" @@ -86,10 +85,25 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then echo "Added [Theme] section with Current=$theme_name in $sddm_conf" | tee -a "$LOG" fi + # Add [General] section with InputMethod=qtvirtualkeyboard if it doesn't exist + if ! grep -q '^\[General\]' "$sddm_conf"; then + echo -e "\n[General]\nInputMethod=qtvirtualkeyboard" | sudo tee -a "$sddm_conf" > /dev/null + echo "Added [General] section with InputMethod=qtvirtualkeyboard in $sddm_conf" | tee -a "$LOG" + else + # Update InputMethod line if section exists + if grep -q '^\s*InputMethod=' "$sddm_conf"; then + sudo sed -i '/^\[General\]/,/^\[/{s/^\s*InputMethod=.*/InputMethod=qtvirtualkeyboard/}' "$sddm_conf" 2>&1 | tee -a "$LOG" + echo "Updated InputMethod to qtvirtualkeyboard in $sddm_conf" | tee -a "$LOG" + else + sudo sed -i '/^\[General\]/a InputMethod=qtvirtualkeyboard' "$sddm_conf" 2>&1 | tee -a "$LOG" + echo "Appended InputMethod=qtvirtualkeyboard under [General] in $sddm_conf" | tee -a "$LOG" + fi + fi + # Replace current background from assets sudo cp -r assets/sddm.png "/usr/share/sddm/themes/$theme_name/Backgrounds/default" 2>&1 | tee -a "$LOG" sudo sed -i 's|^wallpaper=".*"|wallpaper="Backgrounds/default"|' "/usr/share/sddm/themes/$theme_name/theme.conf" 2>&1 | tee -a "$LOG" - + printf "\n%.0s" {1..1} printf "${NOTE} copying ${YELLOW}JetBrains Mono Nerd Font${RESET} to ${YELLOW}/usr/local/share/fonts${RESET} .......\n" printf "${NOTE} necessary for the new SDDM theme to work properly........\n" @@ -107,7 +121,7 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then fc-cache -v -f 2>&1 | tee -a "$LOG" printf "\n%.0s" {1..1} - + echo "${OK} - ${MAGENTA}Additional SDDM Theme${RESET} successfully installed." | tee -a "$LOG" else From 3a045e774b6ccb6a7ad1265c3df19b94dacb5862 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Tue, 22 Jul 2025 15:42:00 +0900 Subject: [PATCH 23/26] updated install.sh --- install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/install.sh b/install.sh index 6c6d07b..c68bff9 100755 --- a/install.sh +++ b/install.sh @@ -24,6 +24,9 @@ echo -e "${NOTE}: Most Hyprland Packages installed here are manually built from echo -e "${INFO}: You need to manually update it yourself." echo -e "${WARN}: Use this script at your own risk" echo +echo -e "${NOTE}: Since it builds from source, installation WILL takes Longer" +echo -e "${WARN}: You've been warned so stop crying!" +echo # Prompt user to continue or exit read -rp "Do you want to continue with the installation? [y/N]: " confirm From d8e8cf053a72dd2f4d81a2caae2a1934cd6b3175 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Fri, 25 Jul 2025 17:13:29 +0900 Subject: [PATCH 24/26] minor sddm theme update --- install-scripts/sddm_theme.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install-scripts/sddm_theme.sh b/install-scripts/sddm_theme.sh index b2838d5..2ac2070 100755 --- a/install-scripts/sddm_theme.sh +++ b/install-scripts/sddm_theme.sh @@ -122,7 +122,7 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then printf "\n%.0s" {1..1} - echo "${OK} - ${MAGENTA}Additional SDDM Theme${RESET} successfully installed." | tee -a "$LOG" + echo "${OK} - ${MAGENTA}Additional ${YELLOW}$theme_name SDDM Theme${RESET} successfully installed." | tee -a "$LOG" else From 18b519194af285b84ae4353c71788557c5c36608 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Fri, 25 Jul 2025 17:21:17 +0900 Subject: [PATCH 25/26] updated sddm.sh --- install-scripts/sddm.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/install-scripts/sddm.sh b/install-scripts/sddm.sh index b2be906..04c47fa 100755 --- a/install-scripts/sddm.sh +++ b/install-scripts/sddm.sh @@ -80,6 +80,5 @@ sudo systemctl enable sddm.service 2>&1 | tee -a "$LOG" wayland_sessions_dir=/usr/share/wayland-sessions [ ! -d "$wayland_sessions_dir" ] && { printf "$CAT - $wayland_sessions_dir not found, creating...\n"; sudo mkdir -p "$wayland_sessions_dir" 2>&1 | tee -a "$LOG"; } -sudo cp assets/hyprland.desktop "$wayland_sessions_dir/" 2>&1 | tee -a "$LOG" printf "\n%.0s" {1..2} \ No newline at end of file From d0eb93ef01c0d5421897cd3f95a67520a54de10a Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 26 Jul 2025 08:37:17 +0900 Subject: [PATCH 26/26] updated Debian-Hyprland Manual, making ready for --- README.md | 6 +++++- install.sh | 35 +++++++++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 172d3d1..13a9cc6 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,11 @@ sudo nano /etc/apt/sources.list - ensure to allow to install non-free drivers especially for users with NVIDIA gpus. You can also install non-free drivers if required. Edit install-scripts/nvidia.sh and change the nvidia stuff's if required ### 🪧🪧🪧 ANNOUNCEMENT 🪧🪧🪧 -- This Repo does not contain Hyprland Dots or configs! Pre-configured Dotfiles are on [`Hyprland-Dots`](https://github.com/JaKooLit/Hyprland-Dots/tree/Deb-Untu-Dots) . During installation, if you opt to copy pre-configured dots, it will be downloaded from that centralized repo. +- 25 July 2025 Update! +- All Hyprland and associated packages set to install using this script are downloaded and built from source (github). However, do note that it is downloaded from each individual releases. You can set versions by editing the scripts located install-scripts directory. +- These packages are NOT updated automatically. You need to manually update it yourself +- +- This Repo does not contain Hyprland Dots or configs! Pre-configured Dotfiles are on [`Hyprland-Dots`](https://github.com/JaKooLit/Hyprland-Dots/tree/Debian-Dots) . During installation, if you opt to copy pre-configured dots, it will be downloaded from that centralized repo. - Hyprland-Dots use are constantly evolving / improving. you can check CHANGELOGS here [`Hyprland-Dots-Changelogs`](https://github.com/JaKooLit/Hyprland-Dots/wiki/Changelogs) - Since the Hyprland-Dots are evolving, some of the screenshots maybe old diff --git a/install.sh b/install.sh index c68bff9..8689bca 100755 --- a/install.sh +++ b/install.sh @@ -19,14 +19,33 @@ BLUE="$(tput setaf 4)" SKY_BLUE="$(tput setaf 6)" RESET="$(tput sgr0)" -# Display warning message -echo -e "${NOTE}: Most Hyprland Packages installed here are manually built from github" -echo -e "${INFO}: You need to manually update it yourself." -echo -e "${WARN}: Use this script at your own risk" -echo -echo -e "${NOTE}: Since it builds from source, installation WILL takes Longer" -echo -e "${WARN}: You've been warned so stop crying!" -echo +# Function to print colorful text +print_color() { + printf "%b%s%b\n" "$1" "$2" "$RESET" +} + +# Warning: End of Life Support +printf "\n%.0s" {1..2} +print_color $YELLOW " + █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ + KooL's Debian - Hyprland July 2025 Update + + Most Hyprland packages are built from Source + + NOTICE + █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ + + All Hyprland and associated packages set to install using this script are downloaded and built from source (github) + + However, do note that it is downloaded from each individual releases. You can set versions by editing the scripts + located install-scripts directory. + + These packages are NOT updated automatically. You need to manually update it yourself + + BE WARNED!!!!! Installation may take longer!! +" +printf "\n%.0s" {1..2} + # Prompt user to continue or exit read -rp "Do you want to continue with the installation? [y/N]: " confirm