{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) ''; }; }; })); }; }; })); }; }; }