diff --git a/manifest.dhall b/manifest.dhall
index b01f7a8fefc2625ed508c53739c52a74e47a4793..8f6528d41a44ba325c4b4c2d561413b180f40968 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -212,6 +212,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "distribution-nixpkgs" "1.7.0"
     , callHackage "distributive" "0.6.2.1"
     , callHackage "dlist" "1.0"
+    , callHackage "doclayout" "0.4"
     , callCabal2nix
         "doctest"
         "https://github.com/sol/doctest"
diff --git a/overlay.nix b/overlay.nix
index f63034f9db6050bfc5b7bb5e9bb6bfdf8f251eee..1af6281100f7082d2327e66b3cf0a6fd81c5ebf2 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -269,6 +269,8 @@ self: with pkgs.haskell.lib; {
 
   dlist = self.callPackage (./pkgs/dlist.nix) { };
 
+  doclayout = self.callPackage (./pkgs/doclayout.nix) { };
+
   doctemplates = self.callPackage (./pkgs/doctemplates.nix) { };
 
   doctest = self.callPackage (./pkgs/doctest.nix) { };
diff --git a/pkgs/doclayout.nix b/pkgs/doclayout.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ca4f43141b62062f095066ea00854a5d184d6ea9
--- /dev/null
+++ b/pkgs/doclayout.nix
@@ -0,0 +1,55 @@
+{ mkDerivation
+, base
+, containers
+, criterion
+, deepseq
+, emojis
+, lib
+, mtl
+, safe
+, tasty
+, tasty-golden
+, tasty-hunit
+, tasty-quickcheck
+, text
+}:
+mkDerivation {
+  pname = "doclayout";
+  version = "0.4";
+  sha256 = "7d2ede4024d1f5e5d918fd799f7e046b03023434e327bc1e1c1402eeb8ffb3a3";
+  revision = "1";
+  editedCabalFile = "0djwb7nrdablc0iy1qakrxpd4m7nn0w94vhb78il3jhjbj2ji179";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [ base containers emojis mtl safe text ];
+  testHaskellDepends = [
+    base
+    emojis
+    mtl
+    tasty
+    tasty-golden
+    tasty-hunit
+    tasty-quickcheck
+    text
+  ];
+  benchmarkHaskellDepends = [
+    base
+    criterion
+    deepseq
+    emojis
+    mtl
+    text
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/jgm/doclayout";
+  description = "A prettyprinting library for laying out text documents";
+  license = lib.licenses.bsd3;
+  broken = false;
+}