{ programs.nixvim = { diagnostic.settings = { severity_sort = true; float = { border = "rounded"; source = "if_many"; }; signs.text.__raw = "{ [vim.diagnostic.severity.ERROR] = '󰅚 ', [vim.diagnostic.severity.WARN] = '󰀪 ', [vim.diagnostic.severity.INFO] = '󰋽 ', [vim.diagnostic.severity.HINT] = '󰌶 ', }"; virtual_text = { source = "if_many"; spacing = 2; format.__raw = " function(diagnostic) return diagnostic.message end "; }; }; plugins = { lsp = { enable = true; keymaps = { silent = true; lspBuf = { "gd" = "definition"; "gD" = "declaration"; "gr" = "references"; "gI" = "implementation"; "ca" = "code_action"; "D" = "type_definition"; "rn" = "rename"; }; }; servers = { lua_ls.enable = true; nil_ls.enable = true; pyright.enable = true; }; }; }; }; }