diff --git a/manifest.dhall b/manifest.dhall
index 7466c8b46731f56cdf5c8359bf70effa24ca26de..b5b3cf2c78d50ec4422e59a8fa01d0c7e6ce86e6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -590,6 +590,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "shakespeare" "2.0.30"
     , callHackage "shake" "0.19.6"
     , callHackage "shelly" "1.10.0"
+    , callHackage "silently" "1.2.5.3"
     , callHackage "simple-sendfile" "0.2.30"
     , callHackage "singleton-bool" "0.1.6"
     , callHackage "singletons" "3.0.2"
diff --git a/overlay.nix b/overlay.nix
index 367075965b42ca44c8cb30b26484338ad35363cc..621b27e1a4f0d1eb386abe007cb471968dd394f7 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -843,6 +843,8 @@ self: with pkgs.haskell.lib; {
 
   shelly = self.callPackage (./pkgs/shelly.nix) { };
 
+  silently = self.callPackage (./pkgs/silently.nix) { };
+
   simple-sendfile = self.callPackage (./pkgs/simple-sendfile.nix) { };
 
   singleton-bool = self.callPackage (./pkgs/singleton-bool.nix) { };
diff --git a/pkgs/silently.nix b/pkgs/silently.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0f06e6a0949a984a4a32f290de713ed1a43d65a3
--- /dev/null
+++ b/pkgs/silently.nix
@@ -0,0 +1,29 @@
+{ mkDerivation
+, base
+, deepseq
+, directory
+, lib
+, nanospec
+, temporary
+}:
+mkDerivation {
+  pname = "silently";
+  version = "1.2.5.3";
+  sha256 = "ba9dafafd29438a830afd158c3b83ce157d50e984352ff3ddf60a74c22f36372";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq directory ];
+  testHaskellDepends = [ base deepseq directory nanospec temporary ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/hspec/silently";
+  description = "Prevent or capture writing to stdout and other handles";
+  license = lib.licenses.bsd3;
+  broken = false;
+}