nixos-config/hosts/nixos-laptop/README-laptop.md
2026-07-03 21:56:32 +02:00

48 lines
2.1 KiB
Markdown

# Host `nixos-laptop` — ThinkPad E560
Profil **léger et faible RAM (4 Gio)** : i5-6200U, Intel HD 520 (pas de GPU
dédié), pas de Steam, pas de Noctalia (remplacé par `mako`), pas de gros stack
KDE (on utilise `nautilus`).
## Installer
```bash
./install.sh nixos-laptop # ou ./install.sh puis choisir 2
```
Le script pousse explicitement les caches binaires (cache.nixos.org, Hyprland,
nix-community) dès le premier rebuild → quasiment aucune compilation locale.
## Mettre à jour
```bash
./update.sh nixos-laptop # ou juste ./update.sh (détecte le hostname)
```
## Faible RAM — ce qui est en place (`config/low-ram.nix`)
- `max-jobs = 1`, `cores = 2` : on ne sature pas les 4 Gio pendant un build.
- `builders-use-substitutes`, `fallback`, 3 caches binaires : on télécharge
du pré-compilé au lieu de compiler.
- `zramSwap` 150 % en zstd + `vm.swappiness = 180` : swap compressé rapide.
- `earlyoom` : tue proprement le process le plus gourmand avant un freeze total.
### Si un rebuild rame quand même
Un paquet absent des caches sera compilé localement. Deux options :
1. Éviter les inputs qui forcent la compilation (ex. builds custom).
2. Créer ton propre cache Cachix et y pousser depuis le poste maison :
```bash
# sur le poste maison, après un build :
cachix push mon-cache ./result
```
puis ajouter `https://mon-cache.cachix.org` aux `substituters` de
`config/low-ram.nix`. Le laptop récupèrera alors les binaires sans compiler.
## Noms de paquets à vérifier (traduits depuis pacman/AUR)
Je n'ai pas pu évaluer contre nixpkgs ici. Vérifie ceux-ci si un rebuild
échoue sur un attribut manquant (`nix search nixpkgs <nom>`) :
- `planify` (≈ `planner`), `nomacs`, `han-nom`, `bitwarden-cli`,
`bitwarden-desktop`, `mattermost-desktop`, `vaapiIntel` (peut être aliasé).
- Toolkits Octave : `image`, `statistics`, `symbolic` OK ; `dataframe` est
commenté (indispo).
- `octave-datatypes`, `grimblast`, `zen-browser` : gérés autrement (input zen,
grim/slurp), pas besoin de l'AUR.
## Empreinte digitale
`services.fprintd.enable = true`. Enrôle avec `fprintd-enroll` après install.