107 lines
2.7 KiB
Nix
107 lines
2.7 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
programs.nixvim = {
|
|
keymaps = [
|
|
{
|
|
mode = [ "n" ];
|
|
key = "<c-c>";
|
|
action = ":CodeCompanionActions<CR>";
|
|
}
|
|
{
|
|
mode = [ "n" ];
|
|
key = ",c";
|
|
action = ":CodeCompanionChat Toggle<CR>";
|
|
}
|
|
];
|
|
|
|
plugins.codecompanion = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
adapters = {
|
|
anthropic.__raw = ''
|
|
function()
|
|
return require('codecompanion.adapters').extend('anthropic', {
|
|
env = {
|
|
api_key = "cmd:${pkgs.passage}/bin/passage /apis/ai/anthropic"
|
|
}
|
|
})
|
|
end
|
|
'';
|
|
|
|
copilot.__raw = ''
|
|
function()
|
|
return require('codecompanion.adapters').extend('copilot', {
|
|
env = {
|
|
-- api_key = "cmd:${pkgs.passage}/bin/passage /apis/ai/anthropic"
|
|
}
|
|
})
|
|
end
|
|
'';
|
|
|
|
openai.__raw = ''
|
|
function()
|
|
return require('codecompanion.adapters').extend('copilot', {
|
|
env = {
|
|
api_key = "cmd:${pkgs.passage}/bin/passage /apis/ai/openai"
|
|
}
|
|
})
|
|
end
|
|
'';
|
|
|
|
deepseek.__raw = ''
|
|
function()
|
|
return require('codecompanion.adapters').extend('deepseek', {
|
|
env = {
|
|
api_key = "cmd:${pkgs.passage}/bin/passage /apis/ai/deepseek"
|
|
},
|
|
schema = {
|
|
model = {
|
|
default = "deepseek-reasoner",
|
|
},
|
|
},
|
|
})
|
|
end
|
|
'';
|
|
|
|
ollama.__raw = ''
|
|
function()
|
|
return require('codecompanion.adapters').extend('ollama', {
|
|
env = {
|
|
url = "http://127.0.0.1:11434",
|
|
},
|
|
schema = {
|
|
model = {
|
|
default = 'hf.co/unsloth/DeepSeek-R1-Distill-Qwen-1.5B-GGUF',
|
|
},
|
|
temperature = {
|
|
default = 0.6,
|
|
},
|
|
num_ctx = {
|
|
default = 32768,
|
|
},
|
|
},
|
|
})
|
|
end
|
|
'';
|
|
};
|
|
opts = {
|
|
send_code = true;
|
|
use_default_actions = true;
|
|
use_default_prompts = true;
|
|
};
|
|
strategies = {
|
|
agent = {
|
|
adapter = "copilot";
|
|
};
|
|
chat = {
|
|
adapter = "copilot";
|
|
};
|
|
inline = {
|
|
adapter = "copilot";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|