72 lines
1.5 KiB
Nix
Raw Normal View History

{
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.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";
}