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:
2026-04-09 23:30:34 +02:00
parent d5d890aa43
commit ca2b441bb7
58 changed files with 2616 additions and 880 deletions

View File

@@ -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")