nixos/default.nix: Use extendModules

This commit is contained in:
Robert Hensing 2021-12-17 12:41:12 +01:00
parent 8086f8658e
commit 8fd49c116b
2 changed files with 17 additions and 20 deletions

View File

@ -10,25 +10,22 @@ let
};
# This is for `nixos-rebuild build-vm'.
vmConfig = (import ./lib/eval-config.nix {
inherit system;
modules = [ configuration ./modules/virtualisation/qemu-vm.nix ];
}).config;
vm = eval.extendModules {
modules = [ ./modules/virtualisation/qemu-vm.nix ];
};
# This is for `nixos-rebuild build-vm-with-bootloader'.
vmWithBootLoaderConfig = (import ./lib/eval-config.nix {
inherit system;
modules =
[ configuration
./modules/virtualisation/qemu-vm.nix
{ virtualisation.useBootLoader = true; }
({ config, ... }: {
virtualisation.useEFIBoot =
config.boot.loader.systemd-boot.enable ||
config.boot.loader.efi.canTouchEfiVariables;
})
];
}).config;
vmWithBootLoader = vm.extendModules {
modules = [
({ config, ... }: {
_file = "nixos/default.nix##vmWithBootLoader";
virtualisation.useBootLoader = true;
virtualisation.useEFIBoot =
config.boot.loader.systemd-boot.enable ||
config.boot.loader.efi.canTouchEfiVariables;
})
];
};
in
@ -37,7 +34,7 @@ in
system = eval.config.system.build.toplevel;
vm = vmConfig.system.build.vm;
vm = vm.config.system.build.vm;
vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
vmWithBootLoader = vmWithBootLoader.config.system.build.vm;
}

View File

@ -92,7 +92,7 @@ in withWarnings {
# Merge the option definitions in all modules, forming the full
# system configuration.
inherit (nixosWithUserModules) config options _module type;
inherit (nixosWithUserModules) config options _module type extendModules;
inherit extraArgs;