diff --git a/config/keys.nix b/config/keys.nix index ac30e01..3cccb81 100644 --- a/config/keys.nix +++ b/config/keys.nix @@ -60,6 +60,16 @@ group = "Database"; icon = ""; } + { + __unkeyed-1 = "a"; + group = "Avante"; + icon = "󰬈"; + } + { + __unkeyed-1 = "A"; + group = "AugmentCode"; + icon = "󰬈"; + } # Keys with custom icons / labels { @@ -192,7 +202,7 @@ }; keymaps = [ - # Normal mode + # Interactive mode { mode = "i"; key = "jk"; @@ -205,6 +215,14 @@ action = "noh"; options.desc = "Normal mode and clear highlight"; } + { + mode = "i"; + key = ""; + action = "call augment#Accept()"; + options.desc = "Accept AugmentCode suggestion"; + } + + # Normal mode { mode = "n"; key = ""; @@ -613,5 +631,43 @@ action = "BaconLoad:w:BaconNext"; options.desc = "Next Bacon Issue"; } + + # AugmentCode + { + mode = "n"; + key = "As"; + action = "Augment status"; + options.desc = "AugmentCode Status"; + } + { + mode = "n"; + key = "Ae"; + action = "Augment enable"; + options.desc = "AugmentCode Enable"; + } + { + mode = "n"; + key = "Ad"; + action = "Augment disable"; + options.desc = "AugmentCode Disable"; + } + { + mode = "n"; + key = "Ac"; + action = "Augment chat"; + options.desc = "Chat with AugmentCode"; + } + { + mode = "n"; + key = "An"; + action = "Augment chat-new"; + options.desc = "Start a new chat"; + } + { + mode = "n"; + key = "At"; + action = "Augment chat-toggle"; + options.desc = "Toggle chat window"; + } ]; } diff --git a/config/language.nix b/config/language.nix index 9089e5f..997b5f5 100644 --- a/config/language.nix +++ b/config/language.nix @@ -25,7 +25,6 @@ in name = "buffer"; keywordLength = 3; } - {name = "supermaven";} {name = "luasnip";} ]; diff --git a/config/plugins.nix b/config/plugins.nix index e2b5699..f205cbd 100644 --- a/config/plugins.nix +++ b/config/plugins.nix @@ -9,38 +9,29 @@ }; nvimSkipModule = "outline.providers.norg"; }; + augment-nvim = pkgs.vimUtils.buildVimPlugin { + name = "augment-nvim"; + src = pkgs.fetchFromGitHub { + owner = "augmentcode"; + repo = "augment.vim"; + rev = "e14cbe9fdc33dff1a4b55c0fc858b94f5e833862"; + hash = "sha256-VzHFmt8uOsZEYqIGAbwSrmGLlOfTnL7QvsRB5yMpSG0="; + }; + nvimSkipModule = "outline.providers.norg"; + }; in { extraPlugins = with pkgs; [ - vimPlugins.supermaven-nvim # AI code completion vimPlugins.vim-dadbod # DB client vimPlugins.vim-dadbod-completion # DB completion vimPlugins.vim-dadbod-ui # DB UI vimPlugins.vim-tmux-navigator # tmux navigation - outline-nvim + outline-nvim # Document outliner + augment-nvim # AI code completion ]; extraConfigLua = '' require("telescope").load_extension('harpoon') - require("supermaven-nvim").setup({ - keymaps = { - accept_suggestion = "", - clear_suggestion = "", - accept_word = "", - }, - ignore_filetypes = { cpp = true }, -- or { "cpp", } - color = { - suggestion_color = "#ffffff", - cterm = 244, - }, - log_level = "info", -- set to "off" to disable logging completely - disable_inline_completion = false, -- disables inline completion for use with cmp - disable_keymaps = false, -- disables built in keymaps for more manual control - condition = function() - return false - end -- condition to check for stopping supermaven, `true` means to stop supermaven when the condition is true. - }) - require("notify").setup({ background_colour = "#000000", })