ansible-dev-box/tasks/vim.yml

77 lines
2.0 KiB
YAML

---
- name: Ensure vim and all dependencies are present
apt:
name:
- vim-nox
- git
- ripgrep
- python3-pip
- python3-venv
- powerline
state: present
- name: Ensure pynvim is present
shell: "pip3 install pynvim"
- name: create the vim autoload directory for all the provided users
file:
path: "{{ item.home }}/.vim/autoload"
state: directory
owner: "{{ item.username }}"
group: "{{ item.group|default(item.username) }}"
mode: 0755
recurse: yes
with_items: "{{ dev_box.users }}"
- name: create the vim swp directory for all the provided users
file:
path: "{{ item.home }}/.vim/swp"
state: directory
owner: "{{ item.username }}"
group: "{{ item.group|default(item.username) }}"
mode: 0755
recurse: yes
with_items: "{{ dev_box.users }}"
- name: create the vim backup directory for all the provided users
file:
path: "{{ item.home }}/.vim/backup"
state: directory
owner: "{{ item.username }}"
group: "{{ item.group|default(item.username) }}"
mode: 0755
recurse: yes
with_items: "{{ dev_box.users }}"
- name: Write the vimrc for all the provided users
template:
src: templates/vimrc.j2
dest: "{{ item.home }}/.vim/vimrc"
owner: "{{ item.username }}"
group: "{{ item.group|default(item.username) }}"
mode: 0644
with_items: "{{ dev_box.users }}"
- name: Symlink vimrc for all the provided users
file:
src: "{{ item.home }}/.vim/vimrc"
dest: "{{ item.home }}/.vimrc"
state: link
with_items: "{{ dev_box.users }}"
- name: Ensure vim.plug is present
get_url:
url: "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
dest: "{{ item.home }}/.vim/autoload/plug.vim"
owner: "{{ item.username }}"
group: "{{ item.group|default(item.username) }}"
mode: 0644
with_items: "{{ dev_box.users }}"
- name: Execute PlugInstall
shell:
cmd: "su - {{ item.username }} -c 'vim -E -c PlugInstall -c q -c q'"
chdir: "{{ item.home }}"
with_items: "{{ dev_box.users }}"
ignore_errors: yes