Group/host variable refactor
This commit is contained in:
parent
eb308670cc
commit
4b8aaf3e95
78 changed files with 445 additions and 374 deletions
105
playbook.yml
105
playbook.yml
|
|
@ -1,61 +1,21 @@
|
|||
- name: Arch Linux provisioning
|
||||
hosts: localhost
|
||||
pre_tasks:
|
||||
- name: Install shared packages
|
||||
become: true
|
||||
community.general.pacman:
|
||||
name: '{{ packages }}'
|
||||
|
||||
- name: Platform vars
|
||||
tags: platform_vars
|
||||
block:
|
||||
- name: Detect platform
|
||||
ansible.builtin.command: laptop-detect
|
||||
register: is_laptop
|
||||
failed_when: is_laptop.rc == 2
|
||||
|
||||
- name: Set platform (desktop)
|
||||
ansible.builtin.set_fact:
|
||||
platform: desktop
|
||||
when: is_laptop.rc == 1
|
||||
|
||||
- name: Set platform (laptop)
|
||||
ansible.builtin.set_fact:
|
||||
platform: laptop
|
||||
when: is_laptop.rc == 0
|
||||
|
||||
- name: Load desktop specific vars
|
||||
ansible.builtin.include_vars:
|
||||
dir: vars/desktop
|
||||
when: platform == 'desktop'
|
||||
|
||||
- name: Load laptop specific vars
|
||||
ansible.builtin.include_vars:
|
||||
dir: vars/laptop
|
||||
when: platform == 'laptop'
|
||||
|
||||
- name: Install platform specific packages
|
||||
become: true
|
||||
community.general.pacman:
|
||||
name: '{{ platform_packages }}'
|
||||
when: platform_packages | length > 0
|
||||
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: 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
|
||||
|
|
@ -64,33 +24,46 @@
|
|||
ansible.builtin.import_tasks: 'tasks/systemd.yml'
|
||||
tags: systemd
|
||||
|
||||
# TODO: move to development playbook
|
||||
- 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
|
||||
|
||||
- name: Personal provisiong
|
||||
when: "'personal' in group_names"
|
||||
block:
|
||||
- name: Wireguard provisioning
|
||||
ansible.builtin.import_tasks: 'tasks/personal/wireguard.yml'
|
||||
tags: wireguard
|
||||
|
||||
- name: MPV provisioning
|
||||
ansible.builtin.import_tasks: 'tasks/personal/mpv.yml'
|
||||
tags: mpv
|
||||
|
||||
- name: MPD provisioning
|
||||
ansible.builtin.import_tasks: 'tasks/personal/mpd.yml'
|
||||
tags: mpd
|
||||
|
||||
- name: Syncthing provisioning
|
||||
ansible.builtin.import_tasks: 'tasks/personal/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'
|
||||
vars_files:
|
||||
- 'vars/main.yml'
|
||||
- 'vars/gpg.yml'
|
||||
- 'vars/mpd.yml'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue