- name: Arch Linux provisioning hosts: personal gather_facts: true roles: - common tasks: - name: Verifying that a limit is set ansible.builtin.fail: msg: 'This playbook cannot be run with no limit' run_once: true when: ansible_limit is not defined - name: Generic provisioning ansible.builtin.import_tasks: 'tasks/setup.yml' tags: setup - name: Network provisioning ansible.builtin.import_tasks: 'tasks/network.yml' tags: network - name: Systemd provisioning ansible.builtin.import_tasks: 'tasks/systemd.yml' tags: systemd - name: Systemd timer provisioning ansible.builtin.import_tasks: 'tasks/timer.yml' tags: timers - name: Personal provisiong when: "'personal' in group_names" block: # Note: Disable DoH in Firefox to fallback to system's default DNS # resolver, see # https://support.mozilla.org/en-US/kb/dns-over-https#w_configure-doh-protection-settings - name: Wireguard provisioning ansible.builtin.import_tasks: 'tasks/personal/all/wireguard.yml' tags: wireguard - name: MPV provisioning ansible.builtin.import_tasks: 'tasks/personal/all/mpv.yml' tags: mpv - name: MPD provisioning ansible.builtin.import_tasks: 'tasks/personal/all/mpd.yml' tags: mpd - name: Syncthing provisioning ansible.builtin.import_tasks: 'tasks/personal/all/syncthing.yml' tags: syncthing - name: Desktop provisioning ansible.builtin.import_tasks: 'tasks/personal/desktop.yml' when: ansible_hostname == 'desktop' tags: desktop - name: XPS provisioning ansible.builtin.import_tasks: 'tasks/personal/xps.yml' when: ansible_hostname == 'xps' tags: xps handlers: - name: Import default handlers ansible.builtin.import_tasks: 'handlers.yml' - name: Import common role handlers ansible.builtin.import_tasks: 'roles/common/handlers/user.yml'