#   # The subvol collection seems to be misbehaving?
#   # https://github.com/ansible-collections/community.general/issues/7098
# # (and btrfs_subvol module working)
# - name: Create void btrfs subvol
#   hosts: host
#   vars:
#     btrfs_target: 441a90a5-3da2-46ce-9e32-987569b746c9
#     mount_dir: /mnt/void
#   become: true
#   tasks:
#     - name: Create @voidroot subvool under root
#       community.general.btrfs_subvolume:
#         state: present
#         name: "/@"
#         filesystem_uuid: "{{ btrfs_target }}"

- name: Create voidlinux guest
  hosts: host
  become: true
  vars:
    mount_dir: /mnt/void
    tarball_url: "https://repo-default.voidlinux.org/live/current/void-x86_64-ROOTFS-20250202.tar.xz"
  tasks:
    - name: Unpack rootfs
      ansible.builtin.unarchive:
        remote_src: yes # we already downloaded it to the 'remote' system
        src: "{{ tarball_url }}"
        dest: "{{ mount_dir }}"
        # ONLY run if this file does not exist (could use any rootfs file to check)
        creates: "{{ mount_dir }}/etc/os-release"

    # - name: Mount /boot part into voidroot mount

    # TODO: Should be removed again at the end?
    # However only after the whole PLAYBOOK has run not after this play
    # not sure how to accomplish, see
    # https://newbe.dev/run-an-ansible-handler-only-once-for-the-entire-playbook
    # for possible solutions (especially lowest, hosts_to_restart example)
    - name: Use archlinux resolvd for network access
      ansible.builtin.file:
        path: "{{ mount_dir }}/etc/resolv.conf"
        state: touch