diff --git a/manifest.dhall b/manifest.dhall
index 0aa9a9abe18ca1a30d2353426a3b7ba2dfbbe702..9e08617e4ee922758a5a25d3cdf7361021f4c4a6 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -377,6 +377,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "validity-containers" "0.5.0.4"
     , callHackage "validity-path" "0.4.0.1"
     , callHackage "validity-persistent" "0.0.0.0"
+    , callHackage "validity-primitive" "0.0.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 370fb2e578f075a6bc13db11168a09f6fae595ee..c57ca2cc380598c2e1a4c94a2a5af09e2b2e1807 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -491,6 +491,8 @@ final: prev: with pkgs.haskell.lib; {
 
     validity-persistent = prev.callPackage (./pkgs/validity-persistent.nix) { };
 
+    validity-primitive = prev.callPackage (./pkgs/validity-primitive.nix) { };
+
     vault = prev.callPackage (./pkgs/vault.nix) { };
 
     vector = prev.callPackage (./pkgs/vector.nix) { };
diff --git a/pkgs/validity-primitive.nix b/pkgs/validity-primitive.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4547fe923671bc3e19483f506babe0a5d987e153
--- /dev/null
+++ b/pkgs/validity-primitive.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, lib, primitive, validity }:
+mkDerivation {
+  pname = "validity-primitive";
+  version = "0.0.0.1";
+  sha256 = "3ecdef8e94f2a51b0bbcf807b22cc153eeb072f4386d4a8da388898c43f23c65";
+  libraryHaskellDepends = [ base primitive validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for primitive";
+  license = lib.licenses.mit;
+}
\ No newline at end of file