1{
2 config,
3 lib,
4 name,
5 ...
6}:
7{
8 options = {
9 dataPath = lib.mkOption {
10 type = lib.types.path;
11 default = "/var/lib/pantalaimon-${name}";
12 description = ''
13 The directory where `pantalaimon` should store its state such as the database file.
14 '';
15 };
16
17 logLevel = lib.mkOption {
18 type = lib.types.enum [
19 "info"
20 "warning"
21 "error"
22 "debug"
23 ];
24 default = "warning";
25 description = ''
26 Set the log level of the daemon.
27 '';
28 };
29
30 homeserver = lib.mkOption {
31 type = lib.types.str;
32 example = "https://matrix.org";
33 description = ''
34 The URI of the homeserver that the `pantalaimon` proxy should
35 forward requests to, without the matrix API path but including
36 the http(s) schema.
37 '';
38 };
39
40 ssl = lib.mkOption {
41 type = lib.types.bool;
42 default = true;
43 description = ''
44 Whether or not SSL verification should be enabled for outgoing
45 connections to the homeserver.
46 '';
47 };
48
49 listenAddress = lib.mkOption {
50 type = lib.types.str;
51 default = "localhost";
52 description = ''
53 The address where the daemon will listen to client connections
54 for this homeserver.
55 '';
56 };
57
58 listenPort = lib.mkOption {
59 type = lib.types.port;
60 default = 8009;
61 description = ''
62 The port where the daemon will listen to client connections for
63 this homeserver. Note that the listen address/port combination
64 needs to be lib.unique between different homeservers.
65 '';
66 };
67
68 extraSettings = lib.mkOption {
69 type = lib.types.attrs;
70 default = { };
71 description = ''
72 Extra configuration options. See
73 [pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)
74 for available options.
75 '';
76 };
77 };
78}