{ stdenv, fetchurl, makeWrapper, jre }:# Add other dependencies here, as parameters to the function stdenv.mkDerivation rec { name = "eclipse-jdt-ls"; # name of the package sourceRoot = "."; src = fetchurl { # there's also fetchgit and other helpers url = "https://download.eclipse.org/jdtls/milestones/1.10.0/jdt-language-server-1.10.0-202204131925.tar.gz"; sha256 = "sPqvT/iBfK5gemwtVLeLqtYwbeOrkQT/JSsi6zPYIEk="; }; nativeBuildInputs = [ makeWrapper ]; buildInputs = [ ]; # just as example, autoconf needed if ... installPhase = '' mkdir -pv $out/share/java $out/bin cp -r ./plugins/ $out cp -r ./features/ $out cp -r ./bin/ $out makeWrapper ${jre}/bin/java $out/bin/eclipse-jdt-ls \ --add-flags "--add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED \ --add-opens java.base/java.lang=ALL-UNNAMED \ -noverify -Xmx1G \ -jar $out/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar \ -configuration ~/.config/eclipse/ \ -data ~/.eclipse/" \ --set _JAVA_OPTIONS "-Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 \ -Declipse.product=org.eclipse.jdt.ls.core.product \ -Dlog.level=ALL -Dfile.encoding=utf-8" ''; }