{ pkgs, ... }: { 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 = 'llama3:8b', -- default = "llama3.1:8b-instruct-q8_0", }, num_ctx = { default = 32768, }, }, }) 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"; }; }; }; }; extraPlugins = with pkgs; [ { # Rainbow parentheses plugin = pkgs.vimUtils.buildVimPlugin { pname = "rainbow"; version = "1.0.0"; # dummy version src = pkgs.fetchFromGitHub { owner = "luochen1990"; repo = "rainbow"; rev = "76ca1a20aa42edb5c65c19029968aad4625790dc"; hash = "sha256-dBHgAc3dOoeBI/lZzIJgYYTda8ZMvdThixUZebZXRHE="; }; }; } ]; }