---
# Cross-platform package management.

- name: General | Software | Packages | Cache Refresh (Apt and Pacman)
  package:
    update_cache: yes
  when: ansible_pkg_mgr in ["apt", "pacman"]

- name: General | Software | Packages | Cache Refresh (FreeBSD)
  shell: pkg update
  when: ansible_system == "FreeBSD"

- name: General | Software | Packages | Install Software
  package: 
    name:
    - bash
    - sudo
    - htop
    - nmap
    - neofetch
    - "{{ sshfs }}"
    - "{{ locate }}"
    - zsh
    - "{{ opensshd }}"
    state: present

- name: General | Software | Packages | Update Software (Disabled)
  package: 
    name:
    - ansible
    - git
    state: latest
  when: 1 == 0

- name: General | Software | Packages | Remove Software
  package: 
    name:
    - cowsay # Sorry ;)
    - chromium
    - chromium-browser
    state: absent

# Ubuntu still uses snap for critical components like GNOME, must keep.
- name: General | Software | Services | Disable Snap Daemon
  service:
    name: snapd
    pattern: snapd
    state: stopped
    enabled: no
  when: ansible_distribution != "Ubuntu"
  ignore_errors: yes

- name: General | Software | Packages | Remove Snap (Besides Ubuntu)
  package: 
    name:
    - snapd
    state: absent
  when: ansible_distribution != "Ubuntu"
  ignore_errors: yes