Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
2.1 kB · 78 lines
Nix
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879{ lib, elixir, fetchpatch, fetchFromGitHub, makeWrapper, stdenv, nix-update-script,}:
stdenv.mkDerivation rec { pname = "elixir-ls"; version = "0.28.1";
src = fetchFromGitHub { owner = "elixir-lsp"; repo = "elixir-ls"; rev = "v${version}"; hash = "sha256-r4P+3MPniDNdF3SG2jfBbzHsoxn826eYd2tsv6bJBoI="; };
patches = [ # fix elixir deterministic support https://github.com/elixir-lsp/elixir-ls/pull/1216 # remove > 0.28.1 (fetchpatch { url = "https://github.com/elixir-lsp/elixir-ls/pull/1216.patch"; hash = "sha256-J1Q7XQXWYuCMq48e09deQU71DOElZ2zMTzrceZMky+0="; })
# patch wrapper script to remove elixir detection and inject necessary paths ./launch.sh.patch ];
nativeBuildInputs = [ makeWrapper ];
# for substitution env.elixir = elixir;
dontConfigure = true; dontBuild = true;
installPhase = '' cp -R . $out ln -s $out/VERSION $out/scripts/VERSION
substituteAllInPlace $out/scripts/launch.sh
mkdir -p $out/bin
makeWrapper $out/scripts/language_server.sh $out/bin/elixir-ls \ --set ELS_LOCAL "1"
makeWrapper $out/scripts/debug_adapter.sh $out/bin/elixir-debug-adapter \ --set ELS_LOCAL "1"
runHook postInstall '';
meta = with lib; { homepage = "https://github.com/elixir-lsp/elixir-ls"; description = '' A frontend-independent IDE "smartness" server for Elixir. Implements the "Language Server Protocol" standard and provides debugger support via the "Debug Adapter Protocol" ''; longDescription = '' The Elixir Language Server provides a server that runs in the background, providing IDEs, editors, and other tools with information about Elixir Mix projects. It adheres to the Language Server Protocol, a standard for frontend-independent IDE support. Debugger integration is accomplished through the similar VS Code Debug Protocol. ''; license = licenses.asl20; platforms = platforms.unix; mainProgram = "elixir-ls"; teams = [ teams.beam ]; }; passthru.updateScript = nix-update-script { };}