6
customConfig' = customConfig // (customConfig.submit-api or {});
7
mkScript = envConfig: let
9
configModule = { options, config, ...}: {
10
services.cardano-submit-api = recursiveUpdate {
12
network = envConfig.name;
13
environment = envConfig;
14
cardanoNodePkgs = pkgs;
15
} (let validOptions = attrNames options.services.cardano-submit-api;
16
in filterAttrs (n: _: elem n validOptions) customConfig');
19
serviceScript = (modules.evalModules {
22
./nixos/cardano-submit-api-service.nix
26
args = { inherit pkgs; };
28
}).config.services.cardano-submit-api.script;
30
in pkgs.writeScript "cardano-submit-api-${envConfig.name}" ''
31
#!${pkgs.runtimeShell}
36
scripts = forEnvironments (environment: recurseIntoAttrs {
37
submit-api = mkScript environment;
39
in removeAttrs scripts ["selfnode" "shelley_selfnode"]