refactor: use avante nixvim module

This commit is contained in:
Moritz Böhme 2024-12-14 22:53:05 +01:00
parent b2a12b02c9
commit 4084371ab9
No known key found for this signature in database
GPG key ID: 970C6E89EB0547A9
2 changed files with 320 additions and 195 deletions

View file

@ -7,43 +7,23 @@ let
in
{
config = mkIf cfg.enable {
home-manager.users.moritz.programs.nixvim = {
extraPlugins = with pkgs.vimPlugins; [
nui-nvim
render-markdown-nvim
avante-nvim
];
extraConfigLuaPost = ''
require("render-markdown").setup({ file_types = {"markdown", "Avante"} })
require("avante_lib").load()
require("avante").setup({
provider = "openai",
auto_suggestions_provider = "openai-cheap",
behaviour = {
auto_suggestions = false,
},
home-manager.users.moritz.programs.nixvim.plugins = {
render-markdown = {
enable = true;
settings.file_types = [ "markdown" "Avante" ];
};
nui.enable = true;
dressing.enable = true;
avante = {
enable = true;
settings = {
provider = "openai";
openai = {
model = "gpt-4o",
api_key_name = "cmd:cat /run/agenix/openai",
},
vendors = {
---@type AvanteProvider
["openai-cheap"] = {
model = "gpt-4o-mini",
api_key_name = "cmd:cat /run/agenix/openai",
endpoint = "https://api.openai.com/v1",
parse_curl_args = function(opts, code_opts)
return require("avante.providers").openai.parse_curl_args(opts, code_opts)
end,
parse_response_data = function(data_stream, event_state, opts)
return require("avante.providers").openai.parse_response(data_stream, event_state, opts)
end
},
},
})
'';
plugins.dressing.enable = true;
model = "gpt-4o";
api_key_name = "cmd:cat /run/agenix/openai";
};
};
};
};
age.secrets = {
"openai".file = ../../../../secrets/openai.age;