diff --git a/manifest.dhall b/manifest.dhall
index 72a3cd7e49e5fcb83fbf279c97c6508967b07f69..2429c29e4dd8476fb59bbac3cd0955b702a374f6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -438,6 +438,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lens" "5.2"
     , callHackage "libsodium" "1.0.18.2"
     , callHackage "libyaml" "0.1.2"
+    , callHackage "lift-type" "0.1.0.1"
     , callHackage "lifted-async" "0.10.2.1"
     , callHackage "lifted-base" "0.2.3.12"
     , callHackage "linear" "1.21.10"
diff --git a/overlay.nix b/overlay.nix
index f85a971c1a367c7d313a003f11f22bd634a0cd1e..e7fe88938606dae1a2111bfe3cc69ce8c7525e0b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -633,6 +633,8 @@ self: with pkgs.haskell.lib; {
 
   libyaml = self.callPackage (./pkgs/libyaml.nix) { };
 
+  lift-type = self.callPackage (./pkgs/lift-type.nix) { };
+
   lifted-async = self.callPackage (./pkgs/lifted-async.nix) { };
 
   lifted-base = self.callPackage (./pkgs/lifted-base.nix) { };
diff --git a/pkgs/lift-type.nix b/pkgs/lift-type.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6456d0ec6a90015637b6ea257598fc2cf62a7e96
--- /dev/null
+++ b/pkgs/lift-type.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, lib, template-haskell }:
+mkDerivation {
+  pname = "lift-type";
+  version = "0.1.0.1";
+  sha256 = "aeb79e3090a38130fdb1da374e9e50e132e6bf5e20b45de58af5230d9c8f2585";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base template-haskell ];
+  testHaskellDepends = [ base template-haskell ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/parsonsmatt/lift-type#readme";
+  description = "Lift a type from a Typeable constraint to a Template Haskell type";
+  license = lib.licenses.bsd3;
+  broken = false;
+}