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