summary refs log tree commit diff
path: root/nixos/lib/make-disk-image.nix
diff options
context:
space:
mode:
authorOrivej Desh <orivej@gmx.fr>2017-11-11 19:27:37 +0000
committerOrivej Desh <orivej@gmx.fr>2017-11-12 18:28:06 +0000
commit608de48fe42364ea4062513d1d651430b18d8787 (patch)
tree132972ae7ac5d73b93bf0c18cc09794482fd065e /nixos/lib/make-disk-image.nix
parenta2d3ee77b8dc2ed3dd9562ac8f11c56c65588786 (diff)
downloadnixpkgs-608de48fe42364ea4062513d1d651430b18d8787.tar
nixpkgs-608de48fe42364ea4062513d1d651430b18d8787.tar.gz
nixpkgs-608de48fe42364ea4062513d1d651430b18d8787.tar.bz2
nixpkgs-608de48fe42364ea4062513d1d651430b18d8787.tar.lz
nixpkgs-608de48fe42364ea4062513d1d651430b18d8787.tar.xz
nixpkgs-608de48fe42364ea4062513d1d651430b18d8787.tar.zst
nixpkgs-608de48fe42364ea4062513d1d651430b18d8787.zip
make-disk-image: add compressed option to compress qcow2 images
Diffstat (limited to 'nixos/lib/make-disk-image.nix')
-rw-r--r--nixos/lib/make-disk-image.nix7
1 files changed, 6 insertions, 1 deletions
diff --git a/nixos/lib/make-disk-image.nix b/nixos/lib/make-disk-image.nix
index e4480b26c64..c2a5415d1b2 100644
--- a/nixos/lib/make-disk-image.nix
+++ b/nixos/lib/make-disk-image.nix
@@ -35,11 +35,16 @@
 
 , # Disk image format, one of qcow2, vpc, raw.
   format ? "raw"
+
+, # Whether to compress the image, applicable only when the format is qcow2.
+  compressed ? false
 }:
 
 with lib;
 
 let
+  compress = optionalString compressed (assert format == "qcow2"; "-c");
+
   filename = "nixos." + {
     qcow2 = "qcow2";
     vpc   = "vhd";
@@ -136,7 +141,7 @@ in pkgs.vmTools.runInLinuxVM (
         ${if format == "raw" then ''
           mv $diskImage $out/${filename}
         '' else ''
-          ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} $diskImage $out/${filename}
+          ${pkgs.qemu}/bin/qemu-img convert -f raw -O ${format} ${compress} $diskImage $out/${filename}
         ''}
         diskImage=$out/${filename}
         ${postVM}