diff --git a/manifest.dhall b/manifest.dhall
index 75401c5baa010aff5ad9c7b09213f9cfe55f004f..53512abea70bd1308bb6593da19d7e4db740dcd2 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -133,6 +133,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "cborg-json" "0.2.5.0"
     , callHackage "charset" "0.3.9"
     , callHackage "citeproc" "0.8.0.1"
+    , callHackage "clock" "0.8.3"
     , callHackage "cmdargs" "0.10.21"
     , callHackage "co-log-core" "0.3.1.0"
     , callHackage "co-log-polysemy" "0.0.1.3"
diff --git a/overlay.nix b/overlay.nix
index 3b715ec72640d40b423ca492d179bd996f589358..4817e7cdbda2d578601d6c833030be7965e6f646 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -141,6 +141,8 @@ self: with pkgs.haskell.lib; {
 
   citeproc = self.callPackage (./pkgs/citeproc.nix) { };
 
+  clock = self.callPackage (./pkgs/clock.nix) { };
+
   cmdargs = self.callPackage (./pkgs/cmdargs.nix) { };
 
   co-log-core = self.callPackage (./pkgs/co-log-core.nix) { };
diff --git a/pkgs/clock.nix b/pkgs/clock.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4f3d81a80e18aad669746a0593525805a461ada1
--- /dev/null
+++ b/pkgs/clock.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, criterion, lib, tasty, tasty-quickcheck }:
+mkDerivation {
+  pname = "clock";
+  version = "0.8.3";
+  sha256 = "845ce5db4c98cefd517323e005f87effceff886987305e421c4ef616dc0505d1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base tasty tasty-quickcheck ];
+  benchmarkHaskellDepends = [ base criterion ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/corsis/clock";
+  description = "High-resolution clock functions: monotonic, realtime, cputime";
+  license = lib.licenses.bsd3;
+  broken = false;
+}