65 lines
1.9 KiB
Bash
Executable File

#!/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"
# Uncomment startup of ROG-Software
sed -i '20s/#//' config/hypr/configs/Execs.conf
clear