Comments: style plus concis (calé sur modules/anssi/, écrit par des pros)

Aucun changement fonctionnel -- juste les commentaires : essais de
justification en plusieurs paragraphes remplacés par des notes courtes,
type/quoi/pourquoi en une ou deux lignes. Corrige au passage un
commentaire obsolète dans installer-base.nix qui décrivait encore l'usage
de disko-install (abandonné depuis pour disko + nixos-install séparés).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-09 17:42:51 +02:00
co-authored by Claude Sonnet 5
parent bfd7ed4eed
commit fddcca0e51
5 changed files with 87 additions and 180 deletions
+15 -34
View File
@@ -1,7 +1,7 @@
# Environnement live commun aux deux formes d'image (PXE netboot / ISO
# USB). Contient juste de quoi partitionner et lancer disko-install ; la
# vraie configuration cible est toujours récupérée depuis git au moment
# de l'install (repo public nixos_fleet ou repo privé nixos_users).
# USB). Contient juste de quoi partitionner et installer ; la config
# cible est toujours récupérée depuis git au moment de l'install (repo
# public nixos_fleet ou repo privé nixos_users).
{ pkgs, lib, ... }:
let
@@ -13,22 +13,13 @@ in
"flakes"
];
# netboot.nix définit DEUX tmpfs distincts, ni l'un ni l'autre avec une
# taille explicite -> plafonnés à 50% de la RAM chacun par défaut :
# - "/" : la racine du système live lui-même (petite)
# - "/nix/.rw-store" : la vraie zone où atterrissent tous les nouveaux
# paquets téléchargés/construits pendant l'install
# (overlay au-dessus du squashfs .ro-store en
# lecture seule). C'est CELLE-LÀ qui sature en
# premier sur un système complet (Cinnamon +
# Firefox + LibreOffice + VLC...), pas "/".
#
# netboot.nix définit ces deux options via mkImageMediaOverride, qui vaut
# mkOverride 60 — une simple assignation ici (priorité 100 par défaut)
# est donc entièrement ignorée, pas fusionnée (constaté : le premier
# essai n'a eu aucun effet). Il faut lib.mkForce (priorité 50, plus
# fort que 60) pour vraiment gagner — et comme mkForce REMPLACE toute la
# liste plutôt que de la compléter, on remet mode=0755 dedans aussi.
# netboot.nix définit "/" et "/nix/.rw-store" (overlay où atterrissent
# les paquets téléchargés/construits pendant l'install) sans taille
# explicite -> 50% de la RAM chacun par défaut. .rw-store sature en
# premier sur un système complet (Cinnamon + Firefox + LibreOffice +
# VLC), pas "/". mkForce nécessaire : netboot.nix utilise
# mkImageMediaOverride (priorité 60), une assignation simple (100) est
# ignorée ; mkForce remplace toute la liste, d'où mode=0755 remis ici.
fileSystems."/".options = lib.mkForce [
"mode=0755"
"size=20%"
@@ -38,11 +29,9 @@ in
"size=90%"
];
# Certains PC du parc n'ont que 4 Go de RAM. Le disque cible ne peut pas
# servir de secours (disko-install l'efface entièrement en une seule
# opération, un swap posé dessus avant serait détruit en cours de
# route) : on utilise du swap compressé en RAM (zram) à la place, qui
# marche pareil en PXE et en USB sans dépendre d'un périphérique externe.
# Certains PC du parc n'ont que 4 Go de RAM. Le disque cible ne peut
# pas servir de secours ici (pas encore partitionné à ce stade) : swap
# compressé en RAM (zram), identique en PXE et en USB.
zramSwap = {
enable = true;
memoryPercent = 100; # jusqu'à 1x la RAM en swap compressé (~2-3x effectif)
@@ -57,22 +46,14 @@ in
installScript
];
# disko-install n'est pas préinstallé : install.sh l'invoque via
# `nix run github:nix-community/disko#disko-install`, ce qui évite de
# dépendre d'un nom de paquet nixpkgs précis (pas de package `disko`
# garanti tel quel côté nixpkgs) et reste conforme à l'usage documenté
# du projet.
networking.networkmanager.enable = true;
services.xserver.xkb.layout = "fr";
console.keyMap = "fr";
# Root autologin sur tty1, l'installeur se lance automatiquement au
# login. S'il échoue ou qu'on le quitte, on retombe sur un shell root
# normal pour dépanner à la main — pas de piège sans issue.
# login. Échec ou sortie -> shell root normal pour dépanner.
# mkForce : le profil installeur officiel (installation-device.nix)
# définit aussi cette option (autologin "nixos"), même priorité que la
# nôtre sans mkForce -> conflit sinon.
# définit aussi cette option, même priorité -> conflit sinon.
services.getty.autologinUser = lib.mkForce "root";
users.users.root.password = lib.mkForce "";