Compare commits

...

3 commits

4 changed files with 60 additions and 3 deletions

View file

@ -5,11 +5,11 @@
services = { services = {
avahi = { avahi = {
enable = true; enable = false;
nssmdns4 = true; nssmdns4 = true;
}; };
printing = { printing = {
enable = true; enable = false;
drivers = with pkgs; [ gutenprint cnijfilter2 ]; drivers = with pkgs; [ gutenprint cnijfilter2 ];
}; };
}; };

View file

@ -60,7 +60,7 @@
services.ollama = { services.ollama = {
enable = true; enable = true;
package = pkgs.ollama; package = pkgs.unstable.ollama;
acceleration = "rocm"; acceleration = "rocm";
}; };

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 = [ imports = [
./ollama.nix ./ollama.nix
./codecompanion.nix
# ./spring-boot.nix # ./spring-boot.nix
]; ];
} }