diff --git a/manifest.dhall b/manifest.dhall
index 4cb311411180120ae6459468545e93308d2d3c6d..cb1a3087bdea8ccd633a3d6f34b15525a92b97f1 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -232,6 +232,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lucid" "2.11.1"
     , callHackage "net-mqtt" "0.8.2.2"
     , callHackage "memory" "0.18.0"
+    , callHackage "microstache" "1.0.2.2"
     , callHackage "monad-par" "0.3.5"
     , callHackage "monoid-subclasses" "1.1.3"
     , callHackage "network-byte-order" "0.1.6"
diff --git a/overlay.nix b/overlay.nix
index 338478918502e6d48c9343245ce4181f0616b6b6..d601f4d46ba42a4826ffa1307c94c62bc4943418 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -273,6 +273,8 @@ final: prev: with pkgs.haskell.lib; {
 
     memory = prev.callPackage (./pkgs/memory.nix) { };
 
+    microstache = prev.callPackage (./pkgs/microstache.nix) { };
+
     monad-par = prev.callPackage (./pkgs/monad-par.nix) { };
 
     monoid-subclasses = prev.callPackage (./pkgs/monoid-subclasses.nix) { };
diff --git a/pkgs/microstache.nix b/pkgs/microstache.nix
new file mode 100644
index 0000000000000000000000000000000000000000..321968ab11b602d9e6e98f45381bccd2b4996a76
--- /dev/null
+++ b/pkgs/microstache.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, aeson, base, base-orphans, bytestring, containers
+, deepseq, directory, filepath, lib, parsec, tasty, tasty-hunit
+, text, transformers, unordered-containers, vector
+}:
+mkDerivation {
+  pname = "microstache";
+  version = "1.0.2.2";
+  sha256 = "f0a1dbef45a137e1af0e29ea4b9585788217cc1c6f1db7d68a4f659916dd36ac";
+  libraryHaskellDepends = [
+    aeson base containers deepseq directory filepath parsec text
+    transformers unordered-containers vector
+  ];
+  testHaskellDepends = [
+    aeson base base-orphans bytestring containers parsec tasty
+    tasty-hunit text
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskellari/microstache";
+  description = "Mustache templates for Haskell";
+  license = lib.licenses.bsd3;
+}
\ No newline at end of file