74 lines
1.6 KiB
Nix
74 lines
1.6 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
modulesPath,
|
|
targetSystem,
|
|
...
|
|
}:
|
|
let
|
|
installer = pkgs.writeShellApplication {
|
|
name = "installer";
|
|
runtimeInputs = with pkgs; [
|
|
# clevis
|
|
dosfstools
|
|
e2fsprogs
|
|
gawk
|
|
nixos-install-tools
|
|
util-linux
|
|
config.nix.package
|
|
];
|
|
text = ''
|
|
set -euo pipefail
|
|
|
|
${targetSystem.config.system.build.diskoScript}
|
|
|
|
nixos-install --no-channel-copy --no-root-password --option substituters "" --system ${targetSystem.config.system.build.toplevel}
|
|
'';
|
|
};
|
|
installerFailsafe = pkgs.writeShellScript "failsafe" ''
|
|
${lib.getExe installer} || echo "ERROR: Installation failure!"
|
|
sleep 3600
|
|
'';
|
|
in
|
|
{
|
|
imports = [
|
|
(modulesPath + "/installer/cd-dvd/iso-image.nix")
|
|
(modulesPath + "/profiles/all-hardware.nix")
|
|
];
|
|
|
|
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_6_17;
|
|
boot.zfs.package = pkgs.zfs_unstable;
|
|
boot.kernelParams = [
|
|
"quiet"
|
|
"systemd.unit=getty.target"
|
|
];
|
|
boot.supportedFilesystems.zfs = true;
|
|
boot.initrd.systemd.enable = true;
|
|
|
|
networking.hostId = "04581ecf";
|
|
|
|
isoImage.makeEfiBootable = true;
|
|
isoImage.makeUsbBootable = true;
|
|
isoImage.squashfsCompression = "zstd -Xcompression-level 15";
|
|
|
|
environment.systemPackages = [
|
|
installer
|
|
];
|
|
|
|
systemd.services."getty@tty1" = {
|
|
overrideStrategy = "asDropin";
|
|
serviceConfig = {
|
|
ExecStart = [
|
|
""
|
|
installerFailsafe
|
|
];
|
|
Restart = "no";
|
|
StandardInput = "null";
|
|
};
|
|
};
|
|
|
|
# system.stateVersion = lib.mkDefault lib.trivial.release;
|
|
system.stateVersion = "24.11";
|
|
}
|