diff --git a/manifest.dhall b/manifest.dhall
index 2f82402f113f0b1f41c701f1b72a1236e44c745d..6ddcf2620283056ff5e96fd814b0b282f5796194 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -362,6 +362,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lucid-aria" "0.1.0.1"
     , callHackage "lucid-svg" "0.7.1"
     , callHackage "lucid" "2.11.1"
+    , callHackage "lukko" "0.1.1.3"
     , callHackage "net-mqtt" "0.8.2.2"
     , callHackage "megaparsec" "9.2.2"
     , callHackage "memory" "0.18.0"
diff --git a/overlay.nix b/overlay.nix
index 7177222b72cb2397f6a3d7dbb4d620da5a9a9440..edc24249a0b6f0c15e953b66f8be6eec4e7ab6a8 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -453,6 +453,8 @@ final: prev: with pkgs.haskell.lib; {
 
   lucid-svg = prev.callPackage (./pkgs/lucid-svg.nix) { };
 
+  lukko = prev.callPackage (./pkgs/lukko.nix) { };
+
   megaparsec = prev.callPackage (./pkgs/megaparsec.nix) { };
 
   memory = prev.callPackage (./pkgs/memory.nix) { };
diff --git a/pkgs/lukko.nix b/pkgs/lukko.nix
new file mode 100644
index 0000000000000000000000000000000000000000..97886c12ed79f2c985895836bed716b6044b57ae
--- /dev/null
+++ b/pkgs/lukko.nix
@@ -0,0 +1,44 @@
+{ mkDerivation
+, async
+, base
+, bytestring
+, filepath
+, lib
+, singleton-bool
+, tasty
+, tasty-expected-failure
+, tasty-hunit
+, temporary
+}:
+mkDerivation {
+  pname = "lukko";
+  version = "0.1.1.3";
+  sha256 = "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f";
+  revision = "3";
+  editedCabalFile = "1a6spmbiv3ias40sjrnsxfgr1d5mwg039a2q7113zb7i9n6c1m7g";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [
+    async
+    base
+    bytestring
+    filepath
+    singleton-bool
+    tasty
+    tasty-expected-failure
+    tasty-hunit
+    temporary
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "File locking";
+  license = "GPL-2.0-or-later AND BSD-3-Clause";
+  broken = false;
+}