128 lines
4.3 KiB
YAML
128 lines
4.3 KiB
YAML
- name: Ensure neovim configuration directories exist
|
|
ansible.builtin.file:
|
|
path: '{{ item }}'
|
|
state: directory
|
|
mode: '0755'
|
|
loop:
|
|
- '{{ xdg_config_dir }}/nvim/'
|
|
- '{{ xdg_config_dir }}/nvim/lua'
|
|
- '{{ xdg_config_dir }}/nvim/after'
|
|
- '{{ xdg_config_dir }}/nvim/after/ftplugin'
|
|
- '{{ xdg_data_dir }}/nvim/site'
|
|
- '{{ xdg_data_dir }}/nvim/site/pack'
|
|
- '{{ xdg_data_dir }}/nvim/site/pack/default'
|
|
- '{{ xdg_data_dir }}/nvim/site/pack/default/start'
|
|
|
|
- name: Remove old neovim packages
|
|
ansible.builtin.file:
|
|
path: '{{ item }}'
|
|
state: absent
|
|
loop:
|
|
- '{{ xdg_data_dir }}/nvim/site/pack/default/start/catpuccin'
|
|
- '{{ xdg_data_dir }}/nvim/site/pack/default/start/vim-colors-xcode'
|
|
|
|
# Note that helptags may need to be regenerated (see `:h helptags`)
|
|
- name: Clone neovim packages
|
|
ansible.builtin.git:
|
|
repo: '{{ item.url }}'
|
|
dest: '{{ xdg_data_dir }}/nvim/site/pack/default/start/{{ item.name }}'
|
|
update: true
|
|
version: '{{ item.version | default("HEAD") }}'
|
|
force: true # some maintainers overwrite existing tags :/
|
|
loop: '{{ neovim_plugins }}'
|
|
|
|
- name: Install neovim node package
|
|
become: true
|
|
community.general.npm:
|
|
name: neovim
|
|
global: true
|
|
|
|
- name: Remove old neovim configuration file
|
|
ansible.builtin.file:
|
|
path: '{{ xdg_config_dir }}/nvim/init.vim'
|
|
state: absent
|
|
|
|
- name: Remove coc.nvim extension
|
|
ansible.builtin.file:
|
|
path: '{{ xdg_data_dir }}/nvim/site/pack/default/start/coc.nvim'
|
|
state: absent
|
|
|
|
- name: Setup neovim configuration files
|
|
ansible.builtin.template:
|
|
dest: '{{ item.dest }}'
|
|
src: '{{ item.src }}'
|
|
mode: '0755'
|
|
loop:
|
|
- src: 'templates/nvim/ftplugin/bash.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/bash.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/css.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/css.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/html.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/html.lua'
|
|
- src: 'templates/nvim/ftplugin/htmldjango.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/htmldjango.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/javascript.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/javascript.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/json.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/json.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/lua.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/lua.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/python.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/python.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/scss.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/scss.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/sh.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/sh.lua'
|
|
|
|
- src: 'templates/nvim/ftplugin/yaml.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/after/ftplugin/yaml.lua'
|
|
|
|
- src: 'templates/nvim/init.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/init.lua'
|
|
|
|
- src: 'templates/nvim/lua/lsp.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/lsp.lua'
|
|
|
|
- src: 'templates/nvim/lua/options.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/options.lua'
|
|
|
|
- src: 'templates/nvim/lua/tree-sitter.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/tree-sitter.lua'
|
|
|
|
- src: 'templates/nvim/lua/git-signs.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/git-signs.lua'
|
|
|
|
- src: 'templates/nvim/lua/lua-line.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/lua-line.lua'
|
|
|
|
- src: 'templates/nvim/lua/telescope.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/_telescope.lua'
|
|
|
|
- src: 'templates/nvim/lua/indent-blankline.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/indent-blankline.lua'
|
|
|
|
- src: 'templates/nvim/lua/nvim-tree.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/_nvim-tree.lua'
|
|
|
|
- src: 'templates/nvim/lua/colorscheme.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/colorscheme.lua'
|
|
|
|
- src: 'templates/nvim/lua/source-link.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/_source-link.lua'
|
|
|
|
- src: 'templates/nvim/lua/filetype.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/_filetype.lua'
|
|
|
|
- src: 'templates/nvim/lua/formatting.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/formatting.lua'
|
|
|
|
- src: 'templates/nvim/lua/diagnostic.lua.j2'
|
|
dest: '{{ xdg_config_dir }}/nvim/lua/diagnostic.lua'
|