1{
2 inputs = {
3
4 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
5
6 gitignore = {
7 url = "github:hercules-ci/gitignore.nix";
8 inputs.nixpkgs.follows = "nixpkgs";
9 };
10
11 };
12
13 outputs =
14 { self
15 , nixpkgs
16 , gitignore
17 }:
18 let
19 inherit (gitignore.lib) gitignoreSource;
20
21 supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
22 forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
23 nixpkgsFor = forAllSystems (system:
24 import nixpkgs {
25 inherit system;
26 });
27
28 in
29 {
30
31 devShell = forAllSystems (system:
32 let
33 pkgs = nixpkgsFor."${system}";
34 in
35 pkgs.mkShell {
36 nativeBuildInputs = [
37 pkgs.ocaml
38 pkgs.opam
39 pkgs.ocamlPackages.utop
40 pkgs.ocamlPackages.dune_3
41 ];
42 });
43 };
44}
45