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

37 lines
956 B
Nix
Raw Normal View History

2022-10-17 21:09:24 +08:00
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.plugins.copilot;
in
{
options = {
plugins.copilot = {
enable = mkEnableOption "Enable copilot";
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 {
extraPlugins = [ pkgs.vimPlugins.copilot-vim ];
globals = {
copilot_node_command = "${pkgs.nodejs-16_x}/bin/node";
copilot_filetypes = cfg.filetypes;
} // (if cfg.proxy != null then { copilot_proxy = cfg.proxy; } else { });
};
}