diff --git a/manifest.dhall b/manifest.dhall
index 103acd7d9b8d61973df5076d0532b3fad4dec092..d976e49b13de73c9d810ce0b745c9d75b6cf9bd2 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -276,6 +276,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "foldl" "1.4.12"
     , callHackage "foundation" "0.0.29"
     , callHackage "free" "5.1.9"
+    , callHackage "friendly-time" "0.4.1"
     , callHackage "fsnotify" "0.4.1.0"
     , callHackage "fuzzy-time" "0.2.0.3"
     , callHackage "generically" "0.1"
diff --git a/overlay.nix b/overlay.nix
index 3d3814b0f7f27c53ce237228420867e718b32ff3..d6233f0373c4829c0b2d7a97b3cccbc25332ddc8 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -365,6 +365,8 @@ self: with pkgs.haskell.lib; {
 
   free = self.callPackage (./pkgs/free.nix) { };
 
+  friendly-time = self.callPackage (./pkgs/friendly-time.nix) { };
+
   fsnotify = self.callPackage (./pkgs/fsnotify.nix) { };
 
   fuzzy-time = self.callPackage (./pkgs/fuzzy-time.nix) { };
diff --git a/pkgs/friendly-time.nix b/pkgs/friendly-time.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e38e3441fbe98901332d3c4522c90ab310ddfe17
--- /dev/null
+++ b/pkgs/friendly-time.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, hspec, lib, old-locale, time }:
+mkDerivation {
+  pname = "friendly-time";
+  version = "0.4.1";
+  sha256 = "9af3443227c3f271f5d11ed8c3c15c77a59de3ab82d87d93ac1f8455a54393c8";
+  revision = "1";
+  editedCabalFile = "096nfaqxavi6xblqh4q5dxks824liz75b4rm2la2hlkkn5mhqdgs";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base old-locale time ];
+  testHaskellDepends = [ base hspec old-locale time ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Print time information in friendly ways";
+  license = lib.licenses.bsd3;
+  broken = false;
+}