Neovim Setup β¨π―π
Welcome to the heart of my terminal editing workflow β Neovim, fully pimped and optimized for speed, clarity, and power. ππ₯οΈβ‘
π οΈ Core Configuration π§
- Enabled via Nix π§: Neovim is managed declaratively through Nix, ensuring reproducibility and ease of updates.
- Aliases & Defaults π:
nvimis set as the default editor, with aliases forvi,vim, andvimdifffor convenience. - Lua-powered π: The entire config is Lua-based, stored in
~/Dotfiles/home-manager/modules/cli/nvim/luafor modularity and performance.
π¨ Theme & Appearance π
- Nord & Everforest βοΈπ²: I blend the calm, cool Nord colorscheme with the cozy, organic Everforest palette.
-
Custom Settings βοΈ:
-
g:nord_contrast = trueπ³ β enhanced contrast for better readability g:nord_borders = falseπ« β minimal borders for clean UIg:nord_disable_background = falseπΌοΈ β keep the backgroundg:nord_italic = falseπ« β no italics to avoid distractionsg:nord_uniform_diff_background = trueπ¨ β consistent diff backgroundsg:nord_bold = falseβοΈ β subtle bold text
π Plugins & Features β‘β¨
I use a curated set of plugins to supercharge coding and navigation:
Completion & Snippets π€π‘
nvim-cmp&cmp-nvim-lspfor smart autocompletionluasnip+friendly-snippetsfor powerful snippet support
UI Enhancements ππ₯οΈ
alpha-nvimβ Custom startup dashboard πͺlualine-nvimβ Fancy statusline with useful info πindent-blankline-nvimβ Visually clean indentation guides βͺοΈnvim-notifyβ Notification system π
Navigation & Search ππ
telescope-nvimβ Fuzzy finder powerhouse πnvim-tree-luaβ File explorer πvim-visual-multiβ Multi-cursor editing βοΈ
Code & Language Support π§βπ»π»
nvim-lspconfigfor LSP setup supporting multiple languages π- Language servers like
ccls,clang-tools,gopls,pyright,lua-language-server,typescript-language-server, and more installed as extra packages π¦ - Treesitter parsers for Bash, C, C++, Go, Lua, Python, PHP, JSON, YAML, and others for syntax highlighting and code awareness π³
Quality of Life π§Ήπ οΈ
conform-nvimβ formatting support π§Όnix-develop-nvimβ handy Nix development integration π§noice-nvimβ enhanced command-line UI π¬render-markdown-nvim&markdown-preview-nvimfor Markdown editing π
ποΈ Extra Packages π¦
The config extends Neovimβs power with language servers and tools installed at the system level, providing:
- Robust language support for C, Go, Lua, Python, TypeScript, and more π οΈ
- Linters like
rufffor Python π - Tools like
nixdfor Nix language support βοΈ
Why This Setup? π€π‘
- Reproducible & Portable π: Configured declaratively through Nix to keep your setup consistent across machines.
- Performance Focused β‘: Lua-based config with minimal overhead, optimized for smooth operation.
- Balanced Look & Feel π¨: Clean, distraction-free UI with powerful features always within reach.
- Developer Productivity π: All your essential tools and workflows integrated seamlessly.
Ready to dive deeper? π₯ Check out the lua directory for all the juicy config details! πβ‘