diff --git a/manifest.dhall b/manifest.dhall
index 5d0e7aca534c3d50ae3c38d0ee1ca0a117ccacd5..4cd20130eece0b47f7c29a0b6c46123b64931749 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -370,6 +370,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "unicode-data" "0.4.0"
     , callHackage "unicode-transforms" "0.4.0.1"
     , callHackage "unordered-containers" "0.2.19.1"
+    , callHackage "validity" "0.12.0.1"
     , callHackage "vault" "0.3.1.5"
     , callHackage "vector" "0.13.0.0"
     , callHackage "vector-algorithms" "0.9.0.1"
diff --git a/overlay.nix b/overlay.nix
index d5225bb2c6952faea2c53daed13c920a74e14955..f1b3676c2d88fde9e510b721fce706526e7c236c 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -477,6 +477,8 @@ final: prev: with pkgs.haskell.lib; {
 
     unordered-containers = prev.callPackage (./pkgs/unordered-containers.nix) { };
 
+    validity = prev.callPackage (./pkgs/validity.nix) { };
+
     vault = prev.callPackage (./pkgs/vault.nix) { };
 
     vector = prev.callPackage (./pkgs/vector.nix) { };
diff --git a/pkgs/validity.nix b/pkgs/validity.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b98faf9d50a7476c5c7f7139b8ac0491f45477fc
--- /dev/null
+++ b/pkgs/validity.nix
@@ -0,0 +1,15 @@
+{ mkDerivation, base, hspec, lib }:
+mkDerivation {
+  pname = "validity";
+  version = "0.12.0.1";
+  sha256 = "1c3ce2052b73a47bd6ea6cb757e0dac5cf1cacf3558cb06b5ab725ad30d73ec9";
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base hspec ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity typeclass";
+  license = lib.licenses.mit;
+}
\ No newline at end of file