neovim: add codecompanion plugin

This commit is contained in:
Dmitriy Pleshevskiy 2025-03-28 20:22:23 +03:00
parent 28008a1166
commit 462a85aac8
Signed by: pleshevskiy
GPG key ID: 17041163DA10A9A2
2 changed files with 57 additions and 0 deletions

View file

@ -0,0 +1,56 @@
{ lib, config, ... }:
let
inherit (lib.nix2lua) return lambda0 pipe1 require call;
reqCodeCompanionAdapters = require "codecompanion.adapters";
mkOllamaAdapter = data:
lambda0
(return (pipe1
reqCodeCompanionAdapters
(call "extend" [ "ollama" data ])
));
adapters = {
mistral = mkOllamaAdapter {
name = "mistral";
schema = {
model.default = "mistral:7b";
num_ctx.default = 16384;
num_predict.default = -1;
};
};
codellama = mkOllamaAdapter {
name = "codellama";
schema = {
model.default = "codellama:7b";
num_ctx.default = 16384;
num_predict.default = -1;
};
};
};
in
{
# dependencies
plugin.plenary-nvim = { };
plugin.codecompanion-nvim = {
enable = true;
name = "codecompanion";
setupSettings = {
inherit adapters;
strategies = {
chat.adapter = "mistral";
inline.adapter = "codellama";
cmd.adapter = "codellama";
};
};
};
plugin.nvim-cmp.setupSettings = lib.mkIf config.plugins.nvim-cmp.enable {
sources = {
per_filetype.codecompanion = [ "codecompanion" ];
};
};
}

View file

@ -1,6 +1,7 @@
{
imports = [
./ollama.nix
./codecompanion.nix
# ./spring-boot.nix
];
}