development/playbook.yml

72 lines
2 KiB
YAML

---
- name: Development provisioning
hosts:
- personal
- arch
- debian
pre_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: Install packages
become: true
ansible.builtin.package:
name: "{{ item }}"
state: present
loop: "{{ packages }}"
- name: Add git forge to known hosts
ansible.builtin.include_role:
name: common
tasks_from: "known_hosts.yml"
vars:
user: "{{ ansible_user_id }}"
items:
- domain: "{{ git_domain }}"
key: "{{ git_host_key }}"
when: ansible_hostname != 'fudiggity'
tasks:
- name: Setup dotfiles
ansible.builtin.import_tasks: "tasks/dotfiles.yml"
tags: dotfiles
- name: Include generic neovim tasks
ansible.builtin.import_tasks: "tasks/neovim.yml"
tags: neovim
- name: Include debian neovim tasks
ansible.builtin.import_tasks: "tasks/debian/neovim.yml"
when: "'debian' in group_names"
tags: neovim
- name: Provision Archlinux hosts
when: "'arch' in group_names"
block:
- name: Gather package facts
ansible.builtin.package_facts:
manager: pacman
- name: Include arch neovim tasks
ansible.builtin.import_tasks: "tasks/arch/neovim.yml"
when: "'arch' in group_names"
tags: neovim
- name: Install AUR packages
ansible.builtin.import_tasks: "tasks/arch/aur.yml"
tags: aur
- name: Setup docker
ansible.builtin.import_tasks: "tasks/arch/docker.yml"
tags: docker
- name: Setup python versions
ansible.builtin.include_tasks: "tasks/arch/python.yml"
loop: "{{ python_versions }}"
tags: python
- name: Setup NVM
ansible.builtin.import_tasks: "tasks/arch/nvm.yml"
tags: nvm