diff --git a/flake.nix b/flake.nix index 215c3d1..edfcc3b 100644 --- a/flake.nix +++ b/flake.nix @@ -85,8 +85,8 @@ export SOPS_AGE_KEY_FILE="''$(pwd)/keys/ageKey.txt"; ''; }; - installIso = builtins.foldl' (set: target: set // { "${target}" = import ./install/iso.nix (inputs // { inherit system pkgs target; }); }) { } targets; - testInstallIso = builtins.foldl' (set: target: set // { "${target}" = import ./install/testIso.nix { inherit pkgs target self; }; }) { } targets; + installIso = import ./install/iso.nix (inputs // { inherit system pkgs targets; }); + testInstallIso = import ./install/testIso.nix { inherit pkgs self; }; nixosConfigurations = builtins.foldl' (set: name: set // { "${name}" = nixosMachine "${name}"; }) { } targets; }; } diff --git a/install/iso.nix b/install/iso.nix index fea0b4d..cb984aa 100644 --- a/install/iso.nix +++ b/install/iso.nix @@ -1,4 +1,7 @@ -{ self, system, nixpkgs, pkgs, target, ... }: +{ self, system, nixpkgs, pkgs, targets, ... }: +let + scripts = builtins.map (target: self.packages."${system}"."install-script-${target}") targets; +in (nixpkgs.lib.nixosSystem { inherit system; modules = [ @@ -7,7 +10,7 @@ ({config, ...}:{ isoImage = { squashfsCompression = "gzip -Xcompression-level 1"; - isoBaseName = "nixos-xadet-${target}-installer-${config.system.nixos.release}"; + isoBaseName = "nixos-xadet-installer-${config.system.nixos.release}"; }; console.keyMap = "fr"; nix = { @@ -17,8 +20,7 @@ }; environment.systemPackages = [ pkgs.nixos-facter - self.packages."${system}"."install-script-${target}" - ]; + ] ++ scripts; services.xserver.xkb = { layout = "fr"; }; diff --git a/install/testIso.nix b/install/testIso.nix index d575b60..7f52be8 100644 --- a/install/testIso.nix +++ b/install/testIso.nix @@ -1,10 +1,8 @@ -# This module defines a small NixOS installation CD. It does not -# contain any graphical stuff. -{ self, pkgs, target, ... }: -pkgs.writeShellScriptBin "test-install-${target}" '' +{ self, pkgs, ... }: +pkgs.writeShellScriptBin "test-install-xadet" '' DISK_NAME="disk-75G.qcow2" qemu-img create -f qcow2 "$DISK_NAME" 75G qemu-system-x86_64 -bios ${pkgs.OVMF.fd}/FV/OVMF.fd \ - -enable-kvm -m 6G -cdrom ${self.installIso.${target}}/iso/*.iso -hda "$DISK_NAME" "$@" + -enable-kvm -m 6G -cdrom ${self.installIso}/iso/*.iso -hda "$DISK_NAME" "$@" ''