Ansible_workstation/tasks/dotfiles.yml

182 lines
4.8 KiB
YAML

---
- name: dotfiles -- Copy tmux.conf
template:
src: files/dotfiles/tmux.conf
dest: /home/{{ item.username }}/.tmux.conf
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
# Zsh config
- name: dotfiles -- Download antibody
get_url:
url: https://raw.githubusercontent.com/getantibody/installer/master/install
dest: /tmp/antibody.sh
mode: 0770
when: prompt == "zsh"
- name: dotfiles -- Execute the antibody.sh
shell: /tmp/antibody.sh
become: yes
ignore_errors: yes
when: prompt == "zsh"
- name: dotfiles -- Remove the antibody.sh
file: path=/tmp/antibody.sh state=absent
when: prompt == "zsh"
- name: dotfiles -- Copy local zshrc
template:
src: files/dotfiles/zshrc
dest: /home/{{ item.username }}/.zshrc
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: prompt == 'zsh'
- name: dotfiles -- Copy local zshrc.local
template:
src: files/dotfiles/zshrc.local
dest: /home/{{ item.username }}/.zshrc.local
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: prompt == 'zsh'
- name: dotfiles -- Copy local zsh_plugins.txt
template:
src: files/dotfiles/zsh_plugins.txt
dest: /home/{{ item.username }}/.zsh_plugins.txt
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: prompt == 'zsh'
# Fish config
- name: dotfiles -- Create fish config directory
file:
dest: /home/{{ item.username }}/.config/fish/
state: directory
with_items: "{{ dotusers }}"
when: prompt == 'fish'
- name: dotfiles -- Copy config.fish
template:
src: files/dotfiles/config.fish
dest: /home/{{ item.username }}/.config/fish/
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: prompt == 'fish'
register: fishconfig
- name: dotfiles -- Copy fisher plugin list
template:
src: files/dotfiles/fishfile
dest: /home/{{ item.username }}/.config/fish/
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: prompt == 'fish'
register: fishplugin
# Vim config
#
- name: dotfiles -- Copy .vim/
copy:
src: files/dotfiles/vim/
dest: /home/{{ item.username }}/.vim/
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
- name: dotfiles -- Creates .vim/autoload/
file:
path: /home/{{ item.username }}/.vim/autoload/
state: directory
with_items: "{{ dotusers }}"
- name: dotfiles -- Download plug.vim
get_url:
url: https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
dest: /home/{{ item.username }}/.vim/autoload/plug.vim
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
- name: dotfiles -- Copy vimrc
template:
src: files/dotfiles/vimrc
dest: /home/{{ item.username }}/.vimrc
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
# Neovim config
- name: dotfiles -- Copy nvim config
copy:
src: files/dotfiles/nvim
dest: /home/{{ item.username }}/.config
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: editor == 'nvim'
- name: dotfiles -- Download plug.vim for nvim
get_url:
url: https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
dest: /home/{{ item.username }}/.config/nvim/autoload/plug.vim
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: editor == 'nvim'
# Alacritty terminal
- name: dotfiles -- Copy alacritty config
copy:
src: files/dotfiles/alacritty
dest: /home/{{ item.username }}/.config
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
# Ssh config
- name: dotfiles -- Creates .ssh
file:
path: /home/{{ item.username }}/.ssh/
state: directory
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: not server
- name: dotfiles -- Copy ssh user config
template:
src: files/dotfiles/ssh/{{ item.ssh_config }}
dest: /home/{{ item.username }}/.ssh/config
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: not server
# Git config
- name: dotfiles -- Copy gitconfig
template:
src: files/dotfiles/gitconfig
dest: /home/{{ item.username }}/.gitconfig
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: not server
# coc snippets
- name: dotfiles -- Copying snippets
file:
src: files/dotfiles/ultisnips
dest: /home/{{ item.username }}/.config/coc/ultisnips
state: directory
owner: "{{ item.username }}"
group: "{{ item.group }}"
with_items: "{{ dotusers }}"
when: prompt == 'fish'