{ pkgs, lib, ... }: let contracts = pkgs.callPackage ../. {}; inherit (lib) mkOption; inherit (lib.types) submodule; in { options.shb.contracts.databasebackup = mkOption { description = '' Contract for database backup between a requester module and a provider module. The requester communicates to the provider how to backup the database through the `request` options. The provider reads from the `request` options and backs up the database as requested. It communicates to the requester what script is used to backup and restore the database through the `result` options. ''; type = submodule { options = contracts.databasebackup.contract; }; }; }