65 lines
2.0 KiB
Nix
65 lines
2.0 KiB
Nix
{inputs,...}: final: prev:
|
|
let
|
|
inherit (inputs) norg norg-meta neorg neorg-telescope;
|
|
inherit (final.lib) attrValues elem filter filterAttrs isDerivation;
|
|
in
|
|
{
|
|
vimPlugins = prev.vimPlugins.extend (f: p: {
|
|
nvim-treesitter =
|
|
let
|
|
norgGrammars = {
|
|
tree-sitter-norg = norg.defaultPackage.${final.system};
|
|
tree-sitter-norg-meta = norg-meta.defaultPackage.${final.system};
|
|
};
|
|
builtGrammars = (filterAttrs (_: isDerivation) p.nvim-treesitter.builtGrammars) // norgGrammars;
|
|
allGrammars = attrValues builtGrammars;
|
|
withPlugins = grammarFn:
|
|
p.nvim-treesitter.withPlugins (
|
|
_:
|
|
let
|
|
plugins = grammarFn builtGrammars;
|
|
in
|
|
plugins ++ (filter (p: !(elem p plugins)) (attrValues norgGrammars))
|
|
);
|
|
withAllGrammars = withPlugins (_: allGrammars);
|
|
in
|
|
p.nvim-treesitter.overrideAttrs (a: {
|
|
passthru = a.passthru // {
|
|
inherit builtGrammars allGrammars withPlugins withAllGrammars;
|
|
grammarPlugins = a.passthru.grammarPlugins // {
|
|
norg = norgGrammars.tree-sitter-norg;
|
|
norg-meta = norgGrammars.tree-sitter-norg-meta;
|
|
};
|
|
};
|
|
});
|
|
lua-utils-nvim = final.vimUtils.buildVimPlugin {
|
|
inherit (prev.luaPackages.lua-utils-nvim) pname version src;
|
|
};
|
|
pathlib-nvim = final.vimUtils.buildVimPlugin {
|
|
inherit (prev.luaPackages.pathlib-nvim) pname version src;
|
|
};
|
|
neorg = final.vimUtils.buildVimPlugin {
|
|
pname = "neorg";
|
|
version = neorg.rev;
|
|
src = neorg;
|
|
dependencies = [
|
|
#(f.nvim-treesitter.withPlugins (_: [ ]))
|
|
f.lua-utils-nvim
|
|
f.nui-nvim
|
|
f.nvim-nio
|
|
f.pathlib-nvim
|
|
f.plenary-nvim
|
|
];
|
|
};
|
|
neorg-telescope = final.vimUtils.buildVimPlugin {
|
|
pname = "neorg-telescope";
|
|
version = neorg-telescope.rev;
|
|
src = neorg-telescope;
|
|
dependencies = [
|
|
f.telescope-nvim
|
|
f.neorg
|
|
];
|
|
};
|
|
});
|
|
}
|