diff --git a/configuration.nix b/configuration.nix
index 6b9649fc71fa0677e03c66c6c7c5ffa57e1a286d..5c9170ccccf89be8d2edda2e60b743cd0e3eaf5b 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -10,4 +10,5 @@ final: prev: {
 
   splitmix = prev.callPackage ./pkgs/splitmix.nix { inherit (pkgs) testu01; };
 
+  text-icu = prev.callPackage ./pkgs/text-icu.nix { inherit (pkgs) icu-i18n; };
 }
diff --git a/manifest.dhall b/manifest.dhall
index 1ed84aa3ae8193ca483da9b6ee11df8c859e4b43..3db45353971d6c67f6c87105b6bd1e631b7b3b04 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -802,6 +802,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "texmath" "0.12.5.4"
     , callHackage "text-conversions" "0.3.1.1"
     , callHackage "text-display" "0.0.3.0"
+    , callHackage "text-icu" "0.8.0.2"
     , callHackage "text-manipulate" "0.3.1.0"
     , callHackage "text-metrics" "0.3.2"
     , callHackage "text-rope" "0.2"
diff --git a/overlay.nix b/overlay.nix
index 85d92881c609cdc6383632d3477fd7936a9c1ee1..d40f738697a092ea0622420caea621893baf7e29 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -1255,6 +1255,8 @@ self: with pkgs.haskell.lib; {
 
   text-display = self.callPackage (./pkgs/text-display.nix) { };
 
+  text-icu = self.callPackage (./pkgs/text-icu.nix) { };
+
   text-manipulate = self.callPackage (./pkgs/text-manipulate.nix) { };
 
   text-metrics = self.callPackage (./pkgs/text-metrics.nix) { };
diff --git a/pkgs/text-icu.nix b/pkgs/text-icu.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4fc949f2a2c97c3b88f6a23ed43f0c3671044506
--- /dev/null
+++ b/pkgs/text-icu.nix
@@ -0,0 +1,56 @@
+{ mkDerivation
+, array
+, base
+, bytestring
+, deepseq
+, directory
+, ghc-prim
+, HUnit
+, icu
+, icu-i18n
+, lib
+, QuickCheck
+, random
+, test-framework
+, test-framework-hunit
+, test-framework-quickcheck2
+, text
+, time
+}:
+mkDerivation {
+  pname = "text-icu";
+  version = "0.8.0.2";
+  sha256 = "2d99aa88c0b4c7a1a4fc10e7bd0590c334f49bae81ef76c77a370254a4ce3d3b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring deepseq text time ];
+  librarySystemDepends = [ icu ];
+  libraryPkgconfigDepends = [ icu-i18n ];
+  testHaskellDepends = [
+    array
+    base
+    bytestring
+    deepseq
+    directory
+    ghc-prim
+    HUnit
+    QuickCheck
+    random
+    test-framework
+    test-framework-hunit
+    test-framework-quickcheck2
+    text
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell/text-icu";
+  description = "Bindings to the ICU library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}