From 8d4a214fac08606f7c18119ecc361303e5c6f758 Mon Sep 17 00:00:00 2001 From: JaKooLit Date: Sat, 19 Jul 2025 01:17:36 +0900 Subject: [PATCH] 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