---
# Use flatpaks because they're consistent! :)

# Flatpak Pre-reqs
- name: Workstation | Linux | Flatpak Distro | Flatpak | Install
  package:
    name: flatpak
    update_cache: yes

- name: Workstation | Linux | Flatpak Distro | Flatpak | Add Flathub for System
  flatpak_remote:
    name: flathub
    state: present
    method: system
    flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo


# Flatpak Installs
- name: Workstation | Linux | Flatpak Distro | Flatpak | Application Installs
  flatpak:
    name: "{{ item }}"
    remote: flathub
    state: present
  loop:
    - org.mozilla.Thunderbird
    - com.discordapp.Discord
    - io.lbry.lbry-app
    - com.visualstudio.code-oss
    - com.google.AndroidStudio
    - org.shotcut.Shotcut
    - com.obsproject.Studio
    - com.valvesoftware.Steam

- name: Workstation | Linux | Flatpak Distro | Flatpak | Application Uninstalls
  flatpak:
    name: "{{ item }}"
    remote: flathub
    state: absent
  loop:
    - org.mozilla.firefox
    - com.visualstudio.code # Why does this throw an error? It's the correct ID.
  ignore_errors: yes


# Software not yet available or working properly in Flatpak form.
- name: Workstation | Linux | Flatpak Distro | Package Manager | Add Lutris PPA (Ubuntu)
  apt_repository: 
    repo: ppa:lutris-team/lutris
    update_cache: yes
    state: present
  when: ansible_distribution == "Ubuntu"

- name: Workstation | Linux | Flatpak Distro | Package Manager | Install Lutris
  package: 
    name: lutris
    state: present

- name: Workstation | Linux | Flatpak Distro | Package Manager | Install Firefox ESR
  package: 
    name: "{{ firefox_esr }}"
    state: present

- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Firefox Normal
  package: 
    name:
    - "{{ firefox }}"
    state: absent
  when: firefox != firefox_esr

- name: Workstation | Linux | Flatpak Distro | Package Manager | Install VLC
  package: 
    name: vlc
    state: present

- name: Workstation | Linux | Flatpak Distro | Package Manager | Remove Applciations
  package: 
    name:
    - "{{ thunderbird }}"
    - "{{ evolution }}"
    - steam
    - vscode
    - code
    state: absent