diff --git a/manifest.dhall b/manifest.dhall
index 7d168e892f6ccd3528458a04c4bc8fbb326ede25..0ea96beb55ace2835953de0f04749f7a813ca286 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -838,6 +838,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         (None Text)
     , callHackage "uglymemo" "0.1.0.1"
     , callHackage "unagi-chan" "0.4.1.4"
+    , callHackage "unbounded-delays" "0.1.1.1"
     , callHackage "unicode-collation" "0.1.3.2"
     , callHackage "unicode-data" "0.4.0"
     , callHackage "unicode-transforms" "0.4.0.1"
diff --git a/overlay.nix b/overlay.nix
index b02aa08edf13c77ebfc1111458e6a57bf56a185a..b8bf104cfe6469d6a35dbfcf7d54abd0878a4c0c 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1311,6 +1311,8 @@ self: with pkgs.haskell.lib; {
 
   unagi-chan = self.callPackage (./pkgs/unagi-chan.nix) { };
 
+  unbounded-delays = self.callPackage (./pkgs/unbounded-delays.nix) { };
+
   unicode-collation = self.callPackage (./pkgs/unicode-collation.nix) { };
 
   unicode-data = self.callPackage (./pkgs/unicode-data.nix) { };
diff --git a/pkgs/unbounded-delays.nix b/pkgs/unbounded-delays.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3936922d8136dba603ec139b1a82d0899c3e2e2d
--- /dev/null
+++ b/pkgs/unbounded-delays.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "unbounded-delays";
+  version = "0.1.1.1";
+  sha256 = "59ad7e53bfe32ffbf0e703b31490d41d14c70e4745ed49e8adf592ed68dd6185";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/basvandijk/unbounded-delays";
+  description = "Unbounded thread delays and timeouts";
+  license = lib.licenses.bsd3;
+  broken = false;
+}