Compare commits

..

31 Commits

Author SHA1 Message Date
Ja.KooLit
af4db05a74
Merge pull request #207 from JaKooLit/main
Main to development
2025-07-26 08:41:49 +09:00
Ja.KooLit
4d9ae2d849
Merge branch 'development' into main 2025-07-26 08:41:43 +09:00
Ja.KooLit
f8fc8edb12
Merge pull request #206 from JaKooLit/Manual-Build
Manual build to Main
2025-07-26 08:38:08 +09:00
JaKooLit
d0eb93ef01 updated Debian-Hyprland Manual, making ready for 2025-07-26 08:37:24 +09:00
JaKooLit
18b519194a updated sddm.sh 2025-07-25 17:21:17 +09:00
JaKooLit
d8e8cf053a minor sddm theme update 2025-07-25 17:13:29 +09:00
JaKooLit
3a045e774b updated install.sh 2025-07-22 15:42:00 +09:00
JaKooLit
7a0260da91 Preparation for the new SDDM theme simple sddm updated version 2025-07-22 13:07:26 +09:00
JaKooLit
b7eb23b768 updated some dependencies 2025-07-20 17:37:59 +09:00
JaKooLit
e4737a709e updated, clean up codes / scripts 2025-07-20 16:49:14 +09:00
JaKooLit
2a364e0730 updated install.sh 2025-07-20 01:42:19 +09:00
JaKooLit
3a3ee81726 updated xdph 2025-07-20 01:39:04 +09:00
JaKooLit
e149238243 updated dependencies 2025-07-20 01:30:32 +09:00
JaKooLit
1c2301ef9a added dependencies 2025-07-20 01:15:33 +09:00
JaKooLit
805821e85a some updates on dependencies 2025-07-20 01:03:34 +09:00
Ja.KooLit
102aefb774
Update install.sh 2025-07-20 00:28:47 +09:00
JaKooLit
6029b017b7 removal of hyprland.desktop from assets 2025-07-19 20:38:01 +09:00
JaKooLit
e789518612 fixed for hyprutils 2025-07-19 20:25:44 +09:00
JaKooLit
6d7cbb5e92 updated to download from specific dots branch 2025-07-19 17:27:59 +09:00
JaKooLit
110e2a1453 added removal cleanup for the hyprland packages installed from Debian Official. Updated rofi-wayland to latest package. updated hyprlock.sh 2025-07-19 16:51:22 +09:00
JaKooLit
1603c8be35 updated dependencies and hyprlock 2025-07-19 11:27:22 +09:00
JaKooLit
849677a93b another update 2025-07-19 11:21:18 +09:00
JaKooLit
ed40d04fc0 updated 2025-07-19 11:08:55 +09:00
JaKooLit
e1c65a06db clean up hyprland dependencies 2025-07-19 11:01:39 +09:00
JaKooLit
7a31cd755c another attempt 2025-07-19 10:57:13 +09:00
JaKooLit
aad716cbb3 forgot to add hyprwayland scanner in the install.sh 2025-07-19 01:35:53 +09:00
JaKooLit
7a5c0cb54e added hyprwayland scanner 2025-07-19 01:33:57 +09:00
JaKooLit
9e2ea0c998 added hyprcursor and hyprutils 2025-07-19 01:29:48 +09:00
JaKooLit
8d4a214fac initial pushed. Just copied from my old script 2025-07-19 01:17:36 +09:00
JaKooLit
d6ff910df5 very limited support 2025-06-22 00:57:59 +09:00
Ja.KooLit
949a18a7d5
Merge pull request #199 from JaKooLit/development
Updated for new SDDM theme
2025-06-09 08:37:06 +09:00
27 changed files with 1015 additions and 171 deletions

View File

@ -1,5 +1,12 @@
## 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
## 08 June 2025
- updated SDDM theme.

View File

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

View File

@ -1,5 +0,0 @@
[Desktop Entry]
Name=Hyprland
Comment=An intelligent dynamic tiling Wayland compositor
Exec=Hyprland
Type=Application

Binary file not shown.

View File

@ -3,7 +3,6 @@
# main dependencies #
# 22 Aug 2024 - NOTE will trim this more down
# packages neeeded
dependencies=(
build-essential
@ -13,14 +12,76 @@ dependencies=(
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
@ -28,13 +89,15 @@ dependencies=(
python3-mako
python3-markdown
python3-markupsafe
python3-yaml
python3-pyquery
python3-yaml
qt6-base-dev
scdoc
seatd
spirv-tools
unzip
vulkan-validationlayers
vulkan-utility-libraries-dev
vulkan-validationlayers
wayland-protocols
xdg-desktop-portal
xwayland
@ -45,14 +108,26 @@ hyprland_dep=(
bc
binutils
libc6
libcairo2
libcairo2-dev
libdisplay-info2
libdrm2
libhyprcursor-dev
libhyprlang-dev
libhyprutils-dev
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
hyprcursor-util
libxcursor-dev
qt6-declarative-dev
qt6-base-private-dev
qt6-wayland-dev
qt6-wayland-private-dev
)
build_dep=(

View File

@ -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,20 @@ PACKAGES=(
magick
)
# List of packages installed from Debian-Hyprland repo
uninstall=(
hyprland
xdg-desktop-portal-hyprland
libhhyprland-dev
libhyprutils-dev
libhyprutils0
hyprwayland-scanner
hyprland-protocols
hyprctl
hyprpm
Hyprland
)
## 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 +61,19 @@ for PKG_NAME in "${PACKAGES[@]}"; do
fi
done
clear
# 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}

View File

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

53
install-scripts/aquamarine.sh Executable file
View File

@ -0,0 +1,53 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# aquamarine #
#specific branch or release
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 $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 $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
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 $tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -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 )"

68
install-scripts/hyprcursor.sh Executable file
View File

@ -0,0 +1,68 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyprcursor #
cursor=(
libzip-dev
librsvg2-dev
)
#specific branch or release
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 )"
# 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 $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
printf "\n%.0s" {1..2}

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

@ -0,0 +1,65 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyprgraphics #
hyprgraphics=(
libmagic
)
#specific branch or release
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}"
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"
fi
# Clone and build
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 $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
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${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -7,7 +7,7 @@ idle=(
)
#specific branch or release
idle_tag="v0.1.2"
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}

View File

@ -0,0 +1,52 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hypland-protocols #
#specific branch or release
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 $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 $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
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 tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -0,0 +1,73 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hypland-qt-support #
qt_support=(
qt6-base-dev
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
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 $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 $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
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 $tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -0,0 +1,75 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hypland-qtutils #
qtutils=(
libqt6core5compat6
qt6-base-dev
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
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 $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 $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
echo -e "${ERROR} Installation failed for ${YELLOW}hyprland-qtutils $tag${RESET}" 2>&1 | tee -a "$MLOG"
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 $tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -1,44 +1,80 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Main Hyprland Package #
# Main Hyprland Package#
hypr=(
hyprland-protocols
hyprwayland-scanner
)
#specific branch or release
tag="v0.49.0"
# forcing to reinstall. Had experience it says hyprland is already installed
f_hypr=(
hyprland
hyprland=(
libxcb-errors-dev
libre2-dev
libglaze-dev
libudis86-dev
libinotify-ocaml-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
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-get 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 and Installing ${YELLOW}Hyprland $tag${RESET} ...\n"
# 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 $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 tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
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 $tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -1,10 +1,11 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyplang #
#specific branch or release
lang_tag="v0.5.2"
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 )"
@ -32,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}

View File

@ -7,12 +7,16 @@ lock=(
libgbm-dev
libdrm-dev
libmagic-dev
libhyprlang-dev
libhyprutils-dev
libaudit-dev
libsdbus-c++-dev
)
build_dep=(
pam
)
#specific branch or release
lock_tag="v0.4.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 )"
@ -38,27 +42,31 @@ 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"
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}

View File

@ -0,0 +1,72 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyprpolkitagent #
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
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
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
# 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 $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}

52
install-scripts/hyprutils.sh Executable file
View File

@ -0,0 +1,52 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyprutils #
#specific branch or release
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 )"
# 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 $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
printf "\n%.0s" {1..2}

View File

@ -0,0 +1,69 @@
#!/bin/bash
# 💫 https://github.com/JaKooLit 💫 #
# Hypr Ecosystem #
# hyprwayland-scanner #
scan_depend=(
libpugixml-dev
)
#specific branch or release
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 )"
# 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 $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}

View File

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

View File

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

View File

@ -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,6 +85,21 @@ 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"
@ -108,7 +122,7 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then
printf "\n%.0s" {1..1}
echo "${OK} - ${MAGENTA}Additional ${YELLOW}$theme_name${RESET} SDDM Theme${RESET} successfully installed." | tee -a "$LOG"
echo "${OK} - ${MAGENTA}Additional ${YELLOW}$theme_name SDDM Theme${RESET} successfully installed." | tee -a "$LOG"
else

View File

@ -3,10 +3,18 @@
# XDG-Desktop-Portals for hyprland #
xdg=(
libdrm-dev
libpipewire-0.3-dev
libspa-0.2-dev
libsdbus-c++-dev
libwayland-client0
wayland-protocols
xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland
)
#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 )"
@ -26,9 +34,38 @@ 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 $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 $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 $tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
else
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 $tag${RESET}" 2>&1 | tee -a "$LOG"
fi
printf "\n%.0s" {1..2}

View File

@ -19,6 +19,45 @@ BLUE="$(tput setaf 4)"
SKY_BLUE="$(tput setaf 6)"
RESET="$(tput sgr0)"
# 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
case "$confirm" in
[yY][eE][sS]|[yY])
echo -e "${OK} Continuing with installation..."
;;
*)
echo -e "${NOTE} You chose not to continue. Exiting..."
exit 1
;;
esac
# Create Directory for Install Logs
if [ ! -d Install-Logs ]; then
@ -61,7 +100,7 @@ fi
printf "\n%.0s" {1..2}
echo -e "\e[35m
╦╔═┌─┐┌─┐╦ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐
╠╩╗│ ││ │║ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││ 2025
╠╩╗│ ││ │║ ╠═╣└┬┘├─┘├┬┘│ ├─┤│││ ││ July 2025
╩ ╩└─┘└─┘╩═╝ ╩ ╩ ┴ ┴ ┴└─┴─┘┴ ┴┘└┘─┴┘ Debian Trixie / SiD
\e[0m"
printf "\n%.0s" {1..1}
@ -312,8 +351,28 @@ 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"
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-qtutils.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"
@ -322,8 +381,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
@ -429,8 +486,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