diff --git a/manifest.dhall b/manifest.dhall
index 56a9ae6feb1cbc820c9a2aa46ebd8726897395b0..52887ebeeeff79cc30f2236484214b2008377b35 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -465,6 +465,7 @@ 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"
     , callHackage "language-nix" "2.2.0"
     , callHackage "lens-aeson" "1.2.1"
     , callHackage "lens-family-core" "2.1.2"
diff --git a/overlay.nix b/overlay.nix
index 16f1ddbc1f6fab16579cd1e9b159b3dfe6f84677..91a5f807f7a6d51ccd34ccc353fb44622992aa49 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -687,6 +687,8 @@ self: with pkgs.haskell.lib; {
 
   language-c = self.callPackage (./pkgs/language-c.nix) { };
 
+  language-haskell-extract = self.callPackage (./pkgs/language-haskell-extract.nix) { };
+
   language-nix = self.callPackage (./pkgs/language-nix.nix) { };
 
   lens = self.callPackage (./pkgs/lens.nix) { };
diff --git a/pkgs/language-haskell-extract.nix b/pkgs/language-haskell-extract.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0dadb0a567d86c7560e9361dc78faacdc4c89ef9
--- /dev/null
+++ b/pkgs/language-haskell-extract.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib, regex-posix, template-haskell }:
+mkDerivation {
+  pname = "language-haskell-extract";
+  version = "0.2.4";
+  sha256 = "14da16e56665bf971723e0c5fd06dbb7cc30b4918cf8fb5748570785ded1acdb";
+  revision = "1";
+  editedCabalFile = "1chx4g8ngb1hpyh3r9rbl8rkjkm67klms4wmw3p1g2llg47vvqip";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base regex-posix template-haskell ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/finnsson/template-helper";
+  description = "Module to automatically extract functions from the local code";
+  license = lib.licenses.bsd3;
+  broken = false;
+}