diff --git a/manifest.dhall b/manifest.dhall
index 4b9bff18c24a63c28247f164961ce9a60ad650e4..8a79b29cf503a8c6677f1091afb748cf93e6727e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -265,6 +265,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "hie-bios" "0.11.0"
     , callHackage "hie-compat" "0.3.0.0"
     , callHackage "hiedb" "0.4.2.0"
+    , callHackage "hinotify" "0.4.1"
     , callHackage "hledger-lib" "1.27.1"
     , callHackage "hledger" "1.27.1"
     , callHackage "hlint" "3.5"
diff --git a/overlay.nix b/overlay.nix
index bdc385936b2cd8d21e2b295a91561e4790210bf7..29110235a0600eacb7412d64f2028b3e190087d8 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -317,6 +317,8 @@ final: prev: with pkgs.haskell.lib; {
 
   hiedb = prev.callPackage (./pkgs/hiedb.nix) { };
 
+  hinotify = prev.callPackage (./pkgs/hinotify.nix) { };
+
   hledger = prev.callPackage (./pkgs/hledger.nix) { };
 
   hledger-lib = prev.callPackage (./pkgs/hledger-lib.nix) { };
diff --git a/pkgs/hinotify.nix b/pkgs/hinotify.nix
new file mode 100644
index 0000000000000000000000000000000000000000..04b41d9ebd4852163e85fa284dc2f98b068430d8
--- /dev/null
+++ b/pkgs/hinotify.nix
@@ -0,0 +1,30 @@
+{ mkDerivation
+, async
+, base
+, bytestring
+, containers
+, directory
+, lib
+, unix
+}:
+mkDerivation {
+  pname = "hinotify";
+  version = "0.4.1";
+  sha256 = "1307b100aeaf35d0d0f582d4897fac9cde39505ec52c915e213118e56674f81a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ async base bytestring containers unix ];
+  testHaskellDepends = [ base bytestring directory unix ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/kolmodin/hinotify";
+  description = "Haskell binding to inotify";
+  license = lib.licenses.bsd3;
+  broken = false;
+}