From 0bbb039b7fb30f844ccc108ec8c7894b7a906255 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Fri, 17 Jan 2025 20:25:45 +0100 Subject: [PATCH 01/13] add ruff as lsp --- configuration.nix | 6 +++++- modules/plugins/languages/python.nix | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 2159edc83..5bd69fa07 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,7 +59,11 @@ isMaximal: { go.enable = isMaximal; lua.enable = isMaximal; zig.enable = isMaximal; - python.enable = isMaximal; + python = { + enable = true; + format.type = "ruff"; + lsp.server = "ruff"; + }; typst.enable = isMaximal; rust = { enable = isMaximal; diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 0a3c6c8a5..56c5dc3a9 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -46,6 +46,21 @@ ''; }; + ruff = { + package = pkgs.ruff; + lspConfig = '' + lspconfig.ruff.setup{ + capabilities = capabilities; + on_attach = default_on_attach; + cmd = ${ + if isList cfg.lsp.package + then expToLua cfg.lsp.package + else ''{"${cfg.lsp.package}/bin/ruff", "server"}'' + } + } + ''; + }; + python-lsp-server = { package = pkgs.python-lsp-server; lspConfig = '' From 842e9587772a34842c360db83155d0ac5770f4a8 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Sat, 18 Jan 2025 18:28:20 +0100 Subject: [PATCH 02/13] use ruff alongside other lsp servers --- configuration.nix | 2 +- modules/plugins/languages/python.nix | 41 +++++++++++++++------------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/configuration.nix b/configuration.nix index 5bd69fa07..babf05890 100644 --- a/configuration.nix +++ b/configuration.nix @@ -62,7 +62,7 @@ isMaximal: { python = { enable = true; format.type = "ruff"; - lsp.server = "ruff"; + lsp.servers = ["ruff" "basedpyright"]; }; typst.enable = isMaximal; rust = { diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 56c5dc3a9..625c26abd 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -14,7 +14,7 @@ cfg = config.vim.languages.python; - defaultServer = "basedpyright"; + defaultServer = ["basedpyright"]; servers = { pyright = { package = pkgs.pyright; @@ -23,9 +23,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/pyright-langserver", "--stdio"}'' + if isList cfg.lsp.packages.pyright + then expToLua cfg.lsp.packages.pyright + else ''{"${cfg.lsp.packages.pyright}/bin/pyright-langserver", "--stdio"}'' } } ''; @@ -38,9 +38,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/basedpyright-langserver", "--stdio"}'' + if isList cfg.lsp.packages.basedpyright + then expToLua cfg.lsp.packages.basedpyright + else ''{"${cfg.lsp.packages.basedpyright}/bin/basedpyright-langserver", "--stdio"}'' } } ''; @@ -53,9 +53,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/ruff", "server"}'' + if isList cfg.lsp.packages.ruff + then expToLua cfg.lsp.packages.ruff + else ''{"${cfg.lsp.packages.ruff}/bin/ruff", "server"}'' } } ''; @@ -68,9 +68,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.package - then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/pylsp"}'' + if isList cfg.lsp.packages.pylsp + then expToLua cfg.lsp.packages.pylsp + else ''{"${cfg.lsp.packages}/bin/pylsp"}'' } } ''; @@ -219,17 +219,17 @@ in { lsp = { enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;}; - server = mkOption { + servers = mkOption { description = "Python LSP server to use"; - type = enum (attrNames servers); + type = listOf (enum (attrNames servers)); default = defaultServer; }; - package = mkOption { + packages = mkOption { description = "python LSP server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; - type = either package (listOf str); - default = servers.${cfg.lsp.server}.package; + type = lib.types.attrsOf (either package (listOf str)); + default = lib.genAttrs cfg.lsp.servers (name: servers.${name}.package); }; }; @@ -283,7 +283,10 @@ in { (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.python-lsp = servers.${cfg.lsp.server}.lspConfig; + vim.lsp.lspconfig.sources = + lib.genAttrs + cfg.lsp.servers + (name: servers.${name}.lspConfig); }) (mkIf cfg.format.enable { From caa177c91fdb27c06d40b93e2c78e3b014b95877 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Mon, 20 Jan 2025 16:44:59 +0100 Subject: [PATCH 03/13] rename: packages -> package & lsp server options --- configuration.nix | 2 +- modules/plugins/languages/python.nix | 38 ++++++++++++++-------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/configuration.nix b/configuration.nix index babf05890..7f85c4ba5 100644 --- a/configuration.nix +++ b/configuration.nix @@ -62,7 +62,7 @@ isMaximal: { python = { enable = true; format.type = "ruff"; - lsp.servers = ["ruff" "basedpyright"]; + lsp.server = ["ruff" "basedpyright"]; }; typst.enable = isMaximal; rust = { diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 625c26abd..2f8afc1fd 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -15,7 +15,7 @@ cfg = config.vim.languages.python; defaultServer = ["basedpyright"]; - servers = { + server = { pyright = { package = pkgs.pyright; lspConfig = '' @@ -23,9 +23,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.packages.pyright - then expToLua cfg.lsp.packages.pyright - else ''{"${cfg.lsp.packages.pyright}/bin/pyright-langserver", "--stdio"}'' + if isList cfg.lsp.package.pyright + then expToLua cfg.lsp.package.pyright + else ''{"${cfg.lsp.package.pyright}/bin/pyright-langserver", "--stdio"}'' } } ''; @@ -38,9 +38,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.packages.basedpyright - then expToLua cfg.lsp.packages.basedpyright - else ''{"${cfg.lsp.packages.basedpyright}/bin/basedpyright-langserver", "--stdio"}'' + if isList cfg.lsp.package.basedpyright + then expToLua cfg.lsp.package.basedpyright + else ''{"${cfg.lsp.package.basedpyright}/bin/basedpyright-langserver", "--stdio"}'' } } ''; @@ -53,9 +53,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.packages.ruff - then expToLua cfg.lsp.packages.ruff - else ''{"${cfg.lsp.packages.ruff}/bin/ruff", "server"}'' + if isList cfg.lsp.package.ruff + then expToLua cfg.lsp.package.ruff + else ''{"${cfg.lsp.package.ruff}/bin/ruff", "server"}'' } } ''; @@ -68,9 +68,9 @@ capabilities = capabilities; on_attach = default_on_attach; cmd = ${ - if isList cfg.lsp.packages.pylsp - then expToLua cfg.lsp.packages.pylsp - else ''{"${cfg.lsp.packages}/bin/pylsp"}'' + if isList cfg.lsp.package.pylsp + then expToLua cfg.lsp.package.pylsp + else ''{"${cfg.lsp.package}/bin/pylsp"}'' } } ''; @@ -219,17 +219,17 @@ in { lsp = { enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;}; - servers = mkOption { + server = mkOption { description = "Python LSP server to use"; - type = listOf (enum (attrNames servers)); + type = listOf (enum (attrNames server)); default = defaultServer; }; - packages = mkOption { + package = mkOption { description = "python LSP server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; type = lib.types.attrsOf (either package (listOf str)); - default = lib.genAttrs cfg.lsp.servers (name: servers.${name}.package); + default = lib.genAttrs cfg.lsp.server (name: server.${name}.package); }; }; @@ -285,8 +285,8 @@ in { vim.lsp.lspconfig.enable = true; vim.lsp.lspconfig.sources = lib.genAttrs - cfg.lsp.servers - (name: servers.${name}.lspConfig); + cfg.lsp.server + (name: server.${name}.lspConfig); }) (mkIf cfg.format.enable { From 6ad3163dfb37b9af93d41864703c819a876cb583 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Tue, 21 Jan 2025 22:57:39 +0100 Subject: [PATCH 04/13] add release notes --- docs/release-notes/rl-0.8.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index a164d7764..686c883a2 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -59,7 +59,8 @@ - Add `vim.snippets.luasnip.setupOpts`, which was previously missing. - Add `"prettierd"` as a formatter option in `vim.languages.markdown.format.type`. -- Add the following plugins from [mini.nvim](https://github.com/echasnovski/mini.nvim) +- Add the following plugins from + [mini.nvim](https://github.com/echasnovski/mini.nvim) - `mini.ai` - `mini.align` - `mini.animate` @@ -102,7 +103,8 @@ - `mini.trailspace` - `mini.visits` - Add [fzf-lua](https://github.com/ibhagwan/fzf-lua) in `vim.fzf-lua` -- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim) in `vim.visuals.rainbow-delimiters` +- Add [rainbow-delimiters](https://github.com/HiPhish/rainbow-delimiters.nvim) + in `vim.visuals.rainbow-delimiters` [kaktu5](https://github.com/kaktu5): @@ -121,3 +123,9 @@ [ruff]: (https://github.com/astral-sh/ruff) - Add [ruff] as a formatter option in `vim.languages.python.format.type`. + +[QuiNzX](https://github.com/QuiNzX): + +[ruff]: (https://github.com/astral-sh/ruff) + +- Add ruff as lsp alongside other lsp servers. Under `vim.languages.python.lsp`. From 54f9480f57152c5702f3508a50dee9e819e143ae Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Tue, 21 Jan 2025 23:48:06 +0100 Subject: [PATCH 05/13] edit release notes & revert python to isMaximal --- configuration.nix | 6 +----- docs/release-notes/rl-0.8.md | 5 +++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/configuration.nix b/configuration.nix index 7f85c4ba5..5f78ea9ec 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,11 +59,7 @@ isMaximal: { go.enable = isMaximal; lua.enable = isMaximal; zig.enable = isMaximal; - python = { - enable = true; - format.type = "ruff"; - lsp.server = ["ruff" "basedpyright"]; - }; + python = isMaximal; typst.enable = isMaximal; rust = { enable = isMaximal; diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 686c883a2..657bc3c9e 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -126,6 +126,7 @@ [QuiNzX](https://github.com/QuiNzX): -[ruff]: (https://github.com/astral-sh/ruff) +[ruff lsp]: (https://github.com/astral-sh/ruff) -- Add ruff as lsp alongside other lsp servers. Under `vim.languages.python.lsp`. +- Add ruff as lsp alongside other lsp servers in a list as an option. Under + `vim.languages.python.lsp.server`. From 996f2e3f86d69db237947baed3f52066e9b46370 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Tue, 21 Jan 2025 23:58:42 +0100 Subject: [PATCH 06/13] fix python to isMaximal mistake --- configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 5f78ea9ec..2159edc83 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,7 +59,7 @@ isMaximal: { go.enable = isMaximal; lua.enable = isMaximal; zig.enable = isMaximal; - python = isMaximal; + python.enable = isMaximal; typst.enable = isMaximal; rust = { enable = isMaximal; From 6733b9a94e38f4063be70285c069761aa19c379c Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Wed, 22 Jan 2025 00:19:41 +0100 Subject: [PATCH 07/13] rename: server -> servers --- modules/plugins/languages/python.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 2f8afc1fd..97d581e25 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -15,7 +15,7 @@ cfg = config.vim.languages.python; defaultServer = ["basedpyright"]; - server = { + servers = { pyright = { package = pkgs.pyright; lspConfig = '' @@ -221,7 +221,7 @@ in { server = mkOption { description = "Python LSP server to use"; - type = listOf (enum (attrNames server)); + type = listOf (enum (attrNames servers)); default = defaultServer; }; @@ -229,7 +229,7 @@ in { description = "python LSP server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; type = lib.types.attrsOf (either package (listOf str)); - default = lib.genAttrs cfg.lsp.server (name: server.${name}.package); + default = lib.genAttrs cfg.lsp.server (name: servers.${name}.package); }; }; @@ -286,7 +286,7 @@ in { vim.lsp.lspconfig.sources = lib.genAttrs cfg.lsp.server - (name: server.${name}.lspConfig); + (name: servers.${name}.lspConfig); }) (mkIf cfg.format.enable { From bd2b9daa360cf98125217229b1bad3596b05a511 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Wed, 22 Jan 2025 00:24:10 +0100 Subject: [PATCH 08/13] fix pylsp --- modules/plugins/languages/python.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 97d581e25..5956a74d1 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -70,7 +70,7 @@ cmd = ${ if isList cfg.lsp.package.pylsp then expToLua cfg.lsp.package.pylsp - else ''{"${cfg.lsp.package}/bin/pylsp"}'' + else ''{"${cfg.lsp.package.pylsp}/bin/pylsp"}'' } } ''; From 81d489d8e19214687e18c09ba90308c001d3d065 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Thu, 23 Jan 2025 18:24:50 +0100 Subject: [PATCH 09/13] change: handle both single and multiple servers --- modules/plugins/languages/python.nix | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 5956a74d1..0c80f6e5e 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -14,7 +14,7 @@ cfg = config.vim.languages.python; - defaultServer = ["basedpyright"]; + defaultServer = "basedpyright"; servers = { pyright = { package = pkgs.pyright; @@ -220,8 +220,8 @@ in { enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;}; server = mkOption { - description = "Python LSP server to use"; - type = listOf (enum (attrNames servers)); + description = "Python LSP server to use either as a single server or a list of servers"; + type = either (enum (attrNames servers)) (listOf (enum (attrNames servers))); default = defaultServer; }; @@ -229,7 +229,13 @@ in { description = "python LSP server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; type = lib.types.attrsOf (either package (listOf str)); - default = lib.genAttrs cfg.lsp.server (name: servers.${name}.package); + default = let + serverList = + if isList cfg.lsp.server + then cfg.lsp.server + else [cfg.lsp.server]; + in + lib.genAttrs serverList (name: servers.${name}.package); }; }; @@ -283,10 +289,13 @@ in { (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources = - lib.genAttrs - cfg.lsp.server - (name: servers.${name}.lspConfig); + vim.lsp.lspconfig.sources = let + serverList = + if isList cfg.lsp.server + then cfg.lsp.server + else [cfg.lsp.server]; + in + lib.genAttrs serverList (name: servers.${name}.lspConfig); }) (mkIf cfg.format.enable { From 507ac8e1811093dedcac5db2a70c4e451df65520 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Thu, 23 Jan 2025 18:51:37 +0100 Subject: [PATCH 10/13] change: use toList instead of if-else statements --- configuration.nix | 5 ++++- modules/plugins/languages/python.nix | 16 ++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/configuration.nix b/configuration.nix index 2159edc83..8c41607b4 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,7 +59,10 @@ isMaximal: { go.enable = isMaximal; lua.enable = isMaximal; zig.enable = isMaximal; - python.enable = isMaximal; + python = { + enable = true; + lsp.server = ["basedpyright" "ruff"]; + }; typst.enable = isMaximal; rust = { enable = isMaximal; diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 0c80f6e5e..da60c9ef0 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -229,13 +229,7 @@ in { description = "python LSP server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; type = lib.types.attrsOf (either package (listOf str)); - default = let - serverList = - if isList cfg.lsp.server - then cfg.lsp.server - else [cfg.lsp.server]; - in - lib.genAttrs serverList (name: servers.${name}.package); + default = lib.genAttrs (lib.toList cfg.lsp.server) (name: servers.${name}.package); }; }; @@ -289,13 +283,7 @@ in { (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources = let - serverList = - if isList cfg.lsp.server - then cfg.lsp.server - else [cfg.lsp.server]; - in - lib.genAttrs serverList (name: servers.${name}.lspConfig); + vim.lsp.lspconfig.sources = lib.genAttrs (lib.toList cfg.lsp.server) (name: servers.${name}.lspConfig); }) (mkIf cfg.format.enable { From da7961f09bf3a72f6b9986087658836ffaad2e56 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Thu, 23 Jan 2025 18:53:29 +0100 Subject: [PATCH 11/13] revert: python isMaximal --- configuration.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/configuration.nix b/configuration.nix index 8c41607b4..2159edc83 100644 --- a/configuration.nix +++ b/configuration.nix @@ -59,10 +59,7 @@ isMaximal: { go.enable = isMaximal; lua.enable = isMaximal; zig.enable = isMaximal; - python = { - enable = true; - lsp.server = ["basedpyright" "ruff"]; - }; + python.enable = isMaximal; typst.enable = isMaximal; rust = { enable = isMaximal; From 2ec0a3aaec8726881ad54d3b1cac84e42a65be6f Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Thu, 23 Jan 2025 19:46:50 +0100 Subject: [PATCH 12/13] change: add example vim.languages.python.lsp.server --- modules/plugins/languages/python.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index da60c9ef0..998cd81b8 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -221,6 +221,10 @@ in { server = mkOption { description = "Python LSP server to use either as a single server or a list of servers"; + example = '' + server = "basedpyright; + server = ["basedpyright" "ruff"]; + ''; type = either (enum (attrNames servers)) (listOf (enum (attrNames servers))); default = defaultServer; }; From cbda2a2379bdf5622005d9347ca7722d20a3e3e4 Mon Sep 17 00:00:00 2001 From: QuiNzX Date: Sat, 25 Jan 2025 20:40:10 +0100 Subject: [PATCH 13/13] change: update inline inherit statements --- docs/release-notes/rl-0.8.md | 2 +- modules/plugins/languages/python.nix | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 657bc3c9e..1680b7c59 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -126,7 +126,7 @@ [QuiNzX](https://github.com/QuiNzX): -[ruff lsp]: (https://github.com/astral-sh/ruff) +[ruff]: (https://github.com/astral-sh/ruff) - Add ruff as lsp alongside other lsp servers in a list as an option. Under `vim.languages.python.lsp.server`. diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 998cd81b8..62db0a460 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -8,9 +8,10 @@ inherit (lib.options) mkEnableOption mkOption literalExpression; inherit (lib.meta) getExe; inherit (lib.modules) mkIf mkMerge; - inherit (lib.lists) isList; - inherit (lib.types) enum either listOf package str bool; + inherit (lib.lists) isList toList; + inherit (lib.types) enum either listOf package str bool attrsOf; inherit (lib.nvim.lua) expToLua; + inherit (lib) genAttrs; cfg = config.vim.languages.python; @@ -232,8 +233,8 @@ in { package = mkOption { description = "python LSP server package, or the command to run as a list of strings"; example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]''; - type = lib.types.attrsOf (either package (listOf str)); - default = lib.genAttrs (lib.toList cfg.lsp.server) (name: servers.${name}.package); + type = attrsOf (either package (listOf str)); + default = genAttrs (toList cfg.lsp.server) (name: servers.${name}.package); }; }; @@ -287,7 +288,7 @@ in { (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources = lib.genAttrs (lib.toList cfg.lsp.server) (name: servers.${name}.lspConfig); + vim.lsp.lspconfig.sources = genAttrs (toList cfg.lsp.server) (name: servers.${name}.lspConfig); }) (mkIf cfg.format.enable {