diff --git a/manifest.dhall b/manifest.dhall
index cba7ed444b318d244e977a5c2f295dba66e362c5..340e6c39116d0250dd4bf0b3eb4d3ea5efe284ca 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -709,6 +709,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "terminal-size" "0.3.3"
     , callHackage "test-framework" "0.8.2.0"
     , callHackage "test-framework-hunit" "0.3.0.2"
+    , callHackage "test-framework-th" "0.2.4"
     , callHackage "test-framework-quickcheck2" "0.3.0.5"
     , callHackage "texmath" "0.12.5.4"
     , callHackage "text-conversions" "0.3.1.1"
diff --git a/overlay.nix b/overlay.nix
index 09d5f23e42706a2704fb8ffec7b1e18a1933b9cc..efdc5ba1f833acd7c11525b04310cf9c7948a467 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1071,6 +1071,8 @@ self: with pkgs.haskell.lib; {
 
   test-framework-quickcheck2 = self.callPackage (./pkgs/test-framework-quickcheck2.nix) { };
 
+  test-framework-th = self.callPackage (./pkgs/test-framework-th.nix) { };
+
   texmath = self.callPackage (./pkgs/texmath.nix) { };
 
   text-conversions = self.callPackage (./pkgs/text-conversions.nix) { };
diff --git a/pkgs/test-framework-th.nix b/pkgs/test-framework-th.nix
new file mode 100644
index 0000000000000000000000000000000000000000..42dea59cb8b91e971c2636260a7b92e458b868b4
--- /dev/null
+++ b/pkgs/test-framework-th.nix
@@ -0,0 +1,36 @@
+{ mkDerivation
+, base
+, haskell-src-exts
+, language-haskell-extract
+, lib
+, regex-posix
+, template-haskell
+, test-framework
+}:
+mkDerivation {
+  pname = "test-framework-th";
+  version = "0.2.4";
+  sha256 = "8b780d9e3edd8d91e24f72d9fa1f80420e52959428ad7c22d0694901a43f9c8a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    haskell-src-exts
+    language-haskell-extract
+    regex-posix
+    template-haskell
+    test-framework
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/finnsson/test-generator";
+  description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
+  license = lib.licenses.bsd3;
+  broken = false;
+}