main
 1{den, ...}: {
 2  den.hosts.mobius = {
 3    settings = {
 4      services.forgejo.runner = {
 5        instances = {
 6          internal = {
 7            name = "runner-internal";
 8            servers = {
 9              gateOfInfinity = {
10                url = "https://git.net.trin.one";
11                uuid = "53fa1df5-f0dd-423c-91a7-afee2488f253";
12                tokenFileAged = ./forgejo-runner-goi-token.age;
13              };
14            };
15            labels = [
16              "ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
17              "nixos-latest:docker://git.net.trin.one/hpcesia/nix-act-image:latest-x86_64-linux"
18            ];
19            extraSettings = {
20              container.network = "host";
21            };
22          };
23          codeberg = {
24            name = "runner-codeberg";
25            servers = {
26              codeberge = {
27                url = "https://codeberg.org";
28                uuid = "ba3966e6-ad25-4de2-89ec-4b96b9e1965f";
29                tokenFileAged = ./forgejo-runner-codeberg-token.age;
30              };
31            };
32            labels = [
33              "nixos-latest:docker://git.net.trin.one/hpcesia/nix-act-image:latest-x86_64-linux"
34            ];
35          };
36        };
37      };
38      services.forgejo.server = {
39        domain = "git.net.trin.one";
40      };
41
42      services.navidrome = {
43        domain = "navidrome.net.trin.one";
44      };
45
46      services.woodpecker.agent.agents = {
47        codeberg = {
48          server = "grpc.ci.codeberg.org:443";
49          secretFileAged = ./woodpecker-agent-codeberg-token.age;
50          labels = {
51            tier = "high";
52          };
53        };
54      };
55    };
56  };
57
58  den.aspects.mobius.includes = with den.aspects; [
59    dev.binfmt # For aarch64 build in CI
60
61    services.caddy
62    services.caddy.tailscale
63
64    services.forgejo.runner
65    services.forgejo.server
66    services.navidrome
67    services.woodpecker.agent
68  ];
69}