Simplify and make it idempotent

This commit is contained in:
David Heinemeier Hansson
2025-07-26 15:52:00 -04:00
parent 42963368c0
commit 68a221e456

View File

@ -1,9 +1,7 @@
#!/bin/bash #!/bin/bash
chaotic_ok=0
# Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages # Only add Chaotic-AUR if the architecture is x86_64 so ARM users can build the packages
if [[ "$(uname -m)" == "x86_64" ]]; then if [[ "$(uname -m)" == "x86_64" ]] && ! command -v yay &>/dev/null; then
# Try installing Chaotic-AUR keyring and mirrorlist # Try installing Chaotic-AUR keyring and mirrorlist
if sudo pacman-key --recv-key 3056513887B78AEB && if sudo pacman-key --recv-key 3056513887B78AEB &&
sudo pacman-key --lsign-key 3056513887B78AEB && sudo pacman-key --lsign-key 3056513887B78AEB &&
@ -13,30 +11,25 @@ if [[ "$(uname -m)" == "x86_64" ]]; then
# Add Chaotic-AUR repo to pacman config # Add Chaotic-AUR repo to pacman config
echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null echo -e '\n[chaotic-aur]\nInclude = /etc/pacman.d/chaotic-mirrorlist' | sudo tee -a /etc/pacman.conf >/dev/null
# Refresh pacman package databases # Install yay directly from Chaotic-AUR
sudo pacman -Sy sudo pacman -Sy --needed --noconfirm yay
chaotic_ok=1
else else
echo "Failed to install Chaotic-AUR, so won't include it in pacman config!" echo "Failed to install Chaotic-AUR, so won't include it in pacman config!"
fi fi
fi fi
if [[ $chaotic_ok -eq 1 ]]; then # Manually install yay from AUR if not already available
sudo pacman -S --needed --noconfirm yay if ! command -v yay &>/dev/null; then
else # Install build tools
# Manually install yay from AUR if not already available sudo pacman -Sy --needed --noconfirm base-devel
if ! command -v yay &>/dev/null; then cd /tmp
# Install build tools rm -rf yay-bin
sudo pacman -S --needed --noconfirm base-devel git clone https://aur.archlinux.org/yay-bin.git
cd /tmp cd yay-bin
git clone https://aur.archlinux.org/yay-bin.git makepkg -si --noconfirm
cd yay-bin cd -
makepkg -si --noconfirm rm -rf yay-bin
cd - cd ~
rm -rf yay-bin
cd ~
fi
fi fi
# Add fun and color to the pacman installer # Add fun and color to the pacman installer