infra/nix/tests/buildvmwithbootloader/build-vm.nix

36 lines
910 B
Nix
Raw Normal View History

2022-10-31 11:04:38 +01:00
{ system ? builtins.currentSystem, vmPkgsPath, buildPkgsPath, nixosConfigPath }:
2018-09-23 14:09:35 +02:00
let
2022-10-31 11:04:38 +01:00
buildPkgs = import buildPkgsPath { };
vmPkgs' = import vmPkgsPath { };
2018-09-23 14:09:35 +02:00
vmPkgs = vmPkgs' // {
runtimeShell = "${vmPkgs'.bash}/${vmPkgs'.bash.shellPath}";
};
2022-10-31 11:04:38 +01:00
importWithPkgs = { path, pkgs }:
args:
import path (args // { inherit pkgs; });
nixosConfig = importWithPkgs {
path = "${nixosConfigPath}";
pkgs = vmPkgs;
};
vmConfig = importWithPkgs {
path = "${buildPkgsPath}/nixos/modules/virtualisation/qemu-vm.nix";
pkgs = vmPkgs;
};
evalConfig = importWithPkgs {
path = "${vmPkgsPath}/nixos/lib/eval-config.nix";
pkgs = null;
};
2018-09-23 14:09:35 +02:00
vmWithBootLoaderConfigMixed = (evalConfig {
modules = [
nixosConfig
vmConfig
2022-10-31 11:04:38 +01:00
{ virtualisation.useBootLoader = true; }
2018-09-23 14:09:35 +02:00
];
}).config;
2022-10-31 11:04:38 +01:00
in { vmWithBootLoaderMixed = vmWithBootLoaderConfigMixed.system.build.vm; }