- 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