113 lines
4 KiB
Markdown
113 lines
4 KiB
Markdown
# Recovery — reconstruire ArchASP
|
|
|
|
> **Question :** mon SSD meurt aujourd'hui. Comment reconstruire ArchASP ?
|
|
|
|
Les deux dépôts reconstruisent la configuration déclarative, pas l'intégralité
|
|
des données personnelles. Une sauvegarde séparée reste indispensable pour les
|
|
secrets, bases, documents et états applicatifs.
|
|
|
|
## 1. Installer un Arch Linux minimal
|
|
|
|
Créer le système de fichiers, installer le système de base et obtenir un
|
|
environnement démarrable avec réseau. Cette phase ne relève pas de
|
|
`Dotfiles_ArchAP`.
|
|
|
|
## 2. Restaurer `arch-system`
|
|
|
|
Cloner le dépôt système et suivre sa procédure pour le boot, le stockage, le
|
|
réseau, les paquets fondamentaux, `/etc`, greetd, les services système et les
|
|
helpers root. Ne pas copier simplement `.assets/greetd/config.toml` sans suivre
|
|
le contrat système.
|
|
|
|
## 3. Restaurer `Dotfiles_ArchAP`
|
|
|
|
Cloner l'upstream Forgejo ou, s'il est indisponible, le miroir GitHub :
|
|
|
|
```bash
|
|
git clone --recurse-submodules \
|
|
https://github.com/labfytools/Dotfiles_ArchAP.git \
|
|
"$HOME/.dotfiles"
|
|
cd "$HOME/.dotfiles"
|
|
git switch 0.1.0
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
La branche `0.1.0` donne le snapshot stable ; `main` est la branche de
|
|
développement.
|
|
|
|
## 4. Restaurer les paquets officiels
|
|
|
|
Comparer `.assets/pkglist-pacman.txt` avec le socle déjà installé par
|
|
`arch-system`. Installer uniquement les entrées encore pertinentes et éviter
|
|
de transformer une capture historique en commande aveugle.
|
|
|
|
## 5. Restaurer les paquets AUR/foreign
|
|
|
|
Examiner chaque entrée de `.assets/pkglist-aur.txt`, retrouver sa source et la
|
|
reconstruire avec un processus AUR maîtrisé. Les paquets locaux ou disparus
|
|
exigent une décision spécifique ; aucun helper AUR n'est supposé magique.
|
|
|
|
## 6. Déployer Stow
|
|
|
|
Suivre le [guide d'installation](installation.md) : définir explicitement les
|
|
32 packages, exécuter le dry-run, résoudre les conflits, puis seulement lancer
|
|
le déploiement réel. `docs/` et `.assets/` ne sont pas déployés.
|
|
|
|
## 7. Restaurer les services
|
|
|
|
- recharger et vérifier `systemd --user` ;
|
|
- confirmer les liens d'activation versionnés ;
|
|
- ne démarrer les unités de projets externes qu'après restauration de leurs
|
|
exécutables et configurations ;
|
|
- restaurer les services système à partir d'`arch-system`, en utilisant les
|
|
snapshots `.assets/enabled-*.txt` comme contrôle croisé.
|
|
|
|
## 8. Restaurer les projets externes
|
|
|
|
Cloner ou reconstruire les projets et outils listés dans
|
|
[`external-tools.md`](../.assets/external-tools.md), notamment Trainlog,
|
|
Lardon, Arch Sentinel et les outils 3D locaux. Recréer leurs builds et liens
|
|
utilisateur selon leurs propres instructions. Le dépôt de dotfiles ne contient
|
|
pas leur code.
|
|
|
|
## 9. Restaurer les secrets et données
|
|
|
|
Depuis une sauvegarde chiffrée et hors Git, restaurer selon le besoin :
|
|
|
|
- identités SSH et GPG ;
|
|
- clé et store Atuin locaux ;
|
|
- credentials Rclone, GitHub CLI, Nextcloud et applications ;
|
|
- bases Trainlog et autres données applicatives ;
|
|
- documents personnels et états non reconstructibles.
|
|
|
|
Ne copier aucun de ces éléments dans le dépôt. Vérifier leurs permissions
|
|
avant de lancer les applications.
|
|
|
|
## 10. Valider
|
|
|
|
```bash
|
|
git -C "$HOME/.dotfiles" status --short
|
|
git -C "$HOME/.dotfiles" submodule status --recursive
|
|
find "$HOME" -xtype l -print
|
|
systemctl --failed
|
|
systemctl --user --failed
|
|
sway --validate --config "$HOME/.config/sway/config"
|
|
```
|
|
|
|
Contrôler ensuite le login greetd/tuigreet, le démarrage UWSM/SwayFX,
|
|
QuickShell et ses notifications, le verrouillage, le presse-papiers, Kitty et
|
|
un nouveau shell Zsh.
|
|
|
|
## Limites actuelles
|
|
|
|
Une reconstruction à partir des seuls dépôts ne restitue pas :
|
|
|
|
- secrets, historiques et bases applicatives ;
|
|
- contenu des projets sous `~/Documents` ;
|
|
- builds locaux, outils Cargo/npm et OpenMVS ;
|
|
- helpers `/usr/local` si `arch-system` ne les recrée pas encore ;
|
|
- réglages matériels spécifiques non documentés ;
|
|
- paquets AUR disparus ou devenus incompatibles.
|
|
|
|
La récupération est donc **documentée et largement reproductible**, mais pas
|
|
une image complète et autonome du disque.
|