#!/usr/bin/env ansible-playbook
# vim:ft=ansible:
---
- name: configure packages for apt
  block:
      # Manage archs
    - name: enable archs
      ansible.builtin.lineinfile: dest=/var/lib/dpkg/arch line={{ item }} create=yes mode=0644
      loop: "{{ desktop_apt_archs }}"
      # Manage keys
    - name: enroll keys from keyserver
      ansible.builtin.apt_key: keyserver=keyserver.ubuntu.com id={{ item }}
      loop: "{{ desktop_apt_keys_keyserver + desktop_apt_keys_keyserver_extra }}"
    - name: enroll keys by url
      ansible.builtin.apt_key: url={{ item }}
      loop: "{{ desktop_apt_keys_url + desktop_apt_keys_url_extra }}"
      # Manage repos
    - name: configure repos
      ansible.builtin.apt_repository: repo={{ item }}
      loop: "{{ desktop_apt_repos + desktop_apt_repos_extra }}"
      # Manage packages
    - name: configure installed packages
      ansible.builtin.apt: name="{{ desktop_apt_packages + desktop_apt_packages_extra }}"
    - name: configure removed packages
      ansible.builtin.apt: name="{{ desktop_apt_packages_remove + desktop_apt_packages_remove_extra }}" state=absent
    - name: configure out-of-repo packages
      ansible.builtin.apt: deb="{{ item }}"
      loop: "{{ desktop_apt_debs + desktop_apt_debs_extra }}"
  when: ansible_pkg_mgr == "apt"
- name: configure pip3 packages
  ansible.builtin.pip: executable=/usr/bin/pip3 state=latest name="{{ desktop_pip3_packages + desktop_pip3_packages_extra }}"
  when: ansible_pkg_mgr == "apt"
- name: configure flatpak
  block:
    - name: configure flatpak remotes
      flatpak_remote: name="{{ item.name }}" state=present flatpakrepo_url="{{ item.url }}"
      with_items: "{{ desktop_flatpak_remotes + desktop_flatpak_remotes_extra }}"
    - name: configure installed flatpaks
      flatpak: name="{{ item.packages }}" state=present remote="{{ item.remote | default('flathub', true) }}"
      with_items: "{{ desktop_flatpak_packages + desktop_flatpak_packages_extra }}"