56 lines
1.3 KiB
Lua
56 lines
1.3 KiB
Lua
-- init.lua
|
|
-- Minimal bootstrap: leader keys → options → lazy.nvim → plugins
|
|
-- All configuration lives in lua/config/ and lua/plugins/
|
|
|
|
-- Leader keys must be set before lazy loads any plugin
|
|
vim.g.mapleader = ' '
|
|
vim.g.maplocalleader = ' '
|
|
vim.g.have_nerd_font = false
|
|
|
|
-- Core config (options, keymaps, autocommands)
|
|
require 'config.options'
|
|
require 'config.keymaps'
|
|
require 'config.autocmds'
|
|
|
|
-- Bootstrap lazy.nvim
|
|
local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim'
|
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
local out = vim.fn.system {
|
|
'git',
|
|
'clone',
|
|
'--filter=blob:none',
|
|
'--branch=stable',
|
|
'https://github.com/folke/lazy.nvim.git',
|
|
lazypath,
|
|
}
|
|
if vim.v.shell_error ~= 0 then
|
|
error('Error cloning lazy.nvim:\n' .. out)
|
|
end
|
|
end
|
|
vim.opt.rtp:prepend(lazypath)
|
|
|
|
-- Load all plugin specs from lua/plugins/*.lua and lua/plugins/extras/*.lua
|
|
require('lazy').setup({
|
|
{ import = 'plugins' },
|
|
}, {
|
|
ui = {
|
|
icons = vim.g.have_nerd_font and {} or {
|
|
cmd = '⌘',
|
|
config = '🛠',
|
|
event = '📅',
|
|
ft = '📂',
|
|
init = '⚙',
|
|
keys = '🗝',
|
|
plugin = '🔌',
|
|
runtime = '💻',
|
|
require = '🌙',
|
|
source = '📄',
|
|
start = '🚀',
|
|
task = '📌',
|
|
lazy = '💤 ',
|
|
},
|
|
},
|
|
})
|
|
|
|
-- vim: ts=2 sts=2 sw=2 et
|