nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 fetchFromGitHub,
4 idris2Packages,
5 makeWrapper,
6}:
7
8let
9 globalLibrariesPath =
10 let
11 idrName = "idris2-${idris2Packages.idris2.version}";
12 in
13 lib.makeSearchPath idrName (
14 [
15 "\\$HOME/.nix-profile/lib/"
16 "/run/current-system/sw/lib/"
17 "${idris2Packages.idris2}"
18 ]
19 ++ idris2Packages.idris2.prelude
20 );
21
22 inherit (idris2Packages) idris2Api;
23 lspLib = idris2Packages.buildIdris {
24 ipkgName = "lsp-lib";
25 version = "2025-08-14";
26 src = fetchFromGitHub {
27 owner = "idris-community";
28 repo = "LSP-lib";
29 rev = "ca77e80a392b8cfeee3aaeb150069957699cdb82";
30 hash = "sha256-maXHx/OrflIdV7XPfDCRShUGZekLbLOSFQPHnL6DxnI=";
31 };
32 idrisLibraries = [ ];
33 };
34
35 lspPkg = idris2Packages.buildIdris {
36 ipkgName = "idris2-lsp";
37 version = "2025-09-10";
38 src = fetchFromGitHub {
39 owner = "idris-community";
40 repo = "idris2-lsp";
41 rev = "81344545c134c8e7105ecf1fdd7a1caae6647035";
42 hash = "sha256-uYmg9Jd98RiO5SpRFox2xNAxY4nocPuK//zxuaIi/DM=";
43 };
44 idrisLibraries = [
45 idris2Api
46 lspLib
47 ];
48
49 nativeBuildInputs = [ makeWrapper ];
50 postInstall = ''
51 wrapProgram $out/bin/idris2-lsp \
52 --suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}"
53 '';
54
55 meta = {
56 description = "Language Server for Idris2";
57 mainProgram = "idris2-lsp";
58 homepage = "https://github.com/idris-community/idris2-lsp";
59 license = lib.licenses.bsd3;
60 maintainers = with lib.maintainers; [ mattpolzin ];
61 };
62 };
63in
64lspPkg.executable