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 inherit (eval) pkgs;
13
14 # This is for `nixos-rebuild build-vm'.
15 vmConfig = (import ./lib/eval-config.nix {
16 inherit system;
17 modules = [ configuration ./modules/virtualisation/qemu-vm.nix ];
18 }).config;
19
20 # This is for `nixos-rebuild build-vm-with-bootloader'.
21 vmWithBootLoaderConfig = (import ./lib/eval-config.nix {
22 inherit system;
23 modules =
24 [ configuration
25 ./modules/virtualisation/qemu-vm.nix
26 { virtualisation.useBootLoader = true; }
27 ];
28 }).config;
29
30in
31
32{
33 inherit (eval) config options;
34
35 system = eval.config.system.build.toplevel;
36
37 vm = vmConfig.system.build.vm;
38
39 vmWithBootLoader = vmWithBootLoaderConfig.system.build.vm;
40
41 # The following are used by nixos-rebuild.
42 nixFallback = pkgs.nixUnstable.out;
43}