#!/bin/bash # FWS — mise à jour du système en une commande (bouton de la barre, fws-hello, # ou terminal). pacman -Syu + nettoyage du cache + rapport des orphelins. set -u say() { printf '\n\033[1;34m==> %s\033[0m\n' "$*"; } if [ "$(id -u)" -ne 0 ]; then exec sudo "$0" "$@" fi say "Mise à jour du système (pacman -Syu)…" pacman -Syu || { echo "Échec de la mise à jour (réseau ?)"; read -rp "Entrée pour fermer. " _; exit 1; } if command -v paccache >/dev/null 2>&1; then say "Nettoyage du cache des paquets (2 dernières versions gardées)…" paccache -rk2 fi ORPHANS="$(pacman -Qtdq 2>/dev/null)" if [ -n "$ORPHANS" ]; then say "Paquets orphelins (plus requis par rien) :" echo "$ORPHANS" read -rp "Les supprimer ? [o/N] " _rm case "$_rm" in o|O|oui) echo "$ORPHANS" | pacman -Rns --noconfirm - ;; esac fi if command -v flatpak >/dev/null 2>&1; then say "Mise à jour des Flatpaks…" flatpak update -y || true fi say "Système à jour ✔" read -rp "Entrée pour fermer. " _