development/tasks/dotfiles.yml

63 lines
1.7 KiB
YAML

- 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: Copy tmux toggle script
ansible.builtin.template:
src: 'templates/tmux-toggle.j2'
dest: '{{ ansible_env.HOME }}/.local/bin/tmux-toggle.sh'
mode: '0755'