--- - name: Configure dnf.conf ini_file: path: '/etc/dnf/dnf.conf' no_extra_spaces: yes create: no section: "{{ item.key.split('.',1)[0] }}" option: "{{ item.key.split('.',1)[1] }}" value: "{{ item.value|ternary(item.value,omit) }}" state: "{{ item.value|ternary('present','absent') }}" with_dict: '{{ dnf_conf }}' - name: Remove packages dnf: name: "{{ dnf_packages|dictsort(true)|selectattr(1,'equalto','absent')|map(attribute=0)|list }}" state: absent tags: - packages - name: Upgrade all packages dnf: name: '*' state: latest tags: - upgrade - packages - name: Install packages dnf: name: "{{ dnf_packages|dictsort(true)|selectattr(1,'equalto','present')|map(attribute=0)|list }}" state: present tags: - packages # vim: set ts=2 sw=2 et: