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