diff --git a/manifest.dhall b/manifest.dhall
index 1f34cc34838d440d6907128d7e237a3d4fe0b560..3651d8d4b43409e4f190b123f775f159236fb66e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -503,6 +503,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "unicode-collation" "0.1.3.2"
     , callHackage "unicode-data" "0.4.0"
     , callHackage "unicode-transforms" "0.4.0.1"
+    , callHackage "uniplate" "1.6.13"
     , callHackage "universe-base" "1.1.3"
     , callHackage "unliftio-core" "0.2.0.1"
     , callHackage "unliftio" "0.2.23.0"
diff --git a/overlay.nix b/overlay.nix
index 6cdbd08fc5839796d65c1af77348fc0775701165..4682dfaae16f5c846afaf8873288c7515be602fa 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -623,6 +623,8 @@ final: prev: with pkgs.haskell.lib; {
 
   unicode-transforms = prev.callPackage (./pkgs/unicode-transforms.nix) { };
 
+  uniplate = prev.callPackage (./pkgs/uniplate.nix) { };
+
   universe-base = prev.callPackage (./pkgs/universe-base.nix) { };
 
   unliftio = prev.callPackage (./pkgs/unliftio.nix) { };
diff --git a/pkgs/uniplate.nix b/pkgs/uniplate.nix
new file mode 100644
index 0000000000000000000000000000000000000000..81863b42d98c8142c24d6398ba1304321a93e22b
--- /dev/null
+++ b/pkgs/uniplate.nix
@@ -0,0 +1,38 @@
+{ mkDerivation
+, base
+, containers
+, ghc-prim
+, hashable
+, lib
+, syb
+, unordered-containers
+}:
+mkDerivation {
+  pname = "uniplate";
+  version = "1.6.13";
+  sha256 = "e777c94628445556a71f135a42cf72d2cfbaccba5849cc42fbfec8b2182e3ad2";
+  revision = "1";
+  editedCabalFile = "1rvvzmi43gbrww0f17dzchm3g61zvm97arrfa5raljqb1mbibdy8";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    hashable
+    syb
+    unordered-containers
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/ndmitchell/uniplate#readme";
+  description = "Help writing simple, concise and fast generic operations";
+  license = lib.licenses.bsd3;
+  broken = false;
+}