1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.services.magic-wormhole-mailbox-server;
10 # keep semicolon in dataDir for backward compatibility
11 dataDir = "/var/lib/magic-wormhole-mailbox-server;";
12 python = pkgs.python3.withPackages (
13 py: with py; [
14 magic-wormhole-mailbox-server
15 twisted
16 ]
17 );
18in
19{
20 options.services.magic-wormhole-mailbox-server = {
21 enable = lib.mkEnableOption "Magic Wormhole Mailbox Server";
22 };
23
24 config = lib.mkIf cfg.enable {
25 systemd.services.magic-wormhole-mailbox-server = {
26 after = [ "network.target" ];
27 wantedBy = [ "multi-user.target" ];
28 serviceConfig = {
29 DynamicUser = true;
30 ExecStart = "${python}/bin/twistd --nodaemon wormhole-mailbox";
31 WorkingDirectory = dataDir;
32 StateDirectory = baseNameOf dataDir;
33 };
34 };
35 };
36
37 meta.maintainers = [ lib.maintainers.mjoerg ];
38}