diff --git a/manifest.dhall b/manifest.dhall
index 3ea543afb53abe6eae186324af3b33034bda38f5..5c76715ae7a5a1a493d89bfdb59f5725e1563ec1 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -294,6 +294,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "parallel" "3.2.2.0"
     , callHackage "pcg-random" "0.1.3.7"
     , callHackage "persistent" "2.14.3.0"
+    , callHackage "pg-transact" "0.3.2.0"
     , callHackage "polysemy" "1.7.1.0"
     , callHackage "polysemy-extra" "0.2.1.0"
     , callHackage "polysemy-kvstore" "0.1.3.0"
diff --git a/overlay.nix b/overlay.nix
index 1bc1aceab98c2530dc771f1af8e87dd0e98a9cd7..bf381c709cb149aadc36e5b885341faa103ed4d9 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -351,6 +351,8 @@ final: prev: with pkgs.haskell.lib; {
 
     persistent = prev.callPackage (./pkgs/persistent.nix) { };
 
+    pg-transact = prev.callPackage (./pkgs/pg-transact.nix) { };
+
     polysemy = prev.callPackage (./pkgs/polysemy.nix) { };
 
     polysemy-extra = prev.callPackage (./pkgs/polysemy-extra.nix) { };
diff --git a/pkgs/pg-transact.nix b/pkgs/pg-transact.nix
new file mode 100644
index 0000000000000000000000000000000000000000..44951201932dd0a2db58279edb8a12bb1c9a37ae
--- /dev/null
+++ b/pkgs/pg-transact.nix
@@ -0,0 +1,27 @@
+{ mkDerivation, async, base, bytestring, criterion, deepseq
+, exceptions, hspec, hspec-expectations-lifted, lib, monad-control
+, postgresql-libpq, postgresql-simple, tmp-postgres, transformers
+}:
+mkDerivation {
+  pname = "pg-transact";
+  version = "0.3.2.0";
+  sha256 = "af109e82fee758d159654b9c02c396197852cbd909b5f02dbbd4ef0613270432";
+  libraryHaskellDepends = [
+    base bytestring exceptions monad-control postgresql-simple
+    transformers
+  ];
+  testHaskellDepends = [
+    async base bytestring exceptions hspec hspec-expectations-lifted
+    postgresql-libpq postgresql-simple tmp-postgres
+  ];
+  benchmarkHaskellDepends = [
+    base criterion deepseq postgresql-simple tmp-postgres
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/jfischoff/pg-transact#readme";
+  description = "A postgresql-simple transaction monad";
+  license = lib.licenses.bsd3;
+}
\ No newline at end of file