diff --git a/kde/setup.sh b/kde/setup.sh index 75c5b1c..143596b 100755 --- a/kde/setup.sh +++ b/kde/setup.sh @@ -60,6 +60,7 @@ install_pacman "${PACMAN_COMMON[@]}" \ plasma-desktop sddm plasma-pa plasma-nm powerdevil kscreen systemsettings \ kwallet-pam xdg-desktop-portal-kde breeze-gtk kde-gtk-config kvantum \ konsole dolphin kate ark spectacle kcalc gwenview okular \ + discover packagekit-qt6 \ adwaita-fonts \ mesa vulkan-icd-loader vulkan-radeon vulkan-intel intel-media-driver diff --git a/shared/packages-common.sh b/shared/packages-common.sh index 2069089..8c8a2b0 100755 --- a/shared/packages-common.sh +++ b/shared/packages-common.sh @@ -38,8 +38,15 @@ AUR_COMMON=( # --- helpers usados por los setup.sh -------------------------------------- install_pacman() { pacman -S --needed --noconfirm "$@"; } -# paru se construye como usuario normal (makepkg no corre como root) -as_user() { sudo -u "$INSTALL_USER" bash -lc "$*"; } +# paru se construye como usuario normal (makepkg no corre como root). +# RUSTUP_HOME/CARGO_HOME explícitos: bajo el fakeroot de makepkg, HOME pasa a +# /root y rustup intenta crear /root/.rustup (permission denied, uid real != root). +# rustup respeta RUSTUP_HOME antes que HOME, así que apuntarlo al home del usuario +# arregla los paquetes Rust (p.ej. karere). +as_user() { + sudo -u "$INSTALL_USER" bash -lc \ + "export RUSTUP_HOME=\$HOME/.rustup CARGO_HOME=\$HOME/.cargo; $*" +} bootstrap_paru() { command -v paru &>/dev/null && return 0 @@ -55,9 +62,14 @@ bootstrap_paru() { } install_aur() { - # ponytail: paru en una sola llamada; si un PKGBUILD falla, falla el lote. - # upgrade path: instalar uno a uno con un bucle si necesitas tolerancia a fallos. - as_user "paru -S --needed --noconfirm $*" + # Uno a uno: que un PKGBUILD roto (p.ej. karere) no se lleve por delante el + # resto del lote ni el chezmoi init posterior. Avisa de los que fallen. + local p failed=() + for p in "$@"; do + as_user "paru -S --needed --noconfirm $p" || failed+=("$p") + done + ((${#failed[@]})) && echo "!! AUR falló (revisa a mano): ${failed[*]}" >&2 + return 0 } # archinstall 4.3 instala el paquete grub pero NO ejecuta grub-install con