Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 63 lines 1.6 kB view raw
1{ 2 lib, 3 fetchFromGitHub, 4 idris2Packages, 5 makeWrapper, 6}: 7 8let 9 globalLibraries = 10 let 11 idrName = "idris2-${idris2Packages.idris2.version}"; 12 libSuffix = "lib/${idrName}"; 13 in 14 [ 15 "\\$HOME/.nix-profile/lib/${idrName}" 16 "/run/current-system/sw/lib/${idrName}" 17 "${idris2Packages.idris2}/${idrName}" 18 ]; 19 globalLibrariesPath = builtins.concatStringsSep ":" globalLibraries; 20 21 inherit (idris2Packages) idris2Api; 22 lspLib = idris2Packages.buildIdris { 23 ipkgName = "lsp-lib"; 24 version = "2024-01-21"; 25 src = fetchFromGitHub { 26 owner = "idris-community"; 27 repo = "LSP-lib"; 28 rev = "03851daae0c0274a02d94663d8f53143a94640da"; 29 hash = "sha256-ICW9oOOP70hXneJFYInuPY68SZTDw10dSxSPTW4WwWM="; 30 }; 31 idrisLibraries = [ ]; 32 }; 33 34 lspPkg = idris2Packages.buildIdris { 35 ipkgName = "idris2-lsp"; 36 version = "2024-01-21"; 37 src = fetchFromGitHub { 38 owner = "idris-community"; 39 repo = "idris2-lsp"; 40 rev = "a77ef2d563418925aa274fa29f06880dde43f4ec"; 41 hash = "sha256-zjfVfkpiQS9AdmTfq0hYRSelJq5Caa9VGTuFLtSvl5o="; 42 }; 43 idrisLibraries = [ 44 idris2Api 45 lspLib 46 ]; 47 48 nativeBuildInputs = [ makeWrapper ]; 49 postInstall = '' 50 wrapProgram $out/bin/idris2-lsp \ 51 --suffix IDRIS2_PACKAGE_PATH ':' "${globalLibrariesPath}" 52 ''; 53 54 meta = with lib; { 55 description = "Language Server for Idris2"; 56 mainProgram = "idris2-lsp"; 57 homepage = "https://github.com/idris-community/idris2-lsp"; 58 license = licenses.bsd3; 59 maintainers = with maintainers; [ mattpolzin ]; 60 }; 61 }; 62in 63lspPkg.executable