diff --git a/manifest.dhall b/manifest.dhall
index 597127da32e0682d0c3b2dd24993a28fc298dd3b..acf304c9b6642853a0d54b1dfbbfa3bba004c0ff 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -458,6 +458,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "optics" "0.4.2"
     , callHackage "optparse-applicative" "0.17.0.0"
     , callHackage "parsers" "0.12.11"
+    , callHackage "parser-combinators" "1.3.0"
     , callHackage "pandoc-lua-marshal" "0.1.7"
     , callHackage "pandoc-types" "1.22.2.1"
     , callHackage "pandoc" "2.19.2"
diff --git a/overlay.nix b/overlay.nix
index 1c4465d75e04a33f19a09a0b69ce58ab307b685d..3a29dda31962404082fbe675f2f2fd72dbb5e1a7 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -663,6 +663,8 @@ self: with pkgs.haskell.lib; {
 
   parallel = self.callPackage (./pkgs/parallel.nix) { };
 
+  parser-combinators = self.callPackage (./pkgs/parser-combinators.nix) { };
+
   parsers = self.callPackage (./pkgs/parsers.nix) { };
 
   password = self.callPackage (./pkgs/password.nix) { };
diff --git a/pkgs/parser-combinators.nix b/pkgs/parser-combinators.nix
new file mode 100644
index 0000000000000000000000000000000000000000..d2b2f2db9160e28af297b434bd86e7e8622de493
--- /dev/null
+++ b/pkgs/parser-combinators.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "parser-combinators";
+  version = "1.3.0";
+  sha256 = "9310ef0d49f8a8922acda10b1cded9854cbee04dea717effc6ee5983072e4447";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mrkkrp/parser-combinators";
+  description = "Lightweight package providing commonly useful parser combinators";
+  license = lib.licenses.bsd3;
+  broken = false;
+}