arch-setup/playbook.yml
2025-03-01 21:46:16 +01:00

72 lines
1.9 KiB
YAML

- 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'