Skip to content

Commit

Permalink
nixos/nixos-build-vms: use pkgs.qemu for virtualisation
Browse files Browse the repository at this point in the history
When I test a change e.g. in the module system manually, I usually use
`nixos-build-vms(8)` which also gives me a QEMU window where I can play
around in the freshly built VM.

It seems as this has changed recently when the default package for
non-interactive VM tests using the same framework was switched to
`pkgs.qemu_test` to reduce the closure size. While this is a reasonable
decision for our CI tests, I think that you really want a QEMU window of
the VM by default when using `nixos-build-vms(8)`.

[1] bc2188b
  • Loading branch information
Ma27 committed Oct 23, 2020
1 parent 972ba80 commit aab534b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
7 changes: 6 additions & 1 deletion nixos/modules/installer/tools/nixos-build-vms/build-vms.nix
Expand Up @@ -6,7 +6,12 @@
let
nodes = builtins.mapAttrs (vm: module: {
_file = "${networkExpr}@node-${vm}";
imports = [ module ];
imports = [
module
({ pkgs, ... }: {
virtualisation.qemu.package = pkgs.qemu;
})
];
}) (import networkExpr);
in

Expand Down
2 changes: 1 addition & 1 deletion nixos/modules/testing/test-instrumentation.nix
Expand Up @@ -53,7 +53,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
# or declare virtualisation.qemu.console option in a module that's always imported
virtualisation.qemu = {
consoles = lib.optional (options ? virtualisation.qemu.consoles) qemuSerialDevice;
package = pkgs.qemu_test;
package = lib.mkDefault pkgs.qemu_test;
};

boot.initrd.preDeviceCommands =
Expand Down

0 comments on commit aab534b

Please sign in to comment.