1{ lib, ... }:
2{
3 options = {
4 server = lib.mkOption {
5 type = lib.types.either (lib.types.submodule (import ./server-options.nix)) (lib.types.path);
6 example = {
7 host = "127.0.0.1";
8 port = 8888;
9 };
10 default = {
11 host = "127.0.0.1";
12 port = 80;
13 };
14 description = ''
15 Frontend server interface binding specification as either a
16 host:port pair or a unix domain docket.
17
18 NB: a host of "*" listens on all interfaces and includes IPv6
19 addresses.
20 '';
21 };
22
23 params = lib.mkOption {
24 type = lib.types.nullOr (lib.types.submodule (import ./frontend-params-submodule.nix));
25 example = {
26 tls = "tls";
27 };
28 default = null;
29 description = ''
30 Parameters to configure a backend.
31 '';
32 };
33 };
34}