- name: Arch Linux provisioning hosts: localhost pre_tasks: - name: Install shared packages become: true community.general.pacman: name: '{{ packages }}' - name: Detect platform ansible.builtin.import_tasks: 'tasks/platform.yml' tags: platform_vars - name: Install platform specific packages become: true community.general.pacman: name: '{{ platform_packages }}' when: platform_packages | length > 0 roles: - common tasks: - name: Generic provisioning ansible.builtin.import_tasks: 'tasks/setup.yml' tags: setup - name: Desktop provisioning ansible.builtin.import_tasks: 'tasks/setup-desktop.yml' when: platform == 'desktop' tags: laptop - name: Laptop provisioning ansible.builtin.import_tasks: 'tasks/setup-laptop.yml' when: platform == 'laptop' tags: laptop - 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: Git provisioning ansible.builtin.import_tasks: 'tasks/git.yml' tags: git - name: MPV provisioning ansible.builtin.import_tasks: 'tasks/mpv.yml' tags: mpv - name: MPD provisioning ansible.builtin.import_tasks: 'tasks/mpd.yml' tags: mpd - name: Syncthing provisioning ansible.builtin.import_tasks: 'tasks/syncthing.yml' tags: syncthing - name: Systemd timer provisioning ansible.builtin.import_tasks: 'tasks/timer.yml' tags: timers 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' vars_files: - 'vars/main.yml' - 'vars/gpg.yml' - 'vars/mpd.yml'