refactor: enhance Flatpak management by separating user and system installations and remotes
Some checks failed
Nix Format Check / check-format (push) Failing after 39s

This commit is contained in:
Menno van Leeuwen 2025-01-24 11:45:20 +01:00
parent 482c4b312b
commit 9663725ef4
Signed by: vleeuwenmenno
SSH Key Fingerprint: SHA256:OJFmjANpakwD3F2Rsws4GLtbdz1TJ5tkQF0RZmF0TRE

View File

@ -4,14 +4,30 @@
flatpakrepo_url: https://flathub.org/repo/flathub.flatpakrepo flatpakrepo_url: https://flathub.org/repo/flathub.flatpakrepo
state: present state: present
- name: Get list of installed Flatpaks - name: Get list of system installed Flatpaks
ansible.builtin.command: flatpak list --app --columns=application ansible.builtin.command: flatpak list --system --app --columns=application
register: installed_flatpaks register: installed_system_flatpaks
changed_when: false changed_when: false
- name: Define desired Flatpaks - name: Get list of system remotes
ansible.builtin.command: flatpak remote-list --system --columns=name
register: system_remotes
changed_when: false
- name: Get list of user installed Flatpaks
ansible.builtin.command: flatpak list --user --app --columns=application
register: installed_user_flatpaks
changed_when: false
- name: Get list of user remotes
ansible.builtin.command: flatpak remote-list --user --columns=name
register: user_remotes
changed_when: false
- name: Define system desired Flatpaks
ansible.builtin.set_fact: ansible.builtin.set_fact:
desired_flatpaks: desired_system_flatpaks:
- org.fkoehler.KTailctl - org.fkoehler.KTailctl
- org.mozilla.Thunderbird - org.mozilla.Thunderbird
- io.github.kukuruzka165.materialgram - io.github.kukuruzka165.materialgram
@ -50,19 +66,80 @@
- io.github.nokse22.Exhibit - io.github.nokse22.Exhibit
- net.nokyan.Resources - net.nokyan.Resources
- dev.zed.Zed - dev.zed.Zed
- com.discordapp.Discord - so.libdb.dissent
- page.tesk.Refine - page.tesk.Refine
- io.github.flattool.Ignition - io.github.flattool.Ignition
- io.github.bytezz.IPLookup - io.github.bytezz.IPLookup
- name: Install/Upgrade Flatpak packages - name: Define system desired Flatpak remotes
ansible.builtin.set_fact:
desired_system_flatpak_remotes:
- flathub
- fedora
- name: Define user desired Flatpaks
ansible.builtin.set_fact:
desired_user_flatpaks:
- com.discordapp.Discord
- io.github.moonlight_mod.moonlight-installer
- name: Define user desired Flatpak remotes
ansible.builtin.set_fact:
desired_user_flatpak_remotes:
- flathub
- name: Add desired user Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: present
method: user
loop: "{{ desired_user_flatpak_remotes }}"
- name: Add desired system Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: present
method: system
loop: "{{ desired_system_flatpak_remotes }}"
- name: Remove undesired user Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: absent
method: user
loop: "{{ user_remotes.stdout_lines | difference(desired_user_flatpak_remotes) }}"
- name: Remove undesired system Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: absent
method: system
loop: "{{ system_remotes.stdout_lines | difference(desired_system_flatpak_remotes) }}"
- name: Install desired user Flatpaks
community.general.flatpak: community.general.flatpak:
name: "{{ item }}" name: "{{ item }}"
state: present state: present
loop: "{{ desired_flatpaks }}" method: user
loop: "{{ desired_user_flatpaks }}"
- name: Remove undesired Flatpak packages - name: Install desired system Flatpaks
community.general.flatpak:
name: "{{ item }}"
state: present
method: system
loop: "{{ desired_system_flatpaks }}"
- name: Remove undesired user Flatpaks
community.general.flatpak: community.general.flatpak:
name: "{{ item }}" name: "{{ item }}"
state: absent state: absent
loop: "{{ installed_flatpaks.stdout_lines | difference(desired_flatpaks) }}" method: user
loop: "{{ installed_user_flatpaks.stdout_lines | difference(desired_user_flatpaks) }}"
- name: Remove undesired system Flatpaks
community.general.flatpak:
name: "{{ item }}"
state: absent
method: system
loop: "{{ installed_system_flatpaks.stdout_lines | difference(desired_system_flatpaks) }}"