mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-23 09:18:38 +02:00
We used to only think of it as the plugin repo's name, but we have been needing to use it for the name of the plugin's packpath location.
76 lines
1.7 KiB
Nix
76 lines
1.7 KiB
Nix
{
|
||
lib,
|
||
helpers,
|
||
pkgs,
|
||
...
|
||
}:
|
||
with lib;
|
||
helpers.neovim-plugin.mkNeovimPlugin {
|
||
name = "chatgpt";
|
||
packPathName = "ChatGPT.nvim";
|
||
package = "ChatGPT-nvim";
|
||
|
||
maintainers = [ maintainers.GaetanLepage ];
|
||
|
||
extraOptions = {
|
||
curlPackage = lib.mkPackageOption pkgs "curl" {
|
||
nullable = true;
|
||
};
|
||
};
|
||
|
||
extraConfig = cfg: { extraPackages = [ cfg.curlPackage ]; };
|
||
|
||
settingsOptions = {
|
||
api_key_cmd = helpers.defaultNullOpts.mkStr null ''
|
||
The path and arguments to an executable that returns the API key via stdout.
|
||
'';
|
||
|
||
yank_register = helpers.defaultNullOpts.mkStr "+" ''
|
||
Which register to use for copying.
|
||
'';
|
||
|
||
extra_curl_params = helpers.defaultNullOpts.mkListOf' {
|
||
type = types.str;
|
||
pluginDefault = null;
|
||
description = ''
|
||
Custom cURL parameters can be passed using this option.
|
||
It can be useful if you need to include additional headers for requests.
|
||
'';
|
||
example = [
|
||
"-H"
|
||
"Origin: https://example.com"
|
||
];
|
||
};
|
||
|
||
show_line_numbers = helpers.defaultNullOpts.mkBool true ''
|
||
Whether to show line numbers in the ChatGPT window.
|
||
'';
|
||
};
|
||
|
||
settingsExample = {
|
||
welcome_message = "Hello world";
|
||
loading_text = "loading";
|
||
question_sign = "";
|
||
answer_sign = "ﮧ";
|
||
max_line_length = 120;
|
||
yank_register = "+";
|
||
chat_layout = {
|
||
relative = "editor";
|
||
position = "50%";
|
||
};
|
||
openai_params = {
|
||
model = "gpt-3.5-turbo";
|
||
frequency_penalty = 0;
|
||
presence_penalty = 0;
|
||
max_tokens = 300;
|
||
};
|
||
openai_edit_params = {
|
||
model = "code-davinci-edit-001";
|
||
temperature = 0;
|
||
};
|
||
keymaps = {
|
||
close = [ "<C-c>" ];
|
||
submit = "<C-s>";
|
||
};
|
||
};
|
||
}
|