diff --git a/manifest.dhall b/manifest.dhall
index fd61e373ea1794b3fbe77b4b6a558dc02562e3ed..bcc2fd7efd96c3d8114509da5c0b32c3aec50e29 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -74,6 +74,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "aeson-pretty" "0.8.9"
     , callHackage "aeson-yaml" "1.1.0.1"
     , callHackage "ansi-terminal" "0.11.3"
+    , callHackage "ansi-wl-pprint" "0.6.9"
     , callHackage "apecs" "0.9.4"
     , callHackage "assoc" "1.0.2"
     , callHackage "async" "2.2.4"
diff --git a/overlay.nix b/overlay.nix
index 003d43ea001990c35ecb8fc61775df0b459ec1e7..83c388c96b909eec1da7328d5d525e47b2c0d824 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -31,6 +31,8 @@ final: prev: with pkgs.haskell.lib; {
 
   ansi-terminal = prev.callPackage (./pkgs/ansi-terminal.nix) { };
 
+  ansi-wl-pprint = prev.callPackage (./pkgs/ansi-wl-pprint.nix) { };
+
   apecs = prev.callPackage (./pkgs/apecs.nix) { };
 
   assoc = prev.callPackage (./pkgs/assoc.nix) { };
diff --git a/pkgs/ansi-wl-pprint.nix b/pkgs/ansi-wl-pprint.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e7e546b506f3d9e3926d58bf0a37fd2ea8c57fb1
--- /dev/null
+++ b/pkgs/ansi-wl-pprint.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, ansi-terminal, base, lib }:
+mkDerivation {
+  pname = "ansi-wl-pprint";
+  version = "0.6.9";
+  sha256 = "a7b2e8e7cd3f02f2954e8b17dc60a0ccd889f49e2068ebb15abfa1d42f7a4eac";
+  revision = "3";
+  editedCabalFile = "1km10sx7ldyv1vfyljik1gqnrwl7bnq2s5m40w41gc930vm48891";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ ansi-terminal base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/ekmett/ansi-wl-pprint";
+  description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
+  license = lib.licenses.bsd3;
+  broken = false;
+}