- name: Create .cargo folder file: state: directory dest: "{{ ansible_user_dir }}/.cargo" - name: Install bat community.general.cargo: name: bat path: '{{ ansible_user_dir }}/.cargo' state: latest locked: true executable: /usr/bin/cargo - name: Create required folders file: state: directory dest: "{{ lookup('env', 'XDG_CONFIG_HOME') }}/{{ item.path }}" with_filetree: ../templates when: item.state == 'directory' - name: Install bat config files template: src: "{{ item.src }}" dest: "{{ lookup('env', 'XDG_CONFIG_HOME') }}/bat/{{ item.path }}" owner: "{{ ansible_user_uid }}" group: "{{ ansible_user_gid }}" mode: '{{ item.mode }}' with_filetree: templates/bat/ - name: Add to .zshrc lineinfile: path: "{{ ansible_user_dir }}/.zshrc" insertafter: '\[ -f {{ lookup("env", "XDG_CONFIG_HOME") }}.* \] && source {{ lookup("env", "XDG_CONFIG_HOME") }}.*' regexp: '\[ -f {{ lookup("env", "XDG_CONFIG_HOME") }}/bat/bat\.rc \] && source {{ lookup("env", "XDG_CONFIG_HOME") }}/bat/bat\.rc' line: '[ -f {{ lookup("env", "XDG_CONFIG_HOME") }}/bat/bat.rc ] && source {{ lookup("env", "XDG_CONFIG_HOME") }}/bat/bat.rc'