move typeChecked into pkgs.liminix.lib

This commit is contained in:
Daniel Barlow
2023-07-14 20:22:29 +01:00
parent 69e6eb5a89
commit 682183a88d
4 changed files with 25 additions and 12 deletions

View File

@@ -1,5 +1,6 @@
{
callPackage
, lib
}:
{
pseudofile = callPackage ./pseudofile {};
@@ -10,6 +11,23 @@
squashfs = callPackage ./liminix-tools/builders/squashfs.nix {};
kernel = callPackage ./kernel {};
};
lib = {
types = {
service =
let inherit (lib) types isDerivation hasAttr;
in types.package // {
name = "service";
description = "s6-rc service";
check = x: isDerivation x && hasAttr "serviceType" x;
};
};
typeChecked = caller: type: value:
let
inherit (lib) types mergeDefinitions;
defs = [{ file = caller; inherit value; }];
type' = types.submodule { options = type; };
in (mergeDefinitions [] type' defs).mergedValue;
};
};
writeFennelScript = callPackage ./write-fennel-script {};
writeAshScript = callPackage ./write-ash-script {};