gikeymarcia.neovim
Neovim
Despliega la última versión de neovim y tree-sitter desde GitHub para sistemas basados en Debian de arquitectura x86_64.
Opcionalmente:
- Instalar la versión nocturna de neovim como
nnvim
- Sincronizar la configuración local de nvim con máquinas remotas
- Instalar paquetes de apt de soporte
- Instalar paquetes de pip de soporte (usa pipx)
- Instalar paquetes de npm de soporte
Requisitos
Ninguno.
Variables del Rol
Configuración predeterminada
De forma predeterminada, este rol instalará neovim y tree-sitter desde GitHub. Puedes desactivar esta opción o cambiar la versión de cada aplicación que se instala con las variables.
neovim: true
neovim_version: "0.10.1"
treesitter: true
treesitter_version: "0.22.6"
Versión Nocturna de Neovim
Si deseas la última versión nocturna de la imagen appimage de neovim desde GitHub, puedes establecer 'neovim_nightly: true' (predeterminado: false)
neovim_nightly: true
Neovim PDE (Entorno de Desarrollo Personal)
Como la mayoría de los usuarios de vim te dirán, con el tiempo se convierte en una herramienta adaptada a tus necesidades. El problema de esta herramienta es mantener todas las partes en movimiento en sincronía en varias máquinas. El conmutador 'neovim_pde' busca ayudarte a capturar la configuración de tu entorno de desarrollo en un solo lugar y transferirla a múltiples máquinas sin problemas.
A continuación se presentan los valores predeterminados del rol.
neovim_pde: false
# paquetes
neovim_apt_packages: []
neovim_pip_packages: []
neovim_npm_packages: []
# configuración
neovim_external_config: []
neovim_config_dirs: []
neovim_config_syncs: []
neovim_pde
es el interruptor que habilita/deshabilita este modo de sincronización extendido. Cuando este valor es falso (predeterminado), ninguna de las demás características de PDE se ejecutará. Sin paquetes, sin sincronizaciones.
Paquetes
Actualmente hay 3 sistemas de empaquetado compatibles:
neovim_apt_packages
neovim_pip_packages
neovim_npm_packages
Cada variable de empaquetado debe contener una lista de paquetes a instalar. Si seleccionas paquetes de una fuente dada, el gestor de paquetes también se instalará. Tu archivo de variables puede verse algo así.
neovim_pde: true
neovim_npm_packages:
- neovim
neovim_pip_packages:
- pynvim
- flake8
En este caso, los gestores de paquetes 'npm' y 'pip' también se instalarán en su último estado. Hay controles más detallados en las variables predeterminadas bajo "profundizando".
Configuración
Al sincronizar la configuración, necesitas definir un primary_user
que recibirá
la configuración. A continuación, uso la lista 'neovim_config_syncs' para enumerar qué
archivos y carpetas dentro de mi ~/.config/nvim/
local sincronizaré en la máquina remota.
Consejo: Las carpetas que deseas sincronizar deben tener un /
al final.
neovim_pde: true
primary_user: prime
neovim_config_syncs:
- init.vim
- coc-settings.json
- autoload/
- ftplugin/
- lua/
- plug-config/
- snips/
- spell/
- syntax/
neovim_config_dirs:
- "/home/{{ primary_user }}/.config/nvim"
Si necesitas que una carpeta exista en el $HOME
remoto, entonces debe definirse en
la lista neovim_config_dirs
utilizando /home/{{ primary_user }}
como la raíz
del camino. Por ejemplo, arriba me aseguro de que la carpeta de configuración de nvim exista en
/home/{{ primary_user }}/.config/nvim
.
Finalmente, si necesitas copiar archivos de configuración que están fuera de tu
~/.config/nvim, puedes usar la variable neovim_external_config
. Esta variable
debería ser una lista de pares clave-valor, 'src:' y 'dest:'.
src
es la ruta al archivo local.dest
es la ruta de la máquina remota que recibiría el archivo 'src'. En general, estos comenzarán con/home/{{ primary_user }}
.
neovim_external_config:
- src: ~/.config/flake8
dest: "/home/{{ primary_user }}/.config/flake8"
- src: ~/.config/shellcheckrc
dest: "/home/{{ primary_user }}/.config/shellcheckrc"
Arriba copio los archivos de configuración locales de flake8 y shellcheck a los hosts remotos.
Dependencias
Ninguna.
Ejemplo de Playbook
A continuación, combino toda la configuración anterior en un único playbook.
---
- hosts: all
become: true
roles:
- gikeymarcia.neovim
vars:
neovim_nightly: true
primary_user: mikey
neovim_pde: true
neovim_npm_packages:
- neovim
neovim_pip_packages:
- pynvim
- flake8
neovim_config_syncs:
- init.vim
- coc-settings.json
- autoload/
- ftplugin/
- lua/
- plug-config/
- snips/
- spell/
- syntax/
neovim_config_dirs:
- "/home/{{ primary_user }}/.config/nvim"
neovim_external_config:
- src: ~/.config/flake8
dest: "/home/{{ primary_user }}/.config/flake8"
- src: ~/.config/shellcheckrc
dest: "/home/{{ primary_user }}/.config/shellcheckrc"
...
Licencia
GPLv3
Información del Autor
Encuéntrame en GitHub @ https://github.com/gikeymarcia
Deploy the latest Neovim and sync your configs.
ansible-galaxy install gikeymarcia.neovim