diff --git a/manifest.dhall b/manifest.dhall
index d8d7d0fbc7b70aa0e31a93e739d1ea3d7b6eaf6e..892e64bd07e9e64fddcdce66afbc3a917a696a3b 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -600,6 +600,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "tasty-smallcheck" "0.8.2"
     , callHackage "tasty-quickcheck" "0.10.2"
     , callHackage "tasty-wai" "0.1.2.0"
+    , callHackage "temporary" "1.3"
     , callHackage "test-framework" "0.8.2.0"
     , callHackage "test-framework-hunit" "0.3.0.2"
     , callHackage "test-framework-quickcheck2" "0.3.0.5"
diff --git a/overlay.nix b/overlay.nix
index 69684ba36b754f7a067ea75e12ce63a61cccb4d2..900505114c660d63bce50ee72da713188074353b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -839,6 +839,8 @@ self: with pkgs.haskell.lib; {
 
   tasty-wai = self.callPackage (./pkgs/tasty-wai.nix) { };
 
+  temporary = self.callPackage (./pkgs/temporary.nix) { };
+
   test-framework = self.callPackage (./pkgs/test-framework.nix) { };
 
   test-framework-hunit = self.callPackage (./pkgs/test-framework-hunit.nix) { };
diff --git a/pkgs/temporary.nix b/pkgs/temporary.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8777443dea07dd3a0d44932c76d59f2c63f22d67
--- /dev/null
+++ b/pkgs/temporary.nix
@@ -0,0 +1,50 @@
+{ mkDerivation
+, base
+, base-compat
+, directory
+, exceptions
+, filepath
+, lib
+, random
+, tasty
+, tasty-hunit
+, transformers
+, unix
+}:
+mkDerivation {
+  pname = "temporary";
+  version = "1.3";
+  sha256 = "8c442993694b5ffca823ce864af95bd2841fb5264ee511c61cf48cc71d879890";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    directory
+    exceptions
+    filepath
+    random
+    transformers
+    unix
+  ];
+  testHaskellDepends = [
+    base
+    base-compat
+    directory
+    filepath
+    tasty
+    tasty-hunit
+    unix
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/feuerbach/temporary";
+  description = "Portable temporary file and directory support";
+  license = lib.licenses.bsd3;
+  broken = false;
+}