aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix20
1 files changed, 16 insertions, 4 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix b/infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
index 42e43f5ee023..447d1f091c8c 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/virtualisation/qemu-vm.nix
@@ -14,10 +14,11 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
let
- qemu = config.system.build.qemu or pkgs.qemu_test;
cfg = config.virtualisation;
+ qemu = cfg.qemu.package;
+
consoles = lib.concatMapStringsSep " " (c: "console=${c}") cfg.qemu.consoles;
driveOpts = { ... }: {
@@ -189,7 +190,7 @@ let
'' else ''
''}
'';
- buildInputs = [ pkgs.utillinux ];
+ buildInputs = [ pkgs.util-linux ];
QEMU_OPTS = "-nographic -serial stdio -monitor none"
+ lib.optionalString cfg.useEFIBoot (
" -drive if=pflash,format=raw,unit=0,readonly=on,file=${efiFirmware}"
@@ -401,6 +402,14 @@ in
};
virtualisation.qemu = {
+ package =
+ mkOption {
+ type = types.package;
+ default = pkgs.qemu;
+ example = "pkgs.qemu_test";
+ description = "QEMU package to use.";
+ };
+
options =
mkOption {
type = types.listOf types.unspecified;
@@ -735,16 +744,19 @@ in
(isEnabled "VIRTIO_PCI")
(isEnabled "VIRTIO_NET")
(isEnabled "EXT4_FS")
+ (isEnabled "NET_9P_VIRTIO")
+ (isEnabled "9P_FS")
(isYes "BLK_DEV")
(isYes "PCI")
- (isYes "EXPERIMENTAL")
(isYes "NETDEVICES")
(isYes "NET_CORE")
(isYes "INET")
(isYes "NETWORK_FILESYSTEMS")
- ] ++ optional (!cfg.graphics) [
+ ] ++ optionals (!cfg.graphics) [
(isYes "SERIAL_8250_CONSOLE")
(isYes "SERIAL_8250")
+ ] ++ optionals (cfg.writableStore) [
+ (isEnabled "OVERLAY_FS")
];
};