setup-cockpit/roles/neovim/tasks/main.yml
2022-08-11 18:24:00 +02:00

107 lines
2.6 KiB
YAML

---
- name: Fail if still using init.vim
stat:
path: ~/.config/nvim/init.vim
register: init_vim
failed_when: init_vim.stat.exists
- name: Install (Archlinux)
block:
- name: Install things with pacman (Archlinux)
become: true
pacman:
name:
- neovim
- python-pynvim
- base-devel
- cmake
- clang
- npm
- ripgrep
- ansible-lint
- flake8
- mypy
- python-pylint
- python-black
- shellcheck
- bash-language-server
- lua-language-server
- texlab
- name: Install things with pip (Archlinux)
pip:
name: neovim-remote
extra_args: --user
- name: Install things with npm (Archlinux)
become: true
npm:
name: '@ansible/ansible-language-server'
global: true
state: present
when:
ansible_facts['distribution'] == 'Archlinux'
- name: Install (Debian)
block:
- name: Install neovim deb package (Debian)
become: true
apt:
deb: /tmp/nvim-linux64.deb
# TODO: Download and check the package
- name: Install things with apt (Debian)
become: true
apt:
name:
- python3-pynvim
- build-essential
- python3-dev
- cmake
- clang
- npm
- ripgrep
- flake8
- mypy
- pylint3
- shellcheck
- name: Install things with pip (Debian)
pip:
name:
- ansible-lint
- neovim-remote
extra_args: --user
- name: Install things with npm (Debian)
become: true
npm:
name: "{{ item }}"
global: true
state: present
with_items:
- bash-language-server
- '@ansible/ansible-language-server'
# - lua-language-server
# - texlab
when:
ansible_facts['distribution'] == 'Debian'
- name: Make sure needed directories exist
file: path={{ item.path }} state=directory mode={{ item.mode }}
with_items:
- {path: '~/.config/nvim', mode: '0755'}
- {path: '~/.config/nvim/lua', mode: '0755'}
- name: Copy configs
copy: src={{ item.src }} dest={{ item.dest }} mode=0644
with_items:
- {src: 'init.lua', dest: '~/.config/nvim/init.lua'}
- {src: 'flake8', dest: '~/.flake8'}
- {src: 'pylintrc', dest: '~/.pylintrc'}
- name: Copy lua configs
copy:
src: lua
dest: ~/.config/nvim/
mode: 0644
- name: Run PackerSync
command: nvim --headless -c 'autocmd User PackerComplete quitall' -c PackerSync
# TODO: changed_when
changed_when: false