gikeymarcia.neovim

Neovim

Zainstaluj najnowszą wersję neovim oraz tree-sitter z GitHub na systemach Debian opartych na architekturze x86_64.

Opcjonalnie:

  • Zainstaluj najnowszą wersję neovim w formacie appimage jako nnvim
  • Synchronizuj lokalną konfigurację nvim z zdalnymi maszynami
  • Zainstaluj niezbędne pakiety apt
  • Zainstaluj niezbędne pakiety pip (używa pipx)
  • Zainstaluj niezbędne pakiety npm

Wymagania

Brak.

Zmienne zadań

Domyślna konfiguracja

Domyślnie ta rola zainstaluje neovim i tree-sitter z GitHub. Możesz wyłączyć tę funkcję i/lub zmienić wersję każdej aplikacji, używając zmiennych.

neovim: true
neovim_version: "0.10.1"

treesitter: true
treesitter_version: "0.22.6"

Noczne wydanie Neovim

Jeśli chcesz najnowszą nocną wersję aplikacji neovim z GitHub, możesz ustawić 'neovim_nightly: true' (domyślnie: false)

neovim_nightly: true

Środowisko osobistego rozwoju Neovim (PDE)

Jak większość użytkowników vim powie, narzędzie to dostosowuje się do Twoich potrzeb z czasem. Problem z tym narzędziem polega na synchronizacji wszystkich jego elementów na wielu maszynach. Przełącznik 'neovim_pde' ma na celu pomóc w uchwyceniu konfiguracji Twojego środowiska rozwoju w jednym miejscu i przeniesieniu go na wiele maszyn bezproblemowo.

Poniżej znajdują się domyślne wartości roli.

neovim_pde: false

# pakiety
neovim_apt_packages: []
neovim_pip_packages: []
neovim_npm_packages: []

# konfiguracja
neovim_external_config: []
neovim_config_dirs: []
neovim_config_syncs: []
  • neovim_pde jest przełącznikiem, który włącza/wyłącza ten rozszerzony tryb synchronizacji. Gdy ta wartość jest fałszywa (domyślnie), żadne z pozostałych funkcji PDE nie będą działać. Żadne pakiety, żadna synchronizacja.

Pakiety

Aktualnie obsługiwane są 3 systemy pakowania:

  • neovim_apt_packages
  • neovim_pip_packages
  • neovim_npm_packages

Każda z tych zmiennych powinna zawierać listę pakietów do zainstalowania. Jeśli wybierzesz pakiety z danej źródła, menedżer pakietów również zostanie zainstalowany. Twoja zmienna może wyglądać tak:

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

W tym przypadku menedżery pakietów 'npm' i 'pip' również będą zainstalowane w najnowszym stanie. Można znaleźć bardziej szczegółowe opcje w domyślnych zmiennych w sekcji "zagłębianie się".

Konfiguracja

Podczas synchronizacji konfiguracji musisz zdefiniować primary_user, który otrzyma konfigurację. Poniżej używam listy 'neovim_config_syncs', aby wymienić, które pliki i foldery w moim lokalnym ~/.config/nvim/ mają być synchronizowane na zdalnej maszynie.


Wskazówka: Foldery, które chcesz synchronizować, powinny mieć ukośnik na końcu.


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"

Jeśli potrzebujesz, aby folder istniał w zdalnym $HOME, powinien być zdefiniowany w liście neovim_config_dirs, używając /home/{{ primary_user }} jako korzenia ścieżki. Na przykład, powyżej zapewniam, że folder konfiguracyjny nvim istnieje pod adresem /home/{{ primary_user }}/.config/nvim.


Na koniec, jeśli musisz skopiować pliki konfiguracyjne, które są poza twoim ~/.config/nvim, możesz użyć zmiennej neovim_external_config. Ta zmienna powinna być listą par klucz-wartość: 'src:' i 'dest:'.

  • src to ścieżka do lokalnego pliku.
  • dest to ścieżka na maszynie zdalnej, która otrzyma plik 'src'. Zwykle będą się one zaczynać od /home/{{ primary_user }}.
neovim_external_config:
  - src: ~/.config/flake8
    dest: "/home/{{ primary_user }}/.config/flake8"
  - src: ~/.config/shellcheckrc
    dest: "/home/{{ primary_user }}/.config/shellcheckrc"

Powyżej kopiuję lokalne pliki konfiguracyjne flake8 i shellcheck na zdalne hosty.

Zależności

Brak.

Przykładowy plik do uruchomienia

Poniżej łączę całą powyższą konfigurację w jednym pliku do uruchomienia.

---
- 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"
...

Licencja

GPLv3

Informacje o autorze

Znajdź mnie na GitHubie @ https://github.com/gikeymarcia

O projekcie

Deploy the latest Neovim and sync your configs.

Zainstaluj
ansible-galaxy install gikeymarcia.neovim
Licencja
lgpl-3.0
Pobrania
508
Właściciel
Code enthusiast and FOSS commoner. I love writing software that makes people's lives easier.