diff --git a/install-scripts/Global_functions.sh b/install-scripts/Global_functions.sh index f972314..b9af393 100755 --- a/install-scripts/Global_functions.sh +++ b/install-scripts/Global_functions.sh @@ -28,6 +28,8 @@ fi # Shared build output root (override with BUILD_ROOT env) BUILD_ROOT="${BUILD_ROOT:-$PWD/build}" mkdir -p "$BUILD_ROOT" +SRC_ROOT="${SRC_ROOT:-$BUILD_ROOT/src}" +mkdir -p "$SRC_ROOT" # Show progress function show_progress() { diff --git a/install-scripts/ags.sh b/install-scripts/ags.sh index 8cc3417..6cf7f62 100755 --- a/install-scripts/ags.sh +++ b/install-scripts/ags.sh @@ -95,8 +95,9 @@ sudo npm install --global typescript 2>&1 | tee -a "$LOG" # ags v1 printf "${NOTE} Install and Compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}..\n" -# Remove previous sources (both legacy "ags" and tagged "ags_v1.9.0") -for SRC_DIR in "ags" "ags_v1.9.0"; do +# Remove previous sources (both legacy "ags" and tagged "ags_v1.9.0") under build/src +for OLD in "ags" "ags_v1.9.0"; do + SRC_DIR="$SRC_ROOT/$OLD" if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing %s directory...\\n" "$SRC_DIR" rm -rf "$SRC_DIR" @@ -107,8 +108,9 @@ printf "\n%.0s" {1..1} printf "${INFO} Kindly Standby...cloning and compiling ${SKY_BLUE}Aylur's GTK shell $ags_tag${RESET}...\n" printf "\n%.0s" {1..1} # Clone repository with the specified tag and capture git output into MLOG -if git clone --depth=1 https://github.com/JaKooLit/ags_v1.9.0.git; then - cd ags_v1.9.0 || exit 1 +SRC_DIR="$SRC_ROOT/ags_v1.9.0" +if git clone --depth=1 https://github.com/JaKooLit/ags_v1.9.0.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/ags_v1.9.0" mkdir -p "$BUILD_DIR" npm install @@ -205,11 +207,11 @@ WRAP echo -e "\n${ERROR} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Installation failed\n " 2>&1 | tee -a "$MLOG" fi # Move logs to Install-Logs directory - mv "$MLOG" ../Install-Logs/ || true + mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "\n${ERROR} Failed to download ${YELLOW}Aylur's GTK shell $ags_tag${RESET} Please check your connection\n" 2>&1 | tee -a "$LOG" - mv "$MLOG" ../Install-Logs/ || true + mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true exit 1 fi diff --git a/install-scripts/aquamarine.sh b/install-scripts/aquamarine.sh index c9b004f..a23ab37 100755 --- a/install-scripts/aquamarine.sh +++ b/install-scripts/aquamarine.sh @@ -41,15 +41,16 @@ 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" +# Check if aquamarinedirectory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/aquamarine" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b "$tag" https://github.com/hyprwm/aquamarine.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/aquamarine" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR" @@ -64,7 +65,7 @@ if git clone --recursive -b "$tag" https://github.com/hyprwm/aquamarine.git; the echo "${NOTE} DRY RUN: Skipping installation of aquamarine $tag." fi #moving the addional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}aquamarine $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/dotfiles-branch.sh b/install-scripts/dotfiles-branch.sh index 070fd7a..56ea44b 100755 --- a/install-scripts/dotfiles-branch.sh +++ b/install-scripts/dotfiles-branch.sh @@ -24,15 +24,16 @@ fi # Check if Hyprland-Dots exists printf "${NOTE} Cloning and Installing ${SKY_BLUE}KooL's Hyprland Dots for Debian${RESET}....\n" -# Check if Hyprland-Dots exists -if [ -d Hyprland-Dots-Debian ]; then - cd Hyprland-Dots-Debian +# Check if Hyprland-Dots exists (under build/src) +SRC_DIR="$SRC_ROOT/Hyprland-Dots-Debian" +if [ -d "$SRC_DIR" ]; then + cd "$SRC_DIR" git stash && git pull chmod +x copy.sh ./copy.sh else - if git clone --depth=1 https://github.com/JaKooLit/Hyprland-Dots Hyprland-Dots-Debian; then - cd Hyprland-Dots-Debian || exit 1 + if git clone --depth=1 https://github.com/JaKooLit/Hyprland-Dots "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 chmod +x copy.sh ./copy.sh else diff --git a/install-scripts/gtk_themes.sh b/install-scripts/gtk_themes.sh index e7cc6fd..9c1fbc4 100755 --- a/install-scripts/gtk_themes.sh +++ b/install-scripts/gtk_themes.sh @@ -29,18 +29,19 @@ for PKG1 in "${engine[@]}"; do install_package "$PKG1" "$LOG" done -# Check if the directory exists and delete it if present -if [ -d "GTK-themes-icons" ]; then +# Check if the directory exists and delete it if present (under build/src) +SRC_DIR="$SRC_ROOT/GTK-themes-icons" +if [ -d "$SRC_DIR" ]; then echo "$NOTE GTK themes and Icons directory exist..deleting..." 2>&1 | tee -a "$LOG" - rm -rf "GTK-themes-icons" 2>&1 | tee -a "$LOG" + rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG" fi echo "$NOTE Cloning ${SKY_BLUE}GTK themes and Icons${RESET} repository..." 2>&1 | tee -a "$LOG" -if git clone --depth=1 https://github.com/JaKooLit/GTK-themes-icons.git ; then - cd GTK-themes-icons +if git clone --depth=1 https://github.com/JaKooLit/GTK-themes-icons.git "$SRC_DIR"; then + cd "$SRC_DIR" chmod +x auto-extract.sh ./auto-extract.sh - cd .. + cd "$PARENT_DIR" echo "$OK Extracted GTK Themes & Icons to ~/.icons & ~/.themes directories" 2>&1 | tee -a "$LOG" else echo "$ERROR Download failed for GTK themes and Icons.." 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprcursor.sh b/install-scripts/hyprcursor.sh index fabc86c..c2bd291 100755 --- a/install-scripts/hyprcursor.sh +++ b/install-scripts/hyprcursor.sh @@ -45,16 +45,17 @@ for PKG1 in "${cursor[@]}"; do fi done -# Check if hyprcursor folder exists and remove it -if [ -d "hyprcursor" ]; then +# Check if hyprcursor folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprcursor" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing hyprcursor folder...\n" - rm -rf "hyprcursor" + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprcursor.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprcursor" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR" @@ -65,7 +66,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprcursor.git; then 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 + mv $MLOG "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for hyprcursor." 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprgraphics.sh b/install-scripts/hyprgraphics.sh index 25d9ba8..cede489 100755 --- a/install-scripts/hyprgraphics.sh +++ b/install-scripts/hyprgraphics.sh @@ -53,15 +53,16 @@ for PKG1 in "${hyprgraphics[@]}"; do done printf "\n%.0s" {1..1} -# Check if hyprgraphics directory exists and remove it -if [ -d "hyprgraphics" ]; then - rm -rf "hyprgraphics" +# Check if hyprgraphics directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprgraphics" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprgraphics" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR" @@ -76,7 +77,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprgraphics.git; the echo "${NOTE} DRY RUN: Skipping installation of hyprgraphics $tag." fi #moving the addional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hyprgraphics $graphics${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hypridle.sh b/install-scripts/hypridle.sh index 8756b2b..f5670b5 100755 --- a/install-scripts/hypridle.sh +++ b/install-scripts/hypridle.sh @@ -37,15 +37,16 @@ for PKG1 in "${idle[@]}"; do fi done -# Check if hypridle directory exists and remove it -if [ -d "hypridle" ]; then - rm -rf "hypridle" +# Check if hypridle directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hypridle" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" fi # Clone and build 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hypridle.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hypridle" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B "$BUILD_DIR" @@ -56,7 +57,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hypridle.git; then 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 + mv $MLOG "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hypridle $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprland-guiutils.sh b/install-scripts/hyprland-guiutils.sh index e25457d..1f179de 100755 --- a/install-scripts/hyprland-guiutils.sh +++ b/install-scripts/hyprland-guiutils.sh @@ -63,15 +63,16 @@ done printf "\n%.0s" {1..1} -# Check if hyprland-guiutils directory exists and remove it -if [ -d "hyprland-guiutils" ]; then - rm -rf "hyprland-guiutils" +# Check if hyprland-guiutils directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprland-guiutils" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" fi # Clone and build printf "${INFO} Installing ${YELLOW}hyprland-guiutils $tag${RESET} ...\n" -if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git; then - cd hyprland-guiutils || exit 1 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 # Prefer /usr/local Hypr* libs so we don't accidentally link against copies in /lib. export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:${PKG_CONFIG_PATH:-}" export CMAKE_PREFIX_PATH="/usr/local:${CMAKE_PREFIX_PATH:-}" @@ -93,7 +94,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-guiutils.git echo "${NOTE} DRY RUN: Skipping installation of hyprland-guiutils $tag." fi #moving the addional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hyprland-guiutils $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprland-protocols.sh b/install-scripts/hyprland-protocols.sh index 96b708a..09fa660 100755 --- a/install-scripts/hyprland-protocols.sh +++ b/install-scripts/hyprland-protocols.sh @@ -41,15 +41,16 @@ 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" +# Check if hyprland-protocols directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprland-protocols" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-protocols.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprland-protocols" mkdir -p "$BUILD_DIR" meson setup "$BUILD_DIR" @@ -63,7 +64,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-protocols.gi echo "${NOTE} DRY RUN: Skipping installation of hyprland-protocols $tag." fi #moving the addional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hyprland-protocols tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprland-qt-support.sh b/install-scripts/hyprland-qt-support.sh index 7a7e84f..b7a15b5 100755 --- a/install-scripts/hyprland-qt-support.sh +++ b/install-scripts/hyprland-qt-support.sh @@ -61,15 +61,16 @@ 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" +# Check if hyprland-qt-support directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprland-qt-support" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprland-qt-support" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR" @@ -84,7 +85,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprland-qt-support.g echo "${NOTE} DRY RUN: Skipping installation of hyprland-qt-support $tag." fi #moving the addional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hyprland-qt-support $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprland.sh b/install-scripts/hyprland.sh index 6f00c4f..6236c7e 100755 --- a/install-scripts/hyprland.sh +++ b/install-scripts/hyprland.sh @@ -73,14 +73,15 @@ 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 +# Check if Hyprland folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/Hyprland" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing Hyprland folder...\n" - rm -rf "Hyprland" 2>&1 | tee -a "$LOG" + rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG" fi -if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland"; then - cd "Hyprland" || exit 1 +if git clone --recursive -b $tag "https://github.com/hyprwm/Hyprland" "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprland" mkdir -p "$BUILD_DIR" @@ -131,9 +132,9 @@ EOF fi # Apply patch only if it applies cleanly; otherwise skip - if [ -f ../assets/0001-fix-hyprland-compile-issue.patch ]; then - if patch -p1 --dry-run <../assets/0001-fix-hyprland-compile-issue.patch >/dev/null 2>&1; then - patch -p1 <../assets/0001-fix-hyprland-compile-issue.patch + if [ -f "$PARENT_DIR/assets/0001-fix-hyprland-compile-issue.patch" ]; then + if patch -p1 --dry-run <"$PARENT_DIR/assets/0001-fix-hyprland-compile-issue.patch" >/dev/null 2>&1; then + patch -p1 <"$PARENT_DIR/assets/0001-fix-hyprland-compile-issue.patch" else echo "${NOTE} Hyprland compile patch does not apply on $tag; skipping." fi @@ -295,7 +296,7 @@ EOF else echo "${NOTE} DRY RUN: Skipping installation of Hyprland $tag." fi - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}Hyprland $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprlang.sh b/install-scripts/hyprlang.sh index 35adaaa..1e1b1be 100755 --- a/install-scripts/hyprlang.sh +++ b/install-scripts/hyprlang.sh @@ -41,15 +41,16 @@ MLOG="install-$(date +%d-%H%M%S)_hyprlang2.log" # Installation of dependencies printf "\n%s - Installing ${YELLOW}hyprlang dependencies${RESET} .... \n" "${INFO}" -# Check if hyprlang directory exists and remove it -if [ -d "hyprlang" ]; then - rm -rf "hyprlang" +# Check if hyprlang directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprlang" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprlang" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR" @@ -64,7 +65,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprlang.git; then echo "${NOTE} DRY RUN: Skipping installation of hyprlang $tag." fi #moving the addional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hyprlang $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprlock.sh b/install-scripts/hyprlock.sh index a50e2d3..f51efa1 100755 --- a/install-scripts/hyprlock.sh +++ b/install-scripts/hyprlock.sh @@ -46,15 +46,16 @@ 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" +# Check if hyprlock directory exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprlock" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" fi # Clone and build hyprlock 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprlock.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprlock" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B "$BUILD_DIR" @@ -65,7 +66,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprlock.git; then 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 + mv $MLOG "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for ${YELLOW}hyprlock $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprpolkitagent.sh b/install-scripts/hyprpolkitagent.sh index 52b60c9..86adb29 100755 --- a/install-scripts/hyprpolkitagent.sh +++ b/install-scripts/hyprpolkitagent.sh @@ -43,16 +43,17 @@ for PKG1 in "${polkitagent[@]}"; do fi done -# Check if hyprpolkitagent folder exists and remove it -if [ -d "hyprpolkitagent" ]; then +# Check if hyprpolkitagent folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprpolkitagent" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing hyprpolkitagent folder...\n" - rm -rf "hyprpolkitagent" + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprpolkitagent.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprpolkitagent" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B "$BUILD_DIR" @@ -63,7 +64,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprpolkitagent.git; 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 + mv $MLOG "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for hyprpolkitagent." 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprtoolkit.sh b/install-scripts/hyprtoolkit.sh index 94ebf4a..65a9449 100755 --- a/install-scripts/hyprtoolkit.sh +++ b/install-scripts/hyprtoolkit.sh @@ -40,13 +40,14 @@ MLOG="install-$(date +%d-%H%M%S)_hyprtoolkit2.log" # Clone, build, and install using Cmake printf "${NOTE} Cloning hyprtoolkit...\n" -# Check if hyprtoolkit folder exists and remove it -if [ -d "hyprtoolkit" ]; then +# Check if hyprtoolkit folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprtoolkit" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing hyprtoolkit folder...\n" - rm -rf "hyprtoolkit" 2>&1 | tee -a "$LOG" + rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG" fi - -if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git"; then +if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git" "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 cd "hyprtoolkit" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprtoolkit" mkdir -p "$BUILD_DIR" @@ -61,7 +62,7 @@ if git clone -b $tag "https://github.com/hyprwm/hyprtoolkit.git"; then else echo "${NOTE} DRY RUN: Skipping installation of hyprtoolkit $tag." fi - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for hyprtoolkit" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprutils.sh b/install-scripts/hyprutils.sh index 6febaa9..eeb9183 100755 --- a/install-scripts/hyprutils.sh +++ b/install-scripts/hyprutils.sh @@ -43,14 +43,14 @@ 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 +# Check if hyprutils folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprutils" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing hyprutils folder...\n" - rm -rf "hyprutils" 2>&1 | tee -a "$LOG" + rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG" fi - -if git clone -b $tag "https://github.com/hyprwm/hyprutils.git"; then - cd "hyprutils" || exit 1 +if git clone -b $tag "https://github.com/hyprwm/hyprutils.git" "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprutils" mkdir -p "$BUILD_DIR" cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -S . -B "$BUILD_DIR" @@ -64,7 +64,7 @@ if git clone -b $tag "https://github.com/hyprwm/hyprutils.git"; then else echo "${NOTE} DRY RUN: Skipping installation of hyprutils $tag." fi - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for hyprutils" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprwayland-scanner.sh b/install-scripts/hyprwayland-scanner.sh index 47ad21e..afeb321 100755 --- a/install-scripts/hyprwayland-scanner.sh +++ b/install-scripts/hyprwayland-scanner.sh @@ -55,16 +55,17 @@ done printf "${NOTE} Installing hyprwayland-scanner...\n" -# Check if hyprwayland-scanner folder exists and remove it -if [ -d "hyprwayland-scanner" ]; then +# Check if hyprwayland-scanner folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/hyprwayland-scanner" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing hyprwayland-scanner folder...\n" - rm -rf "hyprwayland-scanner" + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprwayland-scanner" mkdir -p "$BUILD_DIR" cmake -DCMAKE_INSTALL_PREFIX=/usr -B "$BUILD_DIR" @@ -79,7 +80,7 @@ if git clone --recursive -b $tag https://github.com/hyprwm/hyprwayland-scanner.g 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/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for hyprwayland-scanner. Please check log." 2>&1 | tee -a "$LOG" diff --git a/install-scripts/hyprwire.sh b/install-scripts/hyprwire.sh index 6964c31..4d36443 100755 --- a/install-scripts/hyprwire.sh +++ b/install-scripts/hyprwire.sh @@ -61,15 +61,16 @@ MLOG="install-$(date +%d-%H%M%S)_hyprwire2.log" printf "${NOTE} Installing hyprwire $tag...\n" -# Remove existing tree if present -if [ -d "hyprwire" ]; then +# Remove existing tree if present (under build/src) +SRC_DIR="$SRC_ROOT/hyprwire" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing hyprwire folder...\n" - rm -rf "hyprwire" 2>&1 | tee -a "$LOG" + rm -rf "$SRC_DIR" 2>&1 | tee -a "$LOG" fi # Clone and build -if git clone --recursive -b "$tag" https://github.com/hyprwm/hyprwire.git; then - cd hyprwire || exit 1 +if git clone --recursive -b "$tag" https://github.com/hyprwm/hyprwire.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/hyprwire" mkdir -p "$BUILD_DIR" @@ -148,7 +149,7 @@ EOF else echo "${NOTE} DRY RUN: Skipping installation of hyprwire $tag." fi - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" cd .. else echo -e "${ERROR} Download failed for hyprwire $tag" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/quickshell.sh b/install-scripts/quickshell.sh index e4707a0..af0e66e 100755 --- a/install-scripts/quickshell.sh +++ b/install-scripts/quickshell.sh @@ -117,7 +117,7 @@ done # Build Google Breakpad from source if pkg-config 'breakpad' is missing if ! pkg-config --exists breakpad; then note "Building Google Breakpad from source..." - BP_DIR="$PARENT_DIR/.thirdparty/breakpad" + BP_DIR="$SRC_ROOT/breakpad" rm -rf "$BP_DIR" mkdir -p "$BP_DIR" ( @@ -166,7 +166,7 @@ PCEOF fi # Clone source (prefer upstream forgejo; mirror available at github:quickshell-mirror/quickshell) -SRC_DIR="quickshell-src" +SRC_DIR="$SRC_ROOT/quickshell-src" if [ -d "$SRC_DIR" ]; then note "Removing existing $SRC_DIR" rm -rf "$SRC_DIR" diff --git a/install-scripts/rofi-wayland.sh b/install-scripts/rofi-wayland.sh index e68c5fc..72b882e 100755 --- a/install-scripts/rofi-wayland.sh +++ b/install-scripts/rofi-wayland.sh @@ -68,21 +68,23 @@ 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" +# Check if rofi directory exists (under build/src) +SRC_DIR="$SRC_ROOT/rofi-$rofi_tag" +TAR_PATH="$SRC_ROOT/rofi-$rofi_tag.tar.gz" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" fi # cloning rofi-wayland printf "${NOTE} Downloading ${YELLOW}rofi-wayland $rofi_tag${RESET} from releases...\n" -wget $release_url +wget -O "$TAR_PATH" $release_url -if [ -f "rofi-$rofi_tag.tar.gz" ]; then +if [ -f "$TAR_PATH" ]; then printf "${OK} ${YELLOW}rofi-wayland $rofi_tag${RESET} downloaded successfully.\n" 2>&1 | tee -a "$LOG" - tar xf rofi-$rofi_tag.tar.gz + tar -C "$SRC_ROOT" -xf "$TAR_PATH" fi -cd rofi-$rofi_tag || exit 1 +cd "$SRC_DIR" || exit 1 # Proceed with the installation steps BUILD_DIR="$BUILD_ROOT/rofi-$rofi_tag" @@ -98,10 +100,10 @@ else fi # Move logs to Install-Logs directory -mv "$MLOG" ../Install-Logs/ || true +mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true cd .. || exit 1 # clean up -rm -rf rofi-$rofi_tag.tar.gz +rm -rf "$TAR_PATH" printf "\n%.0s" {1..2} diff --git a/install-scripts/rog.sh b/install-scripts/rog.sh index a629f9f..7e4230b 100755 --- a/install-scripts/rog.sh +++ b/install-scripts/rog.sh @@ -38,11 +38,13 @@ sudo systemctl enable power-profiles-daemon 2>&1 | tee -a "$LOG" install_and_log() { local project_name="$1" local git_url="$2" + local src_dir="$SRC_ROOT/$project_name" printf "${NOTE} Installing $project_name\n" - if git clone "$git_url" "$project_name"; then - cd "$project_name" || exit 1 + rm -rf "$src_dir" + if git clone "$git_url" "$src_dir"; then + cd "$src_dir" || exit 1 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2>&1 | tee -a "$LOG" source "$HOME/.cargo/env" make @@ -58,7 +60,7 @@ install_and_log() { fi #moving logs into main install-logs - mv $LOG ../Install-Logs/ || true + mv $LOG "$PARENT_DIR/Install-Logs/" || true cd - || exit 1 else echo -e "${ERROR} Cloning $project_name from $git_url failed." diff --git a/install-scripts/sddm_theme.sh b/install-scripts/sddm_theme.sh index 2ac2070..4c2ed24 100755 --- a/install-scripts/sddm_theme.sh +++ b/install-scripts/sddm_theme.sh @@ -31,15 +31,16 @@ if [ -d "/usr/share/sddm/themes/$theme_name" ]; then echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory." 2>&1 | tee -a "$LOG" fi -# Check if $theme_name directory exists in the current directory and remove if it does -if [ -d "$theme_name" ]; then - rm -rf "$theme_name" +# Check if $theme_name directory exists in build/src and remove if it does +SRC_DIR="$SRC_ROOT/$theme_name" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" echo -e "\e[1A\e[K${OK} - Removed existing $theme_name directory from the current location." 2>&1 | tee -a "$LOG" fi # Clone the repository -if git clone --depth=1 "$source_theme" "$theme_name"; then - if [ ! -d "$theme_name" ]; then +if git clone --depth=1 "$source_theme" "$SRC_DIR"; then + if [ ! -d "$SRC_DIR" ]; then echo "${ERROR} Failed to clone the repository." | tee -a "$LOG" fi @@ -50,7 +51,7 @@ if git clone --depth=1 "$source_theme" "$theme_name"; then fi # Move cloned theme to the themes directory - sudo mv "$theme_name" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG" + sudo mv "$SRC_DIR" "/usr/share/sddm/themes/$theme_name" 2>&1 | tee -a "$LOG" # setting up SDDM theme sddm_conf="/etc/sddm.conf" diff --git a/install-scripts/swww.sh b/install-scripts/swww.sh index f07b6f8..6113d8b 100755 --- a/install-scripts/swww.sh +++ b/install-scripts/swww.sh @@ -49,13 +49,14 @@ done printf "\n%.0s" {1..2} -# Check if swww directory exists -if [ -d "swww" ]; then - cd swww || exit 1 +# Check if swww directory exists (under build/src) +SRC_DIR="$SRC_ROOT/swww" +if [ -d "$SRC_DIR" ]; then + cd "$SRC_DIR" || exit 1 git pull origin main 2>&1 | tee -a "$MLOG" else - if git clone --recursive -b $swww_tag https://github.com/LGFae/swww.git; then - cd swww || exit 1 + if git clone --recursive -b $swww_tag https://github.com/LGFae/swww.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 else echo -e "${ERROR} Download failed for ${YELLOW}swww $swww_tag${RESET}" 2>&1 | tee -a "$LOG" exit 1 @@ -94,7 +95,7 @@ sudo mkdir -p /usr/share/zsh/site-functions 2>&1 | tee -a "$MLOG" sudo cp -r completions/_swww /usr/share/zsh/site-functions/_swww 2>&1 | tee -a "$MLOG" # Moving logs into main Install-Logs -mv "$MLOG" ../Install-Logs/ || true +mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true cd - || exit 1 printf "\n%.0s" {1..2} diff --git a/install-scripts/wayland-protocols-src.sh b/install-scripts/wayland-protocols-src.sh index 9f201b8..c20c40e 100755 --- a/install-scripts/wayland-protocols-src.sh +++ b/install-scripts/wayland-protocols-src.sh @@ -39,17 +39,18 @@ MLOG="install-$(date +%d-%H%M%S)_wayland-protocols2.log" printf "\n%s - Installing ${YELLOW}wayland-protocols (from source)${RESET} .... \n" "${INFO}" -# Clean previous clone -if [ -d "wayland-protocols" ]; then - rm -rf "wayland-protocols" +# Clean previous clone (under build/src) +SRC_DIR="$SRC_ROOT/wayland-protocols" +if [ -d "$SRC_DIR" ]; then + rm -rf "$SRC_DIR" fi # Clone and build (meson) # Upstream: https://gitlab.freedesktop.org/wayland/wayland-protocols.git printf "${INFO} Installing ${YELLOW}wayland-protocols $tag${RESET} ...\n" repo_url="https://gitlab.freedesktop.org/wayland/wayland-protocols.git" -if git clone --depth=1 --filter=blob:none "$repo_url" wayland-protocols; then - cd wayland-protocols || exit 1 +if git clone --depth=1 --filter=blob:none "$repo_url" "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 # Fetch tags and attempt to checkout the requested tag, trying both raw and v-prefixed git fetch --tags --depth=1 >/dev/null 2>&1 || true checked_out=0 @@ -81,7 +82,7 @@ if git clone --depth=1 --filter=blob:none "$repo_url" wayland-protocols; then echo "${NOTE} DRY RUN: Skipping installation of wayland-protocols $tag." fi # Move additional logs to Install-Logs directory if they exist - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ || true + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for ${YELLOW}wayland-protocols $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/xdph.sh b/install-scripts/xdph.sh index 5d68d36..0777666 100755 --- a/install-scripts/xdph.sh +++ b/install-scripts/xdph.sh @@ -48,14 +48,15 @@ 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 +# Check if xdg-desktop-portal-hyprland folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/xdg-desktop-portal-hyprland" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing xdg-desktop-portal-hyprland folder...\n" - rm -rf "xdg-desktop-portal-hyprland" 2>&1 | tee -a "$LOG" + rm -rf "$SRC_DIR" 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 +if git clone --recursive -b $tag "https://github.com/hyprwm/xdg-desktop-portal-hyprland.git" "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/xdg-desktop-portal-hyprland" mkdir -p "$BUILD_DIR" cmake -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib -DCMAKE_INSTALL_PREFIX=/usr -B "$BUILD_DIR" @@ -66,7 +67,7 @@ if git clone --recursive -b $tag "https://github.com/hyprwm/xdg-desktop-portal-h echo -e "${ERROR} Installation failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$MLOG" fi # Move the additional logs to Install-Logs directory - [ -f "$MLOG" ] && mv "$MLOG" ../Install-Logs/ || true + [ -f "$MLOG" ] && mv "$MLOG" "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for ${YELLOW}xdph $tag${RESET}" 2>&1 | tee -a "$LOG" diff --git a/install-scripts/xkbcommon.sh b/install-scripts/xkbcommon.sh index 8577f19..398808f 100755 --- a/install-scripts/xkbcommon.sh +++ b/install-scripts/xkbcommon.sh @@ -40,16 +40,17 @@ for PKG1 in "${xkbcommon[@]}"; do fi done -# Check if xkbcommon folder exists and remove it -if [ -d "libxkbcommon" ]; then +# Check if xkbcommon folder exists and remove it (under build/src) +SRC_DIR="$SRC_ROOT/libxkbcommon" +if [ -d "$SRC_DIR" ]; then printf "${NOTE} Removing existing libxkbcommon folder...\n" - rm -rf "libxkbcommon" + rm -rf "$SRC_DIR" fi # Clone and build printf "${NOTE} Installing xkbcommon...\n" -if git clone --recursive -b $tag https://github.com/xkbcommon/libxkbcommon.git; then - cd libxkbcommon || exit 1 +if git clone --recursive -b $tag https://github.com/xkbcommon/libxkbcommon.git "$SRC_DIR"; then + cd "$SRC_DIR" || exit 1 BUILD_DIR="$BUILD_ROOT/libxkbcommon" mkdir -p "$BUILD_DIR" meson setup "$BUILD_DIR" --libdir=/usr/local/lib @@ -60,7 +61,7 @@ if git clone --recursive -b $tag https://github.com/xkbcommon/libxkbcommon.git; echo -e "${ERROR} Installation failed for xkbcommon." 2>&1 | tee -a "$MLOG" fi #moving the addional logs to Install-Logs directory - mv $MLOG ../Install-Logs/ || true + mv $MLOG "$PARENT_DIR/Install-Logs/" || true cd .. else echo -e "${ERROR} Download failed for xkbcommon." 2>&1 | tee -a "$LOG" diff --git a/install-scripts/zsh_pokemon.sh b/install-scripts/zsh_pokemon.sh index d9f07fb..165083e 100755 --- a/install-scripts/zsh_pokemon.sh +++ b/install-scripts/zsh_pokemon.sh @@ -20,11 +20,12 @@ LOG="Install-Logs/install-$(date +%d-%H%M%S)_zsh_pokemon.log" printf "${INFO} Installing ${SKY_BLUE}Pokemon color scripts${RESET} ..." -if [ -d "pokemon-colorscripts" ]; then - cd pokemon-colorscripts && git pull && sudo ./install.sh && cd .. +SRC_DIR="$SRC_ROOT/pokemon-colorscripts" +if [ -d "$SRC_DIR" ]; then + cd "$SRC_DIR" && git pull && sudo ./install.sh && cd .. else - git clone --depth=1 https://gitlab.com/phoneybadger/pokemon-colorscripts.git && - cd pokemon-colorscripts && sudo ./install.sh && cd .. + git clone --depth=1 https://gitlab.com/phoneybadger/pokemon-colorscripts.git "$SRC_DIR" && + cd "$SRC_DIR" && sudo ./install.sh && cd .. fi # Check if ~/.zshrc exists