nvim-minimal/init.lua
mk 97a90cc1e5 Initial commit: nvim-minimal
A small, fast, portable Neovim config built on bare lazy.nvim (no LazyVim,
no LSPs, no Mason). Vendored `based` colorscheme (GPLv3, self-authored,
derived from vim-vividchalk) so the config loads on any machine with just
nvim + git — the listed treesitter parsers ship prebuilt, so no compiler
is needed for the configured languages.

Plugins: snacks.nvim (picker/explorer/buffers), nvim-treesitter (pinned to
master for the declarative ensure_installed/highlight/indent API), blink.cmp
(buffer+path completion, prebuilt binary), lualine, gitsigns, mini.align/
comment/surround.

Personal keymaps ported: jj/jk/kj/чя escape, ж -> :, Russian langmap, arrow
disables, bracket-return expansions, gc/sa-sd-sr/gz-gZ.
2026-07-28 03:23:41 +03:00

22 lines
981 B
Lua

-- nvim-minimal: lightweight portable Neovim config.
-- Options first: several (termguicolors, etc.) must be set before lazy.nvim
-- starts so the plugin-install colorscheme renders correctly.
require("config.options")
-- Bootstrap + setup lazy.nvim (loads everything under lua/plugins/).
require("config.lazy")
-- Personal keymaps and autocmds. Plugin-bound keys (gb, <leader>F, <leader>t)
-- live in their plugin specs under lua/plugins/; these are the plugin-agnostic
-- ones (escape bigrams, Russian-layout fixes, arrow-key disables, etc.).
require("config.keymaps")
require("config.autocmds")
-- Colorscheme + transparency.
-- `based` is vendored at colors/based.vim (self-authored, GPLv3).
-- It never sets Normal's bg, so the terminal shows through; we still
-- force Normal/NormalFloat to none so plugin float windows stay transparent.
vim.cmd.colorscheme("based")
vim.api.nvim_set_hl(0, "Normal", { bg = "none" })
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })