mirror of
https://github.com/nix-community/flakelight.git
synced 2025-06-21 01:57:57 +02:00
Call per-system attributes with callFn
This commit is contained in:
parent
7149d4b655
commit
76c6ec7938
22
default.nix
22
default.nix
@ -14,7 +14,7 @@ let
|
|||||||
exports = {
|
exports = {
|
||||||
inherit mkFlake systems importDir autoImport autoImportAttrs defaultPkgName
|
inherit mkFlake systems importDir autoImport autoImportAttrs defaultPkgName
|
||||||
supportedSystem mergeModules moduleAttrs rootAttrs ensureFn fnConcat
|
supportedSystem mergeModules moduleAttrs rootAttrs ensureFn fnConcat
|
||||||
fnUpdate callFn callPkg callPkgs tryImport;
|
fnUpdate callFn filterArgs callPkg callPkgs tryImport;
|
||||||
};
|
};
|
||||||
|
|
||||||
builtinModule = { src, inputs, root }: {
|
builtinModule = { src, inputs, root }: {
|
||||||
@ -131,6 +131,8 @@ let
|
|||||||
if functionArgs f' == { } then f' args
|
if functionArgs f' == { } then f' args
|
||||||
else f' (intersectAttrs (functionArgs f) args);
|
else f' (intersectAttrs (functionArgs f) args);
|
||||||
|
|
||||||
|
filterArgs = x: args: callFn args x;
|
||||||
|
|
||||||
tryImport = x: if (isPath x) || (isString x) then import x else x;
|
tryImport = x: if (isPath x) || (isString x) then import x else x;
|
||||||
|
|
||||||
callPkg = args: f:
|
callPkg = args: f:
|
||||||
@ -207,21 +209,21 @@ let
|
|||||||
// optionalAttrs (module' ? package) {
|
// optionalAttrs (module' ? package) {
|
||||||
default = module'.package;
|
default = module'.package;
|
||||||
};
|
};
|
||||||
devTools = ensureFn module'.devTools;
|
devTools = filterArgs module'.devTools;
|
||||||
devShells = fnUpdate (ensureFn module'.devShells)
|
devShells = fnUpdate (filterArgs module'.devShells)
|
||||||
(_: optionalAttrs (module' ? devShell) {
|
(_: optionalAttrs (module' ? devShell) {
|
||||||
default = module'.devShell;
|
default = module'.devShell;
|
||||||
});
|
});
|
||||||
env = ensureFn module'.env;
|
env = filterArgs module'.env;
|
||||||
overlays = (applyNonSysArgs module'.overlays)
|
overlays = (applyNonSysArgs module'.overlays)
|
||||||
// optionalAttrs (module' ? overlay) {
|
// optionalAttrs (module' ? overlay) {
|
||||||
default = module'.overlay;
|
default = module'.overlay;
|
||||||
};
|
};
|
||||||
apps = fnUpdate (ensureFn module'.apps)
|
apps = fnUpdate (filterArgs module'.apps)
|
||||||
(_: optionalAttrs (module' ? app) {
|
(_: optionalAttrs (module' ? app) {
|
||||||
default = module'.app;
|
default = module'.app;
|
||||||
});
|
});
|
||||||
checks = ensureFn module'.checks;
|
checks = filterArgs module'.checks;
|
||||||
nixosModules = (applyNonSysArgs module'.nixosModules)
|
nixosModules = (applyNonSysArgs module'.nixosModules)
|
||||||
// optionalAttrs (module' ? nixosModule) {
|
// optionalAttrs (module' ? nixosModule) {
|
||||||
default = module'.nixosModule;
|
default = module'.nixosModule;
|
||||||
@ -231,7 +233,7 @@ let
|
|||||||
// optionalAttrs (module' ? template) {
|
// optionalAttrs (module' ? template) {
|
||||||
default = module'.template;
|
default = module'.template;
|
||||||
};
|
};
|
||||||
formatters = ensureFn module'.formatters;
|
formatters = filterArgs module'.formatters;
|
||||||
};
|
};
|
||||||
|
|
||||||
root' =
|
root' =
|
||||||
@ -240,9 +242,9 @@ let
|
|||||||
fullRoot = (autoImportAttrs nixDir rootAttrs) // root;
|
fullRoot = (autoImportAttrs nixDir rootAttrs) // root;
|
||||||
in
|
in
|
||||||
normalizeModule fullRoot // {
|
normalizeModule fullRoot // {
|
||||||
systems = applyNonSysArgs fullRoot.systems or systems.linuxDefault;
|
systems = applyNonSysArgs (fullRoot.systems or systems.linuxDefault);
|
||||||
perSystem = ensureFn fullRoot.perSystem or (_: { });
|
perSystem = filterArgs (fullRoot.perSystem or { });
|
||||||
outputs = applyNonSysArgs fullRoot.outputs or { };
|
outputs = applyNonSysArgs (fullRoot.outputs or { });
|
||||||
inherit nixDir;
|
inherit nixDir;
|
||||||
raw = root;
|
raw = root;
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user