---

- 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: "{{ (user_user_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: "{{ user_user_home }}/.bashrc"
    line: "source \"{{ _shell_rc_file }}\""
    owner: "{{ unix_user.key }}"
    group: "{{ unix_user.value.group | default('users') }}"
    state: "present"