diff --git a/manifest.dhall b/manifest.dhall
index a12a8d41cb615185874fa3d39267ebff18cc6693..4889384486f2201708b2fd9085b714cf820ca6d7 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -535,6 +535,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "servant-swagger-ui" "0.3.5.4.5.0"
     , callHackage "servant-swagger-ui-core" "0.3.5"
     , callHackage "servant-static-th" "1.0.0.0"
+    , callHackage "shakespeare" "2.0.30"
     , callHackage "shake" "0.19.6"
     , callHackage "shelly" "1.10.0"
     , callHackage "simple-sendfile" "0.2.30"
diff --git a/overlay.nix b/overlay.nix
index 000e09dcf51639069d1ff24814dd4168fc34141e..6af09e64d597e5e978c3262303f91016ff658736 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -727,6 +727,8 @@ final: prev: with pkgs.haskell.lib; {
 
   shake = prev.callPackage (./pkgs/shake.nix) { };
 
+  shakespeare = prev.callPackage (./pkgs/shakespeare.nix) { };
+
   shelly = prev.callPackage (./pkgs/shelly.nix) { };
 
   simple-sendfile = prev.callPackage (./pkgs/simple-sendfile.nix) { };
diff --git a/pkgs/shakespeare.nix b/pkgs/shakespeare.nix
new file mode 100644
index 0000000000000000000000000000000000000000..29b1bc4de70c8c943674b4da08c40bc9af39701b
--- /dev/null
+++ b/pkgs/shakespeare.nix
@@ -0,0 +1,85 @@
+{ mkDerivation
+, aeson
+, base
+, blaze-html
+, blaze-markup
+, bytestring
+, containers
+, directory
+, exceptions
+, file-embed
+, ghc-prim
+, hspec
+, HUnit
+, lib
+, parsec
+, process
+, scientific
+, template-haskell
+, text
+, th-lift
+, time
+, transformers
+, unordered-containers
+, vector
+}:
+mkDerivation {
+  pname = "shakespeare";
+  version = "2.0.30";
+  sha256 = "5c8dfe55db93303aafb03cfd969dc831d14bf4971a5fa1e5eae2459f64be1e0d";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    blaze-html
+    blaze-markup
+    bytestring
+    containers
+    directory
+    exceptions
+    file-embed
+    ghc-prim
+    parsec
+    process
+    scientific
+    template-haskell
+    text
+    th-lift
+    time
+    transformers
+    unordered-containers
+    vector
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    blaze-html
+    blaze-markup
+    bytestring
+    containers
+    directory
+    exceptions
+    ghc-prim
+    hspec
+    HUnit
+    parsec
+    process
+    template-haskell
+    text
+    time
+    transformers
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.yesodweb.com/book/shakespearean-templates";
+  description = "A toolkit for making compile-time interpolated templates";
+  license = lib.licenses.mit;
+  broken = false;
+}