nvim,tmux,kitty: full config overhaul (AstroNvim → native 0.12)
Replaces AstroNvim v5 with from-scratch Neovim 0.12 config using vim.lsp.config()/vim.lsp.enable() natively, lazy.nvim, blink.cmp, and smart-splits tmux integration. tmux: new C-Space prefix, hjkl pane nav, resize key table, tpm plugins. kitty: add allow_remote_control for smart-splits.
This commit is contained in:
@@ -1,19 +1,54 @@
|
||||
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
|
||||
-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
|
||||
local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
-- Bootstrap lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git", "clone", "--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- validate that lazy is available
|
||||
if not pcall(require, "lazy") then
|
||||
-- stylua: ignore
|
||||
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
|
||||
vim.fn.getchar()
|
||||
vim.cmd.quit()
|
||||
-- Leader must be set before lazy loads plugins
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
-- Load core config (order matters)
|
||||
require("options")
|
||||
require("autocmds")
|
||||
|
||||
-- Load LSP server configurations (vim.lsp.config calls)
|
||||
-- These must run before vim.lsp.enable() in plugins/lsp.lua
|
||||
do
|
||||
local lsp_dir = vim.fn.stdpath("config") .. "/lua/lsp"
|
||||
for _, name in ipairs(vim.fn.readdir(lsp_dir)) do
|
||||
if name:match("%.lua$") then
|
||||
require("lsp." .. name:gsub("%.lua$", ""))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
require "lazy_setup"
|
||||
require "polish"
|
||||
-- Load colorscheme before plugins (prevents flash of wrong colors)
|
||||
-- colors/apex-neon.lua is managed by refresh-apex-themes, not via lazy
|
||||
vim.cmd.colorscheme("apex-neon")
|
||||
|
||||
-- Setup lazy.nvim
|
||||
require("lazy").setup({
|
||||
spec = { { import = "plugins" } },
|
||||
lockfile = vim.fn.stdpath("config") .. "/lazy-lock.json",
|
||||
defaults = { lazy = false },
|
||||
install = { colorscheme = { "apex-neon", "habamax" } },
|
||||
checker = { enabled = false },
|
||||
change_detection = { enabled = false },
|
||||
performance = {
|
||||
rtp = {
|
||||
disabled_plugins = {
|
||||
"gzip", "matchit", "matchparen", "netrwPlugin",
|
||||
"tarPlugin", "tohtml", "tutor", "zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Keymaps loaded after lazy so plugin keymaps can be set in their own files
|
||||
require("keymaps")
|
||||
|
||||
Reference in New Issue
Block a user