Try: base.sh
#!/usr/bin/env bash
set -Eeuo pipefail
echo "==> Omarchy base packages (safe re-run mode)"
# Validar variable requerida
if [[ -z "${OMARCHY_INSTALL:-}" ]]; then
echo "ERROR: OMARCHY_INSTALL no está definido"
exit 1
fi
PKG_FILE="$OMARCHY_INSTALL/omarchy-base.packages"
if [[ ! -f "$PKG_FILE" ]]; then
echo "ERROR: No se encuentra $PKG_FILE"
exit 1
fi
# Leer lista de paquetes (ignorar comentarios y líneas vacías)
mapfile -t packages < <(
grep -v '^\s*#' "$PKG_FILE" | grep -v '^\s*$'
)
if (( ${#packages[@]} == 0 )); then
echo "==> No hay paquetes para instalar"
exit 0
fi
echo "==> Paquetes a procesar: ${#packages[@]}"
# Actualizar repositorios de forma segura
sudo pacman -Syu --noconfirm
echo "==> Instalando paquetes (idempotente, tolerante)"
sudo pacman -S \
--noconfirm \
--needed \
--overwrite '*' \
"${packages[@]}" || true
echo "==> Paso base completado correctamente"
exit 0