diff --git a/manifest.dhall b/manifest.dhall
index 1e6561ad0f84b22dcba279a9e2d483e9f8b563dc..18d7f62985d9fce0a99e0c6a322fb21257d2a6b6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -465,6 +465,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lifted-base" "0.2.3.12"
     , callHackage "linear" "1.21.10"
     , callHackage "logging-facade" "0.3.1"
+    , callHackage "logict" "0.8.0.0"
     , callHackage "log-base" "0.12.0.0"
     , callCabal2nix
         "log-effectful"
diff --git a/overlay.nix b/overlay.nix
index 6fccc9b5fab8683dd91b52f1e5c7d71b0dfe5413..bf68b648538e020e5de14bf9ada8010198465bd5 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -691,6 +691,8 @@ self: with pkgs.haskell.lib; {
 
   logging-facade = self.callPackage (./pkgs/logging-facade.nix) { };
 
+  logict = self.callPackage (./pkgs/logict.nix) { };
+
   lpeg = self.callPackage (./pkgs/lpeg.nix) { };
 
   lsp = self.callPackage (./pkgs/lsp.nix) { };
diff --git a/pkgs/logict.nix b/pkgs/logict.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8b903e8b3a0a4f0bf067b42e217f506c9f87433f
--- /dev/null
+++ b/pkgs/logict.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, async, base, lib, mtl, tasty, tasty-hunit }:
+mkDerivation {
+  pname = "logict";
+  version = "0.8.0.0";
+  sha256 = "fe926df295bc43df794247360e7a0a0dfdc778bce986f8aadba98fe52228fb56";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base mtl ];
+  testHaskellDepends = [ async base mtl tasty tasty-hunit ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/Bodigrim/logict#readme";
+  description = "A backtracking logic-programming monad";
+  license = lib.licenses.bsd3;
+  broken = false;
+}