init
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 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";
|
||||
}
|
||||
Reference in New Issue
Block a user