[[GitHub]]などでバージョン管理している[[Neovim]]設定群のうち、一部ファイルをバージョン管理外にする。 バージョン管理外にしたいファイルを [[lazy.nvim]]にプラグインとして認識されないように **`lua/plugins` 以外** のディレクトリ内に作成する。 `lua/envs/avante.lua` ```lua return { opts = { provider = "openai", auto_suggestions_provider = "openai", openai = { endpoint = "https://api.openai.com/v1", model = "gpt-4o-mini", timeout = 30000, -- Timeout in milliseconds temperature = 0, max_tokens = 4096, }, }, } ``` そして[[lazy.nvim]]が読み込み設定の中で `require` を使って読み込み、[[vim.tbl_deep_extend]]でマージする。 `lua/plugins/avante.lua` ```lua return { "yetone/avante.nvim", event = "VeryLazy", lazy = false, build = "make", dependencies = { "stevearc/dressing.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", }, opts = function(_, opts) -- 第2引数: (opts)avante.nvimのデフォルト設定 -- 第3引数: 共通のユーザー設定 -- 第4引数: 外部から読み込むユーザー設定 return vim.tbl_deep_extend("force", opts, { hints = { enabled = false }, windows = { width = 40, }, }, require("envs.avante").opts) end, } ``` あとは[[gitignore]]でバージョン管理外にする。 `nvim/lua/.gitignore` ``` envs/ ``` ## 参考 - [ChatGPT - Lazy.nvim 環境別設定](https://chatgpt.com/share/678655d5-b0c4-800a-a34f-13d45e187d5b)