nix-community.nixvim/plugins/completion/copilot.nix

39 lines
1 KiB
Nix
Raw Normal View History

2022-10-17 21:09:24 +08:00
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.plugins.copilot;
helpers = import ../helpers.nix { inherit lib; };
2022-10-17 21:09:24 +08:00
in
{
options = {
plugins.copilot = {
2023-01-22 03:32:08 +00:00
enable = mkEnableOption "copilot";
package = helpers.mkPackageOption "copilot" pkgs.vimPlugins.copilot-vim;
2022-10-17 21:09:24 +08:00
filetypes = mkOption {
type = types.attrsOf types.bool;
description = "A dictionary mapping file types to their enabled status";
default = { };
example = literalExpression ''{
"*": false,
python: true
}'';
};
proxy = mkOption {
type = types.nullOr types.str;
description = "Tell Copilot what proxy server to use.";
default = null;
example = "localhost:3128";
};
};
};
config =
mkIf cfg.enable {
2022-12-15 18:04:24 +01:00
extraPlugins = [ cfg.package ];
2022-10-17 21:09:24 +08:00
globals = {
copilot_node_command = "${pkgs.nodejs-16_x}/bin/node";
copilot_filetypes = cfg.filetypes;
} // (if cfg.proxy != null then { copilot_proxy = cfg.proxy; } else { });
};
}