From 63c67d7adf10f76f03686b98b3908e03e20f6f32 Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Sat, 3 Feb 2024 21:33:17 +0800 Subject: [PATCH] users/foo-dogsquared/programs/nixvim: enable LSP servers setup --- .../modules/programs/nixvim/default.nix | 8 +++-- .../modules/programs/nixvim/lsp.nix | 30 +++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 configs/home-manager/foo-dogsquared/modules/programs/nixvim/lsp.nix diff --git a/configs/home-manager/foo-dogsquared/modules/programs/nixvim/default.nix b/configs/home-manager/foo-dogsquared/modules/programs/nixvim/default.nix index d8a5f928..d352a898 100644 --- a/configs/home-manager/foo-dogsquared/modules/programs/nixvim/default.nix +++ b/configs/home-manager/foo-dogsquared/modules/programs/nixvim/default.nix @@ -11,9 +11,11 @@ in config = lib.mkIf cfg.enable { programs.nixvim = { enable = true; - imports = [ - ./note-taking.nix - ]; + imports = + [ + ./note-taking.nix + ] + ++ lib.optional userCfg.setups.development.enable ./lsp.nix; }; }; } diff --git a/configs/home-manager/foo-dogsquared/modules/programs/nixvim/lsp.nix b/configs/home-manager/foo-dogsquared/modules/programs/nixvim/lsp.nix new file mode 100644 index 00000000..c326c1d0 --- /dev/null +++ b/configs/home-manager/foo-dogsquared/modules/programs/nixvim/lsp.nix @@ -0,0 +1,30 @@ +{ config, lib, pkgs, ... }: + +{ + plugins.lsp.enable = true; + + # Enable all of the LSP servers that I'll likely use. + plugins.lsp.servers = { + bashls.enable = true; # For Bash. + clangd.enable = true; # For C/C++. + cmake.enable = true; # For CMake. + cssls.enable = true; # For CSS. + denols.enable = true; # For Deno runtime. + dockerls.enable = true; # For Dockerfiles. + emmet_ls.enable = true; # For emmet support. + eslint.enable = true; # For JavaScript. + html.enable = true; # For HTML. + jsonls.enable = true; # There's one for JSON? + lemminx.enable = true; # And for XML? + ltex.enable = true; # And for LanguageTool, too? + lua-ls.enable = true; # For Lua. + nil_ls.enable = true; # For Nix. + nushell.enable = true; # For Nushell. + pyright.enable = true; # For Python. + rust-analyzer.enable = true; # For Rust (even though I barely use it). + solargraph.enable = true; # For Ruby. + tailwindcss.enable = true; # For Tailwind CSS. + terraformls.enable = true; # For Terraform. + tsserver.enable = true; # For TypeScript. + }; +}