diff --git a/manifest.dhall b/manifest.dhall
index 1e42f49ac4bd32f355bcc0795664b775d4b642d6..55bdd58ecb3384896fbf48246284d7e2bb94026e 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -158,13 +158,26 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "generic-optics-lite" "0.1"
     , callHackage "generic-optics" "2.2.1.0"
     , callHackage "generics-sop" "0.5.1.2"
+    , callHackage "genvalidity" "1.1.0.0"
     , callHackage "genvalidity-aeson" "1.0.0.1"
     , callHackage "genvalidity-bytestring" "1.0.0.1"
+    , callHackage "genvalidity-case-insensitive" "0.0.0.1"
+    , callHackage "genvalidity-containers" "1.0.0.1"
+    , callHackage "genvalidity-criterion" "1.1.0.0"
     , callHackage "genvalidity-hspec" "1.0.0.2"
+    , callHackage "genvalidity-path" "1.0.0.1"
+    , callHackage "genvalidity-persistent" "1.0.0.1"
+    , callHackage "genvalidity-property" "1.0.0.0"
     , callHackage "genvalidity-scientific" "1.0.0.0"
+    , callHackage "genvalidity-sydtest" "1.0.0.0"
     , callHackage "genvalidity-sydtest-aeson" "1.0.0.0"
+    , callHackage "genvalidity-sydtest-hashable" "1.0.0.0"
+    , callHackage "genvalidity-sydtest-lens" "1.0.0.0"
+    , callHackage "genvalidity-sydtest-persistent" "1.0.0.0"
     , callHackage "genvalidity-text" "1.0.0.1"
+    , callHackage "genvalidity-time" "1.0.0.1"
     , callHackage "genvalidity-unordered-containers" "1.0.0.0"
+    , callHackage "genvalidity-uuid" "1.0.0.1"
     , callHackage "genvalidity-vector" "1.0.0.0"
     , callHackage "ghc-byteorder" "4.11.0.0.10"
     , callHackage "ghc-check" "0.5.0.8"
@@ -229,6 +242,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "lucid" "2.11.1"
     , callHackage "net-mqtt" "0.8.2.2"
     , callHackage "memory" "0.18.0"
+    , callHackage "microstache" "1.0.2.2"
     , callHackage "monad-par" "0.3.5"
     , callHackage "monoid-subclasses" "1.1.3"
     , callHackage "network-byte-order" "0.1.6"
@@ -241,6 +255,7 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "pandoc" "2.19.2"
     , callHackage "parallel" "3.2.2.0"
     , callHackage "pcg-random" "0.1.3.7"
+    , callHackage "persistent" "2.14.3.0"
     , callHackage "polysemy" "1.7.1.0"
     , callHackage "polysemy-extra" "0.2.1.0"
     , callHackage "polysemy-kvstore" "0.1.3.0"
@@ -355,6 +370,20 @@ 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 "validity-aeson" "0.2.0.5"
+    , callHackage "validity-bytestring" "0.4.1.1"
+    , callHackage "validity-case-insensitive" "0.0.0.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 "validity-scientific" "0.2.0.3"
+    , callHackage "validity-text" "0.3.1.3"
+    , callHackage "validity-time" "0.5.0.0"
+    , callHackage "validity-unordered-containers" "0.2.0.3"
+    , callHackage "validity-uuid" "0.1.0.3"
+    , callHackage "validity-vector" "0.2.0.3"
     , 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 ffafd9c0a2c3dd01ae7ae7b4b1dedd47b50155fd..e71510b43b3be61c9ec213343ff70d6d1604834c 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -151,20 +151,46 @@ final: prev: with pkgs.haskell.lib; {
 
     generics-sop = prev.callPackage (./pkgs/generics-sop.nix) { };
 
+    genvalidity = prev.callPackage (./pkgs/genvalidity.nix) { };
+
     genvalidity-aeson = prev.callPackage (./pkgs/genvalidity-aeson.nix) { };
 
     genvalidity-bytestring = prev.callPackage (./pkgs/genvalidity-bytestring.nix) { };
 
+    genvalidity-case-insensitive = prev.callPackage (./pkgs/genvalidity-case-insensitive.nix) { };
+
+    genvalidity-containers = prev.callPackage (./pkgs/genvalidity-containers.nix) { };
+
+    genvalidity-criterion = prev.callPackage (./pkgs/genvalidity-criterion.nix) { };
+
     genvalidity-hspec = prev.callPackage (./pkgs/genvalidity-hspec.nix) { };
 
+    genvalidity-path = prev.callPackage (./pkgs/genvalidity-path.nix) { };
+
+    genvalidity-persistent = prev.callPackage (./pkgs/genvalidity-persistent.nix) { };
+
+    genvalidity-property = prev.callPackage (./pkgs/genvalidity-property.nix) { };
+
     genvalidity-scientific = prev.callPackage (./pkgs/genvalidity-scientific.nix) { };
 
+    genvalidity-sydtest = prev.callPackage (./pkgs/genvalidity-sydtest.nix) { };
+
     genvalidity-sydtest-aeson = prev.callPackage (./pkgs/genvalidity-sydtest-aeson.nix) { };
 
+    genvalidity-sydtest-hashable = prev.callPackage (./pkgs/genvalidity-sydtest-hashable.nix) { };
+
+    genvalidity-sydtest-lens = prev.callPackage (./pkgs/genvalidity-sydtest-lens.nix) { };
+
+    genvalidity-sydtest-persistent = prev.callPackage (./pkgs/genvalidity-sydtest-persistent.nix) { };
+
     genvalidity-text = prev.callPackage (./pkgs/genvalidity-text.nix) { };
 
+    genvalidity-time = prev.callPackage (./pkgs/genvalidity-time.nix) { };
+
     genvalidity-unordered-containers = prev.callPackage (./pkgs/genvalidity-unordered-containers.nix) { };
 
+    genvalidity-uuid = prev.callPackage (./pkgs/genvalidity-uuid.nix) { };
+
     genvalidity-vector = prev.callPackage (./pkgs/genvalidity-vector.nix) { };
 
     ghc-byteorder = prev.callPackage (./pkgs/ghc-byteorder.nix) { };
@@ -267,6 +293,8 @@ final: prev: with pkgs.haskell.lib; {
 
     memory = prev.callPackage (./pkgs/memory.nix) { };
 
+    microstache = prev.callPackage (./pkgs/microstache.nix) { };
+
     monad-par = prev.callPackage (./pkgs/monad-par.nix) { };
 
     monoid-subclasses = prev.callPackage (./pkgs/monoid-subclasses.nix) { };
@@ -293,6 +321,8 @@ final: prev: with pkgs.haskell.lib; {
 
     pcg-random = prev.callPackage (./pkgs/pcg-random.nix) { };
 
+    persistent = prev.callPackage (./pkgs/persistent.nix) { };
+
     polysemy = prev.callPackage (./pkgs/polysemy.nix) { };
 
     polysemy-extra = prev.callPackage (./pkgs/polysemy-extra.nix) { };
@@ -447,6 +477,34 @@ final: prev: with pkgs.haskell.lib; {
 
     unordered-containers = prev.callPackage (./pkgs/unordered-containers.nix) { };
 
+    validity = prev.callPackage (./pkgs/validity.nix) { };
+
+    validity-aeson = prev.callPackage (./pkgs/validity-aeson.nix) { };
+
+    validity-bytestring = prev.callPackage (./pkgs/validity-bytestring.nix) { };
+
+    validity-case-insensitive = prev.callPackage (./pkgs/validity-case-insensitive.nix) { };
+
+    validity-containers = prev.callPackage (./pkgs/validity-containers.nix) { };
+
+    validity-path = prev.callPackage (./pkgs/validity-path.nix) { };
+
+    validity-persistent = prev.callPackage (./pkgs/validity-persistent.nix) { };
+
+    validity-primitive = prev.callPackage (./pkgs/validity-primitive.nix) { };
+
+    validity-scientific = prev.callPackage (./pkgs/validity-scientific.nix) { };
+
+    validity-text = prev.callPackage (./pkgs/validity-text.nix) { };
+
+    validity-time = prev.callPackage (./pkgs/validity-time.nix) { };
+
+    validity-unordered-containers = prev.callPackage (./pkgs/validity-unordered-containers.nix) { };
+
+    validity-uuid = prev.callPackage (./pkgs/validity-uuid.nix) { };
+
+    validity-vector = prev.callPackage (./pkgs/validity-vector.nix) { };
+
     vault = prev.callPackage (./pkgs/vault.nix) { };
 
     vector = prev.callPackage (./pkgs/vector.nix) { };
diff --git a/pkgs/genvalidity-case-insensitive.nix b/pkgs/genvalidity-case-insensitive.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b2d51ce2391654872659ffcd0c3823b8e4d9bb38
--- /dev/null
+++ b/pkgs/genvalidity-case-insensitive.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, base, case-insensitive, criterion, genvalidity
+, genvalidity-criterion, genvalidity-hspec, hspec, lib, QuickCheck
+, validity-case-insensitive
+}:
+mkDerivation {
+  pname = "genvalidity-case-insensitive";
+  version = "0.0.0.1";
+  sha256 = "40e26a8a2f53ae592f87d85bcffce28a1c8af2ffdb977ac88d5ed7df99970aa9";
+  libraryHaskellDepends = [
+    base case-insensitive genvalidity validity-case-insensitive
+  ];
+  testHaskellDepends = [
+    base case-insensitive genvalidity-hspec hspec
+  ];
+  benchmarkHaskellDepends = [
+    base case-insensitive criterion genvalidity genvalidity-criterion
+    QuickCheck
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "GenValidity support for case-insensitive";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-containers.nix b/pkgs/genvalidity-containers.nix
new file mode 100644
index 0000000000000000000000000000000000000000..666cd1de78d85715aed3ef196ce7939271329a3b
--- /dev/null
+++ b/pkgs/genvalidity-containers.nix
@@ -0,0 +1,27 @@
+{ mkDerivation, base, containers, criterion, genvalidity
+, genvalidity-criterion, genvalidity-hspec, genvalidity-property
+, hspec, lib, QuickCheck, validity, validity-containers
+}:
+mkDerivation {
+  pname = "genvalidity-containers";
+  version = "1.0.0.1";
+  sha256 = "3726836f06ef2f7ed26c088530e7af63b8869d9aaec63ae8135d32ceac88b994";
+  libraryHaskellDepends = [
+    base containers genvalidity QuickCheck validity validity-containers
+  ];
+  testHaskellDepends = [
+    base containers genvalidity genvalidity-hspec genvalidity-property
+    hspec QuickCheck validity validity-containers
+  ];
+  benchmarkHaskellDepends = [
+    base containers criterion genvalidity genvalidity-criterion
+    QuickCheck
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "GenValidity support for containers";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-criterion.nix b/pkgs/genvalidity-criterion.nix
new file mode 100644
index 0000000000000000000000000000000000000000..42235cf247d1e85e79a0f1da2c35fa03b9f64223
--- /dev/null
+++ b/pkgs/genvalidity-criterion.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, criterion, deepseq, genvalidity, lib
+, QuickCheck, vector
+}:
+mkDerivation {
+  pname = "genvalidity-criterion";
+  version = "1.1.0.0";
+  sha256 = "a94329cad18ba86cbeb05b6c76bc88b5fc94fa7a1a1024671fbb63f7b3dd4e56";
+  libraryHaskellDepends = [
+    base criterion deepseq genvalidity QuickCheck vector
+  ];
+  benchmarkHaskellDepends = [
+    base criterion genvalidity QuickCheck
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Criterion benchmarks for generators";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-path.nix b/pkgs/genvalidity-path.nix
new file mode 100644
index 0000000000000000000000000000000000000000..2a2d6edb508a97a72c7186c644eaf85b9f426bfe
--- /dev/null
+++ b/pkgs/genvalidity-path.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, criterion, genvalidity, genvalidity-criterion
+, genvalidity-hspec, hspec, lib, path, QuickCheck, validity-path
+}:
+mkDerivation {
+  pname = "genvalidity-path";
+  version = "1.0.0.1";
+  sha256 = "3fb4081a0f578a5cf00564bab49013784f8b4395ef2c4e005960772475924ee5";
+  libraryHaskellDepends = [
+    base genvalidity path QuickCheck validity-path
+  ];
+  testHaskellDepends = [ base genvalidity-hspec hspec path ];
+  benchmarkHaskellDepends = [
+    base criterion genvalidity genvalidity-criterion path QuickCheck
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "GenValidity support for Path";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-persistent.nix b/pkgs/genvalidity-persistent.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bc89e28b929269d5ceb3fb873144edf5a4ffe18e
--- /dev/null
+++ b/pkgs/genvalidity-persistent.nix
@@ -0,0 +1,29 @@
+{ mkDerivation, base, containers, criterion, deepseq, genvalidity
+, genvalidity-containers, genvalidity-criterion, genvalidity-hspec
+, hspec, lib, persistent, persistent-template, QuickCheck
+, validity-containers, validity-persistent
+}:
+mkDerivation {
+  pname = "genvalidity-persistent";
+  version = "1.0.0.1";
+  sha256 = "5982eb6b9b9d5e31287d6de76a5fb25d3721a3274cde107dfd19ccb214a571c0";
+  libraryHaskellDepends = [
+    base containers genvalidity genvalidity-containers persistent
+    QuickCheck validity-containers validity-persistent
+  ];
+  testHaskellDepends = [
+    base genvalidity genvalidity-hspec hspec persistent
+    persistent-template QuickCheck validity-containers
+  ];
+  benchmarkHaskellDepends = [
+    base criterion deepseq genvalidity genvalidity-criterion persistent
+    persistent-template
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "GenValidity support for Persistent";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-property.nix b/pkgs/genvalidity-property.nix
new file mode 100644
index 0000000000000000000000000000000000000000..60e451008f8d91eebd7fcaf158f7bf20a6b41638
--- /dev/null
+++ b/pkgs/genvalidity-property.nix
@@ -0,0 +1,19 @@
+{ mkDerivation, base, genvalidity, hspec, lib, pretty-show
+, QuickCheck, validity
+}:
+mkDerivation {
+  pname = "genvalidity-property";
+  version = "1.0.0.0";
+  sha256 = "9c5e385ac5dd5b554d8ff07422261248178bcee8f226b2c7ca93cd4c006eacdb";
+  libraryHaskellDepends = [
+    base genvalidity hspec pretty-show QuickCheck validity
+  ];
+  testHaskellDepends = [ base genvalidity hspec QuickCheck ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Standard properties for functions on `Validity` types";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-sydtest-hashable.nix b/pkgs/genvalidity-sydtest-hashable.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3c3c0fe320eaa55bd1db5a5e268c6656504a70b3
--- /dev/null
+++ b/pkgs/genvalidity-sydtest-hashable.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, base, genvalidity, genvalidity-sydtest, hashable
+, lib, QuickCheck, sydtest, sydtest-discover, validity
+}:
+mkDerivation {
+  pname = "genvalidity-sydtest-hashable";
+  version = "1.0.0.0";
+  sha256 = "5f4442eb5902c86d72b8340152069d3c3cdb768d8eee0d81e469a650ad178814";
+  libraryHaskellDepends = [
+    base genvalidity genvalidity-sydtest hashable QuickCheck sydtest
+    validity
+  ];
+  testHaskellDepends = [
+    base genvalidity genvalidity-sydtest hashable QuickCheck sydtest
+    validity
+  ];
+  testToolDepends = [ sydtest-discover ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Standard spec's for Hashable instances for sydtest";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-sydtest-lens.nix b/pkgs/genvalidity-sydtest-lens.nix
new file mode 100644
index 0000000000000000000000000000000000000000..811fb30a5567155807877dfb26a397aaab56f947
--- /dev/null
+++ b/pkgs/genvalidity-sydtest-lens.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, genvalidity, genvalidity-sydtest, lib
+, microlens, QuickCheck, sydtest, sydtest-discover, validity
+}:
+mkDerivation {
+  pname = "genvalidity-sydtest-lens";
+  version = "1.0.0.0";
+  sha256 = "a9ca038b9a7bed8d6df36cf8c1b395ef031ae60f0fd1088dc7ab22b7a05f6f7b";
+  libraryHaskellDepends = [
+    base genvalidity genvalidity-sydtest microlens QuickCheck sydtest
+  ];
+  testHaskellDepends = [
+    base genvalidity genvalidity-sydtest microlens sydtest validity
+  ];
+  testToolDepends = [ sydtest-discover ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "http://cs-syd.eu";
+  description = "Standard spec's for lens for sydtest";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-sydtest-persistent.nix b/pkgs/genvalidity-sydtest-persistent.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8461748c62ac14e07f54666e7ce915a96984da26
--- /dev/null
+++ b/pkgs/genvalidity-sydtest-persistent.nix
@@ -0,0 +1,25 @@
+{ mkDerivation, base, genvalidity, genvalidity-sydtest
+, genvalidity-text, lib, persistent, QuickCheck, sydtest
+, sydtest-discover, text, validity
+}:
+mkDerivation {
+  pname = "genvalidity-sydtest-persistent";
+  version = "1.0.0.0";
+  sha256 = "d73bae6746156e37ac1f518e8f7aef31a8e5fe2bbc5d7cfbdf39ced313e552da";
+  libraryHaskellDepends = [
+    base genvalidity genvalidity-sydtest persistent QuickCheck sydtest
+    text
+  ];
+  testHaskellDepends = [
+    base genvalidity genvalidity-sydtest genvalidity-text persistent
+    QuickCheck sydtest text validity
+  ];
+  testToolDepends = [ sydtest-discover ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "http://cs-syd.eu";
+  description = "Standard spec's for persistent-related instances for sydtest";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-sydtest.nix b/pkgs/genvalidity-sydtest.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f63c094e151a298977561e4beb69aee093eb27f1
--- /dev/null
+++ b/pkgs/genvalidity-sydtest.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, genvalidity, lib, pretty-show, QuickCheck
+, sydtest, sydtest-discover, validity
+}:
+mkDerivation {
+  pname = "genvalidity-sydtest";
+  version = "1.0.0.0";
+  sha256 = "8550737541526c8f51b29b70aa5b45ef33eb41b5e7ef29c97ad1b1ac91366687";
+  libraryHaskellDepends = [
+    base genvalidity pretty-show QuickCheck sydtest validity
+  ];
+  testHaskellDepends = [ base genvalidity QuickCheck sydtest ];
+  testToolDepends = [ sydtest-discover ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Standard properties for functions on `Validity` types for the sydtest framework";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-time.nix b/pkgs/genvalidity-time.nix
new file mode 100644
index 0000000000000000000000000000000000000000..97f7fe1d04c2b31c38f3b81b0033d4415aea7494
--- /dev/null
+++ b/pkgs/genvalidity-time.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, criterion, genvalidity, genvalidity-criterion
+, genvalidity-hspec, hspec, lib, QuickCheck, time, validity-time
+}:
+mkDerivation {
+  pname = "genvalidity-time";
+  version = "1.0.0.1";
+  sha256 = "867c5a77aa2750e6b574f63b5bc23e037d8e0e393d627df49df46497d9346c94";
+  libraryHaskellDepends = [
+    base genvalidity QuickCheck time validity-time
+  ];
+  testHaskellDepends = [ base genvalidity-hspec hspec time ];
+  benchmarkHaskellDepends = [
+    base criterion genvalidity-criterion time
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "GenValidity support for time";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity-uuid.nix b/pkgs/genvalidity-uuid.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b2a62cee709acbd47ceea85b572f0341c12944df
--- /dev/null
+++ b/pkgs/genvalidity-uuid.nix
@@ -0,0 +1,25 @@
+{ mkDerivation, base, criterion, genvalidity, genvalidity-criterion
+, genvalidity-hspec, hspec, lib, QuickCheck, uuid, validity
+, validity-uuid
+}:
+mkDerivation {
+  pname = "genvalidity-uuid";
+  version = "1.0.0.1";
+  sha256 = "b3348b59221f8c39ce5e6e5b4e390216304dae6c43bee9339424efd5f075d696";
+  libraryHaskellDepends = [
+    base genvalidity QuickCheck uuid validity validity-uuid
+  ];
+  testHaskellDepends = [
+    base genvalidity genvalidity-hspec hspec QuickCheck uuid
+  ];
+  benchmarkHaskellDepends = [
+    base criterion genvalidity genvalidity-criterion QuickCheck uuid
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "GenValidity support for UUID";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/genvalidity.nix b/pkgs/genvalidity.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bfae45e1c887a9da83596b6993f6723e77bcc6cb
--- /dev/null
+++ b/pkgs/genvalidity.nix
@@ -0,0 +1,17 @@
+{ mkDerivation, base, hspec, hspec-core, lib, QuickCheck, random
+, validity
+}:
+mkDerivation {
+  pname = "genvalidity";
+  version = "1.1.0.0";
+  sha256 = "5897d7640a93ad6cd12177375009cad5189ba147edff80ded0c2a508ff5bbb23";
+  libraryHaskellDepends = [ base QuickCheck random validity ];
+  testHaskellDepends = [ base hspec hspec-core QuickCheck ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Testing utilities for the validity library";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/microstache.nix b/pkgs/microstache.nix
new file mode 100644
index 0000000000000000000000000000000000000000..321968ab11b602d9e6e98f45381bccd2b4996a76
--- /dev/null
+++ b/pkgs/microstache.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, aeson, base, base-orphans, bytestring, containers
+, deepseq, directory, filepath, lib, parsec, tasty, tasty-hunit
+, text, transformers, unordered-containers, vector
+}:
+mkDerivation {
+  pname = "microstache";
+  version = "1.0.2.2";
+  sha256 = "f0a1dbef45a137e1af0e29ea4b9585788217cc1c6f1db7d68a4f659916dd36ac";
+  libraryHaskellDepends = [
+    aeson base containers deepseq directory filepath parsec text
+    transformers unordered-containers vector
+  ];
+  testHaskellDepends = [
+    aeson base base-orphans bytestring containers parsec tasty
+    tasty-hunit text
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskellari/microstache";
+  description = "Mustache templates for Haskell";
+  license = lib.licenses.bsd3;
+}
\ No newline at end of file
diff --git a/pkgs/persistent.nix b/pkgs/persistent.nix
new file mode 100644
index 0000000000000000000000000000000000000000..da7a2b98dbf2da56c113ba4a60de9040ab598efe
--- /dev/null
+++ b/pkgs/persistent.nix
@@ -0,0 +1,38 @@
+{ mkDerivation, aeson, attoparsec, base, base64-bytestring
+, blaze-html, bytestring, conduit, containers, criterion, deepseq
+, fast-logger, file-embed, hspec, http-api-data, lib, lift-type
+, monad-logger, mtl, path-pieces, QuickCheck, quickcheck-instances
+, resource-pool, resourcet, scientific, shakespeare, silently
+, template-haskell, text, th-lift-instances, time, transformers
+, unliftio, unliftio-core, unordered-containers, vault, vector
+}:
+mkDerivation {
+  pname = "persistent";
+  version = "2.14.3.0";
+  sha256 = "1288244f62d334dbe65cae6157098de38419b8445d5cc227281e688310189a19";
+  libraryHaskellDepends = [
+    aeson attoparsec base base64-bytestring blaze-html bytestring
+    conduit containers fast-logger http-api-data lift-type monad-logger
+    mtl path-pieces resource-pool resourcet scientific silently
+    template-haskell text th-lift-instances time transformers unliftio
+    unliftio-core unordered-containers vault vector
+  ];
+  testHaskellDepends = [
+    aeson attoparsec base base64-bytestring blaze-html bytestring
+    conduit containers fast-logger hspec http-api-data monad-logger mtl
+    path-pieces QuickCheck quickcheck-instances resource-pool resourcet
+    scientific shakespeare silently template-haskell text
+    th-lift-instances time transformers unliftio unliftio-core
+    unordered-containers vector
+  ];
+  benchmarkHaskellDepends = [
+    base criterion deepseq file-embed template-haskell text
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "http://www.yesodweb.com/book/persistent";
+  description = "Type-safe, multi-backend data serialization";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-aeson.nix b/pkgs/validity-aeson.nix
new file mode 100644
index 0000000000000000000000000000000000000000..7ec82ff5feaae7dcc03eb4fad4f0710e95bfe70e
--- /dev/null
+++ b/pkgs/validity-aeson.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, aeson, base, hspec, lib, validity
+, validity-scientific, validity-text, validity-unordered-containers
+, validity-vector
+}:
+mkDerivation {
+  pname = "validity-aeson";
+  version = "0.2.0.5";
+  sha256 = "b232c3bb0a3a1ae342f41c42eb90e8931421e409ed4930c2b89246a521ae623e";
+  libraryHaskellDepends = [
+    aeson base validity validity-scientific validity-text
+    validity-unordered-containers validity-vector
+  ];
+  testHaskellDepends = [ aeson base hspec validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for aeson";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-bytestring.nix b/pkgs/validity-bytestring.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8682ceaacf7815cfb7aa9787c06629d2f35d5fc5
--- /dev/null
+++ b/pkgs/validity-bytestring.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, bytestring, lib, validity }:
+mkDerivation {
+  pname = "validity-bytestring";
+  version = "0.4.1.1";
+  sha256 = "7db8912c29ceff3fd8943a61845f9c0738d7238ca49bce2e6f3c6bc490bd6732";
+  libraryHaskellDepends = [ base bytestring validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for bytestring";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-case-insensitive.nix b/pkgs/validity-case-insensitive.nix
new file mode 100644
index 0000000000000000000000000000000000000000..c838f45cb86c2e5b3312e0db97a0cb15f08e439f
--- /dev/null
+++ b/pkgs/validity-case-insensitive.nix
@@ -0,0 +1,19 @@
+{ mkDerivation, base, case-insensitive, genvalidity-hspec, hspec
+, lib, validity
+}:
+mkDerivation {
+  pname = "validity-case-insensitive";
+  version = "0.0.0.0";
+  sha256 = "2d5896b50bcfa69f68242a05ad6d08bc8b61975ab5041749ecc5551cf7ebb71c";
+  libraryHaskellDepends = [ base case-insensitive validity ];
+  testHaskellDepends = [
+    base case-insensitive genvalidity-hspec hspec validity
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for case-insensitive";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-containers.nix b/pkgs/validity-containers.nix
new file mode 100644
index 0000000000000000000000000000000000000000..459b2f4c3e9beac60065434a50b1a0957cacfda6
--- /dev/null
+++ b/pkgs/validity-containers.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, containers, lib, validity }:
+mkDerivation {
+  pname = "validity-containers";
+  version = "0.5.0.4";
+  sha256 = "8de2ac38381ecc4fd7f3bfe48b2a398de8b9e018ddf84420178d94dc80b985e3";
+  libraryHaskellDepends = [ base containers validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for containers";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-path.nix b/pkgs/validity-path.nix
new file mode 100644
index 0000000000000000000000000000000000000000..16324f8e9e9cc8cb62e922b5b8cb019d629d6e28
--- /dev/null
+++ b/pkgs/validity-path.nix
@@ -0,0 +1,19 @@
+{ mkDerivation, base, filepath, genvalidity-hspec, hspec, lib, path
+, validity
+}:
+mkDerivation {
+  pname = "validity-path";
+  version = "0.4.0.1";
+  sha256 = "fda2d4f9f453e2c51d62c549ce7dd39390b834558b7aa8a527a3978b9f14e002";
+  libraryHaskellDepends = [ base filepath path validity ];
+  testHaskellDepends = [
+    base filepath genvalidity-hspec hspec path validity
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for Path";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-persistent.nix b/pkgs/validity-persistent.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4c015a3f967a48f0a281381b9db87be16fd9cdf8
--- /dev/null
+++ b/pkgs/validity-persistent.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, hspec, lib, persistent, validity }:
+mkDerivation {
+  pname = "validity-persistent";
+  version = "0.0.0.0";
+  sha256 = "cc38e8f31ef26e1d9a277181792902e568b71e4a159d006e08738e222d8f7e0a";
+  libraryHaskellDepends = [ base hspec persistent validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "http://cs-syd.eu";
+  description = "Validity instances for persistent-related types";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
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
diff --git a/pkgs/validity-scientific.nix b/pkgs/validity-scientific.nix
new file mode 100644
index 0000000000000000000000000000000000000000..635477507c0707a61ee3a0080f3904168c712148
--- /dev/null
+++ b/pkgs/validity-scientific.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, lib, scientific, validity }:
+mkDerivation {
+  pname = "validity-scientific";
+  version = "0.2.0.3";
+  sha256 = "773a4a35933637d0bade859dd0e8acadc781d9ccd3b057d60e7ffaaa20e5186f";
+  libraryHaskellDepends = [ base scientific validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for scientific";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-text.nix b/pkgs/validity-text.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9b9fe080bec900edd182aa35deea90425389573e
--- /dev/null
+++ b/pkgs/validity-text.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, bytestring, lib, text, validity }:
+mkDerivation {
+  pname = "validity-text";
+  version = "0.3.1.3";
+  sha256 = "7aee83b507181886d824a0c45b835888494874d7d22f1aa5859062354a93fd45";
+  libraryHaskellDepends = [ base bytestring text validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for text";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-time.nix b/pkgs/validity-time.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bb1c25b1d656029f7db96c751b3b3f74834bb6e9
--- /dev/null
+++ b/pkgs/validity-time.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, lib, time, validity }:
+mkDerivation {
+  pname = "validity-time";
+  version = "0.5.0.0";
+  sha256 = "610ab49ee19f81da54072e54468d96dfd00e5f46d29ddbbc63f23498a0d763c6";
+  libraryHaskellDepends = [ base time validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for time";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-unordered-containers.nix b/pkgs/validity-unordered-containers.nix
new file mode 100644
index 0000000000000000000000000000000000000000..14ec2d646e81115a512ed1c76b1fa43b00300bf2
--- /dev/null
+++ b/pkgs/validity-unordered-containers.nix
@@ -0,0 +1,17 @@
+{ mkDerivation, base, hashable, lib, unordered-containers, validity
+}:
+mkDerivation {
+  pname = "validity-unordered-containers";
+  version = "0.2.0.3";
+  sha256 = "f20d6b20b9695379f3478b357cd7c0968c3726ef4336eb0c652b84a34e332a87";
+  libraryHaskellDepends = [
+    base hashable unordered-containers validity
+  ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for unordered-containers";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-uuid.nix b/pkgs/validity-uuid.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bc48f240e9f91db6b798d756ecc960861afff907
--- /dev/null
+++ b/pkgs/validity-uuid.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, lib, uuid, validity }:
+mkDerivation {
+  pname = "validity-uuid";
+  version = "0.1.0.3";
+  sha256 = "343529cf3d3cafb63277fe8df7154c77593903284752a2cccb5a1f50114e9fd4";
+  libraryHaskellDepends = [ base uuid validity ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for uuid";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
diff --git a/pkgs/validity-vector.nix b/pkgs/validity-vector.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bfa1e2b8b229f4ef31030f295181668d747d7e47
--- /dev/null
+++ b/pkgs/validity-vector.nix
@@ -0,0 +1,14 @@
+{ mkDerivation, base, hashable, lib, validity, vector }:
+mkDerivation {
+  pname = "validity-vector";
+  version = "0.2.0.3";
+  sha256 = "3e6c66c10220da63a9d02f77df6394a1428332295961ac948b648199e0686e49";
+  libraryHaskellDepends = [ base hashable validity vector ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/NorfairKing/validity#readme";
+  description = "Validity instances for vector";
+  license = lib.licenses.mit;
+}
\ No newline at end of file
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