{ 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 = "ca"; lspBufAction = "code_action"; } { key = "e"; action = "lua vim.diagnostic.open_float()"; } ]; }; # Define diagnostic appearance diagnostic.settings = { virtual_text = false; signs = true; underline = true; update_in_insert = false; severity_sort = false; }; }