# 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). { pkgs, lib, ... }: let installScript = pkgs.writeShellScriptBin "fleet-install" (builtins.readFile ./install.sh); in { nix.settings.experimental-features = [ "nix-command" "flakes" ]; environment.systemPackages = with pkgs; [ git parted gptfdisk util-linux # lsblk 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. services.getty.autologinUser = "root"; users.users.root.password = lib.mkForce ""; environment.etc."profile.d/00-fleet-installer.sh".text = '' if [ "$(tty)" = "/dev/tty1" ] && [ -z "$FLEET_INSTALLER_RAN" ]; then export FLEET_INSTALLER_RAN=1 ${installScript}/bin/fleet-install fi ''; system.stateVersion = "26.05"; }