diff --git a/manifest.dhall b/manifest.dhall
index 0164c2ae6c3b80ac5619697e84105e9d6e6ebf89..b46e6ef175bdbb8f8f296ad45fa86fe41561e439 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -177,6 +177,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "fsnotify" "0.4.1.0"
     , callHackage "foldl" "1.4.12"
     , callHackage "foundation" "0.0.29"
+    , callHackage "fuzzy-time" "0.2.0.3"
     , callHackage "generic-lens-core" "2.2.1.0"
     , callHackage "generic-lens-lite" "0.1"
     , callHackage "generic-optics-lite" "0.1"
diff --git a/overlay.nix b/overlay.nix
index fd2e95659f1a5d179c2b6b378dc8681bddfb3028..6ce25ba1de9232dbb614d7c06bbca7c797360aa9 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -157,6 +157,8 @@ final: prev: with pkgs.haskell.lib; {
 
     fsnotify = prev.callPackage (./pkgs/fsnotify.nix) { };
 
+    fuzzy-time = prev.callPackage (./pkgs/fuzzy-time.nix) { };
+
     generic-lens-core = prev.callPackage (./pkgs/generic-lens-core.nix) { };
 
     generic-lens-lite = prev.callPackage (./pkgs/generic-lens-lite.nix) { };
diff --git a/pkgs/fuzzy-time.nix b/pkgs/fuzzy-time.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9ff15c0638114cae3d95525d408db963b9d0fc56
--- /dev/null
+++ b/pkgs/fuzzy-time.nix
@@ -0,0 +1,17 @@
+{ mkDerivation, base, containers, deepseq, lib, megaparsec, text
+, time, validity, validity-time
+}:
+mkDerivation {
+  pname = "fuzzy-time";
+  version = "0.2.0.3";
+  sha256 = "5ee4ce435d95810f4d3ae9bbe860fa34ad1d81d4cfe54c9804a809e0b48dc28e";
+  libraryHaskellDepends = [
+    base containers deepseq megaparsec text time validity validity-time
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/fuzzy-time";
+  license = lib.licenses.mit;
+}
\ No newline at end of file