|
3 | 3 | imports = [ |
4 | 4 | (modulesPath + "/virtualisation/amazon-image.nix") |
5 | 5 | ../modules/clawdinator.nix |
| 6 | + ./clawdinator-1-common.nix |
6 | 7 | ]; |
7 | 8 |
|
8 | 9 | networking.hostName = "clawdinator-1"; |
|
20 | 21 |
|
21 | 22 | networking.firewall.allowedTCPPorts = [ 22 18789 ]; |
22 | 23 |
|
23 | | - age.identityPaths = [ "/etc/agenix/keys/clawdinator.agekey" ]; |
24 | | - age.secrets."clawdinator-github-app.pem" = { |
25 | | - file = "/var/lib/clawd/nix-secrets/clawdinator-github-app.pem.age"; |
26 | | - owner = "clawdinator"; |
27 | | - group = "clawdinator"; |
28 | | - }; |
29 | | - age.secrets."clawdinator-anthropic-api-key" = { |
30 | | - file = "/var/lib/clawd/nix-secrets/clawdinator-anthropic-api-key.age"; |
31 | | - owner = "clawdinator"; |
32 | | - group = "clawdinator"; |
33 | | - }; |
34 | | - age.secrets."clawdinator-discord-token" = { |
35 | | - file = "/var/lib/clawd/nix-secrets/clawdinator-discord-token.age"; |
36 | | - owner = "clawdinator"; |
37 | | - group = "clawdinator"; |
38 | | - }; |
39 | | - |
40 | | - services.clawdinator = { |
41 | | - enable = true; |
42 | | - instanceName = "CLAWDINATOR-1"; |
43 | | - memoryDir = "/memory"; |
44 | | - memoryEfs = { |
45 | | - enable = true; |
46 | | - fileSystemId = "fs-0e7920726c2965a88"; |
47 | | - region = "eu-central-1"; |
48 | | - mountPoint = "/memory"; |
49 | | - }; |
50 | | - repoSeeds = [ |
51 | | - { |
52 | | - name = "clawdbot"; |
53 | | - url = "https://github.com/clawdbot/clawdbot.git"; |
54 | | - } |
55 | | - { |
56 | | - name = "nix-clawdbot"; |
57 | | - url = "https://github.com/clawdbot/nix-clawdbot.git"; |
58 | | - } |
59 | | - { |
60 | | - name = "clawdinators"; |
61 | | - url = "https://github.com/clawdbot/clawdinators.git"; |
62 | | - } |
63 | | - { |
64 | | - name = "clawdhub"; |
65 | | - url = "https://github.com/clawdbot/clawdhub.git"; |
66 | | - } |
67 | | - { |
68 | | - name = "nix-steipete-tools"; |
69 | | - url = "https://github.com/clawdbot/nix-steipete-tools.git"; |
70 | | - } |
71 | | - ]; |
72 | | - |
73 | | - config = { |
74 | | - gateway.mode = "local"; |
75 | | - agent.workspace = "/var/lib/clawd/workspace"; |
76 | | - agent.maxConcurrent = 4; |
77 | | - agent.skipBootstrap = true; |
78 | | - logging = { |
79 | | - level = "info"; |
80 | | - file = "/var/lib/clawd/logs/clawdbot.log"; |
81 | | - }; |
82 | | - session.sendPolicy = { |
83 | | - default = "allow"; |
84 | | - rules = [ |
85 | | - { |
86 | | - action = "deny"; |
87 | | - match.keyPrefix = "agent:main:discord:channel:1458138963067011176"; |
88 | | - } |
89 | | - { |
90 | | - action = "deny"; |
91 | | - match.keyPrefix = "agent:main:discord:channel:1458141495701012561"; |
92 | | - } |
93 | | - ]; |
94 | | - }; |
95 | | - routing.queue = { |
96 | | - mode = "interrupt"; |
97 | | - bySurface = { |
98 | | - discord = "queue"; |
99 | | - telegram = "interrupt"; |
100 | | - whatsapp = "interrupt"; |
101 | | - webchat = "queue"; |
102 | | - }; |
103 | | - }; |
104 | | - identity.name = "CLAWDINATOR-1"; |
105 | | - skills.allowBundled = [ "github" "clawdhub" ]; |
106 | | - discord = { |
107 | | - enabled = true; |
108 | | - dm.enabled = false; |
109 | | - guilds = { |
110 | | - "1456350064065904867" = { |
111 | | - requireMention = false; |
112 | | - channels = { |
113 | | - # #clawdinators-test |
114 | | - "1458426982579830908" = { |
115 | | - allow = true; |
116 | | - requireMention = false; |
117 | | - autoReply = true; |
118 | | - }; |
119 | | - # #clawdributors-test (lurk only; replies denied via sendPolicy) |
120 | | - "1458138963067011176" = { |
121 | | - allow = true; |
122 | | - requireMention = false; |
123 | | - }; |
124 | | - # #clawdributors (lurk only; replies denied via sendPolicy) |
125 | | - "1458141495701012561" = { |
126 | | - allow = true; |
127 | | - requireMention = false; |
128 | | - }; |
129 | | - }; |
130 | | - }; |
131 | | - }; |
132 | | - }; |
133 | | - }; |
134 | | - |
135 | | - anthropicApiKeyFile = "/run/agenix/clawdinator-anthropic-api-key"; |
136 | | - discordTokenFile = "/run/agenix/clawdinator-discord-token"; |
137 | | - |
138 | | - githubApp = { |
139 | | - enable = true; |
140 | | - appId = "2607181"; |
141 | | - installationId = "102951645"; |
142 | | - privateKeyFile = "/run/agenix/clawdinator-github-app.pem"; |
143 | | - schedule = "hourly"; |
144 | | - }; |
145 | | - |
146 | | - selfUpdate.enable = true; |
147 | | - selfUpdate.flakePath = "/var/lib/clawd/repo"; |
148 | | - selfUpdate.flakeHost = "clawdinator-1"; |
149 | | - }; |
| 24 | + clawdinator.secretsPath = "/var/lib/clawd/nix-secrets"; |
150 | 25 | } |
0 commit comments