From aab534b894c60e69199aba4cc57b8b3f8fd1a8c2 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Fri, 23 Oct 2020 17:33:10 +0200 Subject: [PATCH] nixos/nixos-build-vms: use `pkgs.qemu` for virtualisation 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] bc2188b083dfbbe749a221023e2960b60d4c8951 --- .../modules/installer/tools/nixos-build-vms/build-vms.nix | 7 ++++++- nixos/modules/testing/test-instrumentation.nix | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix index 0c9f8522cc12..199e5f9206b1 100644 --- a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix +++ b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix @@ -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 diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix index e9f5eac7f5f4..2986bd4c4e31 100644 --- a/nixos/modules/testing/test-instrumentation.nix +++ b/nixos/modules/testing/test-instrumentation.nix @@ -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 =