diff --git a/manifest.dhall b/manifest.dhall
index cbbe29fac2208edb09aa58cd15d9dca62b3ca7e6..97a02ef852f99191383a57eb54d9b06de6f76e22 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -387,6 +387,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "insert-ordered-containers" "0.2.5.1"
     , callHackage "inspection-testing" "0.5"
     , callHackage "integer-logarithms" "1.0.3.1"
+    , callHackage "interpolate" "0.2.1"
     , callHackage "invariant" "0.6"
     , callHackage "ipynb" "0.2"
     , callHackage "iproute" "1.7.12"
diff --git a/overlay.nix b/overlay.nix
index 404126afe17eecb414e3024c464ae665f9712549..1f55ba504d03153a691aab4f56dc8bd001f82411 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -563,6 +563,8 @@ self: with pkgs.haskell.lib; {
 
   integer-logarithms = self.callPackage (./pkgs/integer-logarithms.nix) { };
 
+  interpolate = self.callPackage (./pkgs/interpolate.nix) { };
+
   invariant = self.callPackage (./pkgs/invariant.nix) { };
 
   iproute = self.callPackage (./pkgs/iproute.nix) { };
diff --git a/pkgs/interpolate.nix b/pkgs/interpolate.nix
new file mode 100644
index 0000000000000000000000000000000000000000..87985ef1e1fb66ae4b1a7d2f6b64262a05b6d090
--- /dev/null
+++ b/pkgs/interpolate.nix
@@ -0,0 +1,43 @@
+{ mkDerivation
+, base
+, base-compat
+, bytestring
+, haskell-src-meta
+, hspec
+, lib
+, QuickCheck
+, quickcheck-instances
+, template-haskell
+, text
+}:
+mkDerivation {
+  pname = "interpolate";
+  version = "0.2.1";
+  sha256 = "2776dd5083aead756a761c3350a87312b4fbf4851555cf9560800bc3929c590e";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base haskell-src-meta template-haskell ];
+  testHaskellDepends = [
+    base
+    base-compat
+    bytestring
+    haskell-src-meta
+    hspec
+    QuickCheck
+    quickcheck-instances
+    template-haskell
+    text
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/sol/interpolate#readme";
+  description = "String interpolation done right";
+  license = lib.licenses.mit;
+  broken = false;
+}