diff --git a/pkgs/development/ocaml-modules/posix/types.nix b/pkgs/development/ocaml-modules/posix/types.nix
new file mode 100644
index 000000000000..2512fe892c13
--- /dev/null
+++ b/pkgs/development/ocaml-modules/posix/types.nix
@@ -0,0 +1,15 @@
+{ lib, buildDunePackage, posix-base }:
+
+buildDunePackage {
+  pname = "posix-types";
+
+  inherit (posix-base) version src useDune2;
+
+  minimumOCamlVersion = "4.03";
+
+  propagatedBuildInputs = [ posix-base ];
+
+  meta = posix-base.meta // {
+    description = "Bindings for the types defined in <sys/types.h>";
+  };
+}
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index f510e67ab895..32bb7d337860 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -758,6 +758,8 @@ let
 
     posix-socket = callPackage ../development/ocaml-modules/posix/socket.nix { };
 
+    posix-types = callPackage ../development/ocaml-modules/posix/types.nix { };
+
     ppxfind = callPackage ../development/ocaml-modules/ppxfind { };
 
     ppxlib = callPackage ../development/ocaml-modules/ppxlib { };