diff --git a/manifest.dhall b/manifest.dhall
index f78f260195d998ae0e68f4d9afb3bf42542539bd..2fcb9f15d6e7d72fe94eff7161c81405c7c7f81c 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -112,6 +112,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         "https://github.com/NixOS/cabal2nix"
         (None Text)
         (Some "cabal2nix")
+    , callHackage "cache" "0.1.3.0"
     , callHackage "case-insensitive" "1.2.1.0"
     , callHackage "cassava" "0.5.3.0"
     , callHackage "cassava-megaparsec" "2.0.4"
diff --git a/overlay.nix b/overlay.nix
index 340fd1233106bb5e144695eda147b99037a1c095..23f7d738b65827dba22ae1f96342bc73e37a12da 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -99,6 +99,8 @@ final: prev: with pkgs.haskell.lib; {
 
   cabal2nix = prev.callPackage (./pkgs/cabal2nix.nix) { };
 
+  cache = prev.callPackage (./pkgs/cache.nix) { };
+
   case-insensitive = prev.callPackage (./pkgs/case-insensitive.nix) { };
 
   cassava = prev.callPackage (./pkgs/cassava.nix) { };
diff --git a/pkgs/cache.nix b/pkgs/cache.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e420006bb5b90b7bbeefae36f5ea46790c8d850e
--- /dev/null
+++ b/pkgs/cache.nix
@@ -0,0 +1,38 @@
+{ mkDerivation
+, base
+, clock
+, hashable
+, hspec
+, lib
+, stm
+, transformers
+, unordered-containers
+}:
+mkDerivation {
+  pname = "cache";
+  version = "0.1.3.0";
+  sha256 = "42e9d9f040fab2fd5fc1095a901d6348de73342b1d14254bdaf6ca3d4f11e534";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    clock
+    hashable
+    stm
+    transformers
+    unordered-containers
+  ];
+  testHaskellDepends = [ base clock hspec stm transformers ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/hverr/haskell-cache#readme";
+  description = "An in-memory key/value store with expiration support";
+  license = lib.licenses.bsd3;
+  broken = false;
+}