gikeymarcia.neovim
Neovim
最新の neovim と tree-sitter を x86_64 DebianベースのシステムにGitHubからデプロイします。
オプションとして:
- ナイトリーバージョンのneovimアプリイメージを
nnvim
としてインストール - ローカルのnvim設定をリモートマシンに同期
- 必要なaptパッケージをインストール
- 必要なpipパッケージをインストール(pipxを使用)
- 必要なnpmパッケージをインストール
要件
なし。
ロール変数
デフォルト設定
このロールはデフォルトでGitHubからneovimとtree-sitterをインストールします。 この動作はオフにしたり、インストールする各アプリケーションのバージョンを変更することができます。
neovim: true
neovim_version: "0.10.1"
treesitter: true
treesitter_version: "0.22.6"
ナイトリーネオビムリリース
GitHubから最新のナイトリーバージョンのneovimアプリイメージを取得したい場合は、
neovim_nightly: true
を設定できます(デフォルト: false)
neovim_nightly: true
Neovim PDE (個人開発環境)
多くのvimユーザーが言うように、vimは時間とともにニーズに合ったツールになります。
このツールの問題は、複数のマシンで動く部分をすべて同期させることです。
neovim_pde
のトグルは、開発環境設定を1か所にまとめ、複数のマシンにシームレスに移動させるのを助けることを目的としています。
以下はロールのデフォルト値です。
neovim_pde: false
# パッケージ
neovim_apt_packages: []
neovim_pip_packages: []
neovim_npm_packages: []
# 設定
neovim_external_config: []
neovim_config_dirs: []
neovim_config_syncs: []
neovim_pde
はこの拡張同期モードのオン/オフを切り替えるトグルです。 この値がfalse(デフォルト)の場合、他のすべてのPDE機能は実行されません。パッケージなし、同期なし。
パッケージ
現在サポートされているパッケージシステムは3つあります:
neovim_apt_packages
neovim_pip_packages
neovim_npm_packages
各パッケージング変数には、インストールするパッケージのリストを含めるべきです。特定のソースからパッケージを選択した場合、パッケージマネージャもインストールされます。 あなたの変数ファイルは次のようになるかもしれません。
neovim_pde: true
neovim_npm_packages:
- neovim
neovim_pip_packages:
- pynvim
- flake8
この場合、'npm'と'pip'のパッケージマネージャも最新の状態でインストールされます。より詳細な設定は、デフォルトの変数で確認できます。
設定
設定を同期する際は、設定を受け取るprimary_user
を定義する必要があります。以下では、neovim_config_syncs
リストを使用してローカルの~/.config/nvim/
内のどのファイルとフォルダをリモートマシンに同期するかを列挙しています。
ヒント: 同期したいフォルダにはスラッシュ(/)を付け加えてください。
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"
リモートの$HOME
にフォルダを存在させる必要がある場合、neovim_config_dirs
リストで/home/{{ primary_user }}
をパスのルートとして定義する必要があります。例えば、上記では、nvim設定フォルダが/home/{{ primary_user }}/.config/nvim
に存在することを確認しています。
最後に、~/.config/nvim
の外にある設定ファイルをコピーする必要がある場合は、neovim_external_config
変数を使用できます。この変数は、'src:'と'dest:'のキーと値のペアのリストである必要があります。
src
はローカルファイルへのパスdest
は'src'ファイルを受け取るリモートマシンのパスです。 一般的にこれらは/home/{{ primary_user }}
から始まります。
neovim_external_config:
- src: ~/.config/flake8
dest: "/home/{{ primary_user }}/.config/flake8"
- src: ~/.config/shellcheckrc
dest: "/home/{{ primary_user }}/.config/shellcheckrc"
上記では、ローカルのflake8とshellcheckの設定ファイルをリモートホストにコピーします。
依存関係
なし。
例のプレイブック
以下はこれまでの設定を1つのプレイブックにまとめたものです。
---
- 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"
...
ライセンス
GPLv3
著者情報
私をGitHubで見つけてください @ https://github.com/gikeymarcia
Deploy the latest Neovim and sync your configs.
ansible-galaxy install gikeymarcia.neovim