home-manager/tests/modules/programs/neovim/plugin-config.nix
Joe Hermaszewski abfb4cde51
vim: Allow setting init.vim config alongside plugins + neovim test (#876)
* neovim: allow setting init.vim config alongside plugins
* neovim: add test for neovim plugins
* neovim: make pluginWithConfigType a have type submodule
2020-09-25 02:08:39 +02:00

38 lines
927 B
Nix

{ config, lib, pkgs, ... }:
with lib;
{
config = {
programs.neovim = {
enable = true;
extraConfig = ''
" This should be present in vimrc
'';
plugins = with pkgs.vimPlugins; [
vim-nix
{
plugin = vim-commentary;
config = ''
" This should be present too
autocmd FileType c setlocal commentstring=//\ %s
autocmd FileType c setlocal comments=://
'';
}
];
};
nmt.script = ''
vimrc=$(grep -Po "(?<=-u )[^ ]*" < "${
builtins.toJSON config.programs.neovim.finalPackage
}/bin/nvim")
# We need to remove the unkown store paths in the config
TESTED="" assertFileContent \
<( ${pkgs.perl}/bin/perl -pe "s|\Q$NIX_STORE\E/[a-z0-9]{32}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" < "$vimrc"
) \
"${./plugin-config.vim}"
'';
};
}