#!/bin/bash ############## WARNING: DO NOT EDIT BEYOND THIS LINE IF YOU DON'T KNOW WHAT YOU'RE 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 # Set some colors for output messages OK="$(tput setaf 2)[OK]$(tput sgr0)" ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)" NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)" WARN="$(tput setaf 166)[WARN]$(tput sgr0)" CAT="$(tput setaf 6)[ACTION]$(tput sgr0)" ORANGE=$(tput setaf 166) YELLOW=$(tput setaf 3) RESET=$(tput sgr0) # Set the name of the log file to include the current date and time LOG="install-$(date +'%d-%H%M%S')_rog.log" # Function to handle the installation and log messages install_and_log() { local project_name="$1" local git_url="$2" printf "${NOTE} Installing $project_name\n" if git clone "$git_url" "$project_name"; then cd "$project_name" || exit 1 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 2>&1 | tee -a "$LOG" source "$HOME/.cargo/env" make if sudo make install 2>&1 | tee -a "$LOG"; then printf "${OK} $project_name installed successfully.\n" if [ "$project_name" == "supergfxctl" ]; then # Enable supergfxctl sudo systemctl enable --now supergfxd 2>&1 | tee -a "$LOG" fi else echo -e "${ERROR} Installation failed for $project_name." fi # Return to the previous directory cd - || exit 1 else echo -e "${ERROR} Cloning $project_name from $git_url failed." fi } # Download and build asusctl install_and_log "asusctl" "https://gitlab.com/asus-linux/asusctl.git" # Download and build supergfxctl install_and_log "supergfxctl" "https://gitlab.com/asus-linux/supergfxctl.git" clear