|
18 | 18 | }: let
|
19 | 19 | inherit (nixpkgs) lib;
|
20 | 20 |
|
21 |
| - version = "0.23.0"; # x-release-please-version |
22 |
| - |
23 | 21 | # Helper to provide system-specific attributes
|
24 | 22 | forAllSystems = f:
|
25 | 23 | lib.genAttrs systems (system: let
|
26 | 24 | pkgs = nixpkgs.legacyPackages.${system};
|
27 | 25 | zpkgs = zigpkgs.legacyPackages.${system};
|
28 |
| - beamPackages = pkgs.beam_minimal.packages.erlang_27; |
29 |
| - otp = (pkgs.beam.packagesWith beamPackages.erlang).extend (final: prev: { |
30 |
| - elixir_1_17 = prev.elixir_1_16.override { |
31 |
| - rev = "v1.17.0"; |
32 |
| - # You can discover this using Trust On First Use by filling in `lib.fakeHash` |
33 |
| - sha256 = "sha256-RBylCfD+aCsvCqWUIvqXi3izNqqQoNfQNnQiZxz0Igg="; |
34 |
| - version = "1.17.0"; |
35 |
| - }; |
36 |
| - |
| 26 | + beamPackages = pkgs.beam_minimal.packages.erlang_27.extend (final: prev: { |
37 | 27 | elixir = final.elixir_1_17;
|
38 | 28 | # This will get upstreamed into nix-beam-flakes at some point
|
39 | 29 | rebar = prev.rebar.overrideAttrs (_old: {doCheck = false;});
|
40 | 30 | rebar3 = prev.rebar3.overrideAttrs (_old: {doCheck = false;});
|
41 | 31 | });
|
42 |
| - elixir = otp.elixir; |
| 32 | + elixir = beamPackages.elixir_1_17; |
43 | 33 | in
|
44 | 34 | f {inherit system pkgs zpkgs beamPackages elixir;});
|
45 | 35 |
|
|
57 | 47 | elixir,
|
58 | 48 | ...
|
59 | 49 | }: {
|
60 |
| - default = lib.makeOverridable ({ |
61 |
| - localBuild, |
62 |
| - beamPackages, |
63 |
| - elixir, |
64 |
| - }: |
65 |
| - beamPackages.mixRelease { |
66 |
| - pname = "next-ls"; |
67 |
| - src = self.outPath; |
68 |
| - mixEnv = "prod"; |
69 |
| - removeCookie = false; |
70 |
| - inherit version elixir; |
71 |
| - inherit (beamPackages) erlang; |
72 |
| - |
73 |
| - mixFodDeps = beamPackages.fetchMixDeps { |
74 |
| - src = self.outPath; |
75 |
| - inherit version elixir; |
76 |
| - pname = "next-ls-deps"; |
77 |
| - hash = "sha256-4Rt5Q0fX+fbncvxyXdpIhgEvn9VYX/QDxDdnbanT21Q="; |
78 |
| - mixEnv = "prod"; |
79 |
| - }; |
80 |
| - |
81 |
| - installPhase = '' |
82 |
| - mix release --no-deps-check --path $out plain |
83 |
| - echo "$out/bin/plain eval \"System.no_halt(true); Application.ensure_all_started(:next_ls)\" \"\$@\"" > "$out/bin/nextls" |
84 |
| - chmod +x "$out/bin/nextls" |
85 |
| - ''; |
86 |
| - |
87 |
| - meta = with lib; { |
88 |
| - license = licenses.mit; |
89 |
| - homepage = "https://www.elixir-tools.dev/next-ls/"; |
90 |
| - description = "The language server for Elixir that just works"; |
91 |
| - mainProgram = "nextls"; |
92 |
| - }; |
93 |
| - }) { |
94 |
| - inherit beamPackages elixir; |
95 |
| - localBuild = true; |
96 |
| - }; |
| 50 | + default = pkgs.callPackage ./package.nix { inherit beamPackages elixir; }; |
97 | 51 | });
|
98 | 52 |
|
99 | 53 | devShells = forAllSystems ({
|
|
0 commit comments