#!/bin/bash # Step 1: Create directories mkdir -p ~/.allpac/cache ~/.allpac/logs ~/.allpac/bin # Step 2: Check Go version go_version=$(go version 2>/dev/null) required_version="go1.21.5" if [[ "$go_version" != *"$required_version"* ]]; then echo "Required Go version is not installed." # Step 3: Ask for permission to install Go read -p "Do you want to install Go? [Y/n] " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then # For Arch Linux and Arch-based distributions sudo pacman -Sy go else echo "Go not installed. Exiting." exit 1 fi fi if ! command -v git &>/dev/null; then echo "Git is not installed." read -p "Do you want to install Git? [Y/n] " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then sudo pacman -S git else echo "Git not installed. Exiting." exit 1 fi fi # Clone the Go source code git clone https://git.pixelridgesoftworks.com/PixelRidge-Softworks/AllPac.git cd AllPac/cmd/ || exit go mod tidy go build -o ~/.allpac/bin/allpac shell_rc="" case $SHELL in */bash) shell_rc="$HOME/.bashrc" ;; */zsh) shell_rc="$HOME/.zshrc" ;; *) echo "Unsupported shell. Please manually add ~/.allpac/bin to your PATH." exit 1 ;; esac echo 'export PATH=$PATH:$HOME/.allpac/bin' >> "$shell_rc" source "$shell_rc" # Clean up cd ../../ rm -rf AllPac echo "AllPac setup complete."