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}