Commit 7cb44f20 authored by Jan Solanti's avatar Jan Solanti
Browse files

zed-editor: make node-based built-in LSPs work on NixOS

Since version 0.155.2 Zed has checked PATH for a node.js binary before
attempting to download its own. Make use of this by prepending a
nixpkgs-provided node.js into PATH via a wrapper script around the main
`zed-editor` binary.
parent 5c0f512a
Loading
Loading
Loading
Loading
+19 −11
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@
  git,
  apple-sdk_15,
  darwinMinVersionHook,
  makeWrapper,
  nodePackages_latest,

  withGLES ? false,
}:
@@ -138,7 +140,8 @@ rustPlatform.buildRustPackage rec {
    };
  };

  nativeBuildInputs = [
  nativeBuildInputs =
    [
      clang
      cmake
      copyDesktopItems
@@ -148,7 +151,9 @@ rustPlatform.buildRustPackage rec {
      protobuf
      rustPlatform.bindgenHook
      cargo-about
  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ cargo-bundle ];
    ]
    ++ lib.optionals stdenv.hostPlatform.isLinux [ makeWrapper ]
    ++ lib.optionals stdenv.hostPlatform.isDarwin [ cargo-bundle ];

  dontUseCmakeConfigure = true;

@@ -215,6 +220,9 @@ rustPlatform.buildRustPackage rec {
  postFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
    patchelf --add-rpath ${gpu-lib}/lib $out/libexec/*
    patchelf --add-rpath ${wayland}/lib $out/libexec/*
    wrapProgram $out/libexec/zed-editor --suffix PATH : ${
      lib.makeBinPath [ nodePackages_latest.nodejs ]
    }
  '';

  preCheck = ''