{ pkgs, ... }: { plugins = { lsp = { enable = true; keymaps = { lspBuf = { K = "hover"; gD = "references"; gd = "definition"; gi = "implementation"; gt = "type_definition"; "rn" = "rename"; "g=" = "format"; }; diagnostic = { "j" = "goto_next"; "k" = "goto_prev"; }; }; servers = { cssls.enable = true; nil_ls.enable = true; # NixOS dockerls.enable = true; rust_analyzer = { enable = true; installCargo = false; installRustc = false; }; pyright.enable = true; pylsp = { enable = true; settings.plugins = { black = { enabled = true; cache_config = true; }; pycodestyle = { maxLineLength = 100; }; }; }; elixirls.enable = true; clangd.enable = true; yamlls.enable = true; lua_ls.enable = true; }; }; trouble.enable = true; lspkind.enable = true; lspsaga = { enable = true; lightbulb.enable = false; }; nvim-lightbulb = { enable = true; settings = { autocmd.enabled = true; number.enabled = true; }; }; none-ls = { enable = true; sources = { formatting = { nixfmt = { enable = true; package = pkgs.nixfmt-rfc-style; }; }; }; }; }; }