2026-04-13 19:18:25 +02:00
|
|
|
{
|
|
|
|
|
inputs,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}: {
|
2026-04-13 16:44:18 +02:00
|
|
|
coding.agents.opencode = {
|
2026-03-31 13:30:47 +02:00
|
|
|
enable = true;
|
|
|
|
|
agentsInput = inputs.agents;
|
|
|
|
|
|
2026-03-28 10:17:29 +01:00
|
|
|
externalSkills = [
|
|
|
|
|
{
|
|
|
|
|
src = inputs.skills-anthropic;
|
2026-03-31 13:30:47 +02:00
|
|
|
selectSkills = ["pdf" "docx" "frontend-design"];
|
2026-03-28 10:17:29 +01:00
|
|
|
}
|
2026-03-31 13:30:47 +02:00
|
|
|
{src = inputs.skills-vercel;}
|
|
|
|
|
{src = inputs.skills-basecamp;}
|
|
|
|
|
{src = inputs.skills-kestra;}
|
2026-03-28 10:17:29 +01:00
|
|
|
];
|
2026-04-13 16:44:18 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
coding.opencode = {
|
|
|
|
|
enable = true;
|
2026-01-06 08:54:17 +01:00
|
|
|
|
2026-03-31 13:30:47 +02:00
|
|
|
ohMyOpencodeSettings = {
|
|
|
|
|
agents = {
|
|
|
|
|
sisyphus.model = "litellm/claude-opus-4-6";
|
|
|
|
|
oracle.model = "litellm/claude-sonnet-4-6";
|
|
|
|
|
librarian.model = "litellm/claude-sonnet-4-6";
|
|
|
|
|
explore.model = "litellm/claude-haiku-4-5";
|
|
|
|
|
multimodal-looker.model = "litellm/gpt-5.3-codex";
|
|
|
|
|
prometheus.model = "litellm/claude-opus-4-6";
|
|
|
|
|
metis.model = "litellm/claude-opus-4-6";
|
|
|
|
|
momus.model = "litellm/claude-opus-4-6";
|
|
|
|
|
atlas.model = "litellm/claude-sonnet-4-6";
|
|
|
|
|
};
|
|
|
|
|
categories = {
|
|
|
|
|
visual-engineering.model = "zai-coding-plan/glm-5.1";
|
|
|
|
|
ultrabrain.model = "litellm/claude-opus-4-6";
|
|
|
|
|
deep.model = "litellm/claude-sonnet-4-6";
|
|
|
|
|
artistry.model = "zai-coding-plan/glm-5.1";
|
|
|
|
|
quick.model = "litellm/claude-haiku-4-5";
|
|
|
|
|
unspecified-low.model = "litellm/claude-sonnet-4-6";
|
|
|
|
|
unspecified-high.model = "litellm/claude-opus-4-6";
|
|
|
|
|
writing.model = "zai-coding-plan/glm-5.1";
|
|
|
|
|
};
|
2026-02-17 08:54:13 +01:00
|
|
|
};
|
2026-01-06 08:54:17 +01:00
|
|
|
};
|
2026-04-13 19:18:25 +02:00
|
|
|
|
|
|
|
|
# Keep TUI settings in programs.opencode.tui to satisfy OpenCode v1.2.15+.
|
|
|
|
|
programs.opencode.tui.theme = "opencode";
|
|
|
|
|
|
|
|
|
|
# Override legacy default settings to avoid deprecated TUI keys in settings.
|
|
|
|
|
programs.opencode.settings = lib.mkForce {
|
|
|
|
|
plugin = ["oh-my-openagent"];
|
|
|
|
|
formatter = {
|
|
|
|
|
alejandra = {
|
|
|
|
|
command = ["alejandra" "-q" "-"];
|
|
|
|
|
extensions = [".nix"];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# AZ-Gruppe LiteLLM endpoint + available models
|
|
|
|
|
provider = {
|
|
|
|
|
litellm = {
|
|
|
|
|
npm = "@ai-sdk/openai-compatible";
|
|
|
|
|
name = "LiteLLM (AZ-Gruppe)";
|
|
|
|
|
options.baseURL = "https://llm.az-gruppe.com/v1";
|
|
|
|
|
models = {
|
|
|
|
|
"gpt-5.2" = {
|
|
|
|
|
name = "GPT-5.2";
|
|
|
|
|
limit = {
|
|
|
|
|
context = 400000;
|
|
|
|
|
output = 128000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"gpt-5.3-codex" = {
|
|
|
|
|
name = "GPT-5.3 Codex";
|
|
|
|
|
limit = {
|
|
|
|
|
context = 400000;
|
|
|
|
|
output = 128000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"claude-haiku-4-5" = {
|
|
|
|
|
name = "Claude Haiku 4.5";
|
|
|
|
|
options = {
|
|
|
|
|
thinking = {
|
|
|
|
|
type = "enabled";
|
|
|
|
|
budget_tokens = 16000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
limit = {
|
|
|
|
|
context = 200000;
|
|
|
|
|
output = 64000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"claude-sonnet-4-6" = {
|
|
|
|
|
name = "Claude Sonnet 4.6";
|
|
|
|
|
options = {
|
|
|
|
|
thinking = {
|
|
|
|
|
type = "enabled";
|
|
|
|
|
budget_tokens = 16000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
limit = {
|
|
|
|
|
context = 200000;
|
|
|
|
|
output = 64000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
"claude-opus-4-6" = {
|
|
|
|
|
name = "Claude Opus 4.6";
|
|
|
|
|
options = {
|
|
|
|
|
thinking = {
|
|
|
|
|
type = "enabled";
|
|
|
|
|
budget_tokens = 16000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
limit = {
|
|
|
|
|
context = 200000;
|
|
|
|
|
output = 128000;
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-01-04 03:49:13 +01:00
|
|
|
}
|