Lean, fast, easy on the eyes. Native LSP via lsp/<server>.lua discovery, Rust-backed completion (blink.cmp), aggressive lazy-loading.
Targets Linux/macOS in Kitty. WSL2 supported via
clip.exe. Other terminals work except inline image previews and Material Design Icons fallback.Pairs with
miniex/dotfiles.kittyfor matching font fallback / theme / keymaps.
- Native LSP & UI2 —
vim.lsp.config+lsp/<server>.luadiscovery; floating cmdline + messages - Completion — blink.cmp (Rust fuzzy) + tiny-inline-diagnostic
- Treesitter —
mainbranch, textobjects, sticky context, ts-autotag, ts-context-commentstring - Pickers — fff.nvim + snacks.picker + fzf-lua, all sharing one 0.85 × 0.85 rectangle
- Editor — neo-tree, flash, trouble, harpoon v2, dial, multicursor, quicker, grug-far, …
- UI — Catppuccin Mocha retoned to a 2-color damin palette (
#98ABCC/#E890B0); flower-cornered borders on every floating window - Modal floats — pickers / terminal / lazy / mason / harpoon / lazygit / neo-tree are mutually exclusive and land in the exact same 0.85 × 0.85 chrome-aware rectangle
- Tooling — nvim-lint, mason-tool-installer, DAP (6 langs), neotest (5 langs)
- Git — gitsigns, fugitive, lazygit, diffview, gitgraph.nvim
- Clipboard — yank → wl-copy / xclip / pbcopy / clip.exe (whichever is on PATH first)
Full breakdown: docs/FEATURES.md.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/miniex/dotfiles.nvim/main/install.sh)"Prerequisites, manual install, and recovery: docs/SETUP.md.
| Language | LSP | Linter | Debugger |
|---|---|---|---|
| Shell (sh/bash) | bashls | shellcheck | - |
| Zsh / Fish | - | zsh -n / fish -n | - |
| Assembly | asm-lsp | - | - |
| C/C++ | clangd | - | cpptools |
| Go | gopls | golangci-lint | delve |
| Rust | rust-analyzer (rustaceanvim) | - | CodeLLDB |
| Zig | zls | - | codelldb |
| OCaml | ocamllsp | - | - |
| Elixir | elixirls | - | elixir-ls debug adapter |
| Python | basedpyright + ruff | ruff (LSP) | debugpy |
| Lua | lua_ls | selene | - |
| CSS / HTML | cssls / html+emmet | - | - |
| Tailwind / JS-TS | tailwindcss / vtsls | eslint_d | - |
| GraphQL / SQL | graphql / sqls | - | - |
| JSON / YAML | jsonls / yamlls | - | - |
| Protobuf / TOML | buf_ls / taplo | - | - |
| RON | - | - | - |
| Typst | tinymist | - | - |
| Markdown / MDX | marksman / + mdx_analyzer | markdownlint | - |
| CMake / Nix | neocmake / nil_ls | - / statix | - |
| Dockerfile / Helm | dockerls / helm_ls | hadolint | - |
| Terraform / HCL | terraformls | tflint | - |
| Shaders (WGSL/GLSL) | wgsl-analyzer / glsl_analyzer | - | - |
| Just | just-lsp | - | - |
Formatting is opt-in via
tools/format.sh, not on save.
Leader: <Space>. Full reference: docs/KEYMAPS.md.
| Key | Description |
|---|---|
<leader>ff / <leader>fg |
Find files / live grep |
<leader>e |
Toggle file tree (neo-tree) |
s / S |
Flash jump / treesitter jump |
<leader>w |
Smart buffer delete |
<S-h> / <S-l> |
Previous / next buffer |
<leader>t |
Toggle terminal |
<leader>rr |
Search & replace (grug-far) |
K / gd / gr |
Hover / definition / references |
<leader>ca / <leader>rn |
Code action / rename |
<leader>gg |
LazyGit |
<leader>? |
which-key (all keymaps) |
- docs/SETUP.md — prerequisites, install, recovery
- docs/FEATURES.md — per-category feature breakdown
- docs/KEYMAPS.md — every keymap
- docs/CUSTOMIZATION.md — where to edit what
- docs/ARCHITECTURE.md — why files live where they do
- docs/TROUBLESHOOTING.md — common issues
- btop-theme-damin — btop theme
- fish-theme-damin — fish prompt
- dotfiles.tmux — tmux config
- dotfiles.kitty — kitty terminal config
PRs welcome. Before opening: ./tools/format.sh + ./tools/lint.sh must pass clean. Run ./tools/health.sh to verify host prereqs (tree-sitter, Nerd Fonts, toolchains). Commit prefix lowercase (feat:, fix:, …). Full details: CONTRIBUTING.md.
MIT © 2024-2026 Han Damin.
Exception: assets/dashboard_sticker.ansi and assets/preview.png derive from a copyrighted character and are not MIT-licensed. Remove both before redistributing. See assets/LICENSE.
