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
Deploy the latest Neovim and sync your configs.
ansible-galaxy install gikeymarcia.neovim