fix infinite recursion by namespacing new pkgs

This commit is contained in:
Noah Masur
2025-02-24 21:14:38 -05:00
parent 3206b48f28
commit e7366f9510
13 changed files with 31 additions and 19 deletions

View File

@ -14,20 +14,29 @@ let
list:
builtins.listToAttrs (
map (v: {
name = v."pname" ? v."name";
name = v."pname" or v."name";
value = v;
}) list
);
lib = prev.lib;
# packagesDirectory = lib.filesystem.listFilesRecursive ../pkgs;
# [ package1/package.nix package2/package.nix package2/hello.sh ]
packages = lib.pipe (lib.filesystem.listFilesRecursive ../pkgs) [
# Get only files called package.nix
# [ package1/package.nix package2/package.nix ]
(builtins.filter (name: lib.hasSuffix "package.nix" name))
# Apply callPackage to create a derivation
# Must use final.callPackage to avoid infinite recursion
# [ package1.drv package2.drv ]
(builtins.map (name: prev.callPackage name { }))
# Convert the list to an attrset
# { package1 = package1.drv, package2 = package2.drv }
listToAttrsByPnameOrName
];
in
packages
{
nmasur = packages;
}