test: copy over most tests, add new tests for soonix

This commit is contained in:
technofab 2025-09-02 12:08:29 +02:00
parent 0bd75fd1bb
commit 436e2fde25
No known key found for this signature in database
7 changed files with 439 additions and 9 deletions

View file

@ -2,7 +2,7 @@
pkgs,
lib,
} @ args: let
inherit (lib) types isAttrs filterAttrs mapAttrs mkOption mkOptionType isType literalExpression;
inherit (lib) types isAttrs filterAttrs mapAttrs mkOption mkOptionType isType literalExpression pipe;
in rec {
prepend = key: arr: job: {
${key} = arr ++ (job.${key} or []);
@ -15,7 +15,13 @@ in rec {
# json is also valid yaml and this removes dependency on jq and/or remarshal
# (used in pkgs.formats.json and pkgs.formats.yaml respectively)
toYaml = name: value: builtins.toFile name (builtins.toJSON value);
toYaml = name: value:
pipe value [
builtins.toJSON
builtins.unsafeDiscardOutputDependency
builtins.unsafeDiscardStringContext
(builtins.toFile name)
];
toYamlPretty = (pkgs.formats.yaml {}).generate;
customMapAttrs = cb: set: builtins.listToAttrs (builtins.map (key: cb key (builtins.getAttr key set)) (builtins.attrNames set));