diff --git a/manifest.dhall b/manifest.dhall
index 976d396c0c3a7e0381a6050050b0aba88f1fd61c..a258efa9fc62c14aefbe5a4732121756ffcee08e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -260,6 +260,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "erf" "2.0.0.0"
     , callHackage "exact-pi" "0.5.0.2"
     , callHackage "extra" "1.7.12"
+    , callHackage "extensible-exceptions" "0.1.1.4"
     , callHackage "expiring-cache-map" "0.0.6.1"
     , callHackage "fail" "4.9.0.0"
     , callHackage "fast-logger" "3.1.1"
diff --git a/overlay.nix b/overlay.nix
index 9e5086ab521a20e5e28e283a2975d0ca9854d938..ba3126736d2306c26b86b8f59fcf55523b126e1e 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -333,6 +333,8 @@ self: with pkgs.haskell.lib; {
 
   expiring-cache-map = self.callPackage (./pkgs/expiring-cache-map.nix) { };
 
+  extensible-exceptions = self.callPackage (./pkgs/extensible-exceptions.nix) { };
+
   extra = self.callPackage (./pkgs/extra.nix) { };
 
   fail = self.callPackage (./pkgs/fail.nix) { };
diff --git a/pkgs/extensible-exceptions.nix b/pkgs/extensible-exceptions.nix
new file mode 100644
index 0000000000000000000000000000000000000000..fb313db38856c808350c03071e216c22b8dec38d
--- /dev/null
+++ b/pkgs/extensible-exceptions.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "extensible-exceptions";
+  version = "0.1.1.4";
+  sha256 = "6ce5e8801760385a408dab71b53550f87629e661b260bdc2cd41c6a439b6e388";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Extensible exceptions";
+  license = lib.licenses.bsd3;
+  broken = false;
+}