diff --git a/plugins/completion/copilot.nix b/plugins/completion/copilot.nix new file mode 100644 index 00000000..5fc628df --- /dev/null +++ b/plugins/completion/copilot.nix @@ -0,0 +1,36 @@ +{ 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 { }); + }; +} diff --git a/plugins/default.nix b/plugins/default.nix index 87ec73ec..b8788df7 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -11,6 +11,7 @@ ./colorschemes/tokyonight.nix ./completion/coq.nix + ./completion/copilot.nix ./completion/nvim-cmp ./completion/nvim-cmp/sources