From 2e7e1ce219b43bb74f67875200dd4b68758ffd27 Mon Sep 17 00:00:00 2001 From: seth Date: Tue, 16 Jul 2024 19:04:27 -0400 Subject: back to nixvim again --- nixvim/plugins/lsp/servers.nix | 82 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 nixvim/plugins/lsp/servers.nix (limited to 'nixvim/plugins/lsp/servers.nix') diff --git a/nixvim/plugins/lsp/servers.nix b/nixvim/plugins/lsp/servers.nix new file mode 100644 index 0000000..6334939 --- /dev/null +++ b/nixvim/plugins/lsp/servers.nix @@ -0,0 +1,82 @@ +{ pkgs, helpers, ... }: +{ + extraPackages = [ + # bashls + pkgs.shellcheck + pkgs.shfmt + + # nil-ls + pkgs.nixfmt-rfc-style + ]; + + globals = { + # Required for Deno's LSP + markdown_fenced_languages = [ "ts=typescript" ]; + }; + + plugins.lsp.servers = { + astro.enable = true; + bashls.enable = true; + biome.enable = true; + clangd.enable = true; + denols.enable = true; + eslint.enable = true; + + lua-ls = { + enable = true; + settings = { + diagnostics.globals = [ "vim" ]; + runtime.version = "LuaJIT"; + workspace = { + checkThirdParty = false; + library = [ (helpers.mkRaw "vim.env.VIMRUNTIME") ]; + }; + }; + }; + + nil-ls = { + enable = true; + + settings = { + formatting.command = [ "nixfmt" ]; + }; + }; + + nimls.enable = true; + pyright = { + enable = true; + + settings = { + # Use ruff for imports + pyright = { + disableOrganizeImports = true; + }; + python.ignore = [ "*" ]; + }; + }; + + ruff-lsp = { + enable = true; + + # pyright should handle this + onAttach.function = '' + client.server_capabilities.hoverProvider = false + ''; + }; + + rust-analyzer = { + enable = true; + + installCargo = false; + installRustc = false; + + settings = { + check.command = "clippy"; + }; + }; + + tsserver.enable = true; + typos-lsp.enable = true; + typst-lsp.enable = true; + }; +} -- cgit v1.2.3