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 = {
15 knot = {
16 enable = true;
17 gitUser = "git";
18 stateDir = "/var/lib/tangled-knot";
19 repo.scanPath = "${cfg.stateDir}/repos";
20 server = {
21 listenAddr = "0.0.0.0:${toString dk.port}";
22 hostname = dk.extUrl;
23 internalListenAddr = "127.0.0.1:${toString dk.intListenPort}";
24 owner = "did:plc:5cqzysioqzttihsnbsaxrggu";
25 };
26 };
27 spindle = {
28 enable = true;
29 server = {
30 listenAddr = "0.0.0.0:${toString ds.port}";
31 hostname = ds.extUrl;
32 owner = "did:plc:5cqzysioqzttihsnbsaxrggu";
33 };
34 pipelines.workflowTimeout = "10m";
35 };
36 };
37 openssh = {
38 enable = lib.mkForce cfg.enable;
39 ports = [ 2222 ];
40 settings.AllowUsers = [ "git" ];
41 settings.AllowGroups = [ "git" ];
42 };
43 };
44}