Skip to content

Commit f52643c

Browse files
stackptrclaude
andauthored
refactor(glyph): move opencode to home-manager (#389)
* refactor(glyph): move opencode to home-manager Replace the system-level systemd service with home-manager's programs.opencode module. Runs as user mu with access to ~/Development and git config. Secret moved from host-level to home-level agenix. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(glyph): configure opencode models, MCP, and server settings Set Opus 4.6 as default model, Haiku 4.5 as small model, connect MCPJungle gateway, and disable autoupdate and sharing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat(glyph): add llm-profile as opencode rules Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f2325a9 commit f52643c

7 files changed

Lines changed: 39 additions & 42 deletions

File tree

‎home/secrets/opencode-env.age‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
age-encryption.org/v1
2+
-> ssh-ed25519 j0kEgQ h0mhqqou3c2H0SaTRedKuN0ZZDFmjxloJD6HkOn3r2U
3+
CW4zS9B6JSwHTz/foalwTxHL+A5Hhkx39B27xdBg2IU
4+
-> ssh-ed25519 3EWhnQ 2kwHA9caPTzam6IlkNH0iIZ8JPDW1QqMUwvr6JviChg
5+
GKcuTzkrYorOGY66bvJeZAza9hQ8yAb8v2fYh8yDw6E
6+
--- uqY/5Y9DgAKdaPsxQeAkXNad//FiFj6JBV8OLn4AQag
7+
�L���Y*��0�����,w\�f��h�^�

‎hosts/glyph/home.nix‎

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,41 @@
11
{
2+
config,
3+
llm-profile,
24
pkgs,
35
pkgs-stable,
46
...
57
}: {
68
home.packages = [pkgs.mktorrent];
79

10+
programs.opencode = {
11+
enable = true;
12+
web.enable = true;
13+
web.extraArgs = ["--port" "8890" "--hostname" "0.0.0.0"];
14+
rules = builtins.readFile "${llm-profile}/README.md";
15+
settings = {
16+
model = "anthropic/claude-opus-4-6";
17+
small_model = "anthropic/claude-haiku-4-5";
18+
enabled_providers = ["anthropic"];
19+
autoupdate = false;
20+
share = "disabled";
21+
server = {
22+
port = 8890;
23+
hostname = "0.0.0.0";
24+
};
25+
mcp.glyph = {
26+
type = "remote";
27+
url = "http://127.0.0.1:8090/mcp";
28+
};
29+
};
30+
};
31+
32+
systemd.user.services.opencode-web.Service.EnvironmentFile =
33+
config.age.secrets.opencode-env.path;
34+
35+
age.secrets.opencode-env = {
36+
file = ../../home/secrets/opencode-env.age;
37+
};
38+
839
programs.beets = {
940
enable = true;
1041
package = pkgs-stable.beets;

‎hosts/glyph/secrets/opencode-env.age‎

Lines changed: 0 additions & 7 deletions
This file was deleted.

‎hosts/glyph/services/default.nix‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
./jellyfin.nix
1313
./nfs.nix
1414
./open-terminal.nix
15-
./opencode.nix
1615
./open-webui.nix
1716
./prometheus.nix
1817
./samba.nix

‎hosts/glyph/services/opencode.nix‎

Lines changed: 0 additions & 33 deletions
This file was deleted.

‎lib/secrets/glyph.nix‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,5 @@ in {
1010
"hosts/glyph/secrets/open-webui-api-key.age".publicKeys = keys;
1111
"hosts/glyph/secrets/open-webui-env.age".publicKeys = keys;
1212
"hosts/glyph/secrets/graphite-auth-token.age".publicKeys = keys;
13-
"hosts/glyph/secrets/opencode-env.age".publicKeys = keys;
1413
"hosts/glyph/secrets/attic-credentials.age".publicKeys = keys;
1514
}

‎lib/secrets/home.nix‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ let
33
in {
44
"home/secrets/aichat-env.age".publicKeys = keys;
55
"home/secrets/claude-code-api-key.age".publicKeys = keys;
6+
"home/secrets/opencode-env.age".publicKeys = keys;
67
}

0 commit comments

Comments
 (0)