- ansible.builtin.git: dest: "{{ lookup('env', 'HOME') }}/neovim" force: true repo: 'https://github.com/neovim/neovim.git' update: true version: 'stable' name: Clone Neovim register: gitclone tags: - install - neovim - ansible.builtin.file: path: /usr/local/share/nvim/runtime state: absent name: Remove old runtime tags: - install - neovim when: gitclone.changed - ansible.builtin.file: path: "{{ lookup('env', 'HOME') }}/neovim/build" state: absent name: Remove old build path tags: - install - neovim - name: Build neovim shell: "cd {{ lookup('env', 'HOME') }}/neovim && make -j CMAKE_BUILD_TYPE=Release" tags: - install - neovim when: gitclone.changed - become: true name: Install neovim shell: "cd {{ lookup('env', 'HOME') }}/neovim && make install" tags: - install - neovim when: gitclone.changed - apt: name=luarocks become: true name: Neovim Plugin Development 1 tags: - install - neovim - ansible.builtin.pip: executable: pip3 name: pynvim become: true become_user: "{{my_user}}" name: Install python neovim module tags: - install - neovim - become: true become_user: "{{my_user}}" name: Install tree-sitter shell: "cargo install tree-sitter-cli" tags: - install - neovim - name: Neovim Lazy update shell: "nvim --headless '+Lazy sync' '+q'" tags: - install - neovim when: gitclone.changed - name: Neovim TSUpdate shell: "nvim --headless '+TSUpdateSync clean' '+q'" tags: - install - neovim when: gitclone.changed