diff --git a/manifest.dhall b/manifest.dhall
index 95af796bffffd6da76288468b45b004bb8f72df2..2e3a11264e2c90313611867d7e893a9aaa2b0547 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -100,6 +100,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "bitvec" "1.1.3.0"
     , callHackage "binary-orphans" "1.0.3"
     , callHackage "blaze-html" "0.9.1.2"
+    , callHackage "blaze-textual" "0.2.2.1"
     , callHackage "blaze-markup" "0.8.2.8"
     , callHackage "boring" "0.2"
     , callHackage "bsb-http-chunked" "0.0.0.4"
diff --git a/overlay.nix b/overlay.nix
index 8c09e4d5c2d773b3e47b3afab31ab815f769b7bd..a2def313a81d9d4daf71616d86320a47e684ae70 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -85,6 +85,8 @@ final: prev: with pkgs.haskell.lib; {
 
   blaze-markup = prev.callPackage (./pkgs/blaze-markup.nix) { };
 
+  blaze-textual = prev.callPackage (./pkgs/blaze-textual.nix) { };
+
   boring = prev.callPackage (./pkgs/boring.nix) { };
 
   breakpoint = prev.callPackage (./pkgs/breakpoint.nix) { };
diff --git a/pkgs/blaze-textual.nix b/pkgs/blaze-textual.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a85f57a77a89dd56bb890ac4fb9a1b1937d85abf
--- /dev/null
+++ b/pkgs/blaze-textual.nix
@@ -0,0 +1,55 @@
+{ mkDerivation
+, base
+, blaze-builder
+, bytestring
+, double-conversion
+, ghc-prim
+, integer-gmp
+, lib
+, old-locale
+, QuickCheck
+, test-framework
+, test-framework-quickcheck2
+, text
+, time
+, vector
+}:
+mkDerivation {
+  pname = "blaze-textual";
+  version = "0.2.2.1";
+  sha256 = "7a9199740189f435b762d98e65f5d7c0c7a1467e36c11210a8d65e76a5e5567e";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    blaze-builder
+    bytestring
+    ghc-prim
+    integer-gmp
+    old-locale
+    text
+    time
+    vector
+  ];
+  testHaskellDepends = [
+    base
+    blaze-builder
+    bytestring
+    double-conversion
+    QuickCheck
+    test-framework
+    test-framework-quickcheck2
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/bos/blaze-textual";
+  description = "Fast rendering of common datatypes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}