--- - name: install acl package become: yes ansible.builtin.package: name: acl state: present - name: check if repo exists stat: path: "{{ dotfiles_repo_path }}" register: repo_exists - name: stash changes ansible.builtin.shell: git stash args: chdir: "{{ dotfiles_repo_path }}" changed_when: false when: repo_exists.stat.exists == true - name: Ensure dotfiles repository is cloned locally. git: repo: "{{ dotfiles_repo_url }}" dest: "{{ dotfiles_repo_path }}" depth: 1 version: "{{ dotfiles_repo_branch }}" register: git_clone - name: set owner recursive for repo file: path: "{{ dotfiles_repo_path }}" owner: "{{ dotfiles_owner }}" group: "{{ dotfiles_owner }}" recurse: yes when: (git_clone.changed == true) - name: Ensure needed dirs exist. file: path: "{{ item.path }}" state: directory with_items: "{{ dotfiles_dirs }}" - name: Link dotfiles into home folder. file: src: "{{ item.repo_path }}" dest: "{{ item.local_path }}" state: link force: yes owner: "{{ dotfiles_owner }}" group: "{{ dotfiles_owner }}" with_items: "{{ dotfiles_files }}" - name: add .bash_alias to .bashrc ansible.builtin.lineinfile: path: /home/{{ dotfiles_owner }}/.bashrc line: "source {{ dotfiles_repo_path }}/.bash_aliases" state: present - name: add .bash_functions to .bashrc ansible.builtin.lineinfile: path: /home/{{ dotfiles_owner }}/.bashrc line: "source {{ dotfiles_repo_path }}/.bash_functions" state: present