---
- name: Find installed plugins
  become_user: "{{ user.username }}"
  environment:
    PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:{{ ansible_env.PATH }}
  command: vagrant plugin list
  register: vagrant_plugins_installed
  changed_when: false

- name: "Ensure user-specified {{ app_name }} plugins are installed" # noqa 301
  become_user: "{{ user.username }}"
  environment:
    PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:{{ ansible_env.PATH }}
  command: "vagrant plugin install {{ item }}"
  when:
    - (vagrant_plugins | difference(vagrant_plugins_installed.stdout))
    - ansible_distribution != 'Fedora'
  loop: "{{ vagrant_plugins | difference(vagrant_plugins_installed.stdout) }}"

- name: "Ensure user-specified {{ app_name }} plugins are installed" # noqa 301
  become_user: "{{ user.username }}"
  environment:
    PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:{{ ansible_env.PATH }}
  shell: "CONFIGURE_ARGS='with-ldflags=-L/opt/vagrant/embedded/lib with-libvirt-include=/usr/include/libvirt with-libvirt-lib=/usr/lib64' \
    GEM_HOME=~/.vagrant.d/gems GEM_PATH=$GEM_HOME:/opt/vagrant/embedded/gems PATH=/opt/vagrant/embedded/bin:$PATH \
    vagrant plugin install {{ item }}"
  when:
    - (vagrant_plugins | difference(vagrant_plugins_installed.stdout))
    - ansible_distribution == 'Fedora'
  loop: "{{ vagrant_plugins | difference(vagrant_plugins_installed.stdout) }}"
