- name: Include distribution specific variables
  include_vars: "{{ lookup('first_found', params) }}"
  vars:
    params:
      files:
        - "{{ ansible_facts.distribution }}.yml"
        - "{{ ansible_facts.os_family }}.yml"
        - default.yml
      paths:
        - "{{ role_path }}/vars"

- name: Install package
  action: "{{ ansible_facts.pkg_mgr }}"
  args:
    name: "{{ passwordstore_packages }}"
    state: present
  when: ansible_facts.pkg_mgr in ['apt', 'dnf', 'yum', 'pkgng']

- block:
  # OpenSUSE Leap>=15.0 don't include password-store in main repo
  - name: SUSE | Add security:privacy repo
    template:
      src: security-privacy.repo.j2
      dest: /etc/zypp/repos.d/security:privacy.repo

  - name: SUSE | Install package
    zypper:
      name: password-store
      state: present
      update_cache: yes
      disable_gpg_check: yes
  when: ansible_pkg_mgr == 'zypper'

- name: Install on macOS
  when: ansible_facts.distribution == 'MacOSX'
  block:
    - name: MACOS | Find brew binary
      command: which brew
      register: brew_which

    - name: MACOS | Get owner of brew binary
      stat:
        path: "{{ brew_which.stdout }}"
      register: brew_stat

    - name: MACOS | Install package
      homebrew:
        name:
          - gnupg2
          - pass
        state: present
        update_homebrew: no
      become: yes
      become_user: "{{ brew_stat.stat.pw_name }}"
      # Newer versions of brew want to compile a package which takes a long time. Do not upgrade homebrew until a
      # proper solution can be found
      environment:
        HOMEBREW_NO_AUTO_UPDATE: True
