main
 1{den, ...}: {
 2  den.hosts.mobius = {
 3    settings = {
 4      services.forgejo.runner = {
 5        instances = {
 6          goi = {
 7            name = "runner-goi";
 8            cacheProxyPort = 4000;
 9            servers = {
10              gateOfInfinity = {
11                url = "https://git.trin.one";
12                uuid = "b04c19c1-01b7-47be-a5d0-e696a51c4aee";
13                tokenFileAged = ./forgejo-runner-goi-token.age;
14              };
15            };
16            labels = [
17              "nixos-latest:docker://git.trin.one/goi/nix-act-image:latest-x86_64-linux"
18              "nixos-latest-high:docker://git.trin.one/goi/nix-act-image:latest-x86_64-linux"
19            ];
20            resourcesLimit = {
21              capacity = 2;
22              cpus = 2;
23              memory = "4g";
24            };
25          };
26        };
27      };
28
29      services.grafana = {
30        domain = "grafana.net.trin.one";
31        prometheus.url = "http://127.0.0.1:8428";
32      };
33
34      services.navidrome = {
35        domain = "navidrome.net.trin.one";
36      };
37
38      services.victoriametrics = {
39        address = "127.0.0.1";
40        port = 8428;
41      };
42
43      services.woodpecker.agent.agents = {
44        codeberg = {
45          server = "grpc.ci.codeberg.org:443";
46          secretFileAged = ./woodpecker-agent-codeberg-token.age;
47          labels = {
48            tier = "high";
49          };
50        };
51      };
52    };
53  };
54
55  den.aspects.mobius.includes = with den.aspects; [
56    dev.binfmt # For aarch64 build in CI
57
58    services.caddy
59    services.caddy.tailscale
60
61    services.forgejo.runner
62    services.grafana
63    services.navidrome
64    services.node-exporter
65    services.victoriametrics
66    services.woodpecker.agent
67  ];
68}