I find these `mkProvider` and `mkRequester` functions really nice. Also fixes doc generation related to https://github.com/NixOS/nixpkgs/pull/353513
27 lines
709 B
Nix
27 lines
709 B
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
contracts = pkgs.callPackage ../. {};
|
|
|
|
inherit (lib) mkOption;
|
|
inherit (lib.types) submodule;
|
|
in
|
|
{
|
|
options.shb.contracts.secret = mkOption {
|
|
description = ''
|
|
Contract for secrets between a requester module
|
|
and a provider module.
|
|
|
|
The requester communicates to the provider
|
|
some properties the secret should have
|
|
through the `request.*` options.
|
|
|
|
The provider reads from the `request.*` options
|
|
and creates the secret as requested.
|
|
It then communicates to the requester where the secret can be found
|
|
through the `result.*` options.
|
|
'';
|
|
type = submodule {
|
|
options = contracts.secret.contract;
|
|
};
|
|
};
|
|
}
|