about summary refs log tree commit diff
path: root/overlays/mjolnir-module/pantalaimon-options.nix
blob: 3945a70fc86be2e5e829a50294945be0df7d7b79 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{ config, lib, name, ... }:

with lib;
{
  options = {
    dataPath = mkOption {
      type = types.path;
      default = "/var/lib/pantalaimon-${name}";
      description = lib.mdDoc ''
        The directory where `pantalaimon` should store its state such as the database file.
      '';
    };

    logLevel = mkOption {
      type = types.enum [ "info" "warning" "error" "debug" ];
      default = "warning";
      description = lib.mdDoc ''
        Set the log level of the daemon.
      '';
    };

    homeserver = mkOption {
      type = types.str;
      example = "https://matrix.org";
      description = lib.mdDoc ''
        The URI of the homeserver that the `pantalaimon` proxy should
        forward requests to, without the matrix API path but including
        the http(s) schema.
      '';
    };

    ssl = mkOption {
      type = types.bool;
      default = true;
      description = lib.mdDoc ''
        Whether or not SSL verification should be enabled for outgoing
        connections to the homeserver.
      '';
    };

    listenAddress = mkOption {
      type = types.str;
      default = "localhost";
      description = lib.mdDoc ''
        The address where the daemon will listen to client connections
        for this homeserver.
      '';
    };

    listenPort = mkOption {
      type = types.port;
      default = 8009;
      description = lib.mdDoc ''
        The port where the daemon will listen to client connections for
        this homeserver. Note that the listen address/port combination
        needs to be unique between different homeservers.
      '';
    };

    extraSettings = mkOption {
      type = types.attrs;
      default = { };
      description = lib.mdDoc ''
        Extra configuration options. See
        [pantalaimon(5)](https://github.com/matrix-org/pantalaimon/blob/master/docs/man/pantalaimon.5.md)
        for available options.
      '';
    };
  };
}