kde/setup.sh: pasos no críticos no abortan la instalación completa

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Josevi
2026-09-20 23:01:17 +02:00
co-authored by Claude Sonnet 5
parent a8b4e3f51d
commit f86e424491
2 changed files with 41 additions and 16 deletions
+26 -15
View File
@@ -85,20 +85,21 @@ install_aur "${AUR_COMMON[@]}" \
plasma6-themes-layan-git tela-icon-theme layan-cursor-theme-git \ plasma6-themes-layan-git tela-icon-theme layan-cursor-theme-git \
plasma6-applets-appgrid plasma6-wallpapers-smart-video-wallpaper-reborn pamac-tray-plasma-git \ plasma6-applets-appgrid plasma6-wallpapers-smart-video-wallpaper-reborn pamac-tray-plasma-git \
yin-yang kwin-decoration-sierra-breeze-enhanced-git yin-yang kwin-decoration-sierra-breeze-enhanced-git
install_helpwire run_optional "install_helpwire" install_helpwire
install_claude_code run_optional "install_claude_code" install_claude_code
echo ">> Instalando Flatpaks comunes..." run_optional "install_flatpaks" install_flatpaks "${FLATPAK_COMMON[@]}"
install_flatpaks "${FLATPAK_COMMON[@]}"
echo ">> Servicios..." enable_services() {
systemctl enable sddm systemctl enable sddm
systemctl enable NetworkManager systemctl enable NetworkManager
systemctl enable bluetooth systemctl enable bluetooth
systemctl enable "syncthing@$INSTALL_USER.service" systemctl enable "syncthing@$INSTALL_USER.service"
systemctl enable tailscaled systemctl enable tailscaled
systemctl enable power-profiles-daemon systemctl enable power-profiles-daemon
systemctl enable cpupower systemctl enable cpupower
}
run_optional "enable_services" enable_services
# Tema: Layan (global theme) + iconos Tela + cursores Bibata-Modern-Classic # Tema: Layan (global theme) + iconos Tela + cursores Bibata-Modern-Classic
# (bibata-cursor-theme-bin en AUR_COMMON), vía AUR (plasma6-themes-layan-git/ # (bibata-cursor-theme-bin en AUR_COMMON), vía AUR (plasma6-themes-layan-git/
@@ -114,11 +115,14 @@ systemctl enable cpupower
echo ">> chezmoi init --apply (repo arch-configs)..." echo ">> chezmoi init --apply (repo arch-configs)..."
REMOTE="$GITEA/arch-configs.git" REMOTE="$GITEA/arch-configs.git"
[[ -n "${GITEA_TOKEN:-}" ]] && REMOTE="https://$INSTALL_USER:$GITEA_TOKEN@gitea.josevi.ovh/josevi/arch-configs.git" [[ -n "${GITEA_TOKEN:-}" ]] && REMOTE="https://$INSTALL_USER:$GITEA_TOKEN@gitea.josevi.ovh/josevi/arch-configs.git"
as_user "export GIT_NAME='$GIT_NAME' GIT_EMAIL='$GIT_EMAIL'; \ chezmoi_init_apply() {
as_user "export GIT_NAME='$GIT_NAME' GIT_EMAIL='$GIT_EMAIL'; \
chezmoi init --apply '$REMOTE'" chezmoi init --apply '$REMOTE'"
}
run_optional "chezmoi init --apply" chezmoi_init_apply
# --- pkgsync: sincronización de paquetes (repo arch-setup) ----------------- # --- pkgsync: sincronización de paquetes (repo arch-setup) -----------------
install_pkgsync run_optional "install_pkgsync" install_pkgsync
# Snapper AL FINAL, no tras install_bootloader: snap-pac crea un snapshot # Snapper AL FINAL, no tras install_bootloader: snap-pac crea un snapshot
# pre+post por cada transacción de pacman/paru en cuanto existe el config de # pre+post por cada transacción de pacman/paru en cuanto existe el config de
@@ -132,7 +136,14 @@ install_pkgsync
# un 'pacman -Syu' real ya con el sistema arrancado, que es para lo que existe # un 'pacman -Syu' real ya con el sistema arrancado, que es para lo que existe
# el rollback. # el rollback.
echo ">> Configurando rollback de actualizaciones (snapper)..." echo ">> Configurando rollback de actualizaciones (snapper)..."
configure_btrfs_rollback run_optional "configure_btrfs_rollback" configure_btrfs_rollback
rm -f /etc/sudoers.d/99-setup-nopasswd rm -f /etc/sudoers.d/99-setup-nopasswd
if ((${#FAILED_STEPS[@]})); then
echo
echo "⚠️ Instalación completada con avisos. Pasos que fallaron y necesitan revisión manual:"
printf ' - %s\n' "${FAILED_STEPS[@]}"
fi
echo ">> Configuración de KDE completada." echo ">> Configuración de KDE completada."
+14
View File
@@ -104,6 +104,20 @@ AUR_COMMON=(
) )
# --- helpers usados por los setup.sh -------------------------------------- # --- helpers usados por los setup.sh --------------------------------------
# Ejecuta un paso NO crítico: si falla, lo registra en FAILED_STEPS y
# CONTINÚA en vez de abortar todo el script (set -e no debe tirar una
# instalación de 1h por un mirror caído o un D-Bus que falta en el chroot).
FAILED_STEPS=()
run_optional() {
local desc="$1"; shift
echo ">> $desc"
if ! "$@"; then
FAILED_STEPS+=("$desc")
echo "!! Falló (no crítico, revisa a mano luego): $desc" >&2
fi
}
install_pacman() { pacman -S --needed --noconfirm "$@"; } install_pacman() { pacman -S --needed --noconfirm "$@"; }
# paru se construye como usuario normal (makepkg no corre como root). # paru se construye como usuario normal (makepkg no corre como root).