Nixfiles/neovim/pkg.nix
2024-11-24 23:33:14 +01:00

67 lines
2 KiB
Nix

{ inputs, self, ... }:
{
perSystem =
{
inputs',
self',
pkgs,
system,
...
}:
{
packages = {
neovimTraxys = inputs'.nixvim.legacyPackages.makeNixvimWithModule {
module = {
imports = [ ./default.nix ];
};
extraSpecialArgs = {
flake = self;
};
pkgs = pkgs.extend (
final: prev:
{
vimPlugins = prev.vimPlugins.extend (
final': prev': {
vim-headerguard = prev.vimUtils.buildVimPlugin {
pname = "vim-headerguard";
src = inputs.vim-headerguard;
version = inputs.vim-headerguard.shortRev;
};
wiki-vim = prev.vimUtils.buildVimPlugin {
pname = "wiki.vim";
src = inputs."wiki.vim";
version = inputs."wiki.vim".shortRev;
};
diagram-nvim = prev.vimUtils.buildVimPlugin {
pname = "diagram.nvim";
src = inputs."diagram.nvim";
version = inputs."diagram.nvim".shortRev;
};
blink-compat = prev.vimUtils.buildVimPlugin {
pname = "blink.compat";
src = inputs."blink.compat";
version = inputs."blink.compat".shortRev;
};
nvim-cmp = final'.blink-compat;
}
);
}
// self'.packages
);
};
};
checks.launch-neovim = inputs.nixvim.lib.${system}.check.mkTestDerivationFromNvim {
nvim = self'.packages.neovimTraxys.extend (
{ lib, ... }:
{
test.checkWarnings = false;
plugins.image.enable = lib.mkForce false;
plugins.diagram-nvim.enable = lib.mkForce false;
}
);
name = "Neovim configuration";
};
};
}