{ config, lib, ... }: # LSP - Language Server Protocol configuration (nvim-lspconfig) { config.programs.nixvim.plugins.lsp = lib.mkIf config.programs.nixvim.enable { enable = true; inlayHints = true; autoLoad = true; keymaps.lspBuf = { K = "hover"; gD = "references"; gd = "definition"; gi = "implementation"; gt = "type_definition"; }; servers = { nil_ls = { enable = true; }; lua_ls = { enable = true; package = null; }; nixd = { enable = true; package = null; }; pyright = { enable = true; package = null; }; ts_ls = { enable = true; package = null; }; clangd = { enable = true; package = null; }; jsonls = { enable = true; package = null; }; yamlls = { enable = true; package = null; }; bashls = { enable = true; package = null; }; gopls = { enable = true; package = null; }; }; }; }