diff --git a/manifest.dhall b/manifest.dhall
index e2833868f4725c1e1d82c9aca50cb295d54ca10b..6e89a7517b3bd6a71fba707bb96accf846bc3ae0 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -625,6 +625,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "skylighting-format-ansi" "0.1"
     , callHackage "skylighting-format-blaze-html" "0.1"
     , callHackage "skylighting-format-latex" "0.1"
+    , callHackage "smallcheck" "1.2.1"
     , callHackage "socks" "0.6.1"
     , callHackage "some" "1.0.4"
     , callHackage "sop-core" "0.5.0.1"
diff --git a/overlay.nix b/overlay.nix
index 1844f977b393a6bdcedf8f4c8f2214676be694b4..50df17bb4cefd0f4620b31023b2da435652d2f5b 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -925,6 +925,8 @@ self: with pkgs.haskell.lib; {
 
   slugify = self.callPackage (./pkgs/slugify.nix) { };
 
+  smallcheck = self.callPackage (./pkgs/smallcheck.nix) { };
+
   socks = self.callPackage (./pkgs/socks.nix) { };
 
   some = self.callPackage (./pkgs/some.nix) { };
diff --git a/pkgs/smallcheck.nix b/pkgs/smallcheck.nix
new file mode 100644
index 0000000000000000000000000000000000000000..73f4274339f27030cd69d06546641c0c8ee610f8
--- /dev/null
+++ b/pkgs/smallcheck.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib, logict, mtl, pretty }:
+mkDerivation {
+  pname = "smallcheck";
+  version = "1.2.1";
+  sha256 = "e41f9d11b50e0526dd28c9bc6cf6dddf98cebd782911a00c3e5cbe4ce53fc869";
+  revision = "1";
+  editedCabalFile = "141lvb58hy94gywchaaf2dbh1dncnj951q5l6xkg1drvm94dvj1b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base logict mtl pretty ];
+  enableLibraryProfiling = false;
+  enableExecutableProfiling = false;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/Bodigrim/smallcheck";
+  description = "A property-based testing library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}