85 lines
2.3 KiB
YAML
85 lines
2.3 KiB
YAML
---
|
|
|
|
# # 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"
|
|
|
|
|
|
# Get python onto void - otherwise we can not interact through ansible
|
|
- name: Bootstrap void python
|
|
hosts: guest
|
|
gather_facts: false
|
|
tasks:
|
|
- name: install python
|
|
raw: test -e /usr/bin/python || xbps-install -y python
|
|
register: python_install
|
|
changed_when: "'installed successfully' in python_install.stdout"
|
|
|
|
|
|
- name: Void prep
|
|
hosts: guest
|
|
become: true
|
|
vars:
|
|
ansible_chroot_exe: arch-chroot
|
|
disable_root_check: true
|
|
tasks:
|
|
# Prefer booster to dracut so make sure to never install it
|
|
- name: Ignore dracut
|
|
ansible.builtin.lineinfile:
|
|
path: /etc/xbps.d/ignore-dracut.conf
|
|
line: ignorepkg=dracut
|
|
state: present
|
|
create: true # create file if absent
|
|
|
|
- name: Update xbps and system
|
|
community.general.xbps:
|
|
name:
|
|
- xbps
|
|
state: latest
|
|
update_cache: true
|
|
upgrade: true
|
|
|
|
- name: Install Base system
|
|
community.general.xbps:
|
|
name:
|
|
- base-system
|
|
state: present
|
|
|
|
- name: Get rid of temporary container metapackage
|
|
community.general.xbps:
|
|
name:
|
|
- base-container-full
|
|
state: absent
|
|
|
|
- name: Install booster
|
|
community.general.xbps:
|
|
name: booster
|
|
state: present
|