--- - name: "Determine shell rc directory" ansible.builtin.set_fact: # path_join examples: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/path_join_filter.html#examples _shell_rc_file: "{{ (_unix_users_home, '.bashrc.d', shell_rc_file.file) | path_join }}" - name: "Create shell rc directory: {{ _shell_rc_file | dirname }}" ansible.builtin.file: path: "{{ _shell_rc_file | dirname }}" owner: "{{ unix_user.key }}" group: "{{ unix_user.value.group | default('users') }}" mode: "0755" state: "directory" - name: "Create shell rc file: {{ _shell_rc_file }}" ansible.builtin.template: src: shell_rc_file.j2 dest: "{{ _shell_rc_file }}" owner: "{{ unix_user.key }}" group: "{{ unix_user.value.group | default('users') }}" mode: "0644" - name: "Source shell rc file: {{ _shell_rc_file }}" ansible.builtin.lineinfile: path: "{{ _unix_users_home }}/.bashrc" line: "source \"{{ _shell_rc_file }}\"" create: true owner: "{{ unix_user.key }}" group: "{{ unix_user.value.group | default('users') }}" mode: "0644" state: "present"