diff --git a/configuration.nix b/configuration.nix index 2159edc8..8c41607b 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 0c80f6e5..da60c9ef 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 {