78 lines
1.5 KiB
Nix
78 lines
1.5 KiB
Nix
|
{
|
||
|
lib,
|
||
|
config,
|
||
|
...
|
||
|
}:
|
||
|
|
||
|
lib.mkIf (lib.elem "nvim::model" config.machine.pkgs) {
|
||
|
programs.nvim-lazy.lazyPlugins = [
|
||
|
{
|
||
|
short = "gsuuon/model.nvim";
|
||
|
cmd = [
|
||
|
"M"
|
||
|
"Model"
|
||
|
"Mchat"
|
||
|
];
|
||
|
init = ''
|
||
|
function()
|
||
|
vim.filetype.add({
|
||
|
extension = {
|
||
|
mchat = 'mchat',
|
||
|
}
|
||
|
})
|
||
|
end
|
||
|
'';
|
||
|
ft = [ "mchat" ];
|
||
|
|
||
|
keys = [
|
||
|
{
|
||
|
bind = "<C-m>d";
|
||
|
cmd = ":Mdelete<cr>";
|
||
|
opts = {
|
||
|
mode = "n";
|
||
|
};
|
||
|
}
|
||
|
{
|
||
|
bind = "<C-m>s";
|
||
|
cmd = ":Mselect<cr>";
|
||
|
opts = {
|
||
|
mode = "n";
|
||
|
};
|
||
|
}
|
||
|
{
|
||
|
bind = "<C-m><space>";
|
||
|
cmd = ":Mchat<cr>";
|
||
|
opts = {
|
||
|
mode = "n";
|
||
|
};
|
||
|
}
|
||
|
];
|
||
|
|
||
|
config = ''
|
||
|
function()
|
||
|
require('model.providers.llamacpp').setup({
|
||
|
binary = '/home/derped/.nix-profile/bin/llama-server',
|
||
|
models = '/home/derped/llama/models'
|
||
|
})
|
||
|
|
||
|
require('model').setup({
|
||
|
prompts = {
|
||
|
tower = {
|
||
|
provider = llamacpp,
|
||
|
options = {
|
||
|
model = 's',
|
||
|
args = {
|
||
|
'--keep', -1,
|
||
|
'-c', 8192,
|
||
|
'-ngl', 35
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
})
|
||
|
end
|
||
|
'';
|
||
|
}
|
||
|
];
|
||
|
}
|