gikeymarcia.neovim

Neovim

Installieren Sie die neueste neovim und tree-sitter von GitHub für x86_64 Debian-basierte Systeme.

Optional:

  • Installieren Sie die nächtliche Neovim-Appimage als nnvim
  • Synchronisieren Sie die lokale nvim-Konfiguration mit entfernten Maschinen
  • Installieren Sie unterstützende Apt-Pakete
  • Installieren Sie unterstützende Pip-Pakete (verwendet pipx)
  • Installieren Sie unterstützende npm-Pakete

Voraussetzungen

Keine.

Rollenvariablen

Standardkonfiguration

Diese Rolle installiert standardmäßig Neovim und Tree-sitter von GitHub. Sie können das Verhalten ändern und/oder die Version jeder Anwendung, die installiert wird, mit Variablen anpassen.

neovim: true
neovim_version: "0.10.1"

treesitter: true
treesitter_version: "0.22.6"

Nächtliche Neovim-Version

Wenn Sie die neueste nächtliche Neovim-Appimage-Version von GitHub möchten, können Sie 'neovim_nightly: true' setzen (Standard: false)

neovim_nightly: true

Neovim PDE (Persönliche Entwicklungsumgebung)

Wie die meisten Vim-Nutzer sagen werden, wird es im Laufe der Zeit ein Werkzeug, das Ihren Bedürfnissen entspricht. Das Problem bei diesem Werkzeug ist, alle beweglichen Teile zwischen mehreren Maschinen synchron zu halten. Der Schalter 'neovim_pde' soll Ihnen helfen, Ihre Entwicklungsumgebungs-Konfiguration an einem Ort festzuhalten und nahtlos auf mehrere Maschinen zu übertragen.

Hier sind die Standardwerte der Rolle.

neovim_pde: false

# Pakete
neovim_apt_packages: []
neovim_pip_packages: []
neovim_npm_packages: []

# Konfiguration
neovim_external_config: []
neovim_config_dirs: []
neovim_config_syncs: []
  • neovim_pde ist der Schalter, der diesen erweiterten Synchronisierungsmodus aktiviert/deaktiviert. Wenn dieser Wert false ist (Standard), werden keine der anderen PDE-Funktionen ausgeführt. Keine Pakete, keine Synchronisierungen.

Pakete

Es gibt derzeit 3 unterstützte Paketverwaltungssysteme:

  • neovim_apt_packages
  • neovim_pip_packages
  • neovim_npm_packages

Jede Paketvariable sollte eine Liste von zu installierenden Paketen enthalten. Wenn Sie Pakete aus einer bestimmten Quelle auswählen, wird auch der Paketmanager installiert. Ihre Variablen-Datei könnte so aussehen:

neovim_pde: true
neovim_npm_packages:
  - neovim
neovim_pip_packages:
  - pynvim
  - flake8

In diesem Fall werden die Paketmanager 'npm' und 'pip' ebenfalls in ihrem neuesten Zustand installiert. Es gibt detailliertere Kontrollen in den Standardvariablen unter "tiefer graben".

Konfiguration

Bei der Synchronisierung der Konfiguration müssen Sie einen primary_user definieren, der die Konfiguration erhält. Unten verwende ich die Liste 'neovim_config_syncs', um aufzulisten, welche Dateien und Ordner in meinem lokalen ~/.config/nvim/ mit der entfernten Maschine synchronisiert werden sollen.


Tipp: Ordner, die Sie synchronisieren möchten, sollten ein abschließendes / haben.


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"

Wenn Sie möchten, dass ein Ordner im entfernten $HOME existiert, sollte er in der Liste neovim_config_dirs mit /home/{{ primary_user }} als Wurzel des Pfades definiert werden. Zum Beispiel, ich stelle sicher, dass der nvim-Konfigurationsordner unter /home/{{ primary_user }}/.config/nvim existiert.


Wenn Sie Konfigurationsdateien kopieren müssen, die sich außerhalb Ihres ~/.config/nvim befinden, können Sie die Variable neovim_external_config verwenden. Diese Variable sollte eine Liste von Schlüssel-Wert-Paaren, 'src:' und 'dest:', enthalten.

  • src ist der Pfad zur lokalen Datei
  • dest ist der Pfad auf der entfernten Maschine, der die 'src'-Datei erhält. Im Allgemeinen beginnen diese mit /home/{{ primary_user }}.
neovim_external_config:
  - src: ~/.config/flake8
    dest: "/home/{{ primary_user }}/.config/flake8"
  - src: ~/.config/shellcheckrc
    dest: "/home/{{ primary_user }}/.config/shellcheckrc"

Hier kopiere ich die lokalen flake8- und shellcheck-Konfigurationsdateien auf entfernte Hosts.

Abhängigkeiten

Keine.

Beispiel-Playbook

Hier kombiniere ich all die oben genannte Konfiguration in einem einzigen 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"
...

Lizenz

GPLv3

Autor Informationen

Sie finden mich auf GitHub @ https://github.com/gikeymarcia

Über das Projekt

Deploy the latest Neovim and sync your configs.

Installieren
ansible-galaxy install gikeymarcia.neovim
Lizenz
lgpl-3.0
Downloads
508
Besitzer
Code enthusiast and FOSS commoner. I love writing software that makes people's lives easier.