Script de post-installation pour EndeavourOS / Arch Linux — v4.0
Automatise la configuration complète d'un système Arch après installation : dépôts, paquets, environnement de bureau, langages, services et durcissement sécurité.
- TUI interactif — sélection des étapes par catégorie avant exécution
- Détection automatique du DE — adapte les paquets selon i3 ou KDE/Plasma
- Idempotent — chaque étape est tracée ; relancer le script reprend là où ça s'est arrêté
- Mode non-interactif — pilotable via variables d'environnement ou flags CLI
- Nettoyage automatique — orphelins, cache pacman, fichiers temporaires en fin de run
- Arch Linux ou EndeavourOS
- Compte utilisateur non-root avec
sudoconfiguré - Connexion internet active
- 10 Go d'espace disque minimum sur
/
yay est installé automatiquement s'il est absent.
git clone https://github.com/Seeraiwer/postinstall_arch.git
cd postinstall_arch
chmod +x post_install.sh
./post_install.sh./post_install.sh [options]
--yes, -y Mode non-interactif (pas d'invite TUI)
--security Active toutes les étapes de sécurité (mode --yes)
--skip-extras Ignore les applications supplémentaires
--skip-docker Ignore Docker / Portainer
--skip-blackarch Ignore le dépôt BlackArch
--skip-chaotic Ignore Chaotic-AUR
--skip-endeavouros Ignore le dépôt EndeavourOS
--skip-system-update Pas de yay -Syu
--strict Arrêt immédiat si une étape échoue
-h, --help Affiche l'aide
Exemple — déploiement silencieux avec durcissement complet :
./post_install.sh --yes --securityPOST_INSTALL_NON_INTERACTIVE=1 # équivalent de --yes
ENABLE_SECURITY=1 # équivalent de --security
SKIP_EXTRAS=1
SKIP_DOCKER=1
SKIP_BLACKARCH=1
SKIP_CHAOTIC=1
SKIP_ENDEAVOUROS=1
SKIP_SYSTEM_UPDATE=1
STRICT_POST_INSTALL=1
REFLECTOR_COUNTRIES=France,Germany,Belgium # pays pour reflector
INSTALL_DOCKER=o # activer Docker (off par défaut)| Catégorie | Étape | Défaut |
|---|---|---|
| base | Optimisation des miroirs (reflector) | ✅ |
| base | Mise à jour système (yay -Syu) | ✅ |
| base | Pilotes NVIDIA (si GPU détecté) | ✅ |
| repos | Dépôt BlackArch | ✅ |
| repos | Dépôt Chaotic-AUR | ✅ |
| repos | Dépôt EndeavourOS (profil i3) | ✅ |
| apps | Applications courantes (DE-neutres) | ✅ |
| apps | Applications spécifiques au DE (i3 / KDE) | ✅ |
| apps | Nemo + extensions | ✅ |
| apps | Outils d'archivage | ✅ |
| apps | Neovim + vim-plug | ✅ |
| apps | Applications supplémentaires (OSINT, dev…) | ✅ |
| lang | Rust (rustup + cargo) | ✅ |
| lang | Python + modules | ✅ |
| lang | Outils Go (scc) | ✅ |
| lang | Plugin fish bass | ✅ |
| services | NumLock au démarrage | ✅ |
| services | Bluetooth | ✅ |
| services | Docker + Portainer CE | ❌ |
| security | UFW, fail2ban, ClamAV, SSH hardening, AppArmor, USBGuard, auditd, rkhunter, lynis, arch-audit | ❌ |
Les étapes security sont désactivées par défaut : activables depuis le TUI ou via --security / ENABLE_SECURITY=1.
Docker est désactivé par défaut : activable depuis le TUI ou via INSTALL_DOCKER=o.
Le script détecte automatiquement l'environnement de bureau via XDG_CURRENT_DESKTOP, DESKTOP_SESSION, wmctrl et pgrep.
| Profil | Paquets installés |
|---|---|
| i3 | fsearch, picom, dunst, polybar, i3blocks, rofi, rofi-greenclip, i3-resurrect, xss-lock, autorandr |
| KDE | recoll, python-recoll, kdeconnect, kdialog, knotifications |
| unknown | Aucun paquet DE-spécifique — relancer depuis une session graphique |
| Fichier | Contenu |
|---|---|
~/post_install_log.txt |
Journal complet de l'exécution |
~/.post_install_state |
Étapes complétées (idempotence) |
~/post_install_backup/ |
Sauvegardes (mirrorlist, etc.) |
Pour rejouer une étape déjà complétée :
sed -i '/nom_etape/d' ~/.post_install_state
./post_install.shpostinstall_arch/
├── post_install.sh # Point d'entrée principal
└── lib/
├── post_install_env.sh # Variables d'environnement et parsing CLI
├── detect_de.sh # Détection de l'environnement de bureau
├── tui.sh # Interface TUI (sélection des étapes)
├── nvidia.sh # Pilotes NVIDIA
├── security.sh # Suite de durcissement sécurité
├── core/
│ ├── logging.sh # Fonctions de log coloré
│ ├── packages.sh # Installation de paquets avec retry
│ ├── state.sh # Gestion de l'idempotence
│ └── utils.sh # Utilitaires (timeout, disk check…)
├── repos/
│ ├── mirrors.sh # Optimisation des miroirs
│ ├── blackarch.sh # Dépôt BlackArch
│ ├── chaotic.sh # Dépôt Chaotic-AUR
│ └── endeavouros.sh # Dépôt EndeavourOS
├── apps/
│ ├── common.sh # Applications DE-neutres
│ ├── de_dispatch.sh # Dispatch i3 / KDE
│ ├── i3_eos.sh # Applications i3
│ ├── kde.sh # Applications KDE
│ └── extras.sh # Applications supplémentaires
└── setup/
├── docker.sh # Docker + Portainer CE
├── bluetooth.sh # Service bluetooth
├── numlock.sh # NumLock au démarrage
├── nemo.sh # Nemo + extensions
├── neovim.sh # Neovim + vim-plug
├── rust.sh # Rust toolchain
├── python.sh # Python + modules
├── go_tools.sh # Outils Go
├── fish.sh # Plugin fish bass
└── archive.sh # Outils d'archivage
Usage personnel — aucune licence formelle.