2026-03-03 20:07:25 +01:00
|
|
|
{inputs, ...}: {
|
2026-01-06 08:54:17 +01:00
|
|
|
xdg.configFile = {
|
2026-01-26 20:50:39 +01:00
|
|
|
"opencode/commands" = {
|
|
|
|
|
source = "${inputs.agents}/commands";
|
2026-01-06 08:54:17 +01:00
|
|
|
recursive = true;
|
|
|
|
|
};
|
|
|
|
|
"opencode/context" = {
|
|
|
|
|
source = "${inputs.agents}/context";
|
|
|
|
|
recursive = true;
|
|
|
|
|
};
|
|
|
|
|
"opencode/prompts" = {
|
|
|
|
|
source = "${inputs.agents}/prompts";
|
|
|
|
|
recursive = true;
|
|
|
|
|
};
|
2026-01-26 20:50:39 +01:00
|
|
|
"opencode/skills" = {
|
|
|
|
|
source = "${inputs.agents}/skills";
|
2026-01-06 08:54:17 +01:00
|
|
|
recursive = true;
|
|
|
|
|
};
|
2026-02-17 18:59:43 +01:00
|
|
|
"opencode/rules" = {
|
|
|
|
|
source = "${inputs.agents}/rules";
|
|
|
|
|
recursive = true;
|
|
|
|
|
};
|
2026-01-06 08:54:17 +01:00
|
|
|
};
|
|
|
|
|
|
2026-01-04 03:49:13 +01:00
|
|
|
programs.opencode = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings = {
|
|
|
|
|
theme = "opencode";
|
2026-03-03 20:07:25 +01:00
|
|
|
plugin = ["oh-my-opencode" "opencode-antigravity-auth@beta"];
|
|
|
|
|
agent =
|
|
|
|
|
builtins.fromJSON
|
2026-01-26 20:50:39 +01:00
|
|
|
(builtins.readFile "${inputs.agents}/agents/agents.json");
|
2026-01-06 05:54:19 +01:00
|
|
|
formatter = {
|
|
|
|
|
alejandra = {
|
2026-03-03 20:07:25 +01:00
|
|
|
command = ["alejandra" "-q" "-"];
|
|
|
|
|
extensions = [".nix"];
|
2026-01-06 05:54:19 +01:00
|
|
|
};
|
|
|
|
|
};
|
2026-01-04 03:49:13 +01:00
|
|
|
mcp = {
|
|
|
|
|
Ref = {
|
|
|
|
|
type = "local";
|
|
|
|
|
command = [
|
|
|
|
|
"sh"
|
|
|
|
|
"-c"
|
|
|
|
|
"REF_API_KEY=$(cat /run/agenix/ref-key) exec bunx ref-tools-mcp@latest"
|
|
|
|
|
];
|
|
|
|
|
enabled = true;
|
|
|
|
|
};
|
2026-01-06 05:54:19 +01:00
|
|
|
Anytype = {
|
|
|
|
|
type = "local";
|
|
|
|
|
command = [
|
|
|
|
|
"sh"
|
|
|
|
|
"-c"
|
|
|
|
|
"OPENAPI_MCP_HEADERS=$(cat /run/agenix/anytype-key) exec bunx @anyproto/anytype-mcp"
|
|
|
|
|
];
|
2026-01-07 19:08:33 +01:00
|
|
|
enabled = false;
|
|
|
|
|
};
|
|
|
|
|
Basecamp = {
|
|
|
|
|
type = "local";
|
|
|
|
|
command = [
|
2026-02-05 08:05:20 +01:00
|
|
|
"/home/m3tam3re/p/AI/Basecamp-MCP-Server/venv/bin/python"
|
|
|
|
|
"/home/m3tam3re/p/AI/Basecamp-MCP-Server/basecamp_fastmcp.py"
|
2026-01-07 19:08:33 +01:00
|
|
|
];
|
|
|
|
|
environment = {
|
|
|
|
|
PYTHONPATH = "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server";
|
|
|
|
|
VIRTUAL_ENV = "/home/m3tam3re/p/PYTHON/Basecamp-MCP-Server/venv";
|
|
|
|
|
BASECAMP_ACCOUNT_ID = "5996442";
|
|
|
|
|
};
|
|
|
|
|
enabled = false;
|
2026-01-06 05:54:19 +01:00
|
|
|
};
|
2026-01-06 08:54:17 +01:00
|
|
|
Exa = {
|
|
|
|
|
type = "local";
|
|
|
|
|
command = [
|
|
|
|
|
"sh"
|
|
|
|
|
"-c"
|
|
|
|
|
"EXA_API_KEY=$(cat /run/agenix/exa-key) exec bunx exa-mcp-server@latest tools=web_search_exa"
|
|
|
|
|
];
|
|
|
|
|
enabled = true;
|
|
|
|
|
};
|
2026-02-10 20:08:32 +01:00
|
|
|
Outline = {
|
|
|
|
|
type = "local";
|
|
|
|
|
command = [
|
|
|
|
|
"sh"
|
|
|
|
|
"-c"
|
|
|
|
|
"OUTLINE_API_KEY=$(cat /run/agenix/outline-key) OUTLINE_API_URL=https://wiki.az-gruppe.com/api OUTLINE_DISABLE_DELETE=true exec uv tool run mcp-outline"
|
|
|
|
|
];
|
|
|
|
|
enabled = false;
|
|
|
|
|
};
|
2026-01-04 03:49:13 +01:00
|
|
|
};
|
2026-01-14 20:55:23 +01:00
|
|
|
provider = {
|
2026-03-03 20:07:25 +01:00
|
|
|
litellm = {
|
|
|
|
|
npm = "@ai-sdk/openai-compatible";
|
|
|
|
|
name = "LiteLLM (AZ-Gruppe)";
|
|
|
|
|
options.baseURL = "https://llm.az-gruppe.com/v1";
|
2026-01-14 20:55:23 +01:00
|
|
|
models = {
|
2026-03-03 20:07:25 +01:00
|
|
|
"gpt-5.2" = {
|
|
|
|
|
name = "GPT-5.2";
|
2026-01-14 20:55:23 +01:00
|
|
|
limit = {
|
|
|
|
|
context = 200000;
|
2026-03-03 20:07:25 +01:00
|
|
|
output = 16384;
|
2026-01-14 20:55:23 +01:00
|
|
|
};
|
|
|
|
|
modalities = {
|
2026-03-03 20:07:25 +01:00
|
|
|
input = ["text" "image"];
|
|
|
|
|
output = ["text"];
|
2026-01-14 20:55:23 +01:00
|
|
|
};
|
|
|
|
|
};
|
2026-03-03 20:07:25 +01:00
|
|
|
"claude-sonnet-4-6" = {
|
|
|
|
|
name = "Claude Sonnet 4.6";
|
2026-01-14 20:55:23 +01:00
|
|
|
limit = {
|
|
|
|
|
context = 200000;
|
2026-03-03 20:07:25 +01:00
|
|
|
output = 16000;
|
2026-01-14 20:55:23 +01:00
|
|
|
};
|
|
|
|
|
modalities = {
|
2026-03-03 20:07:25 +01:00
|
|
|
input = ["text" "image"];
|
|
|
|
|
output = ["text"];
|
2026-01-14 20:55:23 +01:00
|
|
|
};
|
|
|
|
|
};
|
2026-03-03 20:07:25 +01:00
|
|
|
"claude-opus-4-6" = {
|
|
|
|
|
name = "Claude Opus 4.6";
|
2026-01-14 20:55:23 +01:00
|
|
|
limit = {
|
|
|
|
|
context = 200000;
|
2026-03-03 20:07:25 +01:00
|
|
|
output = 32000;
|
2026-01-14 20:55:23 +01:00
|
|
|
};
|
|
|
|
|
modalities = {
|
2026-03-03 20:07:25 +01:00
|
|
|
input = ["text" "image"];
|
|
|
|
|
output = ["text"];
|
2026-01-14 20:55:23 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-01-04 03:49:13 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2026-01-06 08:54:17 +01:00
|
|
|
home.file.".config/opencode/oh-my-opencode.json".text = builtins.toJSON {
|
2026-03-03 20:07:25 +01:00
|
|
|
"$schema" = "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json";
|
2026-02-17 08:54:13 +01:00
|
|
|
# google_auth removed - use opencode-antigravity-auth plugin instead (already in plugin array)
|
2026-01-06 08:54:17 +01:00
|
|
|
agents = {
|
2026-03-03 20:07:25 +01:00
|
|
|
sisyphus = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
oracle = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
librarian = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
explore = {model = "zai-coding-plan/glm-4.5-air";};
|
|
|
|
|
multimodal-looker = {model = "zai-coding-plan/glm-4.6v";};
|
|
|
|
|
prometheus = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
metis = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
momus = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
atlas = {model = "zai-coding-plan/glm-5";};
|
2026-01-23 18:14:08 +01:00
|
|
|
};
|
2026-01-24 18:09:42 +01:00
|
|
|
categories = {
|
2026-03-03 20:07:25 +01:00
|
|
|
visual-engineering = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
ultrabrain = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
artistry = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
quick = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
unspecified-low = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
unspecified-high = {model = "zai-coding-plan/glm-5";};
|
|
|
|
|
writing = {model = "zai-coding-plan/glm-5";};
|
2026-01-06 08:54:17 +01:00
|
|
|
};
|
2026-03-03 20:07:25 +01:00
|
|
|
disabled_mcps = ["context7" "websearch"];
|
|
|
|
|
disabled_hooks = ["comment-checker"];
|
2026-02-17 08:54:13 +01:00
|
|
|
git_master = {
|
|
|
|
|
commit_footer = false;
|
|
|
|
|
include_co_authored_by = false;
|
|
|
|
|
};
|
|
|
|
|
experimental = {
|
|
|
|
|
truncate_all_tool_outputs = true;
|
|
|
|
|
aggressive_truncation = false;
|
|
|
|
|
};
|
2026-01-06 08:54:17 +01:00
|
|
|
};
|
2026-01-04 03:49:13 +01:00
|
|
|
}
|