docs: def sysprep(disk, distro, loader=None, backend='direct', **kwargs):
      """
      Run virt-sysprep on the ``disk``, commands are built from the distro
      specific template and arguments passed in ``kwargs``. If no template is
      available it will default to ``sysprep-base.j2``.
  
      Args:
          disk(str): path to disk
          distro(str): distro to render template for
          loader(jinja2.BaseLoader): Jinja2 template loader, if not passed,
              will search Lago's package.
          backend(str): libguestfs backend to use
          **kwargs(dict): environment variables for Jinja2 template
  
      Returns:
          None
  
      Raises:
          RuntimeError: On virt-sysprep none 0 exit code.
      """
  
      if loader is None:
          loader = PackageLoader('lago', 'templates')
      sysprep_file = _render_template(distro, loader=loader, **kwargs)
  
      cmd = ['virt-sysprep', '-a', disk]
      cmd.extend(['--commands-from-file', sysprep_file])
  
      env = os.environ.copy()
      if 'LIBGUESTFS_BACKEND' not in env:
          env['LIBGUESTFS_BACKEND'] = backend
  
      ret = utils.run_command(cmd, env=env)
      if ret:
          raise RuntimeError(
              'Failed to bootstrap %s\ncommand:%s\nstdout:%s\nstderr:%s' % (
                  disk,
                  ' '.join('"%s"' % elem for elem in cmd),
                  ret.out,
                  ret.err,
              )
          )