diff --git a/flake.lock b/flake.lock
index d0d8755211a6e767b3b1bf1188ace8a4498a8aa8..a3093295d49ad2eb4e58ba9ebac802bb7fa2b37d 100644
--- a/flake.lock
+++ b/flake.lock
@@ -333,7 +333,8 @@
         "quickcheck-dynamic": "quickcheck-dynamic",
         "servant": "servant",
         "tasty": "tasty",
-        "tasty-hedgehog": "tasty-hedgehog"
+        "tasty-hedgehog": "tasty-hedgehog",
+        "unicode-data": "unicode-data"
       }
     },
     "servant": {
@@ -384,6 +385,22 @@
         "repo": "tasty-hedgehog",
         "type": "github"
       }
+    },
+    "unicode-data": {
+      "flake": false,
+      "locked": {
+        "lastModified": 1662029860,
+        "narHash": "sha256-2tD5Zp8Isn6rF/LCoFooywro4dckjPihoSw/x2Er/98=",
+        "owner": "composewell",
+        "repo": "unicode-data",
+        "rev": "a0b321e039a4049a4636f356ac11051b2d4feaae",
+        "type": "github"
+      },
+      "original": {
+        "owner": "composewell",
+        "repo": "unicode-data",
+        "type": "github"
+      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
index 1e7d2f38d8d943bff0127492a5ce73d0d8c33446..201155b83401490291a475061f04d6a759a52816 100644
--- a/flake.nix
+++ b/flake.nix
@@ -65,6 +65,10 @@
       url = "github:locallycompact/tasty-hedgehog";
       flake = false;
     };
+    unicode-data = {
+      url = "github:composewell/unicode-data";
+      flake = false;
+    };
   };
   outputs = inputs@{ self, nixpkgs, flake-utils, lint-utils, ... }:
     flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
diff --git a/overlay.nix b/overlay.nix
index 7210c968379d1e0b9e78d890026303278457ce73..cb55b691b41e3fd10cc4cf0f1eb7dbec8b3395ef 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -63,8 +63,9 @@ final: prev: with pkgs.haskell.lib; {
 
   cereal = prev.callHackage "cereal" "0.5.8.3" { };
 
-  compact = doJailbreak (prev.callHackage "compact" "0.2.0.0" { });
+  citeproc = prev.callHackage "citeproc" "0.8.0.1" { };
 
+  compact = doJailbreak (prev.callHackage "compact" "0.2.0.0" { });
 
   comonad = prev.callHackage "comonad" "5.0.8" { };
 
@@ -210,10 +211,12 @@ final: prev: with pkgs.haskell.lib; {
 
   optics = doJailbreak (dontCheck (prev.callHackage "optics" "0.4.2" { }));
 
-  pandoc = prev.callHackage "pandoc" "2.19.2" { };
+  pandoc = doJailbreak (prev.callHackage "pandoc" "2.19.2" { });
 
   parallel = doJailbreak (final.callHackage "parallel" "3.2.2.0" { });
 
+  pcg-random = dontCheck (prev.callHackage "pcg-random" "0.1.3.7" { });
+
   polysemy = dontCheck (prev.callHackage "polysemy" "1.7.1.0" { });
 
   polysemy-extra = prev.callHackage "polysemy-extra" "0.2.1.0" { };
@@ -324,6 +327,12 @@ final: prev: with pkgs.haskell.lib; {
 
   type-equality = doJailbreak (prev.callHackage "type-equality" "1" { });
 
+  unicode-data = dontCheck (prev.callCabal2nix "unicode-data" (inputs.unicode-data + /unicode-data) { });
+
+  unicode-collation = doJailbreak (prev.callHackage "unicode-collation" "0.1.3.2" { });
+
+  unicode-transforms = doJailbreak (dontCheck (prev.callHackage "unicode-transforms" "0.4.0.1" { }));
+
   unordered-containers = doJailbreak (prev.callHackage "unordered-containers" "0.2.19.1" { });
 
   vault = doJailbreak (prev.callHackage "vault" "0.3.1.5" { });
@@ -342,4 +351,6 @@ final: prev: with pkgs.haskell.lib; {
   
   with-utf8 = doJailbreak (prev.callHackage "with-utf8" "1.0.2.3" { });
 
+  xml-conduit = dontCheck (prev.callHackage "xml-conduit" "1.9.1.1" { });
+
 }