--- - name: Configure host. hosts: all vars_files: - default.config.yml pre_tasks: - name: Include playbook configuration. include_vars: "{{ item }}" with_fileglob: - "{{ playbook_dir }}/config.yml" tags: ['always'] roles: - role: elliotweiser.osx-command-line-tools - role: geerlingguy.mac.homebrew tags: ['homebrew'] - role: geerlingguy.dotfiles when: configure_dotfiles tags: ['dotfiles'] - role: geerlingguy.mac.mas when: mas_installed_apps or mas_installed_app_ids tags: ['mas'] - role: geerlingguy.mac.dock when: configure_dock tags: ['dock'] tasks: - import_tasks: tasks/sudoers.yml when: configure_sudoers tags: ['sudoers'] - import_tasks: tasks/terminal.yml when: configure_terminal tags: ['terminal'] - import_tasks: tasks/osx.yml when: configure_osx tags: ['osx'] - import_tasks: tasks/extra-packages.yml tags: ['extra-packages'] - import_tasks: tasks/sublime-text.yml when: configure_sublime tags: ['sublime-text'] - name: Run post-provision task files in a block. tags: ['post'] block: - name: Run configured post-provision ansible task files. include_tasks: "{{ outer_item }}" loop_control: loop_var: outer_item with_fileglob: "{{ post_provision_tasks | default(omit) }}"