gikeymarcia.neovim
Neovim
Déployez la dernière version de neovim et de tree-sitter depuis GitHub pour les systèmes Debian basés sur x86_64.
Optionnel :
- Installez l'application neovim nightly sous le nom de
nnvim
- Synchronisez la configuration locale de nvim avec des machines distantes
- Installez les paquets nécessaires avec apt
- Installez les paquets nécessaires avec pip (utilise pipx)
- Installez les paquets nécessaires avec npm
Conditions requises
Aucune.
Variables de rôle
Configuration par défaut
Par défaut, ce rôle installera neovim et tree-sitter depuis GitHub. Vous pouvez désactiver cette fonctionnalité et/ou changer la version de chaque application installée en utilisant des variables.
neovim: true
neovim_version: "0.10.1"
treesitter: true
treesitter_version: "0.22.6"
Publication nightly de Neovim
Si vous souhaitez obtenir la dernière version nightly de neovim depuis GitHub, vous pouvez définir 'neovim_nightly: true' (par défaut : false)
neovim_nightly: true
Neovim PDE (Environnement de Développement Personnel)
Comme la plupart des utilisateurs de vim vous le diront, cet outil s’adapte à vos besoins au fil du temps. Le problème avec cet outil est de garder toutes les parties synchronisées sur plusieurs machines. Le paramètre 'neovim_pde' vise à vous aider à capturer la configuration de votre environnement de développement en un seul endroit et à les transférer facilement sur plusieurs machines.
Voici les valeurs par défaut du rôle.
neovim_pde: false
# paquets
neovim_apt_packages: []
neovim_pip_packages: []
neovim_npm_packages: []
# configuration
neovim_external_config: []
neovim_config_dirs: []
neovim_config_syncs: []
neovim_pde
est le paramètre qui active/désactive ce mode de synchronisation étendu. Lorsque cette valeur est fausse (par défaut), aucune des autres fonctionnalités PDE ne sera exécutée. Pas de paquets, Pas de synchronisations.
Paquets
Actuellement, trois systèmes de paquets sont supportés :
neovim_apt_packages
neovim_pip_packages
neovim_npm_packages
Chaque variable de paquet doit contenir une liste de paquets à installer. Si vous sélectionnez des paquets d'une source donnée, le gestionnaire de paquets sera également installé. Votre fichier de variables peut ressembler à ceci.
neovim_pde: true
neovim_npm_packages:
- neovim
neovim_pip_packages:
- pynvim
- flake8
Dans ce cas, les gestionnaires de paquets 'npm' et 'pip' seront également installés dans leur dernier état. Il existe des contrôles plus fins dans les variables par défaut sous "creuser plus profondément".
Configuration
Lorsque vous synchronisez la configuration, vous devez définir un primary_user
qui recevra la configuration.
Ci-dessous, j'utilise la liste 'neovim_config_syncs' pour énumérer les fichiers et dossiers dans mon ~/.config/nvim/
local à synchroniser avec la machine distante.
Astuce : Les dossiers que vous souhaitez synchroniser doivent avoir un /
à la fin.
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 vous avez besoin qu'un dossier existe sur le $HOME
distant, il doit être défini dans la liste
neovim_config_dirs
en utilisant /home/{{ primary_user }}
comme racine du chemin. Par exemple, ci-dessus,
je m'assure que le dossier de configuration nvim existe à /home/{{ primary_user }}/.config/nvim
.
Enfin, si vous devez copier des fichiers de configuration qui se trouvent en dehors de votre
~/.config/nvim, vous pouvez utiliser la variable neovim_external_config
. Cette variable doit être une liste de
paires clé-valeur, 'src:' et 'dest:'.
src
est le chemin du fichier localdest
est le chemin distant où le fichier 'src' sera copié. En général, cela commencera par/home/{{ primary_user }}
.
neovim_external_config:
- src: ~/.config/flake8
dest: "/home/{{ primary_user }}/.config/flake8"
- src: ~/.config/shellcheckrc
dest: "/home/{{ primary_user }}/.config/shellcheckrc"
Ci-dessus, je copie les fichiers de configuration locaux flake8 et shellcheck sur les hôtes distants.
Dépendances
Aucune.
Exemple de Playbook
Voici comment je combine toute la configuration ci-dessus en un seul 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"
...
Licence
GPLv3
Informations sur l'auteur
Trouvez-moi sur GitHub @ https://github.com/gikeymarcia
Deploy the latest Neovim and sync your configs.
ansible-galaxy install gikeymarcia.neovim