---
version: '3'

tasks:
  convert:hvm:
    summary: |
      # Converts VirtualBox Image to Qubes HVM

      Qubes documentation details the process of converting a VirtualBox image
      to an HVM in [this link](https://www.qubes-os.org/doc/standalones-and-hvms/#converting-virtualbox-vms-to-qubes-hvms).

      This task assumes that the VirtualBox image is already built and hosted on
      VagrantUp or a similar registry. It downloads the `.box` file, extracts the required disk
      image, and then converts it to an HVM to integrate it with QubesOS.

      A sample `.box` file can be found [here](https://app.vagrantup.com/Megabyte/boxes/Ubuntu-Desktop/versions/21.10/providers/virtualbox.box).

      Note: It is also possible to extract the VirtualBox files that QubesOS needs during build time with Packer (the .ova file). However,
      it would better to use the `.box` file available on VagrantUp, if possible.
      [This guide](https://gist.github.com/aondio/66a79be10982f051116bc18f1a5d07dc) shows how to convert a `.ova` into `.box`. This
      script essentially needs to do the opposite.
