diff --git a/manifest.dhall b/manifest.dhall
index 8f2f5dc3ac2f8f8e9d5c4970706abcf788b52dd6..59af2a429146747a5c6fc1c14b00aa1a075c6b00 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -660,6 +660,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "tasty-lua" "1.0.2"
     , callHackage "tasty-silver" "3.3.1.1"
     , callHackage "tasty-smallcheck" "0.8.2"
+    , callHackage "tasty-th" "0.1.7"
     , callHackage "tasty-quickcheck" "0.10.2"
     , callHackage "tasty-wai" "0.1.2.0"
     , callHackage "temporary" "1.3"
diff --git a/overlay.nix b/overlay.nix
index 10bc37a77f8fe7859b27eb0fd6b19d0b77fa0cae..c1582c5914c75eb22726e14c791f9d5374a08681 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -973,6 +973,8 @@ self: with pkgs.haskell.lib; {
 
   tasty-smallcheck = self.callPackage (./pkgs/tasty-smallcheck.nix) { };
 
+  tasty-th = self.callPackage (./pkgs/tasty-th.nix) { };
+
   tasty-wai = self.callPackage (./pkgs/tasty-wai.nix) { };
 
   temporary = self.callPackage (./pkgs/temporary.nix) { };
diff --git a/pkgs/tasty-th.nix b/pkgs/tasty-th.nix
new file mode 100644
index 0000000000000000000000000000000000000000..07024f41cdef197aadc72a68d1c658578f954b0b
--- /dev/null
+++ b/pkgs/tasty-th.nix
@@ -0,0 +1,34 @@
+{ mkDerivation
+, base
+, haskell-src-exts
+, lib
+, tasty
+, tasty-hunit
+, template-haskell
+}:
+mkDerivation {
+  pname = "tasty-th";
+  version = "0.1.7";
+  sha256 = "435aac8f317e2f8cb1aa96fb3f7c9003c1ac28e6d3ca4c3c23f5142178de512c";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    haskell-src-exts
+    tasty
+    template-haskell
+  ];
+  testHaskellDepends = [ base tasty-hunit ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/bennofs/tasty-th";
+  description = "Automatic tasty test case discovery using TH";
+  license = lib.licenses.bsd3;
+  broken = false;
+}