54 lines
1 KiB
Nix
54 lines
1 KiB
Nix
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
|
|
]
|