Export autoloadAttr

This commit is contained in:
Archit Gupta 2023-04-15 04:41:27 -07:00
parent 867bf2ba6e
commit bbe8e3a442

View File

@ -11,7 +11,7 @@ let
optionalString parseDrvName pathExists pipe recursiveUpdate removePrefix
removeSuffix zipAttrsWith;
exports = { inherit mkFlake loadNixDir systems; };
exports = { inherit mkFlake loadNixDir systems autoloadAttr; };
baseModule = src: inputs: root: {
withOverlays = params: [
@ -47,10 +47,10 @@ let
};
};
autoAttrs = src: root:
autoloadAttr = src: root: attr:
let
nixDir = root.nixDir or (src + /nix);
loadAttr = attr:
in
if pathExists (nixDir + "/${attr}.nix")
then import (nixDir + "/${attr}.nix")
else if pathExists (nixDir + "/${attr}/default.nix")
@ -58,7 +58,8 @@ let
else if pathExists (nixDir + "/${attr}")
then loadNixDir (nixDir + "/${attr}")
else null;
attrs = [
autoAttrs = [
"withOverlay"
"withOverlays"
"package"
@ -79,8 +80,9 @@ let
"perSystem"
"outputs"
];
in
filterAttrs (_: v: v != null) (genAttrs attrs loadAttr);
genAutoAttrs = src: root:
filterAttrs (_: v: v != null) (genAttrs autoAttrs (autoloadAttr src root));
mkFlake = src: inputs: root:
let
@ -143,7 +145,7 @@ let
root' =
let
rootWithAuto = (autoAttrs src root) // root;
rootWithAuto = (genAutoAttrs src root) // root;
in
normalizeModule rootWithAuto // {
systems = applyParams rootWithAuto.systems or systems.linuxDefault;