development/playbook.yml

71 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