+4
nix/flake.nix
+4
nix/flake.nix
···
23
23
overlays = [
24
24
(import ./overlays/jpm.nix)
25
25
(import ./overlays/bleve.nix)
26
+
(final: prev: {
27
+
kotlin-lsp = final.callPackage ./overlays/kotlin-lsp.nix {};
28
+
})
26
29
];
27
30
};
28
31
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
···
68
71
pkgs.janet
69
72
pkgs.yarn
70
73
pkgs.jpm
74
+
pkgs.kotlin-lsp
71
75
pkgs.meld
72
76
pkgs.mprocs
73
77
pkgs.nodejs_24
+56
nix/overlays/kotlin-lsp.nix
+56
nix/overlays/kotlin-lsp.nix
···
1
+
{
2
+
lib,
3
+
stdenv,
4
+
fetchzip,
5
+
openjdk,
6
+
makeWrapper,
7
+
}:
8
+
9
+
stdenv.mkDerivation rec {
10
+
pname = "kotlin-lsp";
11
+
version = "0.253.10629";
12
+
src = fetchzip {
13
+
stripRoot = false;
14
+
url = "https://download-cdn.jetbrains.com/kotlin-lsp/${version}/kotlin-${version}.zip";
15
+
hash = "sha256-LCLGo3Q8/4TYI7z50UdXAbtPNgzFYtmUY/kzo2JCln0=";
16
+
};
17
+
18
+
dontBuild = true;
19
+
20
+
installPhase = ''
21
+
runHook preInstall
22
+
23
+
mkdir -p $out/lib
24
+
mkdir -p $out/native
25
+
mkdir -p $out/bin
26
+
cp -r lib/* $out/lib
27
+
cp -r native/* $out/native
28
+
chmod +x kotlin-lsp.sh
29
+
cp "kotlin-lsp.sh" "$out/kotlin-lsp.sh"
30
+
ln -s $out/kotlin-lsp.sh $out/bin/kotlin-lsp
31
+
32
+
runHook postInstall
33
+
'';
34
+
35
+
nativeBuildInputs = [
36
+
makeWrapper
37
+
];
38
+
39
+
postFixup = ''
40
+
wrapProgram "$out/bin/kotlin-lsp" --set JAVA_HOME ${openjdk} --prefix PATH : ${
41
+
lib.strings.makeBinPath [
42
+
openjdk
43
+
]
44
+
}
45
+
'';
46
+
47
+
meta = {
48
+
description = "LSP implementation for Kotlin code completion, linting";
49
+
homepage = "https://github.com/Kotlin/kotlin-lsp";
50
+
changelog = "https://github.com/Kotlin/kotlin-lsp/blob/kotlin-lsp/v${version}/RELEASES.md";
51
+
license = lib.licenses.asl20;
52
+
platforms = lib.platforms.unix;
53
+
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
54
+
mainProgram = "kotlin-lsp";
55
+
};
56
+
}