diff options
Diffstat (limited to 'modules/home/conf/nvim/plgs/lsp/servers')
12 files changed, 157 insertions, 0 deletions
diff --git a/modules/home/conf/nvim/plgs/lsp/servers/default.nix b/modules/home/conf/nvim/plgs/lsp/servers/default.nix new file mode 100644 index 00000000..1f59ae4e --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/default.nix @@ -0,0 +1,15 @@ +{...}: { + imports = [ + # ./servers/pylyzer.nix + ./servers/bashls.nix + ./servers/ccls.nix + ./servers/quick-lint-js.nix + ./servers/ltex.nix + ./servers/lua-ls.nix + ./servers/nil_ls.nix + ./servers/openscad.nix + ./servers/ruff-lsp.nix + ./servers/rust-analyzer.nix + ./servers/texlab.nix + ]; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/bashls.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/bashls.nix new file mode 100644 index 00000000..0577a335 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/bashls.nix @@ -0,0 +1,5 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + bashls.enable = true; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/ccls.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/ccls.nix new file mode 100644 index 00000000..0698bcce --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/ccls.nix @@ -0,0 +1,5 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + ccls.enable = true; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/ltex.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/ltex.nix new file mode 100644 index 00000000..3224bc41 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/ltex.nix @@ -0,0 +1,39 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + ltex = let + filetypes = [ + "java" + "cpp" + "shell" + "bash" + + "bibtex" + "context" + "context.tex" + "latex" + "tex" + + "markdown" + "org" + "restructuredtext" + "rsweave" + + "git-commit" + "gitcommit" + + "mail" + ]; + in { + enable = true; + inherit filetypes; + settings = { + enabled = filetypes; + completionEnabled = false; + language = "en-CA"; + additionalRules = { + enablePickyRules = true; + }; + }; + }; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix new file mode 100644 index 00000000..5a44b500 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/lua-ls.nix @@ -0,0 +1,8 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + lua-ls = { + enable = true; + settings.telemetry.enable = false; + }; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/nil_ls.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/nil_ls.nix new file mode 100644 index 00000000..f0cccbdc --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/nil_ls.nix @@ -0,0 +1,10 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + nil_ls = { + enable = true; + settings = { + formatting.command = ["alejandra"]; + }; + }; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/openscad.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/openscad.nix new file mode 100644 index 00000000..a0221cc4 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/openscad.nix @@ -0,0 +1,17 @@ +{pkgs, ...}: { + programs.nixvim = { + extraConfigLuaPost = + /* + lua + */ + '' + require('lspconfig').openscad_lsp.setup{ + cmd = {"openscad-lsp", "--stdio", "--fmt-style", "WebKit"}, + } + ''; + extraPackages = with pkgs; [ + openscad-lsp + clang-tools # Need to satisfy `clang-format` (which is used by openscad-lsp) + ]; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix new file mode 100644 index 00000000..b1042221 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/pylyzer.nix @@ -0,0 +1,12 @@ +{pkgs, ...}: { + programs.nixvim = { + extraConfigLuaPost = + /* + lua + */ + '' + require('lspconfig').pylyzer.setup{} + ''; + extraPackages = with pkgs; [pylyzer]; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix new file mode 100644 index 00000000..23c3054a --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/quick-lint-js.nix @@ -0,0 +1,15 @@ +{pkgs, ...}: { + programs.nixvim = { + extraConfigLuaPost = + /* + lua + */ + '' + require('lspconfig').quick_lint_js.setup{ + } + ''; + extraPackages = with pkgs; [ + quick-lint-js + ]; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix new file mode 100644 index 00000000..3eeb495a --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/ruff-lsp.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + programs.nixvim = { + plugins.lsp.servers = { + ruff-lsp = { + enable = true; + }; + }; + extraPackages = with pkgs; [ruff]; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix new file mode 100644 index 00000000..d58c8f1b --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/rust-analyzer.nix @@ -0,0 +1,14 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + rust-analyzer = { + enable = true; + settings = { + typing.autoClosingAngleBrackets.enable = true; + }; + # NOTE: These should be provided by the devenv, to support nightly and + # such things <2023-11-25> + installCargo = false; + installRustc = false; + }; + }; +} diff --git a/modules/home/conf/nvim/plgs/lsp/servers/servers/texlab.nix b/modules/home/conf/nvim/plgs/lsp/servers/servers/texlab.nix new file mode 100644 index 00000000..59af8d39 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp/servers/servers/texlab.nix @@ -0,0 +1,7 @@ +{...}: { + programs.nixvim.plugins.lsp.servers = { + texlab = { + enable = true; + }; + }; +} |