Files
dotfiles/config/ansible/tasks/workstations/flatpaks.yml
Menno van Leeuwen 8c587958b6
Some checks failed
Nix Format Check / check-format (push) Failing after 39s
refactor: clean up Flatpak entries in workstation configuration
2025-03-06 11:29:06 +01:00

94 lines
2.7 KiB
YAML

- name: Check if Flatpak is installed
ansible.builtin.command: which flatpak
register: flatpak_check
changed_when: false
failed_when: false
- name: Install Flatpak
ansible.builtin.package:
name: flatpak
state: present
become: true
when: flatpak_check.rc != 0
- name: Add Flathub remote repository
community.general.flatpak_remote:
name: flathub
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
state: present
- name: Get list of system installed Flatpaks
ansible.builtin.command: flatpak list --system --app --columns=application
register: installed_system_flatpaks
changed_when: false
- name: Get list of system remotes
ansible.builtin.command: flatpak remote-list --system --columns=name
register: system_remotes
changed_when: false
- name: Define system desired Flatpaks
ansible.builtin.set_fact:
desired_system_flatpaks:
- org.fkoehler.KTailctl
- com.spotify.Client
- org.gnome.Extensions
- io.github.openhv.OpenHV
- com.usebottles.bottles
- com.github.tchx84.Flatseal
- com.github.wwmm.easyeffects
- dev.bragefuglseth.Keypunch
- org.onlyoffice.desktopeditors
- io.gitlab.adhami3310.Impression
- org.prismlauncher.PrismLauncher
- io.ente.auth
- io.github.fastrizwaan.WineZGUI
- net.davidotek.pupgui2
- tv.plex.PlexDesktop
- com.mastermindzh.tidal-hifi
- io.github.flattool.Warehouse
- net.lutris.Lutris
- com.plexamp.Plexamp
- io.github.nokse22.Exhibit
- net.nokyan.Resources
- dev.zed.Zed
- page.tesk.Refine
- io.github.flattool.Ignition
- io.github.bytezz.IPLookup
- io.bassi.Amberol
- org.gaphor.Gaphor
- info.beyondallreason.barAlpaca
- name: Define system desired Flatpak remotes
ansible.builtin.set_fact:
desired_system_flatpak_remotes:
- flathub
- name: Add desired system Flatpak remotes
community.general.flatpak_remote:
name: "{{ item }}"
state: present
method: system
loop: "{{ desired_system_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/Upgrade Flatpak packages
community.general.flatpak:
name: "{{ item }}"
state: present
method: system
loop: "{{ desired_system_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) }}"