Files
dotfiles/modules/home/nixvim/lsp.nix
T
moons-14andClaude Sonnet 4.6 dfc1461951 nixvim: improve keymaps, completion, and formatter config
- Add LSP code actions, diagnostic navigation, window navigation keymaps
- Move telescope keymaps to explicit mkRaw form for reliability
- Change buffer nav from <leader>bh/bl to [b/]b
- Fix conform double-setup by moving config to native nixvim settings
- Fix <leader>cf to use conform instead of vim.lsp.buf.format
- Fix <leader>ca to pass diagnostic context to code_action
- Add nvim-lightbulb for code action indicator
- Configure copilot Tab conflict: blink-cmp Tab=accept, C-n/p for cycling
- Add completion.list.selection preselect for immediate Tab acceptance
- Add TypeScript Japanese locale for LSP diagnostics

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-03-11 16:01:17 +09:00

66 lines
1.4 KiB
Nix

{...}: {
programs.nixvim = {
plugins.lsp = {
enable = true;
servers = {
# TypeScript / JavaScript
vtsls = {
enable = true;
packageFallback = true;
rootMarkers = [
"pnpm-workspace.yaml"
"package.json"
"tsconfig.json"
"jsconfig.json"
".git"
];
extraOptions.settings.typescript.locale = "ja";
};
# Biome for lint / format
biome = {
enable = true;
packageFallback = true;
rootMarkers = [
"biome.json"
"biome.jsonc"
"package.json"
"pnpm-workspace.yaml"
".git"
];
};
# Frontend / config languages
tailwindcss.enable = true;
cssls.enable = true;
jsonls.enable = true;
yamlls.enable = true;
lua_ls.enable = true;
nixd.enable = true;
# Other languages
rust_analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
svelte.enable = true;
ty.enable = true;
ruff.enable = true;
astro.enable = true;
gopls.enable = true;
};
};
# Diagnostic UI
diagnostic.settings = {
virtual_text = true;
float = {
border = "rounded";
source = true;
};
};
};
}