mirror of
https://github.com/nmasur/dotfiles
synced 2025-07-05 20:50:15 +00:00
fix infinite recursion by namespacing new pkgs
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user