summaryrefslogtreecommitdiff
path: root/default.nix
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-03-29 16:57:51 -0400
committerFreya Murphy <freya@freyacat.org>2026-03-29 23:37:44 -0400
commite2f2dfca1e0ca4a53b879bac6fed65d18337b30d (patch)
tree63df62130fa497ec57eabdd68edeebee7e2d2892 /default.nix
downloadkotlin-lsp.nix-main.tar.gz
kotlin-lsp.nix-main.tar.bz2
kotlin-lsp.nix-main.zip
get kotlin-lsp workingHEADmain
Diffstat (limited to 'default.nix')
-rw-r--r--default.nix57
1 files changed, 57 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..8647ec4
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,57 @@
+{
+ lib,
+ stdenv,
+ fetchzip,
+ openjdk,
+ gradle,
+ makeWrapper,
+ maven,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "kotlin-lsp";
+ version = "262.2310.0";
+ src = fetchzip {
+ url = "https://download-cdn.jetbrains.com/kotlin-lsp/${finalAttrs.version}/kotlin-lsp-${finalAttrs.version}-linux-x64.zip";
+ hash = "sha256-Bf2qkFpNhQC/Mz563OapmCXeKN+dTrYyQbOcF6z6b48=";
+ stripRoot = false;
+ };
+
+ dontBuild = true;
+
+ installPhase = ''
+ # copy files
+ mkdir -p $out/share/kotlin-lsp/{lib,native}
+ cp -r lib/* $out/share/kotlin-lsp/lib
+ cp -r native/* $out/share/kotlin-lsp/native
+ cp kotlin-lsp.sh $out/share/kotlin-lsp/kotlin-lsp
+ chmod +x $out/share/kotlin-lsp/kotlin-lsp
+
+ # wrap openjdk
+ ln -sf ${openjdk}/lib/openjdk $out/share/kotlin-lsp/jre
+
+ # wrap program
+ mkdir -p $out/bin
+ makeWrapper $out/share/kotlin-lsp/kotlin-lsp $out/bin/kotlin-lsp \
+ --set JAVA_HOME ${openjdk} \
+ --prefix PATH : ${lib.strings.makeBinPath [ openjdk maven ]}
+ '';
+
+ nativeBuildInputs = [
+ gradle
+ makeWrapper
+ ];
+
+ buildInputs = [
+ openjdk
+ gradle
+ ];
+
+ meta = {
+ description = "Kotlin language server";
+ homepage = "https://github.com/Kotlin/kotlin-lsp";
+ license = lib.licenses.asl20;
+ platforms = [ "x86_64-linux" ];
+ mainProgram = "kotlin-lsp";
+ };
+})