[[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)