feat: add new `mkNeovimPackage` method that take modules and extraArgs and return a neovim package
parent
fabe787feb
commit
c12a87bfa1
|
|
@ -14,7 +14,7 @@
|
|||
...
|
||||
}: let
|
||||
cfg = config.sloth;
|
||||
inherit (cfg) lib;
|
||||
sLib = (cfg).lib;
|
||||
|
||||
packageModule = types.submodule {
|
||||
options.modules = mkOption {
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
buildPackage = { name, value }: {
|
||||
inherit name;
|
||||
value = (lib.evalSlothModules {inherit (value) modules;}).neovimPackage;
|
||||
value = sLib.mkNeovimPkg {inherit (value) modules;};
|
||||
};
|
||||
packagesList = map buildPackage (attrsToList cfg.packages);
|
||||
in {
|
||||
|
|
|
|||
17
lib/lib.nix
17
lib/lib.nix
|
|
@ -1,6 +1,6 @@
|
|||
{pkgs, ...}: let
|
||||
inherit (pkgs) lib;
|
||||
inherit (lib) concatMap evalModules literalExample mkEnableOption mkOption mkPackageOption optional types;
|
||||
inherit (lib) concatMap evalModules fix literalExample mkEnableOption mkOption mkPackageOption optional types;
|
||||
|
||||
initModule = types.submodule {
|
||||
options = {
|
||||
|
|
@ -234,15 +234,24 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
in
|
||||
fix (sLib: {
|
||||
inherit defaultModule;
|
||||
|
||||
evalSlothModules = {
|
||||
modules ? [],
|
||||
specialArgs ? {},
|
||||
}: let
|
||||
moduleConfig = evalModules {
|
||||
specialArgs = specialArgs // {inherit pkgs;};
|
||||
modules = modules ++ [defaultModule];
|
||||
modules = modules ++ [sLib.defaultModule];
|
||||
};
|
||||
in
|
||||
moduleConfig.config;
|
||||
}
|
||||
|
||||
mkNeovimPkg = {
|
||||
modules ? [],
|
||||
specialArgs ? {},
|
||||
}:
|
||||
(sLib.evalSlothModules {inherit modules specialArgs;}).neovimPackage;
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in New Issue