---
- name: Setup user specific configuration
  include_tasks: user-Linux.yml
  when: (user.system is not defined) or ((user.system is defined) and (not user.system))
  loop: "{{ user_configs | default([]) }}"
  loop_control:
    label: "{{ user.username }}"
    loop_var: user

# @action Installs Composer
# Installs a configurable list of Composer packages (defined with the `composer_global_packages` variable)
- name: Ensure configured globally-required packages are installed
  become_user: "{{ composer_home_owner }}"
  command: >
    {{ composer_path }} global require {{ item.name }}:{{ item.release | default('@stable') }} --no-progress --no-interaction
  args:
    creates: "{{ composer_home_path }}/vendor/{{ item.name }}"
  loop: "{{ composer_global_packages }}"
  when: composer_global_packages | length > 0

- name: Ensure composer_project_path bin directory is added to global $PATH
  template:
    src: composer-project.sh.j2
    dest: /etc/profile.d/composer-project.sh
    mode: 0644
  when:
    - composer_add_project_to_path | bool
    - ansible_system == 'Linux'
