diff --git a/manifest.dhall b/manifest.dhall
index daf271350562735769e199a8ced34f4bb941c222..3cf492ae18a9b482bdbbd69c9dc2155446af2c6e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -287,6 +287,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "memory" "0.18.0"
     , callHackage "microstache" "1.0.2.2"
     , callHackage "monad-control" "1.0.3.1"
+    , callHackage "monad-time" "0.4.0.0"
     , 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 e0511b1e301675fb2a2d7d2e04cba2db8e1f66a9..7322db74b612c0f7c3a187c517dfb8449f9b3f17 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -337,6 +337,8 @@ final: prev: with pkgs.haskell.lib; {
 
     monad-par = prev.callPackage (./pkgs/monad-par.nix) { };
 
+    monad-time = prev.callPackage (./pkgs/monad-time.nix) { };
+
     monoid-subclasses = prev.callPackage (./pkgs/monoid-subclasses.nix) { };
 
     net-mqtt = prev.callPackage (./pkgs/net-mqtt.nix) { };
diff --git a/pkgs/monad-time.nix b/pkgs/monad-time.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e17085ea27bf50bae431dfc4aa0465fbd620c48b
--- /dev/null
+++ b/pkgs/monad-time.nix
@@ -0,0 +1,15 @@
+{ mkDerivation, base, lib, mtl, time }:
+mkDerivation {
+  pname = "monad-time";
+  version = "0.4.0.0";
+  sha256 = "b4493edf9e7f839cb4ccfcdd53845de493bffbb3ceb4fbb54ba173db68192960";
+  libraryHaskellDepends = [ base mtl time ];
+  testHaskellDepends = [ base mtl time ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/scrive/monad-time";
+  description = "Type class for monads which carry the notion of the current time";
+  license = lib.licenses.bsd3;
+}
\ No newline at end of file