5.4 KiB
Installation
Ce guide déploie la couche utilisateur depuis un clone neuf. Il n'installe pas
Arch Linux, ne modifie pas /etc et n'automatise pas les dépendances externes.
Pour une reconstruction complète, commencer par Recovery.
1. Prérequis
- une installation ArchASP dont la couche système est prête ;
- un compte utilisateur et un
$HOMEsauvegardé avant tout remplacement ; - Git, GNU Stow et Bash ;
- un accès au dépôt Forgejo ou au miroir GitHub ;
- les paquets examinés dans les inventaires de
.assets/.
Vérifier les outils avant de continuer :
git --version
stow --version
bash --version
2. Cloner
Forgejo est l'upstream principal :
git clone --recurse-submodules \
ssh://git@git.labfytools.com:2223/fy59/Dotfiles_ArchAP.git \
"$HOME/.dotfiles"
cd "$HOME/.dotfiles"
Le miroir public peut servir de source de récupération :
git clone --recurse-submodules \
https://github.com/labfytools/Dotfiles_ArchAP.git \
"$HOME/.dotfiles"
cd "$HOME/.dotfiles"
Pour restaurer le snapshot stable plutôt que main :
git switch 0.1.0
3. Vérifier les sous-modules
git submodule update --init --recursive
git submodule status --recursive
Une ligne commençant par - indique un sous-module non initialisé ; une ligne
commençant par + indique un commit différent de celui épinglé.
4. Examiner les inventaires
Les listes Pacman et AUR sont des snapshots, pas des commandes aveugles à
installer. Comparer leur contenu à la machine cible et lire
packages.md ainsi que
external-tools.md avant toute installation.
5. Définir les 30 packages Stow
Les commandes suivantes sont destinées à Bash :
packages=(
atuin bat bin btop cliphist eza fastfetch fzf gtk-3.0 gtklock
hyprwhspr kitty mako nvim opencode portal qt5ct qt6ct
quickshell starship sway systemd themes tmux uwsm wallpapers wofi yazi
ytmusic-tui zsh
)
printf '%s\n' "${packages[@]}"
docs/ et .assets/ ne doivent pas être ajoutés à ce tableau. Le package
portal demande l'installation du backend décrite dans
portal/README.md.
Les icônes ne sont plus un package Stow : installer les thèmes nécessaires via
Pacman/AUR, selon le contrat des icônes, avant le premier login.
Le package
quickshell déploie ~/.config/quickshell/labfy-sway/ ; une Nerd Font
(ttf-jetbrains-mono-nerd sur cette machine) fournit les icônes.
SwayFX 0.6 est un paquet foreign/local à reconstruire depuis sa source
vérifiée ; scenefx et quickshell sont présents dans la liste Pacman
officielle de cette machine. Voir les inventaires .assets/.
QuickShell fournit l'agent graphique Polkit requis pour authentifier les
changements de fuseau effectués par timedatectl. Le service utilisateur
quickshell-labfy-sway.service le lance une seule fois par session ;
aucune règle sudoers propre au fuseau n'est nécessaire.
Le backend batterie exige TLP et /usr/local/sbin/batlimit-set, déployé
séparément avec les droits root selon bin/root/README.md.
Avant le premier verrouillage par labfy-lock, installer la politique
system/pam.d/labfy-lock dans /etc/pam.d/labfy-lock avec les droits root,
selon la procédure PAM. Le package Stow
historique swaylock n'est pas requis.
6. Effectuer le dry-run
Depuis la racine du dépôt :
stow --no --verbose=2 --target="$HOME" "${packages[@]}"
Lire chaque conflit. Un fichier réel déjà présent à la cible peut masquer ou bloquer un lien Stow ; le sauvegarder et décider explicitement de sa source avant le déploiement. Ne pas utiliser d'option d'adoption sans audit préalable.
7. Déployer
Une fois le dry-run accepté :
stow --verbose=2 --target="$HOME" "${packages[@]}"
Cette commande crée ou met à jour des liens sous $HOME. Elle ne doit pas être
exécutée depuis une autre racine ni avec . comme nom de package.
8. Recharger systemd user
Les liens d'activation versionnés dans le package systemd expriment les
unités utilisateur attendues. Recharger et vérifier avant tout démarrage :
systemctl --user daemon-reload
systemd-analyze --user verify \
"$HOME"/.config/systemd/user/*.service \
"$HOME"/.config/systemd/user/*.timer
systemctl --user --failed
systemctl --user is-enabled quickshell-labfy-sway.service labfy-quickshell-updates.timer
systemctl --user is-active quickshell-labfy-sway.service labfy-quickshell-updates.timer
Si les liens *.wants/ ne sont pas déjà en place sur la machine cible,
activer les unités avec systemctl --user enable quickshell-labfy-sway.service labfy-quickshell-updates.timer. Dans une session SwayFX déjà ouverte, les
démarrer avec systemctl --user start quickshell-labfy-sway.service labfy-quickshell-updates.timer. Le démarrage suivant est assuré par
wayland-session@sway.desktop.target et timers.target.
Certaines unités dépendent de projets externes. Ne les démarrer que lorsque
leurs chemins et configurations locales existent ; voir systemd.md.
9. Valider
git status --short
git submodule status --recursive
find "$HOME/.config" -xtype l -print
systemctl --user --failed
sway --validate --config "$HOME/.config/sway/config"
La dernière commande nécessite Sway installé. Un lien cassé ou une unité en échec doit être diagnostiqué avant de considérer la restauration terminée.