configuration.nix/flake-modules/nixvim-modules.nix

60 lines
1.5 KiB
Nix

{ self, inputs, ... }:
let
modules = ../modules;
in
{
imports = [ inputs.nixvim.flakeModules.default ];
nixvim = {
packages.enable = true;
checks.enable = false; # FIXME: borked due to nix-community/nixvim#3074
};
flake.nixvimModules = {
standalone = modules + "/nixvim/standalone.nix";
homeManager = modules + "/nixvim";
};
perSystem =
{ system, ... }:
let
nvimModule = extraConfig: {
inherit system;
modules = [
self.nixvimModules.standalone
{ performance.combinePlugins.enable = true; }
extraConfig
];
};
modules = {
nvim = nvimModule { };
# Smaller derivations
nvim-headless = nvimModule {
jhome.nvim.dev.enable = false;
jhome.nvim.reduceSize = true;
};
nvim-small = nvimModule {
jhome.nvim.dev.bundleLSPs = false;
};
nvim-no-ts = nvimModule {
jhome.nvim.dev.bundleGrammars = false;
};
nvim-no-lsps = nvimModule {
jhome.nvim.dev = {
bundleLSPs = false;
bundleGrammars = false;
};
};
};
in
{
checks = builtins.mapAttrs (
_name: module:
inputs.nixvim.lib.${system}.check.mkTestDerivationFromNixvimModule {
module.imports = module.modules;
}
) modules;
nixvimConfigurations = builtins.mapAttrs (_name: inputs.nixvim.lib.evalNixvim) modules;
};
}