122 lines
4.7 KiB
Markdown
122 lines
4.7 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"
|
||
# Rester sur main pour restaurer l'état courant décrit dans ce guide.
|
||
git submodule update --init --recursive
|
||
```
|
||
|
||
La branche `0.1.0` fournit un snapshot historique stable avec son propre
|
||
contrat de déploiement ; ne pas lui appliquer aveuglément la liste Stow actuelle.
|
||
Pour l'état courant et ses 29 packages, utiliser `main` et ce guide.
|
||
Pour l'ancien snapshot, basculer explicitement avec `git switch 0.1.0` et
|
||
suivre la documentation livrée dans ce tag.
|
||
|
||
## 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
|
||
29 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.
|
||
|
||
Installer les thèmes d’icônes utilisés via les paquets (cf. [icônes](icons.md)) :
|
||
il n’est pas nécessaire de restaurer un dossier `~/.icons` versionné.
|
||
**Exception pour l'apparence à l'identique :** la version locale de
|
||
`Tela-circle-blue` diffère de celle de Pacman. Sauvegarder/restaurer l'archive
|
||
`icons-active-local-20261101.tar.zst` hors Git si cette variante est souhaitée.
|
||
|
||
## 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.
|