diff --git a/manifest.dhall b/manifest.dhall
index d5b492c2b77f64c9892e5050cc91b361f186b4ac..4b5f7461d6862e44576764e9f3770c61acb41053 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -519,6 +519,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lucid-svg" "0.7.1"
     , callHackage "lucid" "2.11.1"
     , callHackage "lukko" "0.1.1.3"
+    , callHackage "lzma" "0.0.0.4"
     , callHackage "neat-interpolation" "0.5.1.3"
     , callHackage "net-mqtt" "0.8.2.2"
     , callHackage "managed" "1.0.9"
diff --git a/overlay.nix b/overlay.nix
index 136d6463966d134227df3ecfe41bd2858f2e9fd6..c7e459f905d1cf0410e72be90e99edcdfb9232d9 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -763,6 +763,8 @@ self: with pkgs.haskell.lib; {
 
   lukko = self.callPackage (./pkgs/lukko.nix) { };
 
+  lzma = self.callPackage (./pkgs/lzma.nix) { };
+
   managed = self.callPackage (./pkgs/managed.nix) { };
 
   markdown-unlit = self.callPackage (./pkgs/markdown-unlit.nix) { };
diff --git a/pkgs/lzma.nix b/pkgs/lzma.nix
new file mode 100644
index 0000000000000000000000000000000000000000..626755b0e467d3b0622cdb0e1cc883425970a6e9
--- /dev/null
+++ b/pkgs/lzma.nix
@@ -0,0 +1,41 @@
+{ mkDerivation
+, base
+, bytestring
+, HUnit
+, lib
+, QuickCheck
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+, xz
+}:
+mkDerivation {
+  pname = "lzma";
+  version = "0.0.0.4";
+  sha256 = "020d78ace1588910046c68d06d5c2b56331341e794b1c3115c3a5be54e0cc13b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring ];
+  librarySystemDepends = [ xz ];
+  testHaskellDepends = [
+    base
+    bytestring
+    HUnit
+    QuickCheck
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/hvr/lzma";
+  description = "LZMA/XZ compression and decompression";
+  license = lib.licenses.bsd3;
+  broken = false;
+}