{...}: { programs.nixvim.plugins = { lsp-format = { enable = true; }; lsp = { enable = true; keymaps.lspBuf = { K = "hover"; gD = "references"; gd = "definition"; gi = "implementation"; gt = "type_definition"; }; servers = { nil_ls.enable = true; lua-ls.enable = true; bashls.enable = true; pylsp.enable = true; html.enable = true; cssls.enable = true; texlab = { enable = true; extraOptions.settings.texlab = { build = { executable = "tectonic"; args = [ "-X" "compile" "%f" "--outdir" "build/" "--synctex" "--keep-logs" "--keep-intermediates" ]; auxDirectory = "build/"; logDirectory = "build/"; pdfDirectory = "build/"; forwardSearchAfter = true; onSave = false; }; forwardSearch = { executable = "zathura"; args = [ "--synctex-forward" "%l:1:%f" "%p" ]; }; chktex = { onOpenAndSave = true; onEdit = true; }; }; }; }; }; }; }