mirror of
https://github.com/JaKooLit/Debian-Hyprland.git
synced 2025-12-21 10:20:12 +01:00
• Switch Hyprland ecosystem scripts to use Debian packages instead of source builds.
• Reset Hyprland source tag default to v0.51.1. • Add sid repo and fine-grained pinning for Hyprland-related libs and tools. • Install Debian Hyprland (0.51.1+ds-1), ecosystem tools, rofi, and qml6-module-org-hyprland-style by default in install.sh. • Ensure auto-install.sh remains seamless by simply calling the updated install.sh. On branch hl-521 Your branch is up to date with 'origin/hl-521'. Changes to be committed: modified: install-scripts/01-hypr-pkgs.sh modified: install-scripts/aquamarine.sh modified: install-scripts/hyprcursor.sh modified: install-scripts/hyprgraphics.sh modified: install-scripts/hyprland.sh modified: install-scripts/hyprlang.sh modified: install-scripts/hyprutils.sh modified: install-scripts/hyprwayland-scanner.sh modified: install-scripts/rofi-wayland.sh modified: install.sh
This commit is contained in:
parent
7df55eb193
commit
11f5208a0e
@ -67,10 +67,10 @@ force=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# List of packages to uninstall as it conflicts with swaync or causing swaync to not function properly
|
# List of packages to uninstall as it conflicts with swaync or causing swaync to not function properly
|
||||||
|
# NOTE: rofi is no longer removed here because this branch uses the Debian Wayland-capable rofi package by default.
|
||||||
uninstall=(
|
uninstall=(
|
||||||
dunst
|
dunst
|
||||||
mako
|
mako
|
||||||
rofi
|
|
||||||
cargo
|
cargo
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -31,36 +31,15 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_aquamarine.log"
|
LOG="Install-Logs/install-$(date +%d-%H%M%S)_aquamarine.log"
|
||||||
MLOG="install-$(date +%d-%H%M%S)_aquamarine.log"
|
|
||||||
|
|
||||||
# Installation of dependencies
|
# For this branch, prefer Debian packages for aquamarine by default
|
||||||
printf "\n%s - Installing ${YELLOW}aquamarine dependencies${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}aquamarine (Debian package)${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
# Check if aquamarinedirectory exists and remove it
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if [ -d "aquamarine" ]; then
|
install_package "libaquamarine8" 2>&1 | tee -a "$LOG"
|
||||||
rm -rf "aquamarine"
|
install_package "libaquamarine-dev" 2>&1 | tee -a "$LOG"
|
||||||
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 [ $DO_INSTALL -eq 1 ]; then
|
|
||||||
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
|
|
||||||
else
|
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of aquamarine $tag."
|
|
||||||
fi
|
|
||||||
#moving the addional logs to Install-Logs directory
|
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
|
||||||
cd ..
|
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo "${NOTE} DRY RUN: Would install libaquamarine8 and libaquamarine-dev from APT."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
@ -26,41 +26,16 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprcursor.log"
|
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprcursor.log"
|
||||||
MLOG="install-$(date +%d-%H%M%S)_hyprcursor.log"
|
|
||||||
|
|
||||||
# Installation of dependencies
|
# For this branch, prefer Debian packages for hyprcursor by default
|
||||||
printf "\n%s - Installing hyprcursor dependencies.... \n" "${NOTE}"
|
printf "\n%s - Installing hyprcursor (Debian packages).... \n" "${NOTE}"
|
||||||
|
|
||||||
for PKG1 in "${cursor[@]}"; do
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
install_package "$PKG1" 2>&1 | tee -a "$LOG"
|
# runtime and dev package
|
||||||
if [ $? -ne 0 ]; then
|
install_package "libhyprcursor0" 2>&1 | tee -a "$LOG"
|
||||||
echo -e "\e[1A\e[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs"
|
install_package "libhyprcursor-dev" 2>&1 | tee -a "$LOG"
|
||||||
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
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprcursor." 2>&1 | tee -a "$LOG"
|
echo "${NOTE} DRY RUN: Would install libhyprcursor0 and libhyprcursor-dev from APT."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
@ -34,45 +34,15 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprgraphics.log"
|
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprgraphics.log"
|
||||||
MLOG="install-$(date +%d-%H%M%S)_hyprgraphics2.log"
|
|
||||||
|
|
||||||
# Installation of dependencies
|
# For this branch, prefer Debian packages for hyprgraphics by default
|
||||||
printf "\n%s - Installing ${YELLOW}hyprgraphics dependencies${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}hyprgraphics (Debian packages)${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
for PKG1 in "${hyprgraphics[@]}"; do
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
re_install_package "$PKG1" 2>&1 | tee -a "$LOG"
|
install_package "libhyprgraphics2" 2>&1 | tee -a "$LOG"
|
||||||
if [ $? -ne 0 ]; then
|
install_package "libhyprgraphics-dev" 2>&1 | tee -a "$LOG"
|
||||||
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 [ $DO_INSTALL -eq 1 ]; then
|
|
||||||
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
|
|
||||||
else
|
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprgraphics $tag."
|
|
||||||
fi
|
|
||||||
#moving the addional logs to Install-Logs directory
|
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
|
||||||
cd ..
|
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$LOG"
|
echo "${NOTE} DRY RUN: Would install libhyprgraphics2 and libhyprgraphics-dev from APT."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
@ -3,7 +3,8 @@
|
|||||||
# Main Hyprland Package#
|
# Main Hyprland Package#
|
||||||
|
|
||||||
#specific branch or release
|
#specific branch or release
|
||||||
tag="v0.52.1"
|
# Default source tag aligned with Debian sid package (0.51.1)
|
||||||
|
tag="v0.51.1"
|
||||||
# Allow environment override
|
# Allow environment override
|
||||||
if [ -n "${HYPRLAND_TAG:-}" ]; then tag="$HYPRLAND_TAG"; fi
|
if [ -n "${HYPRLAND_TAG:-}" ]; then tag="$HYPRLAND_TAG"; fi
|
||||||
|
|
||||||
|
|||||||
@ -31,36 +31,15 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprlang.log"
|
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprlang.log"
|
||||||
MLOG="install-$(date +%d-%H%M%S)_hyprlang2.log"
|
|
||||||
|
|
||||||
# Installation of dependencies
|
# For this branch, prefer Debian packages for hyprlang by default
|
||||||
printf "\n%s - Installing ${YELLOW}hyprlang dependencies${RESET} .... \n" "${INFO}"
|
printf "\n%s - Installing ${YELLOW}hyprlang (Debian packages)${RESET} .... \n" "${INFO}"
|
||||||
|
|
||||||
# Check if hyprlang directory exists and remove it
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if [ -d "hyprlang" ]; then
|
install_package "libhyprlang2" 2>&1 | tee -a "$LOG"
|
||||||
rm -rf "hyprlang"
|
install_package "libhyprlang-dev" 2>&1 | tee -a "$LOG"
|
||||||
fi
|
|
||||||
|
|
||||||
# Clone and build
|
|
||||||
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/local -S . -B ./build
|
|
||||||
cmake --build ./build --config Release --target hyprlang -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
|
||||||
if sudo cmake --install ./build 2>&1 | tee -a "$MLOG" ; then
|
|
||||||
printf "${OK} ${MAGENTA}hyprlang tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
|
||||||
else
|
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$MLOG"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprlang $tag."
|
|
||||||
fi
|
|
||||||
#moving the addional logs to Install-Logs directory
|
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
|
||||||
cd ..
|
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$LOG"
|
echo "${NOTE} DRY RUN: Would install libhyprlang2 and libhyprlang-dev from APT."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
@ -30,34 +30,15 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprutils.log"
|
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
|
# For this branch, prefer Debian packages for hyprutils by default
|
||||||
printf "${NOTE} Cloning hyprutils...\n"
|
printf "${NOTE} Installing hyprutils (Debian packages)...\n"
|
||||||
|
|
||||||
# Check if hyprutils folder exists and remove it
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
if [ -d "hyprutils" ]; then
|
install_package "libhyprutils9" 2>&1 | tee -a "$LOG"
|
||||||
printf "${NOTE} Removing existing hyprutils folder...\n"
|
install_package "libhyprutils-dev" 2>&1 | tee -a "$LOG"
|
||||||
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/local -S . -B ./build
|
|
||||||
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
|
|
||||||
if [ $DO_INSTALL -eq 1 ]; then
|
|
||||||
if sudo cmake --install build 2>&1 | tee -a "$MLOG"; then
|
|
||||||
printf "${OK} hyprutils installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
|
||||||
else
|
|
||||||
echo -e "${ERROR} Installation failed for hyprutils." 2>&1 | tee -a "$MLOG"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprutils $tag."
|
|
||||||
fi
|
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
|
||||||
cd ..
|
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG"
|
echo "${NOTE} DRY RUN: Would install libhyprutils9 and libhyprutils-dev from APT."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
@ -34,48 +34,14 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprwayland-scanner.log"
|
LOG="Install-Logs/install-$(date +%d-%H%M%S)_hyprwayland-scanner.log"
|
||||||
MLOG="install-$(date +%d-%H%M%S)_hyprwayland-scanner2.log"
|
|
||||||
|
|
||||||
##
|
## For this branch, prefer Debian package for hyprwayland-scanner
|
||||||
# Installation of dependencies
|
printf "\n%s - Installing hyprwayland-scanner (Debian package).... \n" "${NOTE}"
|
||||||
printf "\n%s - Installing hyprwayland-scanner dependencies.... \n" "${NOTE}"
|
|
||||||
|
|
||||||
for PKG1 in "${scan_depend[@]}"; do
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
install_package "$PKG1" 2>&1 | tee -a "$LOG"
|
install_package "hyprwayland-scanner" 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 [ $DO_INSTALL -eq 1 ]; then
|
|
||||||
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
|
|
||||||
else
|
|
||||||
echo "${NOTE} DRY RUN: Skipping installation of hyprwayland-scanner $tag."
|
|
||||||
fi
|
|
||||||
#moving the addional logs to Install-Logs directory
|
|
||||||
[ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/
|
|
||||||
cd ..
|
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Download failed for hyprwayland-scanner. Please check log." 2>&1 | tee -a "$LOG"
|
echo "${NOTE} DRY RUN: Would install hyprwayland-scanner from APT."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
@ -55,51 +55,16 @@ fi
|
|||||||
|
|
||||||
# Set the name of the log file to include the current date and time
|
# Set the name of the log file to include the current date and time
|
||||||
LOG="Install-Logs/install-$(date +%d-%H%M%S)_rofi_wayland.log"
|
LOG="Install-Logs/install-$(date +%d-%H%M%S)_rofi_wayland.log"
|
||||||
MLOG="install-$(date +%d-%H%M%S)_rofi_wayland2.log"
|
|
||||||
|
|
||||||
# Installation of main components
|
# For this branch, prefer Debian rofi (with Wayland support) instead of building rofi-wayland
|
||||||
printf "\n%s - Re-installing ${SKY_BLUE}rofi-wayland dependencies${RESET}.... \n" "${INFO}"
|
printf "\n%s - Installing ${SKY_BLUE}rofi (Debian package, Wayland-capable)${RESET}.... \n" "${INFO}"
|
||||||
|
|
||||||
for FORCE in "${rofi[@]}"; do
|
if [ $DO_INSTALL -eq 1 ]; then
|
||||||
re_install_package "$FORCE" "$LOG"
|
install_package "rofi" 2>&1 | tee -a "$LOG"
|
||||||
done
|
# Optional: headers for themes or building scripts
|
||||||
|
install_package "rofi-dev" 2>&1 | tee -a "$LOG" || true
|
||||||
printf "\n%.0s" {1..2}
|
|
||||||
# Clone and build rofi - wayland
|
|
||||||
printf "${NOTE} Building and Installing ${SKY_BLUE}rofi-wayland${RESET} $rofi_tag ...\n"
|
|
||||||
|
|
||||||
# Check if rofi directory exists
|
|
||||||
if [ -d "rofi-$rofi_tag" ]; then
|
|
||||||
rm -rf "rofi-$rofi_tag"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# cloning rofi-wayland
|
|
||||||
printf "${NOTE} Downloading ${YELLOW}rofi-wayland $rofi_tag${RESET} from releases...\n"
|
|
||||||
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"
|
|
||||||
tar xf rofi-$rofi_tag.tar.gz
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd rofi-$rofi_tag || exit 1
|
|
||||||
|
|
||||||
# Proceed with the installation steps
|
|
||||||
if meson setup build && ninja -C build ; then
|
|
||||||
if sudo ninja -C build install 2>&1 | tee -a "$MLOG"; then
|
|
||||||
printf "${OK} rofi-wayland installed successfully.\n" 2>&1 | tee -a "$MLOG"
|
|
||||||
else
|
|
||||||
echo -e "${ERROR} Installation failed for ${YELLOW}rofi-wayland $rofi_tag${RESET}" 2>&1 | tee -a "$MLOG"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo -e "${ERROR} Meson setup or ninja build failed for ${YELLOW}rofi-wayland $rofi_tag${RESET}" 2>&1 | tee -a "$MLOG"
|
echo "${NOTE} DRY RUN: Would install rofi and rofi-dev from APT (Wayland-capable rofi 2.0.0)."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Move logs to Install-Logs directory
|
|
||||||
mv "$MLOG" ../Install-Logs/ || true
|
|
||||||
cd .. || exit 1
|
|
||||||
|
|
||||||
# clean up
|
|
||||||
rm -rf rofi-$rofi_tag.tar.gz
|
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
|
|||||||
139
install.sh
139
install.sh
@ -101,6 +101,118 @@ if is_ubuntu; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Ensure sid repo and pinning are configured for Hyprland-related packages
|
||||||
|
ensure_sid_repo_and_pinning() {
|
||||||
|
# Add sid source if not present
|
||||||
|
if [ ! -f /etc/apt/sources.list.d/sid.list ]; then
|
||||||
|
echo "${NOTE} Adding Debian sid repository (low priority by default)" | tee -a "$LOG"
|
||||||
|
echo "deb http://deb.debian.org/debian sid main contrib non-free non-free-firmware" | sudo tee /etc/apt/sources.list.d/sid.list >/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Global low priority for sid
|
||||||
|
if [ ! -f /etc/apt/preferences.d/99-sid-low.pref ]; then
|
||||||
|
echo "${NOTE} Creating global low-priority pin for sid (Pin-Priority: 50)" | tee -a "$LOG"
|
||||||
|
sudo tee /etc/apt/preferences.d/99-sid-low.pref >/dev/null <<'EOF'
|
||||||
|
Package: *
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 50
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prefer sid/testing for specific Hyprland-related libraries and tools
|
||||||
|
if [ ! -f /etc/apt/preferences.d/90-hyprland-sid.pref ]; then
|
||||||
|
echo "${NOTE} Creating Hyprland-specific pinning for sid/testing libs" | tee -a "$LOG"
|
||||||
|
sudo tee /etc/apt/preferences.d/90-hyprland-sid.pref >/dev/null <<'EOF'
|
||||||
|
Package: wlroots
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libwlroots-*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: wayland-protocols
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: xwayland
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libdisplay-info*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libgulkan*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: vulkan-utility-libraries-dev
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: vulkan-validationlayers
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libre2-*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libudis86*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libxcb-errors*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libtomlplusplus*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libhyprcursor*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libhyprlang*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libhyprgraphics*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: libhyprutils*
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: hyprwayland-scanner
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: hyprland
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: hyprland-dev
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: hyprland-backgrounds
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
|
||||||
|
Package: qml6-module-org-hyprland-style
|
||||||
|
Pin: release a=sid
|
||||||
|
Pin-Priority: 990
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${NOTE} Updating APT package lists (including sid metadata)" | tee -a "$LOG"
|
||||||
|
sudo apt update | tee -a "$LOG"
|
||||||
|
}
|
||||||
|
|
||||||
# install whiptails if detected not installed. Necessary for this version
|
# install whiptails if detected not installed. Necessary for this version
|
||||||
if ! command -v whiptail >/dev/null; then
|
if ! command -v whiptail >/dev/null; then
|
||||||
echo "${NOTE} - whiptail is not installed. Installing..." | tee -a "$LOG"
|
echo "${NOTE} - whiptail is not installed. Installing..." | tee -a "$LOG"
|
||||||
@ -108,6 +220,9 @@ if ! command -v whiptail >/dev/null; then
|
|||||||
printf "\n%.0s" {1..1}
|
printf "\n%.0s" {1..1}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Ensure sid repo/pinning before we start pulling Hyprland ecosystem packages
|
||||||
|
ensure_sid_repo_and_pinning
|
||||||
|
|
||||||
printf "\n%.0s" {1..2}
|
printf "\n%.0s" {1..2}
|
||||||
echo -e "\e[35m
|
echo -e "\e[35m
|
||||||
╦╔═┌─┐┌─┐╦ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐
|
╦╔═┌─┐┌─┐╦ ╦ ╦┬ ┬┌─┐┬─┐┬ ┌─┐┌┐┌┌┬┐
|
||||||
@ -147,6 +262,27 @@ fi
|
|||||||
# Path to the install-scripts directory
|
# Path to the install-scripts directory
|
||||||
script_directory=install-scripts
|
script_directory=install-scripts
|
||||||
|
|
||||||
|
# Install core Hyprland stack from Debian packages by default (Hyprland 0.51.1 and ecosystem)
|
||||||
|
install_debian_hyprland_stack() {
|
||||||
|
echo "${NOTE} Installing Debian Hyprland stack (0.51.1+ds-1 and related tools) ..." | tee -a "$LOG"
|
||||||
|
sudo apt install -y \
|
||||||
|
hyprland/sid \
|
||||||
|
hyprland-dev/sid \
|
||||||
|
hyprland-backgrounds/sid \
|
||||||
|
qml6-module-org-hyprland-style/sid \
|
||||||
|
hypridle \
|
||||||
|
hyprlock \
|
||||||
|
hyprpaper \
|
||||||
|
hyprpicker \
|
||||||
|
hyprland-protocols \
|
||||||
|
xdg-desktop-portal-hyprland \
|
||||||
|
rofi \
|
||||||
|
rofi-dev || {
|
||||||
|
echo "${ERROR} Failed to install Debian Hyprland stack. Please check your APT configuration." | tee -a "$LOG"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Function to execute a script if it exists and make it executable
|
# Function to execute a script if it exists and make it executable
|
||||||
execute_script() {
|
execute_script() {
|
||||||
local script="$1"
|
local script="$1"
|
||||||
@ -163,6 +299,9 @@ execute_script() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Immediately install the Debian Hyprland stack; source builds remain available via individual scripts if needed
|
||||||
|
install_debian_hyprland_stack
|
||||||
|
|
||||||
# Load centralized Hyprland stack tags if present and export for child scripts
|
# Load centralized Hyprland stack tags if present and export for child scripts
|
||||||
if [ -f "./hypr-tags.env" ]; then
|
if [ -f "./hypr-tags.env" ]; then
|
||||||
# shellcheck disable=SC1091
|
# shellcheck disable=SC1091
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user