From 2f48251e914cde10985fdd551c3bdcc85e960c79 Mon Sep 17 00:00:00 2001 From: jasmine Date: Sun, 22 Dec 2024 16:29:06 +0800 Subject: [PATCH] insall codecompanion --- config/default.nix | 1 + config/plugins/utils/codecompanion.nix | 61 ++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 config/plugins/utils/codecompanion.nix diff --git a/config/default.nix b/config/default.nix index 9f14620..c71d569 100644 --- a/config/default.nix +++ b/config/default.nix @@ -33,6 +33,7 @@ ./plugins/git/lazygit.nix # Utils + ./plugins/utils/codecompanion.nix ./plugins/utils/markdown-preview.nix ./plugins/utils/telescope.nix ./plugins/utils/whichkey.nix diff --git a/config/plugins/utils/codecompanion.nix b/config/plugins/utils/codecompanion.nix new file mode 100644 index 0000000..ccb4004 --- /dev/null +++ b/config/plugins/utils/codecompanion.nix @@ -0,0 +1,61 @@ +{...}: { + plugins.codecompanion = { + enable = true; + + settings = { + adapters = { + ollama = { + __raw = '' + function() + return require('codecompanion.adapters').extend('ollama', { + env = { + url = "http://127.0.0.1:11434", + }, + schema = { + model = { + default = 'deepseek-coder-v2:latest', + }, + num_ctx = { + default = 4096, + }, + num_predict = { + default = -1, + }, + }, + }) + end + ''; + }; + }; + opts = { + log_level = "TRACE"; + send_code = true; + use_default_actions = true; + use_default_prompts = true; + }; + strategies = { + agent = { + adapter = "ollama"; + }; + chat = { + adapter = "ollama"; + }; + inline = { + adapter = "ollama"; + }; + }; + }; + }; + + keymaps = [ + { + mode = ["n" "v"]; + key = "tc"; + action = "CodeCompanionChat Toggle"; + options = { + silent = true; + desc = "Toggle CodeCompanion"; + }; + } + ]; +}