--- - name: Bootstrap Debian System vars: bootstrap_debian_release: >- {{ 'buster' if (os_version | string) == '10' else 'bullseye' if (os_version | string) == '11' else 'bookworm' if (os_version | string) == '12' else 'trixie' if (os_version | string) == '13' else 'sid' if (os_version | string) == 'unstable' else 'trixie' }} bootstrap_debian_package_config: >- {{ lookup('vars', bootstrap_var_key) }} bootstrap_debian_base_packages: >- {{ bootstrap_debian_package_config.base | default([]) | reject('equalto', '') | list }} bootstrap_debian_extra_packages: >- {{ bootstrap_debian_package_config.extra | default([]) | reject('equalto', '') | list }} bootstrap_debian_base_csv: "{{ bootstrap_debian_base_packages | join(',') }}" bootstrap_debian_extra_args: >- {{ bootstrap_debian_extra_packages | join(' ') }} block: - name: Validate Debian package configuration ansible.builtin.assert: that: - bootstrap_debian_package_config is mapping - bootstrap_debian_package_config.base is defined - bootstrap_debian_package_config.base is sequence - bootstrap_debian_package_config.base is not string - bootstrap_debian_package_config.extra is defined - bootstrap_debian_package_config.extra is sequence - bootstrap_debian_package_config.extra is not string fail_msg: "bootstrap package definition for {{ bootstrap_var_key }} must be a mapping with base/extra lists." quiet: true - name: Install Debian base system ansible.builtin.command: >- debootstrap --include={{ bootstrap_debian_base_csv }} {{ bootstrap_debian_release }} /mnt http://deb.debian.org/debian/ register: bootstrap_debian_base_result changed_when: bootstrap_debian_base_result.rc == 0 - name: Install extra packages when: bootstrap_debian_extra_packages | length > 0 ansible.builtin.command: "{{ chroot_command }} apt install -y {{ bootstrap_debian_extra_args }}" register: bootstrap_debian_extra_result changed_when: bootstrap_debian_extra_result.rc == 0 - name: Remove unnecessary packages ansible.builtin.command: "{{ chroot_command }} apt remove -y libcups2 libavahi-common3 libavahi-common-data" register: bootstrap_debian_remove_result changed_when: bootstrap_debian_remove_result.rc == 0