diff options
author | obadz <obadz-git@obadz.com> | 2016-08-27 03:01:51 +0100 |
---|---|---|
committer | obadz <obadz-git@obadz.com> | 2016-08-27 03:02:53 +0100 |
commit | 80660f8261ad77535dd8fbbcc764ff7f4e739896 (patch) | |
tree | 830c1580720ed25dec6e2accf7574e39af516e1f /nixos/modules/virtualisation/virtualbox-image.nix | |
parent | 58db7f508f815ac7c1e12e3abd8f7d0fcf25a0cb (diff) |
virtualbox-image: use vmdk wrapper instead of vdi copy (avoids 1 disk copy)
Diffstat (limited to 'nixos/modules/virtualisation/virtualbox-image.nix')
-rw-r--r-- | nixos/modules/virtualisation/virtualbox-image.nix | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix index fbb5998616f1..4f8ea2651007 100644 --- a/nixos/modules/virtualisation/virtualbox-image.nix +++ b/nixos/modules/virtualisation/virtualbox-image.nix @@ -31,13 +31,13 @@ in { postVM = '' - echo "creating VirtualBox disk image..." - ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vdi $diskImage disk.vdi - rm $diskImage - - echo "creating VirtualBox VM..." export HOME=$PWD export PATH=${pkgs.linuxPackages.virtualbox}/bin:$PATH + + echo "creating VirtualBox pass-through disk wrapper (no copying invovled)..." + VBoxManage internalcommands createrawvmdk -filename disk.vmdk -rawdisk $diskImage + + echo "creating VirtualBox VM..." vmName="NixOS ${config.system.nixosLabel} (${pkgs.stdenv.system})" VBoxManage createvm --name "$vmName" --register \ --ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"} @@ -50,7 +50,7 @@ in { --usb on --mouse usbtablet VBoxManage storagectl "$vmName" --name SATA --add sata --portcount 4 --bootable on --hostiocache on VBoxManage storageattach "$vmName" --storagectl SATA --port 0 --device 0 --type hdd \ - --medium disk.vdi + --medium disk.vmdk echo "exporting VirtualBox VM..." mkdir -p $out |