diff --git a/manifest.dhall b/manifest.dhall
index 013a6af172007108c3489b52462dda1d7e102c3a..6f521dd4787ce2ff5f52b30ec4f1027bb7984de3 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -502,6 +502,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "rebase" "1.16"
     , callHackage "reducers" "3.12.4"
     , callHackage "regex-applicative" "0.3.4"
+    , callHackage "regex-base" "0.94.0.2"
     , callHackage "regex-tdfa" "1.3.2"
     , callHackage "regex-posix" "0.96.0.1"
     , callHackage "refined" "0.8"
diff --git a/overlay.nix b/overlay.nix
index 3e80d6d972a14c2d77dc1f8e78c6e068f970edfc..add844e6e3291e6879b64ab09875d3ac6cd513a4 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -721,6 +721,8 @@ self: with pkgs.haskell.lib; {
 
   regex-applicative = self.callPackage (./pkgs/regex-applicative.nix) { };
 
+  regex-base = self.callPackage (./pkgs/regex-base.nix) { };
+
   regex-posix = self.callPackage (./pkgs/regex-posix.nix) { };
 
   regex-tdfa = self.callPackage (./pkgs/regex-tdfa.nix) { };
diff --git a/pkgs/regex-base.nix b/pkgs/regex-base.nix
new file mode 100644
index 0000000000000000000000000000000000000000..38cc3c96dfd1d4a48c757ca8951a322e42d62075
--- /dev/null
+++ b/pkgs/regex-base.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, array, base, bytestring, containers, lib, text }:
+mkDerivation {
+  pname = "regex-base";
+  version = "0.94.0.2";
+  sha256 = "7b99408f580f5bb67a1c413e0bc735886608251331ad36322020f2169aea2ef1";
+  revision = "1";
+  editedCabalFile = "1k2gzjm7xz69f7zr08wh2wzb5dhb659cvimsvx0g9p8cf5f45x2g";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ array base bytestring containers text ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://wiki.haskell.org/Regular_expressions";
+  description = "Common \"Text.Regex.*\" API for Regex matching";
+  license = lib.licenses.bsd3;
+  broken = false;
+}