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