--- - name: "Bootstrap {{ os | capitalize }}" vars: _dnf_os_config: rocky: repos: [baseos, appstream] groups: [core] almalinux: repos: [baseos, appstream] groups: [core] fedora: repos: [fedora, fedora-updates] groups: [critical-path-base, core] _dnf_repos: "{{ _dnf_os_config[os].repos | map('regex_replace', '^', '--repo=') | join(' ') }}" _dnf_groups: "{{ _dnf_os_config[os].groups | join(' ') }}" _dnf_extra: >- {{ lookup('vars', bootstrap_var_key) | reject('equalto', '') | join(' ') }} block: - name: "Install {{ os | capitalize }} base system" ansible.builtin.command: >- dnf --releasever={{ os_version }} --best {{ _dnf_repos }} --installroot=/mnt --setopt=install_weak_deps=False groupinstall -y {{ _dnf_groups }} register: _dnf_base_result changed_when: _dnf_base_result.rc == 0 - name: Install extra packages ansible.builtin.command: >- {{ chroot_command }} dnf --releasever={{ os_version }} --setopt=install_weak_deps=False install -y {{ _dnf_extra }} register: _dnf_extra_result changed_when: _dnf_extra_result.rc == 0 - name: Reinstall kernel core ansible.builtin.command: "{{ chroot_command }} dnf reinstall -y kernel-core" register: _dnf_kernel_result changed_when: _dnf_kernel_result.rc == 0