feat: nixvim config

currently only for dnsc-air. can simply be imported in other hosts
This commit is contained in:
Dennis Schoepf 2026-02-04 19:03:10 +01:00
parent ff32ecb811
commit 6543d4a7f3
21 changed files with 1541 additions and 10 deletions

67
modules/nixvim/lsp.nix Normal file
View file

@ -0,0 +1,67 @@
{ pkgs, ... }:
{
plugins.lspconfig.enable = true;
lsp = {
enable = true;
servers = {
lua_ls = {
enable = true;
package = pkgs.lua-language-server;
packageFallback = true;
};
nil_ls = {
enable = true;
package = pkgs.nil;
packageFallback = true;
};
ts_ls = {
enable = true;
package = pkgs.typescript-language-server;
packageFallback = true;
};
jsonls = {
enable = true;
package = pkgs.vscode-langservers-extracted;
packageFallback = true;
};
astro = {
enable = true;
package = pkgs.astro-language-server;
packageFallback = true;
};
eslint = {
enable = true;
package = pkgs.vscode-langservers-extracted;
packageFallback = true;
};
biome = {
enable = true;
package = pkgs.biome;
packageFallback = true;
};
};
keymaps = [
{
key = "<leader>ca";
lspBufAction = "code_action";
}
{
key = "<leader>e";
action = "<cmd>lua vim.diagnostic.open_float()<cr>";
}
];
};
# Define diagnostic appearance
diagnostic.settings = {
virtual_text = false;
signs = true;
underline = true;
update_in_insert = false;
severity_sort = false;
};
}