--- - name: 'Install required packages' pkgng: name={{item}} state=present with_items: - sudo when: ansible_facts['os_family'] == 'FreeBSD' - name: 'Allow wheel group to do passwordless sudo' lineinfile: dest: /usr/local/etc/sudoers state: present regexp: '^%wheel' line: '%wheel ALL=(ALL) NOPASSWD:ALL' validate: visudo -cf %s when: ansible_facts['os_family'] == 'FreeBSD' - name: 'Allow wheel group to do passwordless sudo' lineinfile: dest: /etc/sudoers state: present regexp: '^%wheel' line: '%wheel ALL=(ALL) NOPASSWD:ALL' validate: visudo -cf %s when: - ansible_facts['os_family'] in ['Debian', 'Archlinux'] - name: 'Create users with corresponding groups' user: name: "{{ item }}" groups: users with_items: "{{ users }}" - name: 'Add corresponding authorized_keys to each user' authorized_key: user: "{{ item }}" state: present key: "{{ lookup('file', 'public_keys/id_{{ item }}.pub') }}" exclusive: "{{ authorized_keys_are_exclusive | bool }}" with_items: "{{ users }}" ignore_errors: true - name: 'Ensure that wheel group is existing' group: name: wheel state: present - name: 'Add sudoers user to wheel group' user: name: "{{ item }}" groups: wheel append: yes with_items: "{{ sudoers }}" - name: Copy tmux config copy: src: files/tmux.conf dest: /home/{{ item }}/.tmux.conf mode: 0644 owner: "{{ item }}" group: "{{ item }}" with_items: "{{ users }}"