diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix index 56766ec9047f..9c91bf392251 100644 --- a/nixos/lib/make-disk-image.nix +++ b/nixos/lib/make-disk-image.nix @@ -39,6 +39,12 @@ with lib; let + extensions = { + qcow2 = "qcow2"; + vpc = "vhd"; + raw = "img"; + }; + # Copied from https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/cd-dvd/channel.nix # TODO: factor out more cleanly @@ -142,8 +148,8 @@ in pkgs.vmTools.runInLinuxVM ( mv $diskImage $out/nixos.img diskImage=$out/nixos.img '' else '' - ${pkgs.qemu}/bin/qemu-img convert -f raw -O qcow2 $diskImage $out/nixos.qcow2 - diskImage=$out/nixos.qcow2 + ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} $diskImage $out/nixos.${extensions.${format}} + diskImage=$out/nixos.${extensions.${format}} ''} ${postVM} ''; diff --git a/nixos/maintainers/scripts/ec2/amazon-image.nix b/nixos/maintainers/scripts/ec2/amazon-image.nix index 7541fbc86917..955fdff79532 100644 --- a/nixos/maintainers/scripts/ec2/amazon-image.nix +++ b/nixos/maintainers/scripts/ec2/amazon-image.nix @@ -24,7 +24,7 @@ in { }; format = mkOption { - type = types.enum [ "raw" "qcow2" ]; + type = types.enum [ "raw" "qcow2" "vpc" ]; default = "qcow2"; description = "The image format to output"; };