dotfiles/roles/common/tasks/main.yml

100 lines
2.7 KiB
YAML

---
- name: remove pre-installed bash profile
file:
path: "{{ item }}"
state: absent
loop:
- ~/.bash_logout
- ~/.profile
- name: ensure existence of directories used by dotfiles
file:
path: "{{ item }}"
state: directory
loop:
- ~/.config/dircolors
- ~/.config/git
- ~/.config/mintty
- ~/.config/python
- ~/.config/readline
- ~/.config/tmux
- ~/.config/vim
- ~/.config/vim/autoload # vim plugin manager
- ~/.local/bin # local commands
- ~/.local/etc/git # local git config
- ~/.local/share/bash # for bash history
- ~/.local/share/bash-completion/completions # custom bash completions
- ~/.local/share/less # less history
- ~/.local/share/python # python history
- ~/.local/share/vim # viminfo
- ~/.local/share/vim/plugged # vim plugins
- ~/.ssh
- name: link dotfiles
file:
src: "{{ role_path }}/files/{{ item.src }}"
dest: "{{ item.dest }}"
state: link
force: yes
loop:
- { src: bashrc, dest: ~/.bash_profile }
- { src: bashrc, dest: ~/.bashrc }
- { src: gitconfig, dest: ~/.config/git/config }
- { src: gitignore, dest: ~/.config/git/ignore }
- { src: inputrc, dest: ~/.config/readline/inputrc }
- { src: minttyrc, dest: ~/.config/mintty/config }
- { src: plug.vim, dest: ~/.config/vim/autoload/plug.vim }
- { src: python-startup.py, dest: ~/.config/python/startup.py }
- { src: ssh_config, dest: ~/.ssh/config }
- { src: tmux-colors.conf, dest: ~/.config/tmux/tmux-colors.conf }
- { src: tmux.conf, dest: ~/.config/tmux/tmux.conf }
- { src: vimrc, dest: ~/.config/vim/vimrc }
- name: deploy templates
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
loop:
- src: gitconfig.host.j2
dest: ~/.local/etc/git/config.host
- name: link local commands
file:
src: "{{ item }}"
dest: ~/.local/bin/{{ item | basename }}
state: link
force: yes
with_fileglob:
- "{{ role_path }}/files/bin/*"
- name: link dircolors
file:
src: "{{ item }}"
dest: ~/.config/dircolors/{{ item | basename }}
state: link
force: yes
with_fileglob:
- "{{ role_path }}/files/dircolors/*"
- block:
- name: hushlogin exists?
stat:
path: ~/.hushlogin
register: hush
- name: create hushlogin
when: hush.stat.exists == false
file:
path: ~/.hushlogin
state: touch
- name: install vim plugins
shell: vim -es -u ~/.config/vim/vimrc +PlugInstall +qall