Skip to content

Seeraiwer/postinstall_arch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 

Repository files navigation

postinstall_arch

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é.


Fonctionnalités

  • 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

Prérequis

  • Arch Linux ou EndeavourOS
  • Compte utilisateur non-root avec sudo configuré
  • Connexion internet active
  • 10 Go d'espace disque minimum sur /

yay est installé automatiquement s'il est absent.


Utilisation

git clone https://github.com/Seeraiwer/postinstall_arch.git
cd postinstall_arch
chmod +x post_install.sh
./post_install.sh

Options CLI

./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 --security

Variables d'environnement

POST_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)

Étapes disponibles

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.


Profils DE

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

Fichiers générés

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.sh

Structure du projet

postinstall_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

Licence

Usage personnel — aucune licence formelle.

About

Post-installation script for EndeavourOS / Arch Linux. TUI-driven, idempotent, modular — automates mirrors, packages, DE setup (i3/KDE), security hardening (UFW, AppArmor, fail2ban, auditd…) and dev toolchains (Rust, Python, Go). Supports non-interactive/CI mode.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages