--- - name: Install neovim package ansible.builtin.package: name: - neovim - ripgrep - git - xclip state: present become: true tags: [always, setup] - name: Create a config directory if it doesn't exist ansible.builtin.file: path: ~/.config/nvim state: directory mode: '0755' tags: [always, setup] - name: Create symlink for vim to nvim ansible.builtin.file: src: /usr/bin/nvim dest: /usr/local/bin/vim state: link become: true tags: [always, setup] - name: Server specific nvim tasks tags: server block: - name: Copy over config ansible.builtin.copy: src: init_server.lua dest: ~/.config/nvim/init.lua mode: '0755' - name: PC specific nvim tasks tags: pc block: - name: Copy over config ansible.builtin.copy: src: init_pc.lua dest: ~/.config/nvim/init.lua mode: '0755' - name: Copy over lua modules ansible.builtin.copy: src: lua dest: ~/.config/nvim/ mode: '0755' - name: Install language servers tags: setup become: true ansible.builtin.package: name: - lua-jsregexp # for Lua-Snip - lua-language-server # Lua - texlab # Tex - pyright # Python - typescript-language-server # JavaScript, TypeScript - ccls # C, C++ - yaml-language-server # YAML - ansible-lint # partly required for ansible - haskell-language-server # Haskell # TODO csharp-ls dotnet tool - name: Install language server from AUR tags: setup block: - name: Enable user to use sudo pacman without password become: true ansible.builtin.lineinfile: path: /etc/sudo.conf line: 'max ALL=(ALL) NOPASSWD: /usr/bin/pacman' state: present validate: 'visudo -cf %s' - name: Install language server from AUR kewlfft.aur.aur: use: paru state: present name: - ansible-language-server # Ansible - vscode-langservers-extracted # HTML, CSS - codelldb-bin # C/C++/Rust Debugger always: - name: Disable user to use sudo pacman without password become: true ansible.builtin.lineinfile: path: /etc/sudo.conf line: 'max ALL=(ALL) NOPASSWD: /usr/bin/pacman' state: absent validate: 'visudo -cf %s'