diff --git a/manifest.dhall b/manifest.dhall
index 14e97de5c648bfc926a570e40fb28be045f876e4..d5b492c2b77f64c9892e5050cc91b361f186b4ac 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -485,7 +485,10 @@ in  [ callHackage "Cabal" "3.8.1.0"
         (Some "3502825423aea3a1af9384e9d751feea4599c60b")
         (Some "kvstore-effectful-statemap")
     , callHackage "language-c" "0.9.1"
-    , callHackage "language-haskell-extract" "0.2.4"
+    , callCabal2nix "language-haskell-extract"
+        "https://github.com/chessai/template-helper"
+        (Some "f654f1e7ef47c591bb5ea23f1234289f99d09d05")
+        (None Text)
     , callHackage "language-nix" "2.2.0"
     , callHackage "lens-aeson" "1.2.1"
     , callHackage "lens-family-core" "2.1.2"
diff --git a/pkgs/language-haskell-extract.nix b/pkgs/language-haskell-extract.nix
index 0dadb0a567d86c7560e9361dc78faacdc4c89ef9..3e11a3930de901c798e8279fe9bba06316ced361 100644
--- a/pkgs/language-haskell-extract.nix
+++ b/pkgs/language-haskell-extract.nix
@@ -1,10 +1,19 @@
-{ mkDerivation, base, lib, regex-posix, template-haskell }:
+{ mkDerivation
+, base
+, fetchgit
+, lib
+, regex-posix
+, template-haskell
+}:
 mkDerivation {
   pname = "language-haskell-extract";
-  version = "0.2.4";
-  sha256 = "14da16e56665bf971723e0c5fd06dbb7cc30b4918cf8fb5748570785ded1acdb";
-  revision = "1";
-  editedCabalFile = "1chx4g8ngb1hpyh3r9rbl8rkjkm67klms4wmw3p1g2llg47vvqip";
+  version = "0.2.3";
+  src = fetchgit {
+    url = "https://github.com/chessai/template-helper";
+    sha256 = "17n6k5myycklbc2grhz654idwmmzjcw217gy2w1h9jlaqv6c52q7";
+    rev = "f654f1e7ef47c591bb5ea23f1234289f99d09d05";
+    fetchSubmodules = true;
+  };
   isLibrary = true;
   isExecutable = false;
   enableSeparateDataOutput = false;