docs: def virt_conf(
          self,
          conf,
          template_repo=None,
          template_store=None,
          do_bootstrap=True,
          do_build=True
      ):
          """
          Initializes all the virt infrastructure of the prefix, creating the
          domains disks, doing any network leases and creating all the virt
          related files and dirs inside this prefix.
  
          Args:
              conf (dict): Configuration spec
              template_repo (TemplateRepository): template repository intance
              template_store (TemplateStore): template store instance
              do_bootstrap(bool): If true run virt-sysprep on the images
              do_build(bool): If true run build commands on the images,
                  see lago.build.py for more info.
  
          Returns:
              None
          """
          os.environ['LAGO_PREFIX_PATH'] = self.paths.prefix_path()
          with utils.RollbackContext() as rollback:
              rollback.prependDefer(
                  shutil.rmtree, self.paths.prefix_path(), ignore_errors=True
              )
              self._metadata = {
                  'lago_version': pkg_resources.get_distribution("lago").version,
              }
  
              conf = self._prepare_domains_images(
                  conf=conf,
                  template_repo=template_repo,
                  template_store=template_store,
              )
              conf = self._config_net_topology(conf)
  
              conf['domains'] = self._copy_deploy_scripts_for_hosts(
                  domains=conf['domains']
              )
              self._virt_env = self.VIRT_ENV_CLASS(
                  prefix=self,
                  vm_specs=conf['domains'],
                  net_specs=conf['nets'],
              )
  
              if do_bootstrap:
                  self.virt_env.bootstrap()
  
              if do_build:
                  self.build(conf['domains'])
  
              self.save()
              rollback.clear()