âïž Configuration
đ File Structureâ
The files under config will be automatically loaded at the appropriate time, so you don't need to require those files manually. For more information, see general settings.
You can add your custom plugin specs under lua/plugins/
. All files there
will be automatically loaded by lazy.nvim.
For more information, see configuring plugins.
~/.config/nvim
âââ lua
â  âââ config
â  â  âââ autocmds.lua
â  â  âââ keymaps.lua
â  â  âââ lazy.lua
â  â  âââ options.lua
â  âââ plugins
â  âââ spec1.lua
â  âââ **
â  âââ spec2.lua
âââ init.toml
Icons & Colorschemeâ
Icons & colorscheme can be configured as options for the LazyVim plugin.
For example in lua/plugins/core.lua
return {
{
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin",
}
}
}
Default Settingsâ
{
-- colorscheme can be a string like `catppuccin` or a function that will load the colorscheme
---@type string|fun()
colorscheme = function()
require("tokyonight").load()
end,
-- load the default settings
defaults = {
autocmds = true, -- lazyvim.config.autocmds
keymaps = true, -- lazyvim.config.keymaps
-- lazyvim.config.options can't be configured here since that's loaded before lazyvim setup
-- if you want to disable loading options, add `package.loaded["lazyvim.config.options"] = true` to the top of your init.lua
},
news = {
-- When enabled, NEWS.md will be shown when changed.
-- This only contains big new features and breaking changes.
lazyvim = true,
-- Same but for Neovim's news.txt
neovim = false,
},
-- icons used by other plugins
-- stylua: ignore
icons = {
misc = {
dots = "ó°",
},
ft = {
octo = "ï",
},
dap = {
Stopped = { "ó° ", "DiagnosticWarn", "DapStoppedLine" },
Breakpoint = "ï ",
BreakpointCondition = "ï ",
BreakpointRejected = { "ïȘ ", "DiagnosticError" },
LogPoint = ".>",
},
diagnostics = {
Error = "ï ",
Warn = "ï± ",
Hint = "ï« ",
Info = "ï ",
},
git = {
added = "ïŸ ",
modified = "ï
",
removed = "ï
",
},
kinds = {
Array = "îȘ ",
Boolean = "ó°š ",
Class = "î ",
Codeium = "ó°Š ",
Color = "î ",
Control = "î©š ",
Collapsed = "ï ",
Constant = "ó°ż ",
Constructor = "ïŁ ",
Copilot = "ïž ",
Enum = "ï
",
EnumMember = "ï
",
Event = "îȘ ",
Field = "ï« ",
File = "î©» ",
Folder = "îż ",
Function = "ó° ",
Interface = "ïš ",
Key = "îȘ ",
Keyword = "îą ",
Method = "ó° ",
Module = "ï ",
Namespace = "ó°Šź ",
Null = "î ",
Number = "ó° ",
Object = "îȘ ",
Operator = "î€ ",
Package = "ï ",
Property = "ï« ",
Reference = " ",
Snippet = "îŠ ",
String = "îȘ± ",
Struct = "ó°Œ ",
Supermaven = "ï
",
TabNine = "ó° ",
Text = "îȘ ",
TypeParameter = "îȘ ",
Unit = "îȘ ",
Value = "îȘ ",
Variable = "ó°« ",
},
},
---@type table<string, string[]|boolean>?
kind_filter = {
default = {
"Class",
"Constructor",
"Enum",
"Field",
"Function",
"Interface",
"Method",
"Module",
"Namespace",
"Package",
"Property",
"Struct",
"Trait",
},
markdown = false,
help = false,
-- you can specify a different filter for each filetype
lua = {
"Class",
"Constructor",
"Enum",
"Field",
"Function",
"Interface",
"Method",
"Module",
"Namespace",
-- "Package", -- remove package since luals uses it for control flow structures
"Property",
"Struct",
"Trait",
},
},
}