vitorpy's Dotfiles

Add Arch Linux package management setup

vitorpy 25f3aa5c 04a66ac8

+94
+69
private_dot_config/private_arch/executable_install-packages.sh
··· 1 + #!/bin/bash 2 + set -e 3 + 4 + PACKAGES_FILE="$HOME/.config/arch/packages.txt" 5 + 6 + echo "==> Installing Arch packages from $PACKAGES_FILE" 7 + 8 + # Install yay (AUR helper) if not present 9 + if ! command -v yay &> /dev/null; then 10 + echo "==> Installing yay AUR helper..." 11 + sudo pacman -S --needed base-devel git 12 + git clone https://aur.archlinux.org/yay.git /tmp/yay 13 + cd /tmp/yay && makepkg -si --noconfirm 14 + cd - 15 + fi 16 + 17 + # Parse package list and install 18 + pacman_packages=() 19 + aur_packages=() 20 + flatpak_packages=() 21 + 22 + while IFS='|' read -r package source; do 23 + # Skip comments and empty lines 24 + [[ "$package" =~ ^#.*$ ]] && continue 25 + [[ -z "$package" ]] && continue 26 + 27 + # Trim whitespace 28 + package=$(echo "$package" | xargs) 29 + source=$(echo "$source" | xargs) 30 + 31 + case "$source" in 32 + pacman) 33 + pacman_packages+=("$package") 34 + ;; 35 + aur) 36 + aur_packages+=("$package") 37 + ;; 38 + flatpak) 39 + flatpak_packages+=("$package") 40 + ;; 41 + esac 42 + done < "$PACKAGES_FILE" 43 + 44 + # Install pacman packages 45 + if [ ${#pacman_packages[@]} -gt 0 ]; then 46 + echo "==> Installing pacman packages: ${pacman_packages[*]}" 47 + sudo pacman -S --needed --noconfirm "${pacman_packages[@]}" 48 + fi 49 + 50 + # Install AUR packages 51 + if [ ${#aur_packages[@]} -gt 0 ]; then 52 + echo "==> Installing AUR packages: ${aur_packages[*]}" 53 + yay -S --needed --noconfirm "${aur_packages[@]}" 54 + fi 55 + 56 + # Install flatpak packages 57 + if [ ${#flatpak_packages[@]} -gt 0 ]; then 58 + if ! command -v flatpak &> /dev/null; then 59 + echo "==> Installing flatpak..." 60 + sudo pacman -S --needed --noconfirm flatpak 61 + fi 62 + 63 + echo "==> Installing flatpak packages: ${flatpak_packages[*]}" 64 + for pkg in "${flatpak_packages[@]}"; do 65 + flatpak install -y flathub "$pkg" 66 + done 67 + fi 68 + 69 + echo "==> All packages installed successfully!"
+25
private_dot_config/private_arch/packages.txt
··· 1 + # Arch Linux Package List 2 + # Format: package-name | source (pacman/aur/flatpak) 3 + 4 + # Core system 5 + firefox | pacman 6 + fish | pacman 7 + starship | pacman 8 + neovim | pacman 9 + git | pacman 10 + chezmoi | pacman 11 + hyprland | pacman 12 + bitwarden-cli | aur 13 + 14 + # Development 15 + vscodium-bin | aur 16 + claude-code | aur 17 + codex-cli | aur 18 + 19 + # Communication & Productivity 20 + slack-desktop | aur 21 + tutanota-desktop | flatpak 22 + 23 + # Utilities 24 + imagemagick | pacman 25 + wl-clipboard | pacman