home-manager/tests/modules/programs/neovim/runtime.nix
MiSumiSumi 8fdf329526
neovim: enable use of external package manager (#5225)
* neovim: add extraWrapperArgs option

pass external arguments to neovim-unwrapper
this gives users more flexibility in managing neovim configuration

* neovim: add test for `extraWrapperArgs`
2024-04-13 16:50:15 +02:00

53 lines
1.4 KiB
Nix

{ config, lib, pkgs, ... }:
with lib;
{
config = {
programs.neovim = lib.mkMerge [
{
enable = true;
plugins = with pkgs.vimPlugins; [
vim-nix
{
plugin = vim-commentary;
runtime = {
"after/ftplugin/c.vim".text = ''
" plugin-specific config
setlocal commentstring=//\ %s
setlocal comments=://
'';
};
}
];
extraWrapperArgs = let buildDeps = with pkgs; [ stdenv.cc.cc zlib ];
in [
"--suffix"
"LIBRARY_PATH"
":"
"${lib.makeLibraryPath buildDeps}"
"--suffix"
"PKG_CONFIG_PATH"
":"
"${lib.makeSearchPathOutput "dev" "lib/pkgconfig" buildDeps}"
];
}
{
extraPython3Packages = ps: with ps; [ jedi pynvim ];
extraLuaPackages = ps: with ps; [ luacheck ];
}
{
extraPython3Packages = with pkgs.python3Packages; [ jedi pynvim ];
extraLuaPackages = with pkgs.lua51Packages; [ luacheck ];
}
];
nmt.script = ''
ftplugin="home-files/.config/nvim/after/ftplugin/c.vim"
nvimbin="home-path/bin/nvim"
assertFileExists "$ftplugin"
assertFileRegex "$nvimbin" 'LIBRARY_PATH'
assertFileRegex "$nvimbin" 'PKG_CONFIG_PATH'
'';
};
}