feat: TabNine and Copilot assistants

This commit is contained in:
NotAShelf 2023-02-06 04:14:01 +03:00
commit 78d3ae31d1
No known key found for this signature in database
GPG key ID: 5B5C8895F28445F1
7 changed files with 112 additions and 1 deletions

View file

@ -0,0 +1,24 @@
{
pkgs,
config,
lib,
...
}:
with lib;
with builtins; let
cfg = config.vim.assistant.copilot;
in {
options.vim.assistant.copilot = {
enable = mkEnableOption "Enable GitHub Copilot";
};
config = mkIf cfg.enable {
vim.startPlugins = ["copilot-lua"];
vim.luaConfigRC.copilot = nvim.dag.entryAnywhere ''
require("copilot").setup({
-- available options: https://github.com/zbirenbaum/copilot.lua
})
'';
};
}

View file

@ -0,0 +1,6 @@
_: {
imports = [
./copilot.nix
./tabnine.nix
];
}

View file

@ -0,0 +1,28 @@
{
pkgs,
config,
lib,
...
}:
with lib;
with builtins; let
cfg = config.vim.assistant.tabnine;
in {
options.vim.assistant.tabnine = {
enable = mkEnableOption "Enable TabNine assistant";
};
config = mkIf cfg.enable {
vim.startPlugins = ["tabnine-nvim"];
vim.luaConfigRC.tabnine-nvim = nvim.dag.entryAnywhere ''
require('tabnine').setup({
disable_auto_comment=true,
accept_keymap="<Tab>",
dismiss_keymap = "<C-]>",
debounce_ms = 800,
execlude_filetypes = {"TelescopePrompt", "NvimTree", "alpha"}
})
'';
};
}

View file

@ -62,6 +62,8 @@ with lib; let
"toggleterm-nvim"
"noice-nvim"
"nui-nvim"
"copilot-lua"
"tabnine-nvim"
];
# You can either use the name of the plugin or a package.
pluginsType = with types; listOf (nullOr (either (enum availablePlugins) package));

View file

@ -29,6 +29,7 @@
./notes
./terminal
./ui
./assistant
];
pkgsModule = {config, ...}: {