diff --git a/manifest.dhall b/manifest.dhall
index 81f7c4d189eaca8e958f3d8af9fe7b4f40420a57..20a4d2cdafec78b539c1772100f3ba2a84679981 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -715,6 +715,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "websockets" "0.12.7.3"
     , callHackage "witherable" "0.4.2"
     , callHackage "with-utf8" "1.0.2.3"
+    , callHackage "word-wrap" "0.5"
     , callHackage "x509-store" "1.6.9"
     , callHackage "x509-system" "1.6.7"
     , callHackage "x509-validation" "1.6.12"
diff --git a/overlay.nix b/overlay.nix
index 2013b536f7d96720c46d5b256a38c34bc8db372b..0ac2a09b12be807263ec3ce3c8c4cb429adc0e10 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1045,6 +1045,8 @@ self: with pkgs.haskell.lib; {
 
   witherable = self.callPackage (./pkgs/witherable.nix) { };
 
+  word-wrap = self.callPackage (./pkgs/word-wrap.nix) { };
+
   x509 = self.callPackage (./pkgs/x509.nix) { };
 
   x509-store = self.callPackage (./pkgs/x509-store.nix) { };
diff --git a/pkgs/word-wrap.nix b/pkgs/word-wrap.nix
new file mode 100644
index 0000000000000000000000000000000000000000..d24ff2d6663605625b7b0837c92edf392f4960a8
--- /dev/null
+++ b/pkgs/word-wrap.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, criterion, hspec, lib, text }:
+mkDerivation {
+  pname = "word-wrap";
+  version = "0.5";
+  sha256 = "f85f29ce003ca3e195ec95d49e350dfb713bf71db726270143375df2c610a744";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base text ];
+  testHaskellDepends = [ base hspec ];
+  benchmarkHaskellDepends = [ base criterion text ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/jtdaugherty/word-wrap/";
+  description = "A library for word-wrapping";
+  license = lib.licenses.bsd3;
+  broken = false;
+}