86 lines
2.3 KiB
YAML
86 lines
2.3 KiB
YAML
---
|
|
- 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: 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-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'
|