diff --git a/manifest.dhall b/manifest.dhall
index bf2b8e3e4a2241a42a5791ee58f44d136afba836..e0ed4d3166ab036fc2f293cf26df37b68c1d71e5 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -100,6 +100,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         (None Text)
         (Some "cabal2nix")
     , callHackage "cassava" "0.5.3.0"
+    , callHackage "cassava-megaparsec" "2.0.4"
     , callHackage "cereal" "0.5.8.3"
     , callHackage "cborg" "0.2.8.0"
     , callHackage "cborg-json" "0.2.5.0"
diff --git a/overlay.nix b/overlay.nix
index cddff9bff8c656dc82ec711235aa274a57ef1b58..206258748495511f5324adce2f51c63a3bb03051 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -75,6 +75,8 @@ final: prev: with pkgs.haskell.lib; {
 
     cassava = prev.callPackage (./pkgs/cassava.nix) { };
 
+    cassava-megaparsec = prev.callPackage (./pkgs/cassava-megaparsec.nix) { };
+
     cborg = prev.callPackage (./pkgs/cborg.nix) { };
 
     cborg-json = prev.callPackage (./pkgs/cborg-json.nix) { };
diff --git a/pkgs/cassava-megaparsec.nix b/pkgs/cassava-megaparsec.nix
new file mode 100644
index 0000000000000000000000000000000000000000..15673053d8eb1a025bdcedf9493c6da5f02e090c
--- /dev/null
+++ b/pkgs/cassava-megaparsec.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, bytestring, cassava, hspec, hspec-megaparsec
+, lib, megaparsec, unordered-containers, vector
+}:
+mkDerivation {
+  pname = "cassava-megaparsec";
+  version = "2.0.4";
+  sha256 = "16398f202df2898de482c156835ba6e7dea8ef71d7ac818c5cd4e72ad1f8e95d";
+  libraryHaskellDepends = [
+    base bytestring cassava megaparsec unordered-containers vector
+  ];
+  testHaskellDepends = [
+    base bytestring cassava hspec hspec-megaparsec vector
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/stackbuilders/cassava-megaparsec";
+  description = "Megaparsec parser of CSV files that plays nicely with Cassava";
+  license = lib.licenses.mit;
+}
\ No newline at end of file