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 local
  • dest 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

À propos du projet

Deploy the latest Neovim and sync your configs.

Installer
ansible-galaxy install gikeymarcia.neovim
Licence
lgpl-3.0
Téléchargements
508
Propriétaire
Code enthusiast and FOSS commoner. I love writing software that makes people's lives easier.