39 lines
1 KiB
Nix
39 lines
1 KiB
Nix
{
|
|
_bootstrapImportDependency ?
|
|
source:
|
|
if source ? outPath then _bootstrapImportDependency (import source)
|
|
else
|
|
let
|
|
evil = builtins.tryEval (source {});
|
|
in
|
|
if evil.success then evil.result else source,
|
|
sources ? (import ./npins), nixpkgs-lib ? _bootstrapImportDependency sources.nixpkgs-lib, lib ? nixpkgs-lib.lib }:
|
|
{
|
|
lib = rec {
|
|
importDependency = _bootstrapImportDependency;
|
|
melt = defaultNixFile: flakeInputs:
|
|
let
|
|
outputFun = import defaultNixFile;
|
|
dependencies = builtins.mapAttrs (n: s: importDependency s) sources;
|
|
outputs =
|
|
if builtins.isFunction outputFun then outputFun dependencies else outputFun;
|
|
in
|
|
outputs;
|
|
};
|
|
|
|
# This works because static.
|
|
# checks.x86_64-linux.test = derivation {
|
|
# name = "test-derivation";
|
|
# builder = ":";
|
|
# system = "x86_64-linux";
|
|
# };
|
|
|
|
checks = lib.genAttrs [ "x86_64-linux" ] (system: {
|
|
test = derivation {
|
|
name = "test-derivation";
|
|
builder = ":";
|
|
inherit system;
|
|
};
|
|
});
|
|
}
|