global/neovim: conditionally enable language servers

This commit is contained in:
Infinidoge 2024-12-03 14:40:03 -05:00
parent e2c9ed9d25
commit 1d9a98d8fb
Signed by: Infinidoge
SSH key fingerprint: SHA256:oAMyvotlNFraMmZmr+p6AxnNfW/GioTs1pOn3V4tQ7A

View file

@ -1,4 +1,4 @@
{ pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
flattenTree = lib.our.flattenTree' (val: val ? action) ""; flattenTree = lib.our.flattenTree' (val: val ? action) "";
@ -14,6 +14,8 @@ let
{ leader = "<leader>"; mode = [ "n" "v" ]; } { leader = "<leader>"; mode = [ "n" "v" ]; }
{ leader = "<M- >"; mode = [ "n" "v" "i" ]; } { leader = "<M- >"; mode = [ "n" "v" "i" ]; }
]; ];
inherit (config.universe) programming;
in in
{ {
programs.nixvim = { programs.nixvim = {
@ -132,12 +134,12 @@ in
lsp = { lsp = {
enable = true; enable = true;
servers = { servers = {
clangd.enable = true; clangd.enable = programming.c.enable;
hls = { hls = {
enable = true; enable = programming.haskell.enable;
installGhc = false; installGhc = false;
}; };
lua_ls.enable = true; lua_ls.enable = programming.lua.enable;
marksman.enable = true; marksman.enable = true;
# Try nixd # Try nixd
nil_ls = { nil_ls = {
@ -146,9 +148,9 @@ in
settings.nil.formatting.command = [ "nixpkgs-fmt" ]; settings.nil.formatting.command = [ "nixpkgs-fmt" ];
}; };
}; };
nimls.enable = true; nimls.enable = programming.nim.enable;
pylsp = { pylsp = {
enable = true; enable = programming.python.enable;
settings = { settings = {
plugins = { plugins = {
ruff = { ruff = {
@ -161,7 +163,7 @@ in
}; };
}; };
rust_analyzer = { rust_analyzer = {
enable = true; enable = programming.rust.enable;
installRustc = false; installRustc = false;
installCargo = false; installCargo = false;
}; };