1{
2 config,
3 lib,
4 ...
5}:
6let
7 cfg = config.services.tangled-knot;
8 dk = lib.py.data.services.tangled-knot;
9 ds = lib.py.data.services.tangled-spindle;
10in
11{
12 services = {
13 tangled-knot = {
14 enable = true;
15 gitUser = "git";
16 stateDir = "/var/lib/tangled-knot";
17 repo.scanPath = "${cfg.stateDir}/repos";
18 server = {
19 listenAddr = "0.0.0.0:${toString dk.port}";
20 hostname = dk.extUrl;
21 internalListenAddr = "127.0.0.1:${toString dk.intListenPort}";
22 owner = "did:plc:5cqzysioqzttihsnbsaxrggu";
23 };
24 };
25 tangled-spindle = {
26 enable = true;
27 server = {
28 listenAddr = "0.0.0.0:${toString ds.port}";
29 hostname = ds.extUrl;
30 owner = "did:plc:5cqzysioqzttihsnbsaxrggu";
31 };
32 pipelines.workflowTimeout = "10m";
33 };
34 openssh.enable = lib.mkForce cfg.enable;
35 openssh.ports = [ 2222 ];
36 openssh.settings.AllowUsers = [ "git" ];
37 openssh.settings.AllowGroups = [ "git" ];
38 };
39}