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:
@@ -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 "";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user