43 lines
996 B
Nix
43 lines
996 B
Nix
|
{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)
|
||
|
'';
|
||
|
};
|
||
|
};
|
||
|
}));
|
||
|
};
|
||
|
};
|
||
|
}));
|
||
|
};
|
||
|
};
|
||
|
}
|