diff --git a/manifest.dhall b/manifest.dhall
index 85d7240960565275713869f8b4eb9559917bf296..641cb0ee7a8158b3e6b1261c3f202719d6ddf9bc 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -661,6 +661,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "th-orphans" "0.13.14"
     , callHackage "th-reify-many" "0.1.10"
     , callHackage "tidal" "1.8.1"
+    , callHackage "timeit" "2.0"
     , callHackage "time-compat" "1.9.6.1"
     , callCabal2nix
         "time-effectful"
diff --git a/overlay.nix b/overlay.nix
index a36a851c67267944eb665f890aee08867eef2ed3..6ba80fa295ee6090ce24e18e7e8757f222813ffc 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -965,6 +965,8 @@ self: with pkgs.haskell.lib; {
 
   time-effectful = self.callPackage (./pkgs/time-effectful.nix) { };
 
+  timeit = self.callPackage (./pkgs/timeit.nix) { };
+
   tls = self.callPackage (./pkgs/tls.nix) { };
 
   tls-session-manager = self.callPackage (./pkgs/tls-session-manager.nix) { };
diff --git a/pkgs/timeit.nix b/pkgs/timeit.nix
new file mode 100644
index 0000000000000000000000000000000000000000..97322378d32cc7893b74d6e8fbc1ea9cee97cb0e
--- /dev/null
+++ b/pkgs/timeit.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "timeit";
+  version = "2.0";
+  sha256 = "a14df4e578db371e5c609f0784209144545f9cae90026d24a3398042f7c591ea";
+  revision = "2";
+  editedCabalFile = "1vgxfk2021jh6jk3dimchmf9f71844zj080342qvnn5lck7c7mrm";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/merijn/timeit";
+  description = "Time monadic computations with an IO base";
+  license = lib.licenses.bsd3;
+  broken = false;
+}