- name: Set the /etc/hosts when: hostname is undefined or item.key != hostname ansible.builtin.lineinfile: path: /etc/hosts regexp: '^{{ item.key | regex_escape() }}\s+' line: "{{ item.key }} {{ item.value | join(' ') }}" loop: "{{ etc_hosts | dict2items }}" # Without an entry for the local hostname, firefox takes multiple minutes to launch. - name: Set the /etc/hosts when: hostname is defined ansible.builtin.lineinfile: path: /etc/hosts regexp: '\s+{{ hostname | regex_escape() }}\s*$' line: "127.0.0.1 {{ hostname }}" - import_tasks: tasks/freebsd.yaml when: 'os_flavor == "freebsd"' - import_tasks: tasks/linux.yaml when: 'os_flavor == "linux"' - include_tasks: file: tasks/peruser.yaml apply: become: yes become_user: "{{ initialize_user }}" when: users is defined loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}" loop_control: loop_var: initialize_user