blog.anqou.net
rss
author
tags

Home Manager で nixpkgs に無い (Neo)Vim のプラグインを管理する

Home Manager を使うと Vim や NeoVim のプラグインを管理することができます。例えば NeoVim の場合は programs.neovim.plugins というフィールドがあります。使いたいプラグインが既に nixpkgs にある場合は、それをこのフィールドから参照するだけで使えます:

programs.neovim.plugins =
  with pkgs.vimPlugins; [
    tokyonight-nvim
    vim-easymotion

    # プラグインの設定も書ける。
    {
      plugin = indent-blankline-nvim;
      type = "lua";
      config = ''
        require("ibl").setup()
      '';
    }
  ];

欲しいプラグインが nixpkgs に無い場合、自分でビルドして使う必要があります。プラグインのビルドには pkgs.vimUtils.buildVimPlugin が使えます。Vim という名前ですが NeoVim でも使えます。以下は nvim-repl をビルドし使う例です:

programs.neovim.plugins =
  with pkgs.vimPlugins; [
    # ...

    (pkgs.vimUtils.buildVimPlugin {
      pname = "nvim-repl";
      version = "0.1.0";
      src = pkgs.fetchFromGitHub {
        owner = "pappasam";
        repo = "nvim-repl";
        rev = "b2dc92607fd6d1833b9c2bd916eeedcb04cad7de";
        sha256 = "sha256-S19JUbE9mX93lbh5Co/Vd196kk+APR6zheIaHq6WdMU=";
      };
    })
  ];