-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathflake.nix
33 lines (32 loc) · 1004 Bytes
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
inputs = {
flake-utils.url = "github:numtide/flake-utils";
melange.url = "github:melange-re/melange";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
outputs = { self, flake-utils, nixpkgs, ... }@inputs:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = (import nixpkgs { inherit system; }).extend
inputs.melange.overlays.default;
in {
devShells.default = pkgs.mkShell {
buildInputs = [
pkgs.ocamlPackages.dune_3
pkgs.ocamlPackages.melange
pkgs.ocamlPackages.mel
pkgs.ocamlPackages.ocaml
pkgs.nodejs-18_x
pkgs.reason
];
shellHook =
''
npm install && \
ln -sfn ${pkgs.ocamlPackages.melange}/lib/melange/runtime node_modules/melange && \
mel clean && \
mel build && \
NODE_ENV=production npx webpack build
'';
};
});
}