diff --git a/manifest.dhall b/manifest.dhall
index bd9c32f052975265d322c13c9fe65afc9e29936e..2312d8e4696897fa9a27cb689aa6c4680d83e7a4 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -486,6 +486,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "quickcheck-classes" "0.6.5.0"
     , callHackage "quickcheck-dynamic" "2.0.0"
     , callHackage "quickcheck-instances" "0.3.28"
+    , callHackage "quickcheck-unicode" "1.0.1.0"
     , callHackage "random-shuffle" "0.0.4"
     , callHackage "random" "1.2.1.1"
     , callHackage "rebase" "1.16"
diff --git a/overlay.nix b/overlay.nix
index 0e2a6cf3da878d2122c809fec74766bd178ce903..5579e19606a7371852005cd487412b5fdd8a1d66 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -685,6 +685,8 @@ self: with pkgs.haskell.lib; {
 
   quickcheck-instances = self.callPackage (./pkgs/quickcheck-instances.nix) { };
 
+  quickcheck-unicode = self.callPackage (./pkgs/quickcheck-unicode.nix) { };
+
   random = self.callPackage (./pkgs/random.nix) { };
 
   random-shuffle = self.callPackage (./pkgs/random-shuffle.nix) { };
diff --git a/pkgs/quickcheck-unicode.nix b/pkgs/quickcheck-unicode.nix
new file mode 100644
index 0000000000000000000000000000000000000000..44c86cfcebd9d036babc7adfb6b695eda1d34b1c
--- /dev/null
+++ b/pkgs/quickcheck-unicode.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib, QuickCheck }:
+mkDerivation {
+  pname = "quickcheck-unicode";
+  version = "1.0.1.0";
+  sha256 = "132005ea7edff35e95139c36232a70698cd0f4f4d79dfaa4e66fbcf557d08368";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base QuickCheck ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/bos/quickcheck-unicode";
+  description = "Generator and shrink functions for testing Unicode-related software";
+  license = lib.licenses.bsd2;
+  broken = false;
+}