{ lib, pkgs, ... }: {
programs.neovim.plugins = [{
plugin = pkgs.vimPlugins.codecompanion-nvim;
type = "lua";
# https://codecompanion.olimorris.dev/configuration/adapters.html
config = /*lua*/ ''
require("codecompanion").setup({
adapters = {
deepseek = function() return require("codecompanion.adapters").extend("deepseek", {
env = { api_key = "cmd:cat ~/Gist/Vault/deepseek_api_key_nvim.txt" },
schema = { model = { default = "deepseek-chat" } },
}) end,
},
display = {
chat = {
window = {
position = "left",
width = 40,
},
diff = { enabled = true },
},
},
strategies = {
chat = { adapter = "deepseek" },
inline = { adapter = "deepseek" },
},
})
-- key bindings of AI
vim.keymap.set('n', '<leader>a', ':CodeCompanionChat Toggle<CR>')
vim.keymap.set('v', '<leader>a', ':CodeCompanionChat Add<CR>')
'';
}];
}