--- - hosts: all roles: - { role: authorized_keys, tags: init_ssh } - hosts: server tags: limit tasks: - name: Limit to Archlinux/Debian/Centos/FreeBSD fail: msg: "{{ ansible_distribution }} is not supported with this tag." when: (ansible_distribution != "CentOS") and (ansible_distribution != "Debian") and (ansible_distribution != "Archlinux") and (ansible_distribution != "FreeBSD") - hosts: desktop:laptop tags: limit tasks: - name: Limit to Archlinux and NixOS fail: msg: "{{ ansible_distribution }} is not supported with this tag." when: (ansible_distribution != "Archlinux") and (ansible_distribution != "NixOS") - name: Limit to user accounts fail: msg: "Don't run as root." when: ansible_user_id == "root" - hosts: server:desktop:laptop tasks: - name: update package list if apt apt: update_cache: yes when: ansible_distribution == "Debian" - hosts: server:desktop:laptop roles: - role: packages tags: packages vars: meta: 'common' when: ansible_distribution == "Archlinux" - { role: fish, tags: fish } - { role: neovim, tags: neovim } - { role: terminfo, tags: terminfo } - { role: screen, tags: screen } - { role: git, tags: git } - { role: tiny, tags: tiny } - { role: userbin, tags: userbin } - hosts: desktop:laptop roles: - role: packages tags: packages vars: meta: 'desktop' when: ansible_distribution == "Archlinux" - role: ssh-agent tags: ssh-agent when: ansible_distribution == "Archlinux" - { role: gtk, tags: gtk } - { role: sway, tags: sway } - { role: waybar, tags: waybar } - { role: variety, tags: variety } - { role: rofi, tags: rofi } - { role: termite, tags: termite } - { role: weechat, tags: weechat } - { role: openvpn, tags: openvpn } - { role: borgbackup, tags: borgbackup } tasks: - include_role: name: vagrant when: ansible_user_id == "vagrant" tags: vagrant - hosts: laptop roles: - role: packages tags: packages vars: meta: 'laptop' when: ansible_distribution == "Archlinux" - { role: xbindkeys, tags: xbindkeys }