require("lazy").setup({ { "AstroNvim/AstroNvim", version = "^4", -- Remove version tracking to elect for nightly AstroNvim import = "astronvim.plugins", opts = { -- AstroNvim options must be set here with the `import` key mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available) pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins }, }, { import = "community" }, { import = "plugins" }, { "David-Kunz/gen.nvim", opts = { model = "mistral", -- The default model to use. quit_map = "q", -- set keymap to close the response window retry_map = "", -- set keymap to re-send the current prompt accept_map = "", -- set keymap to replace the previous selection with the last result host = "localhost", -- The host running the Ollama service. port = "11434", -- The port on which the Ollama service is listening. display_mode = "float", -- The display mode. Can be "float" or "split" or "horizontal-split" or "vertical-split". show_prompt = false, -- Shows the prompt submitted to Ollama. Can be true (3 lines) or "full". show_model = false, -- Displays which model you are using at the beginning of your chat session. no_auto_close = false, -- Never closes the window automatically. file = false, -- Write the payload to a temporary file to keep the command short. hidden = false, -- Hide the generation window (if true, will implicitly set `prompt.replace = true`), requires Neovim >= 0.10 init = function(options) pcall(io.popen, "ollama serve > /dev/null 2>&1 &") end, -- Function to initialize Ollama command = function(options) local body = {model = options.model, stream = true} return "curl --silent --no-buffer -X POST http://" .. options.host .. ":" .. options.port .. "/api/chat -d $body" end, -- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped). -- This can also be a command string. -- The executed command must return a JSON object with { response, context } -- (context property is optional). -- list_models = '', -- Retrieves a list of model names result_filetype = "markdown", -- Configure filetype of the result buffer debug = false -- Prints errors and the command which is run. } }, } --[[@as LazySpec]], { -- Configure any other `lazy.nvim` configuration options here install = { colorscheme = { "astrotheme", "habamax" } }, ui = { backdrop = 100 }, performance = { rtp = { -- disable some rtp plugins, add more to your liking disabled_plugins = { "gzip", "netrwPlugin", "tarPlugin", "tohtml", "zipPlugin", }, }, }, } --[[@as LazyConfig]])