zramSwap pour les PC à faible RAM (4 Go)

This commit is contained in:
2026-09-09 11:25:35 +02:00
parent 6753beacdf
commit 09c11c6ea5
3 changed files with 28 additions and 0 deletions
+2
View File
@@ -373,6 +373,8 @@ Boot BIOS et boot UEFI, sur le parc réel.
Test sur 1-2 PC réels d'abord.
PC à seulement 4 Go de RAM : le zram (`installer-base.nix`) doit suffire pour installer `usagers` (Cinnamon + Firefox + LibreOffice + VLC), mais pas testé en dessous de 12 Go pour l'instant. Si ça échoue encore sur du 4 Go réel : alléger la liste de paquets de `usagers` plutôt que d'insister sur le zram seul.
```bash
nix flake check
nix build .#nixosConfigurations.usagers.config.system.build.toplevel
+8
View File
@@ -34,6 +34,14 @@
services.openssh.enable = true;
networking.firewall.enable = true;
# Certains PC du parc n'ont que 4 Go de RAM (Cinnamon + Firefox +
# LibreOffice + VLC peuvent solliciter la mémoire) — swap compressé en
# RAM, marche identiquement quelle que soit la machine.
zramSwap = {
enable = true;
memoryPercent = 50;
};
nix.settings.experimental-features = [
"nix-command"
"flakes"
+18
View File
@@ -13,6 +13,24 @@ in
"flakes"
];
# Le tmpfs racine de l'image live (netboot-minimal.nix) n'a par défaut
# aucune taille explicite -> plafonné à 50% de la RAM par le noyau. Le
# disque cible n'est pas encore monté à ce stade de l'install (le
# paquet complet transite d'abord par ce tmpfs), donc un système
# complet (Cinnamon + Firefox + LibreOffice + VLC...) peut dépasser
# cette limite même avec beaucoup de RAM disponible.
fileSystems."/".options = [ "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.
zramSwap = {
enable = true;
memoryPercent = 100; # jusqu'à 1x la RAM en swap compressé (~2-3x effectif)
};
environment.systemPackages = with pkgs; [
git
parted