initial commit
This commit is contained in:
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env bash
|
||||
# Stage 10 — install everything available from the official repositories.
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
||||
|
||||
log "Installing official packages"
|
||||
|
||||
require_arch
|
||||
require_not_root
|
||||
require_sudo
|
||||
|
||||
mapfile -t PKGS < <(read_pkg_list "$PACKAGES_DIR/pacman.txt")
|
||||
[[ ${#PKGS[@]} -gt 0 ]] || die "pacman.txt yielded no packages"
|
||||
|
||||
# Split into "already installed" and "to install" so re-runs are quiet.
|
||||
TO_INSTALL=()
|
||||
for p in "${PKGS[@]}"; do
|
||||
if pacman -Qq "$p" >/dev/null 2>&1; then
|
||||
continue
|
||||
fi
|
||||
TO_INSTALL+=("$p")
|
||||
done
|
||||
|
||||
if [[ ${#TO_INSTALL[@]} -eq 0 ]]; then
|
||||
ok "all ${#PKGS[@]} packages already installed"
|
||||
else
|
||||
step "installing ${#TO_INSTALL[@]} of ${#PKGS[@]} packages"
|
||||
printf '%s %s%s\n' "$C_DIM" "${TO_INSTALL[*]}" "$C_RESET"
|
||||
# --needed keeps reinstalls off the table; failures on a single package
|
||||
# should not nuke the whole run, so retry one-by-one if the batch fails.
|
||||
if ! run sudo pacman -S --needed --noconfirm "${TO_INSTALL[@]}"; then
|
||||
warn "batch install failed — retrying package by package"
|
||||
for p in "${TO_INSTALL[@]}"; do
|
||||
run sudo pacman -S --needed --noconfirm "$p" || warn "could not install: $p"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
# --- GPU driver hint -------------------------------------------------------
|
||||
if lspci 2>/dev/null | grep -qi 'vga.*intel'; then
|
||||
step "Intel GPU detected — installing vulkan-intel"
|
||||
run sudo pacman -S --needed --noconfirm vulkan-intel intel-media-driver || true
|
||||
elif lspci 2>/dev/null | grep -qi 'vga.*amd\|vga.*ati'; then
|
||||
step "AMD GPU detected — installing vulkan-radeon"
|
||||
run sudo pacman -S --needed --noconfirm vulkan-radeon libva-mesa-driver || true
|
||||
elif lspci 2>/dev/null | grep -qi 'vga.*nvidia'; then
|
||||
warn "NVIDIA GPU detected — install 'nvidia' or 'nvidia-open' yourself; see README"
|
||||
fi
|
||||
|
||||
ok "official packages done"
|
||||
Reference in New Issue
Block a user