1{ configuration ? import ./lib/from-env.nix "NIXOS_CONFIG" <nixos-config>
2, system ? builtins.currentSystem
3}:
4
5let
6
7 eval = import ./lib/eval-config.nix {
8 inherit system;
9 modules = [ configuration ];
10 };
11
12 # This is for `nixos-rebuild build-vm'.
13 vmConfig = (import ./lib/eval-config.nix {
14 inherit system;
15 modules = [ configuration ./modules/virtualisation/qemu-vm.nix ];
16 }).config;
17
18 # This is for `nixos-rebuild build-vm-with-bootloader'.
19 vmWithBootLoaderConfig = (import ./lib/eval-config.nix {
20 inherit system;
21 modules =
22 [ configuration
23 ./modules/virtualisation/qemu-vm.nix
24 { virtualisation.useBootLoader = true; }
25 ];
26 }).config;
27
28in
29
30{
31 inherit (eval) pkgs config options;
32
33 system = eval.config.system.build.toplevel;
34
35 vm = vmConfig.system.build.vm;
36
37 vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
38}