From 3f7e8aa057ea893817fb4479fbf3d407cda46a4e Mon Sep 17 00:00:00 2001 From: Charles Hall Date: Fri, 23 Jun 2023 14:11:14 -0700 Subject: [PATCH 1/2] ruff-lsp: promote to top level --- .../language-servers}/ruff-lsp/default.nix | 0 pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/python-aliases.nix | 1 + pkgs/top-level/python-packages.nix | 2 -- 4 files changed, 3 insertions(+), 2 deletions(-) rename pkgs/development/{python-modules => tools/language-servers}/ruff-lsp/default.nix (100%) diff --git a/pkgs/development/python-modules/ruff-lsp/default.nix b/pkgs/development/tools/language-servers/ruff-lsp/default.nix similarity index 100% rename from pkgs/development/python-modules/ruff-lsp/default.nix rename to pkgs/development/tools/language-servers/ruff-lsp/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b87dde10d79c..2ddc3c979284 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17874,6 +17874,8 @@ with pkgs; rnix-lsp = callPackage ../development/tools/language-servers/rnix-lsp { }; + ruff-lsp = python3Packages.callPackage ../development/tools/language-servers/ruff-lsp { }; + svls = callPackage ../development/tools/language-servers/svls { }; typst-lsp = callPackage ../development/tools/language-servers/typst-lsp { }; diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix index 672e42ae71da..c8418129950c 100644 --- a/pkgs/top-level/python-aliases.nix +++ b/pkgs/top-level/python-aliases.nix @@ -291,6 +291,7 @@ mapAliases ({ ruamel_base = ruamel-base; # added 2021-11-01 ruamel_yaml = ruamel-yaml; # added 2021-11-01 ruamel_yaml_clib = ruamel-yaml-clib; # added 2021-11-01 + inherit (super.pkgs) ruff-lsp; # added 2023-06-23 runway-python = throw "SDK has been deprecated and was archived by upstream"; # added 2023-05-03 sapi-python-client = kbcstorage; # added 2022-04-20 scikitimage = scikit-image; # added 2023-05-14 diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 2d213d02d141..b7d01fa1c98b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10857,8 +10857,6 @@ self: super: with self; { rubymarshal = callPackage ../development/python-modules/rubymarshal { }; - ruff-lsp = callPackage ../development/python-modules/ruff-lsp { }; - ruffus = callPackage ../development/python-modules/ruffus { }; rules = callPackage ../development/python-modules/rules { }; From 89bb97bfe1f15f3ebcd730858e1d05e90bfbb0d7 Mon Sep 17 00:00:00 2001 From: Charles Hall Date: Fri, 23 Jun 2023 14:11:51 -0700 Subject: [PATCH 2/2] ruff-lsp: don't use ambient PYTHONPATH This allows `ruff-lsp` to function in Python environments that contain dependencies that would otherwise break `ruff-lsp`. --- pkgs/development/tools/language-servers/ruff-lsp/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/development/tools/language-servers/ruff-lsp/default.nix b/pkgs/development/tools/language-servers/ruff-lsp/default.nix index 8d885ab98a2b..d3169a0191ac 100644 --- a/pkgs/development/tools/language-servers/ruff-lsp/default.nix +++ b/pkgs/development/tools/language-servers/ruff-lsp/default.nix @@ -53,6 +53,11 @@ buildPythonPackage rec { makeWrapperArgs = [ # prefer ruff from user's PATH, that's usually desired behavior "--suffix PATH : ${lib.makeBinPath [ ruff ]}" + + # Unset ambient PYTHONPATH in the wrapper, so ruff-lsp only ever runs with + # its own, isolated set of dependencies. This works because the correct + # PYTHONPATH is set in the Python script, which runs after the wrapper. + "--unset PYTHONPATH" ]; meta = with lib; {