add more lsp servers

This commit is contained in:
cswimr 2025-02-05 15:19:48 -06:00
parent eae5d72091
commit de980f6464
Signed by: cswimr
GPG key ID: 0EC431A8DA8F8087

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, lib, ... }:
{ {
programs.nixvim = { programs.nixvim = {
extraPackages = with pkgs; [ extraPackages = with pkgs; [
@ -7,8 +7,21 @@
nil nil
nixfmt-rfc-style nixfmt-rfc-style
(callPackage ../../../packages/luau-lsp.nix { inherit pkgs; }) (callPackage ../../../packages/luau-lsp.nix { inherit pkgs; })
dockerfile-language-server-nodejs
docker-compose-language-service
csharp-ls
deno
bash-language-server
powershell
powershell-editor-services
vscode-langservers-extracted
tailwindcss-language-server
typos-lsp
]; ];
plugins = { plugins = {
luasnip = {
enable = true;
};
lsp-status = { lsp-status = {
enable = true; enable = true;
}; };
@ -30,19 +43,42 @@
end, end,
desc = 'LSP: Disable hover capability from Ruff', desc = 'LSP: Disable hover capability from Ruff',
}) })
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities.textDocument.completion.completionItem.snippetSupport = true
require('lspconfig').basedpyright.setup { settings = { pyright = { disableOrganizeImports = true } } } require('lspconfig').basedpyright.setup { settings = { pyright = { disableOrganizeImports = true } } }
require('lspconfig').ruff.setup { } require('lspconfig').ruff.setup { }
require('lspconfig').csharp_ls.setup { }
require('lspconfig').nil_ls.setup { require('lspconfig').nil_ls.setup {
cmd = { "${pkgs.nil}/bin/nil" }, cmd = { "${lib.getExe pkgs.nil}" },
settings = { settings = {
['nil'] = { ['nil'] = {
formatting = { formatting = {
command = { "${pkgs.nixfmt-rfc-style}/bin/nixfmt" }, command = { "${lib.getExe pkgs.nixfmt-rfc-style}" },
}, },
}, },
}, },
} }
--require('luau-lsp').setup { } require('lspconfig').luau_lsp.setup { }
require('lspconfig').denols.setup { }
require('lspconfig').eslint.setup { }
require('lspconfig').html.setup {
capabilities = capabilities,
}
require('lspconfig').cssls.setup {
capabilities = capabilities,
}
require('lspconfig').jsonls.setup {
capabilities = capabilities,
}
require('lspconfig').tailwindcss.setup { }
require('lspconfig').dockerls.setup { }
require('lspconfig').docker_compose_language_service.setup { }
require('lspconfig').bashls.setup { }
require('lspconfig').powershell_es.setup {
bundle_path = "${lib.getExe pkgs.powershell-editor-services}",
shell = "${lib.getExe pkgs.powershell}",
}
require('lspconfig').typos_lsp.setup { }
''; '';
}; };
trouble = { trouble = {
@ -52,18 +88,6 @@
}; };
}; };
}; };
extraPlugins = [
(pkgs.vimUtils.buildVimPlugin {
# https://github.com/lopi-py/luau-lsp.nvim
name = "luau-lsp.nvim";
src = pkgs.fetchFromGitHub {
owner = "lopi-py";
repo = "luau-lsp.nvim";
rev = "v1.6.0";
sha256 = "sha256-8+ax8n1fA4jgJugvWtRXkad4YM7TmAAsAopzalmGu/4=";
};
})
];
keymaps = [ keymaps = [
{ {
mode = "n"; mode = "n";