development/tasks/dotfiles.yml

60 lines
1.4 KiB
YAML

- name: clone dotfiles
git:
repo: '{{ dotfiles_repo }}'
dest: '{{ ansible_env.HOME }}/dotfiles'
version: master
update: yes
register: dotfile_ssh_clone
ignore_errors: true
- name: clone dotfiles
git:
repo: '{{ public_dotfiles_repo }}'
dest: '{{ ansible_env.HOME }}/dotfiles'
version: master
update: yes
when: dotfile_ssh_clone.failed
- name: Create xdg configuration directories
ansible.builtin.file:
path: '{{ item }}'
state: directory
mode: '644'
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'
- name: setup dotfiles
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.conf',
dest: '{{ xdg_config_dir }}/tmux/tmux.conf',
}
- {
src: '{{ ansible_env.HOME }}/dotfiles/.gitignore',
dest: '{{ xdg_config_dir }}/git/ignore',
}