summaryrefslogtreecommitdiff
path: root/2024/OCaml/flake.nix
blob: 74a5dc6e7c206f1d23a3d0f4864ad69043960d2d (plain)
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
34
35
36
37
38
39
40
41
42
43
44
{
  description = "Advent of Code 2024: OCaml";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
  };

  outputs =
    { nixpkgs, ... }:
    let
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
    in
    {
      devShells.x86_64-linux.default =
        let
          ocamlPackages = pkgs.ocaml-ng.ocamlPackages_5_2;
        in
        pkgs.mkShell {
          # build tools
          nativeBuildInputs = with ocamlPackages; [
            pkgs.opam
            ocaml
            findlib
            dune_3
          ];
          # dependencies
          buildInputs = with ocamlPackages; [
            bisect_ppx
            findlib
            menhir
            ocaml-lsp
            earlybird
            ocamlformat
            ocamlgraph
            odoc
            ounit2
            re2
            utop

            pkgs.gh # GitHub CLI
          ];
        };
    };
}