- name: Clone dotfiles ansible.builtin.git: repo: '{{ dotfiles_repo }}' dest: '{{ ansible_env.HOME }}/dotfiles' version: master update: true - name: Create xdg configuration directories ansible.builtin.file: path: '{{ item }}' state: directory mode: '0755' loop: - '{{ xdg_config_dir }}/git' - '{{ xdg_config_dir }}/tmux' - name: Remove previous dotfiles ansible.builtin.file: path: '{{ item }}' state: absent loop: - '{{ ansible_env.HOME }}/.tmux.conf' - '{{ ansible_env.HOME }}/.gitconfig' - name: Setup dotfiles ansible.builtin.file: path: '{{ item.dest }}' src: '{{ item.src }}' state: link force: true loop: - src: '{{ ansible_env.HOME }}/dotfiles/.vimrc' dest: '{{ ansible_env.HOME }}/.vimrc' - src: '{{ ansible_env.HOME }}/dotfiles/.bashrc' dest: '{{ ansible_env.HOME }}/.bashrc' - src: '{{ ansible_env.HOME }}/dotfiles/.profile' dest: '{{ ansible_env.HOME }}/.profile' - src: '{{ ansible_env.HOME }}/dotfiles/tmux/tmux.conf' dest: '{{ xdg_config_dir }}/tmux/tmux.conf' - src: '{{ ansible_env.HOME }}/dotfiles/tmux/light.conf' dest: '{{ xdg_config_dir }}/tmux/light.conf' - src: '{{ ansible_env.HOME }}/dotfiles/tmux/dark.conf' dest: '{{ xdg_config_dir }}/tmux/dark.conf' - src: '{{ ansible_env.HOME }}/dotfiles/.gitignore' dest: '{{ xdg_config_dir }}/git/ignore' - name: Copy git configuration ansible.builtin.template: src: 'templates/gitconfig.j2' dest: '{{ xdg_config_dir }}/git/config' mode: '0755' - name: Create script directory ansible.builtin.file: path: '{{ ansible_env.HOME }}/.local/bin' state: directory mode: '0755' - name: Copy tmux toggle script ansible.builtin.template: src: 'templates/tmux-toggle.j2' dest: '{{ ansible_env.HOME }}/.local/bin/tmux-toggle.sh' mode: '0755'