diff --git a/manifest.dhall b/manifest.dhall
index 3f22314c62a10c9580fe332ac50aeacc0da6ca30..067e7dce14c13e1a0fd73c70147f5f8c77d66f34 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -165,6 +165,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         "https://github.com/NorfairKing/cursor-dirforest"
         (Some "6ad5b168e26eb4e647df9f007d812aaf59338d40")
         (Some "cursor-dirforest-gen")
+    , callHackage "cursor-gen" "0.4.0.0"
     , callHackage "cryptonite" "0.30"
     , callHackage "cryptohash-sha1" "0.11.101.0"
     , callHackage "cryptohash" "0.11.9"
diff --git a/overlay.nix b/overlay.nix
index 6c81846ccd0a6717b10ed19bb3f5a9b90b1dfe11..e06de10dfccc1a3a41c1f61da35387eb8ff4ad3d 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -179,6 +179,8 @@ final: prev: with pkgs.haskell.lib; {
 
   cursor-dirforest-gen = prev.callPackage (./pkgs/cursor-dirforest-gen.nix) { };
 
+  cursor-gen = prev.callPackage (./pkgs/cursor-gen.nix) { };
+
   data-fix = prev.callPackage (./pkgs/data-fix.nix) { };
 
   dec = prev.callPackage (./pkgs/dec.nix) { };
diff --git a/pkgs/cursor-gen.nix b/pkgs/cursor-gen.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b0214d56100fc6bbafa0032d647aa54bbe5cb88a
--- /dev/null
+++ b/pkgs/cursor-gen.nix
@@ -0,0 +1,65 @@
+{ mkDerivation
+, base
+, containers
+, criterion
+, cursor
+, genvalidity
+, genvalidity-containers
+, genvalidity-criterion
+, genvalidity-hspec
+, genvalidity-hspec-optics
+, genvalidity-text
+, hspec
+, lib
+, microlens
+, pretty-show
+, QuickCheck
+, text
+}:
+mkDerivation {
+  pname = "cursor-gen";
+  version = "0.4.0.0";
+  sha256 = "ba70fbc680f7568e4a71a6f34230d573aaf524d3e8dc1c28af1f3530fa0ca9a8";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    cursor
+    genvalidity
+    genvalidity-containers
+    genvalidity-text
+    QuickCheck
+    text
+  ];
+  testHaskellDepends = [
+    base
+    containers
+    cursor
+    genvalidity-hspec
+    genvalidity-hspec-optics
+    hspec
+    microlens
+    pretty-show
+    QuickCheck
+    text
+  ];
+  benchmarkHaskellDepends = [
+    base
+    criterion
+    cursor
+    genvalidity-criterion
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/cursor";
+  description = "Generators for Purely Functional Cursors";
+  license = lib.licenses.mit;
+  broken = false;
+}