arch-setup/playbook.yml

64 lines
1.9 KiB
YAML

- name: Arch Linux provisioning
hosts:
- xps
- desktop
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:
- 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'