---
# Harmonize my systems rather than doing everything manually. :)

# Everything
- name: Initial Setup
  hosts: all, localhost
  connection: local
  become: true  

  pre_tasks:
    - include: facts/system.yml
    - include: facts/package.yml
    - include: facts/service.yml
    - include: facts/user.yml

  tasks:
    - include: tasks/general/software/packages.yml
    - include: tasks/general/software/harden.yml
      ignore_errors: yes

    - include: tasks/general/acct_mgmt/groups.yml
    - include: tasks/general/acct_mgmt/users.yml
    - include: tasks/general/acct_mgmt/sudo.yml
    - include: tasks/general/acct_mgmt/keys.yml
    - include: tasks/general/acct_mgmt/mounts.yml

    - include: tasks/general/cron/ansible.yml


# Workstations
- name: UI Setup
  hosts: workstation
  connection: local
  become: true

  tasks:
    - include: tasks/linux/software/flatpaks.yml
      when: ansible_system == "Linux" and
            flatpak_distro == "true"
    - shell: echo "Not implemented yet. :("
      when: ansible_system == "Linux" and
            flatpak_distro != "true"

    - include: tasks/freebsd/software/gui.yml
      when: ansible_system == "FreeBSD"


# Run Hardness Checks
- name: Hardening Check
  hosts: all, localhost
  connection: local
  become: true

  tasks:
    - include: tasks/general/hardness_checks/lynis.yml