gikeymarcia.neovim

Neovim

最新の neovimtree-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
ライセンス
lgpl-3.0
ダウンロード
508
所有者
Code enthusiast and FOSS commoner. I love writing software that makes people's lives easier.