#!/bin/bash # Install build tools sudo pacman -Sy --needed --noconfirm base-devel # Ensure AUR is available while true; do if curl -s --connect-timeout 30 --head -A "omarchy-update" https://aur.archlinux.org >/dev/null && curl -sf -A "omarchy-update" "https://aur.archlinux.org/rpc/?v=5&type=info&arg=base" | jq -e '.type=="info"' >/dev/null; then break else echo -e "\n\e[31mAUR is unavailable. Retrying in 10 seconds...\e[0m" sleep 10 fi done # Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages if [[ "$(uname -m)" == "x86_64" ]] && [ -z "$DISABLE_CHAOTIC" ] && ! command -v yay &>/dev/null; then # Try installing Chaotic-AUR keyring and mirrorlist if ! pacman-key --list-keys 3056513887B78AEB >/dev/null 2>&1 && sudo pacman-key --recv-key 3056513887B78AEB && sudo pacman-key --lsign-key 3056513887B78AEB && sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst' && sudo pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'; then # Add Chaotic-AUR repo to pacman config if ! grep -q "chaotic-aur" /etc/pacman.conf; then echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null fi # Install yay directly from Chaotic-AUR sudo pacman -Sy --needed --noconfirm yay else echo "Failed to install Chaotic-AUR, so won't include it in pacman config!" fi fi # Manually install yay from AUR if not already available if ! command -v yay &>/dev/null; then cd /tmp rm -rf yay-bin git clone https://aur.archlinux.org/yay-bin.git cd yay-bin makepkg -si --noconfirm cd - rm -rf yay-bin cd ~ fi # Add fun and color and verbosity to the pacman installer if ! grep -q "ILoveCandy" /etc/pacman.conf; then sudo sed -i '/^\[options\]/a Color\nILoveCandy\nVerbosePkgLists' /etc/pacman.conf fi