diff --git a/manifest.dhall b/manifest.dhall
index 64c8e93e695b41a14b750cd40af810b22a771442..e2f7a63f670a4de0a2c8b1c59d257d17c1b40a1c 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -504,6 +504,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "mmorph" "1.2.0"
     , callHackage "mockery" "0.3.5"
     , callHackage "mod" "0.1.2.2"
+    , callHackage "monads-tf" "0.1.0.3"
     , callHackage "monad-control" "1.0.3.1"
     , callHackage "monad-logger" "0.3.37"
     , callHackage "monad-loops" "0.4.3"
diff --git a/overlay.nix b/overlay.nix
index 929f745624a98f8d4cb0916c6899ba983146fa7c..77b684807b432afd36b770256a1d9d7de21e6302 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -767,6 +767,8 @@ self: with pkgs.haskell.lib; {
 
   monad-time = self.callPackage (./pkgs/monad-time.nix) { };
 
+  monads-tf = self.callPackage (./pkgs/monads-tf.nix) { };
+
   mono-traversable = self.callPackage (./pkgs/mono-traversable.nix) { };
 
   monoid-subclasses = self.callPackage (./pkgs/monoid-subclasses.nix) { };
diff --git a/pkgs/monads-tf.nix b/pkgs/monads-tf.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e4dbb5acda146ff7180ef790c15630751a48b2c3
--- /dev/null
+++ b/pkgs/monads-tf.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib, transformers }:
+mkDerivation {
+  pname = "monads-tf";
+  version = "0.1.0.3";
+  sha256 = "249dd2aa55c4dd6530f1e49f6b052ec91bc590ecfef2bd24c58837a3f8d4b0f1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base transformers ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Monad classes, using type families";
+  license = lib.licenses.bsd3;
+  broken = false;
+}