CASCADE/common/guzzlord-options.nix

43 lines
996 B
Nix
Raw Normal View History

2022-10-11 17:28:18 +00:00
{pkgs, lib, config, ...}:
with lib;
with builtins;
{
options = with types; {
services.guzzlords = mkOption {
default = {};
type = attrsOf (submodule ({config, name, ...}@args: {
options = {
guzzlord = mkOption {
type = str;
default = name;
description = ''
the server running the guzzlord software
defaults to the name of the guzzlord service
'';
};
islands = let guzzlord = name; in mkOption {
type = attrsOf (submodule ({config, name, ...}@args: {
options = {
path = mkOption {
type = str;
default = "/tank";
description = "the path on the associated host to serve via guzzlord";
};
type = mkOption {
type = str;
default = "nfs";
description = ''
the type of island. may either be nfs or usb (unimplemented)
'';
};
};
}));
};
};
}));
};
};
}