home: use zen for zed
This commit is contained in:
@@ -81,8 +81,8 @@ in
|
||||
agent = {
|
||||
enabled = true;
|
||||
default_model = {
|
||||
provider = "OpenCode";
|
||||
model = "opencode/kimi-k2.5";
|
||||
provider = "openai";
|
||||
model = "kimi-k2.5";
|
||||
};
|
||||
};
|
||||
auto_update = false;
|
||||
@@ -218,11 +218,173 @@ in
|
||||
"tsconfig.*.json"
|
||||
];
|
||||
};
|
||||
agent_servers = {
|
||||
OpenCode = {
|
||||
type = "custom";
|
||||
command = lib.getExe pkgs-unstable.opencode;
|
||||
args = [ "acp" ];
|
||||
language_models = {
|
||||
openai = {
|
||||
api_url = "https://opencode.ai/zen/v1";
|
||||
available_models = [
|
||||
# Claude models
|
||||
{
|
||||
name = "claude-opus-4-6";
|
||||
display_name = "OpenCode Zen - Claude Opus 4.6";
|
||||
max_tokens = 1048576;
|
||||
}
|
||||
{
|
||||
name = "claude-opus-4-5";
|
||||
display_name = "OpenCode Zen - Claude Opus 4.5";
|
||||
max_tokens = 200000;
|
||||
}
|
||||
{
|
||||
name = "claude-opus-4-1";
|
||||
display_name = "OpenCode Zen - Claude Opus 4.1";
|
||||
max_tokens = 200000;
|
||||
}
|
||||
{
|
||||
name = "claude-sonnet-4";
|
||||
display_name = "OpenCode Zen - Claude Sonnet 4";
|
||||
max_tokens = 1048576;
|
||||
}
|
||||
{
|
||||
name = "claude-sonnet-4-5";
|
||||
display_name = "OpenCode Zen - Claude Sonnet 4.5";
|
||||
max_tokens = 1048576;
|
||||
}
|
||||
{
|
||||
name = "claude-3-5-haiku";
|
||||
display_name = "OpenCode Zen - Claude 3.5 Haiku";
|
||||
max_tokens = 200000;
|
||||
}
|
||||
{
|
||||
name = "claude-haiku-4-5";
|
||||
display_name = "OpenCode Zen - Claude Haiku 4.5";
|
||||
max_tokens = 200000;
|
||||
}
|
||||
# GPT models
|
||||
{
|
||||
name = "gpt-5.2";
|
||||
display_name = "OpenCode Zen - GPT 5.2";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5.2-codex";
|
||||
display_name = "OpenCode Zen - GPT 5.2 Codex";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5.1";
|
||||
display_name = "OpenCode Zen - GPT 5.1";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5.1-codex-max";
|
||||
display_name = "OpenCode Zen - GPT 5.1 Codex Max";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5.1-codex";
|
||||
display_name = "OpenCode Zen - GPT 5.1 Codex";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5.1-codex-mini";
|
||||
display_name = "OpenCode Zen - GPT 5.1 Codex Mini";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5";
|
||||
display_name = "OpenCode Zen - GPT 5";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5-codex";
|
||||
display_name = "OpenCode Zen - GPT 5 Codex";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
{
|
||||
name = "gpt-5-nano";
|
||||
display_name = "OpenCode Zen - GPT 5 Nano";
|
||||
max_tokens = 400000;
|
||||
}
|
||||
# Gemini models
|
||||
{
|
||||
name = "gemini-3-pro";
|
||||
display_name = "OpenCode Zen - Gemini 3 Pro";
|
||||
max_tokens = 1048576;
|
||||
}
|
||||
{
|
||||
name = "gemini-3-flash";
|
||||
display_name = "OpenCode Zen - Gemini 3 Flash";
|
||||
max_tokens = 1048576;
|
||||
}
|
||||
# GLM models
|
||||
{
|
||||
name = "glm-4.7";
|
||||
display_name = "OpenCode Zen - GLM 4.7";
|
||||
max_tokens = 205000;
|
||||
}
|
||||
{
|
||||
name = "glm-4.6";
|
||||
display_name = "OpenCode Zen - GLM 4.6";
|
||||
max_tokens = 205000;
|
||||
}
|
||||
{
|
||||
name = "glm-4.7-free";
|
||||
display_name = "OpenCode Zen - GLM 4.7 Free";
|
||||
max_tokens = 205000;
|
||||
}
|
||||
# Kimi models
|
||||
{
|
||||
name = "kimi-k2.5";
|
||||
display_name = "OpenCode Zen - Kimi K2.5";
|
||||
max_tokens = 262000;
|
||||
}
|
||||
{
|
||||
name = "kimi-k2.5-free";
|
||||
display_name = "OpenCode Zen - Kimi K2.5 Free";
|
||||
max_tokens = 262000;
|
||||
}
|
||||
{
|
||||
name = "kimi-k2";
|
||||
display_name = "OpenCode Zen - Kimi K2";
|
||||
max_tokens = 262000;
|
||||
}
|
||||
{
|
||||
name = "kimi-k2-thinking";
|
||||
display_name = "OpenCode Zen - Kimi K2 Thinking";
|
||||
max_tokens = 262000;
|
||||
}
|
||||
# MiniMax models
|
||||
{
|
||||
name = "minimax-m2.1";
|
||||
display_name = "OpenCode Zen - MiniMax M2.1";
|
||||
max_tokens = 205000;
|
||||
}
|
||||
{
|
||||
name = "minimax-m2.5-free";
|
||||
display_name = "OpenCode Zen - MiniMax M2.5 Free";
|
||||
max_tokens = 205000;
|
||||
}
|
||||
{
|
||||
name = "minimax-m2.1-free";
|
||||
display_name = "OpenCode Zen - MiniMax M2.1 Free";
|
||||
max_tokens = 205000;
|
||||
}
|
||||
# Other models
|
||||
{
|
||||
name = "trinity-large-preview-free";
|
||||
display_name = "OpenCode Zen - Trinity Large Preview Free";
|
||||
max_tokens = 131000;
|
||||
}
|
||||
{
|
||||
name = "big-pickle";
|
||||
display_name = "OpenCode Zen - Big Pickle";
|
||||
max_tokens = 200000;
|
||||
}
|
||||
{
|
||||
name = "alpha-g5";
|
||||
display_name = "OpenCode Zen - Alpha G5";
|
||||
max_tokens = 200000;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -286,7 +448,7 @@ in
|
||||
};
|
||||
|
||||
home.sessionVariables = lib.mkIf cfg.defaultEditor {
|
||||
EDITOR = lib.getExe cfg.package;
|
||||
EDITOR = "${lib.getExe cfg.package} -w";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user