--- - name: Ensure Stow target directories exist ansible.builtin.file: path: "{{ item.path }}" state: directory owner: "{{ user_name }}" mode: "{{ item.mode }}" loop: - { path: "{{ user_home }}/.config", mode: "0755" } - { path: "{{ user_home }}/.ssh", mode: "0700" } become: false - name: Clone or update the public dotfiles repository ansible.builtin.git: repo: "{{ dotfiles_repo }}" dest: "{{ dotfiles_dir }}" version: main update: true become: false - name: Install all dotfiles with GNU Stow ansible.builtin.shell: stow -R * args: chdir: "{{ dotfiles_dir }}" executable: /bin/bash become: false changed_when: false