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 π:
nvim
is set as the default editor, with aliases forvi
,vim
, andvimdiff
for convenience. - Lua-powered π: The entire config is Lua-based, stored in
~/Dotfiles/home-manager/modules/cli/nvim/lua
for 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-lsp
for smart autocompletionluasnip
+friendly-snippets
for 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-lspconfig
for 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-nvim
for 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
ruff
for Python π - Tools like
nixd
for 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! πβ‘