138 lines
3.6 KiB
Nix
138 lines
3.6 KiB
Nix
{config, ...}: {
|
|
sops = {
|
|
secrets."llama/api_key" = {};
|
|
secrets."openai/api_key" = {};
|
|
secrets."openrouter/api_key" = {};
|
|
secrets."gemini/api_key" = {};
|
|
};
|
|
imports = [
|
|
../../modules/aichat.nix
|
|
];
|
|
programs.mayichat = {
|
|
enable = true;
|
|
enableFishIntegration = true;
|
|
enableNushellIntegration = false;
|
|
settings = {
|
|
save_session = true;
|
|
model = "openai:gpt-4o";
|
|
rag_embedding_model = "ollama:RobinBially/nomic-embed-text-8k";
|
|
clients = [
|
|
{
|
|
type = "openai-compatible";
|
|
name = "mirai";
|
|
api_base = "https://ollama.darksailor.dev/v1";
|
|
api_key_cmd = "cat ${config.sops.secrets."llama/api_key".path}";
|
|
models = [
|
|
# {
|
|
# name = "RobinBially/nomic-embed-text-8k";
|
|
# type = "embedding";
|
|
# default_chunk_size = 8000;
|
|
# }
|
|
{
|
|
name = "gpt-oss-20b";
|
|
type = "chat";
|
|
}
|
|
# {
|
|
# name = "deepseek-r1:14b";
|
|
# type = "chat";
|
|
# }
|
|
# {
|
|
# name = "qwen3:8b";
|
|
# type = "chat";
|
|
# }
|
|
];
|
|
}
|
|
{
|
|
type = "openai-compatible";
|
|
name = "ryu";
|
|
api_base = "https://llama.ryu.darksailor.dev/v1";
|
|
models = [
|
|
{
|
|
name = "gpt-oss-20b";
|
|
type = "chat";
|
|
}
|
|
# {
|
|
# name = "RobinBially/nomic-embed-text-8k";
|
|
# type = "embedding";
|
|
# default_chunk_size = 8000;
|
|
# }
|
|
# {
|
|
# name = "deepseek-r1:7b";
|
|
# type = "chat";
|
|
# }
|
|
# {
|
|
# name = "qwen3:30b-a3b";
|
|
# type = "chat";
|
|
# }
|
|
# {
|
|
# name = "deepseek-r1:14b";
|
|
# type = "chat";
|
|
# }
|
|
# {
|
|
# name = "qwen3:8b";
|
|
# type = "chat";
|
|
# }
|
|
# {
|
|
# name = "qwen3:14b";
|
|
# type = "chat";
|
|
# }
|
|
];
|
|
}
|
|
{
|
|
type = "gemini";
|
|
name = "gemini";
|
|
api_base = "https://generativelanguage.googleapis.com/v1beta";
|
|
api_key_cmd = "cat ${config.sops.secrets."gemini/api_key".path}";
|
|
# api_key_file = "${config.sops.secrets."gemini/api_key".path}";
|
|
models = [
|
|
{
|
|
name = "gemini-2.5-pro";
|
|
type = "chat";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
type = "openai-compatible";
|
|
name = "openrouter";
|
|
api_base = "https://openrouter.ai/api/v1";
|
|
api_key_cmd = "cat ${config.sops.secrets."openrouter/api_key".path}";
|
|
models = [
|
|
{
|
|
name = "deepseek/deepseek-r1:free";
|
|
type = "chat";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
type = "openai-compatible";
|
|
name = "LMStudio";
|
|
api_base = "http://localhost:1234/v1";
|
|
models = [
|
|
{
|
|
name = "openai/gpt-oss-20b";
|
|
type = "chat";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
type = "openai";
|
|
name = "openai";
|
|
api_base = "https://api.openai.com/v1";
|
|
api_key_cmd = "cat ${config.sops.secrets."openai/api_key".path}";
|
|
models = [
|
|
{
|
|
name = "gpt-3.5-turbo";
|
|
}
|
|
{
|
|
name = "gpt-4o";
|
|
}
|
|
{
|
|
name = "o4-mini-high";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|