diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..2ad52bd --- /dev/null +++ b/default.nix @@ -0,0 +1,33 @@ +with import {}; + +let + ocamlPackages = pkgs.recurseIntoAttrs pkgs.ocamlPackages_latest; + ocamlVersion = (builtins.parseDrvName ocamlPackages.ocaml.name).version; + findlibSiteLib = "${ocamlPackages.findlib}/lib/ocaml/${ocamlVersion}/site-lib"; + ocamlInit = pkgs.writeText "ocamlinit" '' + let () = + try Topdirs.dir_directory "${findlibSiteLib}" + with Not_found -> () + ;; + + #use "topfind";; + #thread;; + #require "core";; + #require "core.syntax";; + ''; +in +stdenv.mkDerivation rec { + name = "rwo-shell"; + src = null; + buildInputs = with ocamlPackages; + [ ocaml + core + core_extended + findlib + utop + ]; + shellHook = '' + alias utop="utop -init ${ocamlInit}" + alias ocaml="ocaml -init ${ocamlInit}" + ''; +}