{ description = "A very basic flake"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; # Add support for ocaml package overlay ocaml-overlay.url = "github:nix-ocaml/nix-overlays"; ocaml-overlay.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, flake-utils, nixpkgs, ocaml-overlay }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ ocaml-overlay.overlays.default ]; }; # set ocaml packages' version ocamlPackages = pkgs.ocaml-ng.ocamlPackages_5_2; in { devShell = #let # #in pkgs.mkShell { buildInputs = with pkgs; [ ocaml ocamlPackages.ocaml-lsp ocamlPackages.findlib ocamlPackages.ocamlformat ocamlPackages.ocamlformat-rpc-lib ocamlPackages.utop dune_3 # Project deps ocamlPackages.eio_main ocamlPackages.caqti-eio ocamlPackages.caqti-driver-sqlite3 ocamlPackages.ocaml_sqlite3 ocamlPackages.dream ocamlPackages.cohttp-eio ocamlPackages.tyxml ocamlPackages.tyxml-ppx ocamlPackages.ppx_deriving ocamlPackages.ppx_deriving_yojson ocamlPackages.ppx_assert ocamlPackages.ppx_inline_test ]; }; }); }