A Lua-first Neovim config focused on performance and native APIs.
Personal Neovim config focused on built-in APIs (vim.pack, vim.lsp, treesitter) with a small plugin set.
- Recent Neovim with
vim.packandvim.lsp.configsupport - Linux (Arch with
yay) or macOS (withbrew) forscripts/setup - ripgrep
curl+jq(used by the GraphQL helper)
mv ~/.config/nvim{,.bak}
mv ~/.local/share/nvim{,.bak}
mv ~/.local/state/nvim{,.bak}
mv ~/.cache/nvim{,.bak}
git clone https://github.com/22mahmoud/nvim ~/.config/nvim
~/.config/nvim/scripts/setup
nvimPlugin install is handled automatically by vim.pack on first startup.
nvim --headless "+PkgUpdate" +wqa- ⚙️ Lean Lua-first setup tuned for speed
- 📦 Uses built-in Neovim package manager (
vim.pack) vialua/ma/plugins.lua - 🧠 Built-in LSP pipeline with
vim.lsp.enable(...)and native completion - 🌳 Treesitter + textobjects setup for better syntax and text objects
- 📁 File explorer workflow via
oil.nvimon<leader>e - 🎨 Custom statusline + winbar in
lua/ma/statusline.lua - 💊 Custom GraphQL runner for
.graphqlbuffers on<kbd>,</kbd> + <kbd>e</kbd>
Old notes kept for historical context:
- using this wrapper pkg-manager.lua, so you can add new plugin with
lua use 'neovim/lspconfig' - and a custom script to add auto-import functionality when insert from LSP omni completion