---
# Variable setup.
- name: Include OS-specific variables.
  include_vars: "{{ ansible_os_family }}.yml"

- name: Define nginx_user.
  set_fact:
    nginx_user: "{{ __nginx_user }}"
  when: nginx_user is not defined

# Setup/install tasks.
- include: setup-RedHat.yml
  when: ansible_os_family == 'RedHat'

- include: setup-Ubuntu.yml
  when: ansible_distribution == 'Ubuntu'

- include: setup-Debian.yml
  when: ansible_os_family == 'Debian'

- include: setup-FreeBSD.yml
  when: ansible_os_family == 'FreeBSD'

- include: setup-OpenBSD.yml
  when: ansible_os_family == 'OpenBSD'

- include: setup-Archlinux.yml
  when: ansible_os_family == 'Archlinux'

# Vhost configuration.
- include: vhosts.yml

# Nginx setup.
- name: Copy nginx configuration in place.
  template:
    src: "{{ nginx_conf_template }}"
    dest: "{{ nginx_conf_file_path }}"
    owner: root
    group: "{{ root_group }}"
    mode: 0644
  notify:
    - reload nginx

- name: Ensure nginx is started and enabled to start at boot.
  service: name=nginx state=started enabled=yes