diff --git a/manifest.dhall b/manifest.dhall
index c3541c08a9516ec502d950d8e31eb237de69b421..839c16a437e1b8840a523a2495ad801ebb9a3149 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -235,6 +235,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         "https://github.com/haskell/double-conversion"
         (None Text)
         (None Text)
+    , callHackage "easy-file" "0.2.2"
     , callHackage "echo" "0.1.4"
     , callCabal2nix
         "ed25519"
diff --git a/overlay.nix b/overlay.nix
index 9e5952d56faddeec5a02d4ef562694ea68ccaf0c..0a26ab2915e8d58d90d6ce77d3fa5281abf02736 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -299,6 +299,8 @@ self: with pkgs.haskell.lib; {
 
   double-conversion = self.callPackage (./pkgs/double-conversion.nix) { };
 
+  easy-file = self.callPackage (./pkgs/easy-file.nix) { };
+
   echo = self.callPackage (./pkgs/echo.nix) { };
 
   ed25519 = self.callPackage (./pkgs/ed25519.nix) { };
diff --git a/pkgs/easy-file.nix b/pkgs/easy-file.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b87f6344671dc0058a5b341c4b6ebbee2258c6e8
--- /dev/null
+++ b/pkgs/easy-file.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, directory, filepath, lib, time, unix }:
+mkDerivation {
+  pname = "easy-file";
+  version = "0.2.2";
+  sha256 = "52f52e72ba48d60935932401c233a72bf45c582871238aecc5a18021ce67b47e";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base directory filepath time unix ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/kazu-yamamoto/easy-file";
+  description = "Cross-platform File handling";
+  license = lib.licenses.bsd3;
+  broken = false;
+}