let pins = import ./npins; lib = import pins.lib; foundation = import pins.foundation { system = "i686-linux"; }; recursiveLibModule = { __file__ = ./default.nix; options = { lib = lib.options.create { type = lib.types.attrs.any; default.value = { }; description = "An attribute set of values to be added to `lib`."; apply = value: lib.extend (final: prev: lib.attrs.mergeRecursive lib value); }; internal.packages.foundation = lib.options.create { type = lib.types.attrs.of lib.types.derivation; }; }; config = { internal.packages.foundation = foundation; }; }; new = module: let set = lib.modules.run { modules = [ ./src/builders ./src/lib ./src/mirrors recursiveLibModule ] ++ lib.lists.from.any module; }; in set.config // { inherit new; inherit (set) extend; }; in new [ ./src/packages ./src/builders/foundation/basic.nix ]