---
- name: List currently installed apps
  shell: yunohost app map --output-as json
  register: yunohost_installed_apps_raw
  changed_when: False

- name: Format json of apps
  set_fact: yunohost_installed_apps="{{ yunohost_installed_apps_raw.stdout | from_json }}"

- name: Install apps
  shell: yunohost app install {{ item.link }} --label "{{ item.label }}" --args "{% for key, value in item.args.items() %}{{key}}={{value}}{% if not loop.last %}&{% endif %}{% endfor %}"
  with_items: "{{ yunohost.apps }}"
  when: item.label not in yunohost_installed_apps.values()
