#!/bin/bash # 💫 https://github.com/JaKooLit 💫 # # Aylur's GTK Shell v 1.9.0 # # for desktop overview # Check if AGS is installed if command -v ags &>/dev/null; then AGS_VERSION=$(ags -v | awk '{print $NF}') if [[ "$AGS_VERSION" == "1.9.0" ]]; then echo -e "${OK} ${MAGENTA}Aylur's GTK Shell v1.9.0${RESET} is already installed. Skipping installation." exit 0 fi fi ags=( node-typescript npm meson libgjs-dev gjs libgtk-layer-shell-dev libgtk-3-dev libpam0g-dev libpulse-dev libdbusmenu-gtk3-dev libsoup-3.0-dev ) # specific tags to download ags_tag="v1.9.0" ## 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" || exit 1 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)_ags.log" MLOG="install-$(date +%d-%H%M%S)_ags2.log" printf "\n%.0s" {1..1} # Installation of main components printf "\n%s - Installing ${BLUE}Aylur's GTK shell $ags_tag${RESET} Dependencies \n" "${NOTE}" # Installing ags Dependencies for PKG1 in "${ags[@]}"; do install_package "$PKG1" "$LOG" if [ $? -ne 0 ]; then echo -e "\033[1A\033[K${ERROR} - $PKG1 Package installation failed, Please check the installation logs" exit 1 fi done printf "\n%.0s" {1..1} # ags v1 printf "${NOTE} Install and Compiling ${BLUE}Aylur's GTK shell $ags_tag${RESET}..\n" # Check if folder exists and remove it if [ -d "ags" ]; then printf "${NOTE} Removing existing ags folder...\n" rm -rf "ags" fi printf "\n%.0s" {1..1} printf "${INFO} Kindly Standby...cloning and compiling ${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 --recursive -b "$ags_tag" --depth 1 https://github.com/Aylur/ags.git; then cd ags || exit 1 npm install meson setup build if sudo meson install -C build 2>&1 | tee -a "$MLOG"; then printf "\n${OK} ${YELLOW}Aylur's GTK shell $ags_tag${RESET} installed successfully.\n" 2>&1 | tee -a "$MLOG" else 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 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 exit 1 fi printf "\n%.0s" {1..2}