Skip to content

Commit 7086c78

Browse files
chore(nix): updates to use nixpkgs elixir 1.17 (#525)
* chore(nix): flake.lock: Update Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/57d6973abba7ea108bac64ae7629e7431e0199b6' (2024-06-12) → 'github:NixOS/nixpkgs/a71e967ef3694799d0c418c98332f7ff4cc5f6af' (2024-06-22) * chore(nix): use pkgs.elixir_1_17 and split package file
1 parent 164d3b2 commit 7086c78

File tree

4 files changed

+43
-53
lines changed

4 files changed

+43
-53
lines changed

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 3 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -18,28 +18,18 @@
1818
}: let
1919
inherit (nixpkgs) lib;
2020

21-
version = "0.23.0"; # x-release-please-version
22-
2321
# Helper to provide system-specific attributes
2422
forAllSystems = f:
2523
lib.genAttrs systems (system: let
2624
pkgs = nixpkgs.legacyPackages.${system};
2725
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: {
3727
elixir = final.elixir_1_17;
3828
# This will get upstreamed into nix-beam-flakes at some point
3929
rebar = prev.rebar.overrideAttrs (_old: {doCheck = false;});
4030
rebar3 = prev.rebar3.overrideAttrs (_old: {doCheck = false;});
4131
});
42-
elixir = otp.elixir;
32+
elixir = beamPackages.elixir_1_17;
4333
in
4434
f {inherit system pkgs zpkgs beamPackages elixir;});
4535

@@ -57,43 +47,7 @@
5747
elixir,
5848
...
5949
}: {
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; };
9751
});
9852

9953
devShells = forAllSystems ({

package.nix

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
lib,
3+
beamPackages,
4+
elixir,
5+
}:
6+
7+
beamPackages.mixRelease rec {
8+
pname = "next-ls";
9+
src = ./.;
10+
mixEnv = "prod";
11+
removeCookie = false;
12+
version = "0.23.0"; # x-release-please-version
13+
14+
inherit elixir;
15+
inherit (beamPackages) erlang;
16+
17+
mixFodDeps = beamPackages.fetchMixDeps {
18+
inherit src version elixir;
19+
pname = "next-ls-deps";
20+
hash = "sha256-4Rt5Q0fX+fbncvxyXdpIhgEvn9VYX/QDxDdnbanT21Q=";
21+
mixEnv = "prod";
22+
};
23+
24+
installPhase = ''
25+
mix release --no-deps-check --path $out plain
26+
echo "$out/bin/plain eval \"System.no_halt(true); Application.ensure_all_started(:next_ls)\" \"\$@\"" > "$out/bin/nextls"
27+
chmod +x "$out/bin/nextls"
28+
'';
29+
30+
meta = with lib; {
31+
license = licenses.mit;
32+
homepage = "https://www.elixir-tools.dev/next-ls/";
33+
description = "The language server for Elixir that just works";
34+
mainProgram = "nextls";
35+
};
36+
}

release-please-config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"include-component-in-tag": false,
99
"draft": true,
1010
"extra-files": [
11-
"flake.nix"
11+
"package.nix"
1212
]
1313
}
1414
}

0 commit comments

Comments
 (0)