diff --git a/manifest.dhall b/manifest.dhall
index 37dfb858c02bcf843a121a2eaf251c78574e04e0..8d0b8c09f39b26f275214a46a85e50c018b62334 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -268,6 +268,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
         (Some "918df757ce5c9244232c1e3a1e05e9d9e3ab4f09")
         (None Text)
     , callHackage "hslua-aeson" "2.2.1"
+    , callHackage "hslua" "2.2.1"
     , callHackage "hspec" "2.10.3"
     , callHackage "hspec-contrib" "0.5.1.1"
     , callHackage "hspec-core" "2.10.0.1"
diff --git a/overlay.nix b/overlay.nix
index 424d0795dc72ca7204d9f2ca44d25cad722da14d..83e52caede379e27daead4113655016fd4c5e61e 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -305,6 +305,8 @@ final: prev: with pkgs.haskell.lib; {
 
   hpack-dhall = prev.callPackage (./pkgs/hpack-dhall.nix) { };
 
+  hslua = prev.callPackage (./pkgs/hslua.nix) { };
+
   hslua-aeson = prev.callPackage (./pkgs/hslua-aeson.nix) { };
 
   hspec = prev.callPackage (./pkgs/hspec.nix) { };
diff --git a/pkgs/hslua.nix b/pkgs/hslua.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f46e0748bead6a45689b605896f7f10b294a7f78
--- /dev/null
+++ b/pkgs/hslua.nix
@@ -0,0 +1,76 @@
+{ mkDerivation
+, base
+, bytestring
+, containers
+, exceptions
+, hslua-aeson
+, hslua-classes
+, hslua-core
+, hslua-marshalling
+, hslua-objectorientation
+, hslua-packaging
+, lib
+, lua
+, lua-arbitrary
+, mtl
+, QuickCheck
+, quickcheck-instances
+, tasty
+, tasty-hslua
+, tasty-hunit
+, text
+}:
+mkDerivation {
+  pname = "hslua";
+  version = "2.2.1";
+  sha256 = "63cf9d92e90aadfd2887196428fa625e8b2c9b51b942188ed33289c5253ba8e0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    containers
+    exceptions
+    hslua-aeson
+    hslua-classes
+    hslua-core
+    hslua-marshalling
+    hslua-objectorientation
+    hslua-packaging
+    mtl
+    text
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    containers
+    exceptions
+    hslua-aeson
+    hslua-classes
+    hslua-core
+    hslua-marshalling
+    hslua-objectorientation
+    hslua-packaging
+    lua
+    lua-arbitrary
+    mtl
+    QuickCheck
+    quickcheck-instances
+    tasty
+    tasty-hslua
+    tasty-hunit
+    text
+  ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://hslua.org/";
+  description = "Bindings to Lua, an embeddable scripting language";
+  license = lib.licenses.mit;
+  broken = false;
+}