---
- name: Include variables based on the operating system
  include_vars: "{{ ansible_os_family }}.yml"

# @action Ensures Visual Studio Code is installed
# Installs Visual Studio Code on Archlinux, CentOS, Debian, Fedora, macOS, Ubuntu, and Windows
# @action Ensures Visual Studio Code is configured
# Installs provided list of Visual Studio Code plugins
# @action Ensures Visual Studio Code is configured
# Configures Visual Studio Code to use Solarized Dark theme
# @action Ensures Visual Studio Code is configured
# Installs iTerm2 Theme Sync plugin on macOS
- name: Include tasks based on the operating system
  become: true
  become_method: "{{ 'runas' if ansible_os_family == 'Windows' else 'sudo' }}"
  become_user: "{{ ansible_user if ansible_os_family == 'Windows' else omit }}"
  block:
    - include_tasks: "install-{{ ansible_os_family }}.yml"

- name: "Install missing {{ app_name }} extensions"
  include_tasks: user-Linux.yml
  loop: "{{ user_configs | default([]) }}"
  loop_control:
    label: "{{ user.username }}"
    loop_var: user
  when:
    - (user.system is not defined) or ((user.system is defined) and (not user.system))
    - ansible_os_family != 'Windows'
