We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
pipa / flake.nix
1
{
2
description = "Pipa Index";
3
4
inputs = {
5
nixpkgs.url = "github:NixOS/nixpkgs/539a8b7cd027b667fd01ec763dff2fbb1d585908";
6
fenix = {
7
url = "github:nix-community/fenix";
8
inputs.nixpkgs.follows = "nixpkgs";
9
};
10
};
11
12
outputs =
13
{
14
nixpkgs,
15
fenix,
16
...
17
}:
18
let
19
systems = [
20
"aarch64-darwin"
21
"aarch64-linux"
22
"x86_64-darwin"
23
"x86_64-linux"
24
];
25
eachSystem = nixpkgs.lib.genAttrs systems;
26
overlays = [ fenix.overlays.default ];
27
partsForSystem = system: rec {
28
pkgs = import nixpkgs { inherit system overlays; };
29
erlang = pkgs.beam_minimal.interpreters.erlang_27;
30
beamPackages = pkgs.beam_minimal.packagesWith erlang;
31
elixir = beamPackages.elixir_1_18;
32
};
33
in
34
rec {
35
formatter = eachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
36
37
packages = eachSystem (
38
system:
39
let
40
inherit (partsForSystem system)
41
pkgs
42
erlang
43
beamPackages
44
elixir
45
;
46
package = pkgs.callPackage ./nix/package.nix {
47
inherit
48
beamPackages
49
erlang
50
elixir
51
fenix
52
;
53
};
54
in
55
rec {
56
default = pipa;
57
58
pipa = package;
59
}
60
);
61
62
devShells = eachSystem (
63
system:
64
let
65
mkShell = args: import ./nix/shell.nix (partsForSystem system // args);
66
in
67
rec {
68
default = dev;
69
70
dev = mkShell {
71
dbName = "pipa_dev";
72
mixEnv = "dev";
73
};
74
test = mkShell {
75
dbName = "pipa_test";
76
mixEnv = "test";
77
};
78
prod = mkShell {
79
dbName = "pipa_prod";
80
mixEnv = "prod";
81
};
82
}
83
);
84
85
darwinModules = nixpkgs.lib.genAttrs [ "aarch64-darwin" "x86_64-darwin" ] (
86
system:
87
let
88
pkgs = nixpkgs.legacyPackages.${system};
89
in
90
rec {
91
default = pipa;
92
93
pipa = pkgs.callPackage ./nix/module.nix {
94
inherit (packages.${system}) pipa;
95
};
96
}
97
);
98
};
99
}
100