From 6801e4708e30f354ef25cbd5357d1b8739442088 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Thu, 23 Jan 2025 17:40:01 +0100 Subject: [PATCH 1/4] refactor: add mangohud package for gaming statistics --- config/ansible/tasks/workstations/workstation.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/ansible/tasks/workstations/workstation.yml b/config/ansible/tasks/workstations/workstation.yml index 280f48c..6e56eb9 100644 --- a/config/ansible/tasks/workstations/workstation.yml +++ b/config/ansible/tasks/workstations/workstation.yml @@ -26,5 +26,7 @@ - libgda-sqlite # Required by Bubblemail - Email Notifications (GNOME Extension) - bubblemail + # Statistics HUD for gaming + - mangohud state: present become: true From 8d6d39b1ddf2efedfd5a9a7ec254f427fadea66a Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Fri, 24 Jan 2025 11:10:48 +0100 Subject: [PATCH 2/4] refactor: add Steam and dependencies, and extra GNOME Shell icons --- config/ansible/tasks/workstations/workstation.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/ansible/tasks/workstations/workstation.yml b/config/ansible/tasks/workstations/workstation.yml index 6e56eb9..e2606a4 100644 --- a/config/ansible/tasks/workstations/workstation.yml +++ b/config/ansible/tasks/workstations/workstation.yml @@ -28,5 +28,10 @@ - bubblemail # Statistics HUD for gaming - mangohud + # Steam and it's dependencies + - steam + - steam-devices + # Missing icons in GNOME Shell + - gdk-pixbuf2-modules-extra state: present become: true From 482c4b312bda739a5b11e5debe61775a92fe6e4f Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Fri, 24 Jan 2025 11:10:52 +0100 Subject: [PATCH 3/4] refactor: update Flatpak package list to include IPLookup and remove Steam --- config/ansible/tasks/workstations/flatpaks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ansible/tasks/workstations/flatpaks.yml b/config/ansible/tasks/workstations/flatpaks.yml index b3e3ec4..fcb0556 100644 --- a/config/ansible/tasks/workstations/flatpaks.yml +++ b/config/ansible/tasks/workstations/flatpaks.yml @@ -51,9 +51,9 @@ - net.nokyan.Resources - dev.zed.Zed - com.discordapp.Discord - - com.valvesoftware.Steam - page.tesk.Refine - io.github.flattool.Ignition + - io.github.bytezz.IPLookup - name: Install/Upgrade Flatpak packages community.general.flatpak: From 9663725ef4d32fdc7afa8449b6bca8f9204b1e7e Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Fri, 24 Jan 2025 11:45:20 +0100 Subject: [PATCH 4/4] refactor: enhance Flatpak management by separating user and system installations and remotes --- .../ansible/tasks/workstations/flatpaks.yml | 97 +++++++++++++++++-- 1 file changed, 87 insertions(+), 10 deletions(-) diff --git a/config/ansible/tasks/workstations/flatpaks.yml b/config/ansible/tasks/workstations/flatpaks.yml index fcb0556..119503a 100644 --- a/config/ansible/tasks/workstations/flatpaks.yml +++ b/config/ansible/tasks/workstations/flatpaks.yml @@ -4,14 +4,30 @@ flatpakrepo_url: https://flathub.org/repo/flathub.flatpakrepo state: present -- name: Get list of installed Flatpaks - ansible.builtin.command: flatpak list --app --columns=application - register: installed_flatpaks +- name: Get list of system installed Flatpaks + ansible.builtin.command: flatpak list --system --app --columns=application + register: installed_system_flatpaks 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: - desired_flatpaks: + desired_system_flatpaks: - org.fkoehler.KTailctl - org.mozilla.Thunderbird - io.github.kukuruzka165.materialgram @@ -50,19 +66,80 @@ - io.github.nokse22.Exhibit - net.nokyan.Resources - dev.zed.Zed - - com.discordapp.Discord + - so.libdb.dissent - page.tesk.Refine - io.github.flattool.Ignition - 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: name: "{{ item }}" 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: name: "{{ item }}" 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) }}"