diff --git a/pkgs/development/tools/ocaml/merlin/default.nix b/pkgs/development/tools/ocaml/merlin/default.nix
new file mode 100644
index 00000000000..c0882439f5c
--- /dev/null
+++ b/pkgs/development/tools/ocaml/merlin/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchurl, ocaml, findlib, easy-format, biniou, yojson, menhir}:
+stdenv.mkDerivation {
+
+  name = "merlin-1.6";
+
+  src = fetchurl {
+    url = "https://github.com/the-lambda-church/merlin/archive/v1.6.tar.gz";
+    sha256 = "0wq75hgffaszazrhkl0nfjxgx8bvazi2sjannd8q64hvax8hxzcy";
+  };
+
+  buildInputs = [ ocaml findlib biniou yojson menhir easy-format ];
+
+  prefixKey = "--prefix ";
+
+  meta = {
+    description = "An editor-independant tool to ease the developpement of programs in OCaml";
+    homepage = "http://the-lambda-church.github.io/merlin/";
+    license = stdenv.lib.licenses.mit;
+  };
+}
+
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1feff6dda6d..2210ccb4488 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3218,6 +3218,8 @@ let
 
     menhir = callPackage ../development/ocaml-modules/menhir { };
 
+    merlin = callPackage ../development/tools/ocaml/merlin { };
+
     mldonkey = callPackage ../applications/networking/p2p/mldonkey { };
 
     mlgmp =  callPackage ../development/ocaml-modules/mlgmp { };