diff --git a/manifest.dhall b/manifest.dhall
index b56ee6b97f6e7d918917d1424bda9c051a12a225..7c0391fc395148cb3ab23c79e565a11864beb92f 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -562,6 +562,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "vinyl" "0.14.3"
     , callHackage "void" "0.7.3"
     , callHackage "vty" "5.37"
+    , callHackage "wai-extra" "3.1.13.0"
     , callCabal2nix
         "wai-middleware-heartbeat"
         "https://github.com/flora-pm/wai-middleware-heartbeat"
diff --git a/overlay.nix b/overlay.nix
index 9551a2d9df4fc3a252610c883607a7e51ae6b2c4..74fdfbbed4f6eb0eb9318db21858699fa42b92a4 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -743,6 +743,8 @@ final: prev: with pkgs.haskell.lib; {
 
   wai = prev.callPackage (./pkgs/wai.nix) { };
 
+  wai-extra = prev.callPackage (./pkgs/wai-extra.nix) { };
+
   wai-logger = prev.callPackage (./pkgs/wai-logger.nix) { };
 
   wai-middleware-heartbeat = prev.callPackage (./pkgs/wai-middleware-heartbeat.nix) { };
diff --git a/pkgs/wai-extra.nix b/pkgs/wai-extra.nix
new file mode 100644
index 0000000000000000000000000000000000000000..76df60eb63474bae1e90e33c5ef910f166be2d7a
--- /dev/null
+++ b/pkgs/wai-extra.nix
@@ -0,0 +1,105 @@
+{ mkDerivation
+, aeson
+, ansi-terminal
+, base
+, base64-bytestring
+, bytestring
+, call-stack
+, case-insensitive
+, containers
+, cookie
+, data-default-class
+, directory
+, fast-logger
+, hspec
+, hspec-discover
+, http-types
+, HUnit
+, iproute
+, lib
+, network
+, resourcet
+, streaming-commons
+, temporary
+, text
+, time
+, transformers
+, unix
+, vault
+, wai
+, wai-logger
+, warp
+, word8
+, zlib
+}:
+mkDerivation {
+  pname = "wai-extra";
+  version = "3.1.13.0";
+  sha256 = "df0d2d275bc3c888fae9cf525496140c707cbccfdf013a36dc00e7a94ac38cc0";
+  revision = "1";
+  editedCabalFile = "0dyvg2bb37im790757khncxpnf45451dd8575p736ry4g8rpqgpw";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    ansi-terminal
+    base
+    base64-bytestring
+    bytestring
+    call-stack
+    case-insensitive
+    containers
+    cookie
+    data-default-class
+    directory
+    fast-logger
+    http-types
+    HUnit
+    iproute
+    network
+    resourcet
+    streaming-commons
+    text
+    time
+    transformers
+    unix
+    vault
+    wai
+    wai-logger
+    warp
+    word8
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    bytestring
+    case-insensitive
+    cookie
+    directory
+    fast-logger
+    hspec
+    http-types
+    HUnit
+    iproute
+    resourcet
+    temporary
+    text
+    time
+    wai
+    warp
+    zlib
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/yesodweb/wai";
+  description = "Provides some basic WAI handlers and middleware";
+  license = lib.licenses.mit;
+  broken = false;
+}