diff --git a/manifest.dhall b/manifest.dhall
index ccc98e8eedcbb1bb43751b2245da6ed2dd940cf5..1068991177f86ed73a0188ba18bb2957fdb3cfdb 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -119,6 +119,11 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "config-ini" "0.2.5.0"
     , callHackage "constraints" "0.13.4"
     , callHackage "cursor" "0.3.2.0"
+    , callCabal2nix
+        "cursor-dirforest"
+        "https://github.com/NorfairKing/cursor-dirforest"
+        (Some "6ad5b168e26eb4e647df9f007d812aaf59338d40")
+        (Some "cursor-dirforest")
     , callHackage "cryptonite" "0.30"
     , callHackage "cryptohash-sha1" "0.11.101.0"
     , callHackage "data-fix" "0.3.2"
diff --git a/overlay.nix b/overlay.nix
index a272bca414ca08b4ebbc2ecb1723def12a353af2..1838dec9041e1b6ede1a3ca9513c1d837a64c1ad 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -109,6 +109,8 @@ final: prev: with pkgs.haskell.lib; {
 
     cursor = prev.callPackage (./pkgs/cursor.nix) { };
 
+    cursor-dirforest = prev.callPackage (./pkgs/cursor-dirforest.nix) { };
+
     data-fix = prev.callPackage (./pkgs/data-fix.nix) { };
 
     dec = prev.callPackage (./pkgs/dec.nix) { };
diff --git a/pkgs/cursor-dirforest.nix b/pkgs/cursor-dirforest.nix
new file mode 100644
index 0000000000000000000000000000000000000000..94ec0c1a840edc6abca39aa9d02e5d6351fa69bd
--- /dev/null
+++ b/pkgs/cursor-dirforest.nix
@@ -0,0 +1,25 @@
+{ mkDerivation, base, containers, cursor, deepseq, dirforest
+, fetchgit, filepath, lib, microlens, path, text, validity
+, validity-path
+}:
+mkDerivation {
+  pname = "cursor-dirforest";
+  version = "0.0.0.0";
+  src = fetchgit {
+    url = "https://github.com/NorfairKing/cursor-dirforest";
+    sha256 = "0miy6chdyi8jjfivcpigyglhlx6x7f676n47vybjnpdhggv0kh2j";
+    rev = "6ad5b168e26eb4e647df9f007d812aaf59338d40";
+    fetchSubmodules = true;
+  };
+  postUnpack = "sourceRoot+=/cursor-dirforest/; echo source root reset to $sourceRoot";
+  libraryHaskellDepends = [
+    base containers cursor deepseq dirforest filepath microlens path
+    text validity validity-path
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/cursor-dirforest#readme";
+  license = lib.licenses.mit;
+}
\ No newline at end of file