60 lines
1.5 KiB
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;
|
|
};
|
|
}
|