From 59f89ff96fc61f46f90f994152b82114abec2752 Mon Sep 17 00:00:00 2001 From: sjcobb Date: Fri, 30 May 2025 13:27:07 +0100 Subject: [PATCH 1/4] enable lua function calls in cmd definition --- lib/languages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/languages.nix b/lib/languages.nix index c4074144..c4709442 100644 --- a/lib/languages.nix +++ b/lib/languages.nix @@ -1,7 +1,7 @@ {lib}: let inherit (builtins) isString getAttr; inherit (lib.options) mkOption; - inherit (lib.types) listOf bool str submodule attrsOf anything either nullOr; + inherit (lib.types) listOf bool str submodule attrsOf anything either nullOr oneOf; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.types) luaInline; in { @@ -62,7 +62,7 @@ in { }; cmd = mkOption { - type = nullOr (listOf str); + type = nullOr (listOf (oneOf [str luaInline])); default = null; description = "Command used to start the LSP server"; }; From b00b999f1db3ca68b7a0fe02db5742db81313b68 Mon Sep 17 00:00:00 2001 From: sjcobb Date: Fri, 30 May 2025 13:27:44 +0100 Subject: [PATCH 2/4] entryAnywhere for lspconfig --- modules/neovim/init/lsp.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index 712f88f9..b2e5d14a 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -11,7 +11,7 @@ inherit (lib.attrsets) mapAttrsToList attrNames filterAttrs; inherit (lib.generators) mkLuaInline; inherit (lib.nvim.languages) lspOptions; - inherit (lib.nvim.dag) entryAfter; + inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.lsp; @@ -83,7 +83,7 @@ in { (mkIf (cfg.servers != {}) { # Enable lspconfig in order to merge in the predefined opts vim.lsp.lspconfig.enable = true; - vim.luaConfigRC.lsp-servers = entryAfter ["lspconfig"] '' + vim.luaConfigRC.lsp-servers = entryAnywhere '' -- Individual LSP configurations managed by nvf. ${concatLines lspConfigurations} From e08fd4dc9fb9b4eb2284ce08f14f37368627e459 Mon Sep 17 00:00:00 2001 From: sjcobb Date: Fri, 30 May 2025 13:28:34 +0100 Subject: [PATCH 3/4] do not auto enable lspconfig with lang module --- modules/neovim/init/lsp.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/neovim/init/lsp.nix b/modules/neovim/init/lsp.nix index b2e5d14a..0bc2dea8 100644 --- a/modules/neovim/init/lsp.nix +++ b/modules/neovim/init/lsp.nix @@ -82,7 +82,6 @@ in { (mkIf (cfg.servers != {}) { # Enable lspconfig in order to merge in the predefined opts - vim.lsp.lspconfig.enable = true; vim.luaConfigRC.lsp-servers = entryAnywhere '' -- Individual LSP configurations managed by nvf. ${concatLines lspConfigurations} From 385793a2ea8317dd8b35d57f2b9a7e20d3f7bc31 Mon Sep 17 00:00:00 2001 From: sjcobb Date: Fri, 30 May 2025 13:29:04 +0100 Subject: [PATCH 4/4] specify lsp configuration in lang module --- modules/plugins/languages/markdown.nix | 4 +++- modules/plugins/languages/nix.nix | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/plugins/languages/markdown.nix b/modules/plugins/languages/markdown.nix index 32c16240..5750d544 100644 --- a/modules/plugins/languages/markdown.nix +++ b/modules/plugins/languages/markdown.nix @@ -20,7 +20,9 @@ servers = { marksman = { enable = true; - cmd = ["${pkgs.marksman}/bin/marksman" "server"]; + cmd = [(getExe pkgs.marksman) "server"]; + filetypes = ["markdown" "markdown.mdx"]; + root_markers = [".marksman.toml" ".git"]; }; }; diff --git a/modules/plugins/languages/nix.nix b/modules/plugins/languages/nix.nix index 9edf5637..61bc5abb 100644 --- a/modules/plugins/languages/nix.nix +++ b/modules/plugins/languages/nix.nix @@ -41,6 +41,8 @@ settings = { nil = formattingCmd; }; + filetypes = ["nix"]; + root_markers = [".git" "flake.nix"]; }; nixd = { @@ -49,6 +51,8 @@ settings = { nixd = formattingCmd; }; + filetypes = ["nix"]; + root_markers = [".git" "flake.nix"]; }; };