nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 beamPackages,
4 makeWrapper,
5 fetchFromGitHub,
6 nixosTests,
7 nix-update-script,
8}:
9
10beamPackages.mixRelease rec {
11 pname = "livebook";
12 version = "0.18.3";
13
14 inherit (beamPackages) elixir;
15
16 buildInputs = [ beamPackages.erlang ];
17
18 nativeBuildInputs = [ makeWrapper ];
19
20 src = fetchFromGitHub {
21 owner = "livebook-dev";
22 repo = "livebook";
23 tag = "v${version}";
24 hash = "sha256-/FAHBSOmVoNj1YRaxLjZMoDhUTMcV7Zi/TsSwxS1SHo=";
25 };
26
27 mixFodDeps = beamPackages.fetchMixDeps {
28 pname = "mix-deps-${pname}";
29 inherit src version;
30 hash = "sha256-pfHzcYEEvj+x1/vLKhJ6bAsKGg19UisVK6h0xskhu74=";
31 };
32
33 postInstall = ''
34 wrapProgram $out/bin/livebook \
35 --prefix PATH : ${
36 lib.makeBinPath [
37 beamPackages.elixir
38 beamPackages.erlang
39 ]
40 } \
41 --set MIX_REBAR3 ${beamPackages.rebar3}/bin/rebar3
42 '';
43
44 passthru = {
45 updateScript = nix-update-script { };
46 tests = {
47 livebook-service = nixosTests.livebook-service;
48 };
49 };
50
51 meta = {
52 license = lib.licenses.asl20;
53 homepage = "https://livebook.dev/";
54 description = "Automate code & data workflows with interactive Elixir notebooks";
55 maintainers = with lib.maintainers; [
56 munksgaard
57 scvalex
58 ];
59 platforms = lib.platforms.unix;
60 teams = [ lib.teams.beam ];
61 };
62}