diff --git a/packages/default.nix b/packages/default.nix index 52dba12..f01eafb 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -21,6 +21,7 @@ let coreModules = bareModules ++ [ self.myvimPlugins.autosession self.myvimPlugins.blink-cmp + self.myvimPlugins.codecompanion self.myvimPlugins.git self.myvimPlugins.lang self.myvimPlugins.lsp diff --git a/plugins/codecompanion.nix b/plugins/codecompanion.nix new file mode 100644 index 0000000..64973b0 --- /dev/null +++ b/plugins/codecompanion.nix @@ -0,0 +1,56 @@ +{ pkgs, ... }: +{ + plugins.codecompanion = { + enable = true; + + settings = { + adapters = { + acp = { + gemini_cli = { + __raw = '' + lua + function() + return require("codecompanion.adapters").extend("gemini_cli", { + commands = { + default = { + "gemini", + "--debug", + "--experimental-acp", + }, + }, + }) + end + ''; + }; + }; + }; + + display = { + action_palette = { + opts = { + show_default_prompt_library = true; + }; + provider = "default"; + }; + chat = { + window = { + layout = "vertical"; + opts = { + breakindent = true; + }; + }; + }; + }; + + strategies = { + agent.adapter = "gemini_cli"; + chat.adapter = "gemini_cli"; + inline.adapter = "gemini_cli"; + }; + }; + }; + + extraPackages = with pkgs; [ + gemini-cli + ]; +}