{ pkgs, config, ... }: { home.packages = with pkgs; [ tofu-ls zuban ]; programs.nixvim = { plugins.lsp = { enable = true; autoLoad = true; }; lsp = { luaConfig = { post = '' vim.lsp.enable('tofu_ls') vim.lsp.enable('prolog_ls') ''; }; servers = { nixd.enable = false; rust_analyzer.enable = true; leanls.enable = true; nil_ls = { enable = !config.programs.nixvim.plugins.lsp.servers.nixd.enable; config = { nil = { formatting.command = [ "nixfmt" ]; diagnostics.ignored = [ ]; nix.flake.autoArchive = true; }; }; }; nushell.enable = true; pylsp.enable = true; pylyzer.enable = false; pyright.enable = true; clangd.enable = true; zk.enable = true; elixirls.enable = true; marksman.enable = true; texlab.enable = true; lua_ls.enable = true; ltex_plus = { enable = true; package = pkgs.ltex-ls-plus; config = { ltex = { language = "en-US"; enabled = [ "latex" "tex" "bibtex" "markdown" "typst" "quarto" ]; }; }; }; tinymist.enable = true; }; }; }; }