diff --git a/flake.nix b/flake.nix
index dac65e7cff26846c37166d6aabf92811d58d611d..e215e71a7d6d36bb29aa990199d030b6aa702819 100644
--- a/flake.nix
+++ b/flake.nix
@@ -31,7 +31,11 @@
 
         horizon-platform-prev = get-flake horizon-platform;
 
-        horizon-gen-nix = horizon-platform-prev.legacyPackages.${system}.horizon-gen-nix;
+        horizon-gen-nix = writeBashBin "horizon-gen-nix" ''
+          ${horizon-platform-prev.legacyPackages.${system}.horizon-gen-nix}/bin/horizon-gen-nix;
+          ${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt pkgs/*
+          ${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt initial-packages.nix
+        '';
 
         haskellLib = pkgs.haskell.lib.compose;
 
diff --git a/horizon.dhall b/horizon.dhall
index dc283af89594a3ed0f0fffec53f28cec71e89c4a..12e42cca58db8242476551a5d37e38e7a1670f59 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -45,6 +45,7 @@ let callGitServant
 
 let packages =
       { BNFC = H.callHackage "BNFC" "2.9.4.1"
+      , Boolean = H.callHackage "Boolean" "0.2.4"
       , Cabal = H.callHackage "Cabal" "3.8.1.0"
       , Cabal-QuickCheck = callGitCabal "Cabal-QuickCheck"
       , Cabal-described = callGitCabal "Cabal-described"
@@ -54,10 +55,12 @@ let packages =
       , Decimal = H.callHackage "Decimal" "0.5.2"
       , Diff = H.callHackage "Diff" "0.4.1"
       , Glob = H.callHackage "Glob" "0.10.2"
+      , HTF = H.callHackage "HTF" "0.15.0.0"
       , HTTP = H.callHackage "HTTP" "4000.4.1"
+      , HUnit = H.callHackage "HUnit" "1.6.2.0"
+      , HsOpenSSL = H.callHackage "HsOpenSSL" "0.11.7.2"
       , Hclip = H.callHackage "Hclip" "3.0.0.4"
       , HsYAML = H.callHackage "HsYAML" "0.2.1.1"
-      , HUnit = H.callHackage "HUnit" "1.6.2.0"
       , ListLike = H.callHackage "ListLike" "4.7.7"
       , JuicyPixels = H.callHackage "JuicyPixels" "3.3.8"
       , MonadRandom = H.callHackage "MonadRandom" "0.5.3"
@@ -69,6 +72,8 @@ let packages =
       , QuickCheck = H.callHackage "QuickCheck" "2.14.2"
       , SHA = H.callHackage "SHA" "1.6.4.4"
       , StateVar = H.callHackage "StateVar" "1.2.2"
+      , Stream = H.callHackage "Stream" "0.4.7.2"
+      , Unique = H.callHackage "Unique" "0.4.7.9"
       , X11-xft = H.callHackage "X11-xft" "0.3.4"
       , X11 = H.callHackage "X11" "1.10.3"
       , abstract-deque-tests = H.callHackage "abstract-deque-tests" "0.3"
@@ -77,6 +82,7 @@ let packages =
       , adjunctions = H.callHackage "adjunctions" "4.4.2"
       , aeson = H.callHackage "aeson" "2.1.0.0"
       , aeson-pretty = H.callHackage "aeson-pretty" "0.8.9"
+      , aeson-qq = H.callHackage "aeson-qq" "0.8.4"
       , aeson-yaml = H.callHackage "aeson-yaml" "1.1.0.1"
       , alex = H.callHackage "alex" "3.2.7.1"
       , algebraic-graphs = H.callHackage "algebraic-graphs" "0.7"
@@ -84,12 +90,14 @@ let packages =
       , alsa-mixer = H.callHackage "alsa-mixer" "0.3.0"
       , ansi-terminal = H.callHackage "ansi-terminal" "0.11.3"
       , ansi-wl-pprint = H.callHackage "ansi-wl-pprint" "0.6.9"
+      , ap-normalize = H.callHackage "ap-normalize" "0.1.0.1"
       , appar = H.callHackage "appar" "0.1.8"
       , apecs = H.callHackage "apecs" "0.9.4"
       , asn1-encoding = H.callHackage "asn1-encoding" "0.9.6"
       , asn1-parse = H.callHackage "asn1-parse" "0.9.5"
       , asn1-types = H.callHackage "asn1-types" "0.3.4"
       , assoc = H.callHackage "assoc" "1.0.2"
+      , async-timer = H.callHackage "async-timer" "0.2.0.0"
       , async = H.callHackage "async" "2.2.4"
       , atomic-primops = H.callHackage "atomic-primops" "0.8.4"
       , atomic-write = H.callHackage "atomic-write" "0.2.0.7"
@@ -104,16 +112,22 @@ let packages =
       , autodocodec-yaml = H.callHackage "autodocodec-yaml" "0.2.0.2"
       , autoexporter = H.callHackage "autoexporter" "2.0.0.2"
       , barbies = H.callHackage "barbies" "2.0.3.1"
+      , base-prelude = H.callHackage "base-prelude" "1.6.1"
       , base-orphans = H.callHackage "base-orphans" "0.8.7"
       , basement = H.callHackage "basement" "0.0.15"
       , base16-bytestring = H.callHackage "base16-bytestring" "1.0.2.0"
+      , base58-bytestring = H.callHackage "base58-bytestring" "0.1.0"
+      , base64-bytestring-type = H.callHackage "base64-bytestring-type" "1.0.1"
       , base64-bytestring = H.callHackage "base64-bytestring" "1.2.1.0"
       , base64 = H.callHackage "base64" "0.4.2.4"
       , base-compat = H.callHackage "base-compat" "0.12.2"
       , base-compat-batteries = H.callHackage "base-compat-batteries" "0.12.2"
+      , bech32 = H.callHackage "bech32" "1.1.2"
+      , bech32-th = H.callHackage "bech32-th" "1.1.1"
       , bifunctors = H.callHackage "bifunctors" "5.5.13"
       , bimap = H.callHackage "bimap" "0.5.0"
       , binary-orphans = H.callHackage "binary-orphans" "1.0.3"
+      , bin = H.callHackage "bin" "0.1.2"
       , bitvec = H.callHackage "bitvec" "1.1.3.0"
       , blaze-builder = H.callHackage "blaze-builder" "0.4.2.2"
       , blaze-html = H.callHackage "blaze-html" "0.9.1.2"
@@ -138,7 +152,9 @@ let packages =
             (Some "cabal2nix")
       , cache = H.callHackage "cache" "0.1.3.0"
       , call-stack = H.callHackage "call-stack" "0.4.0"
+      , canonical-json = H.callHackage "canonical-json" "0.6.0.1"
       , case-insensitive = H.callHackage "case-insensitive" "1.2.1.0"
+      , casing = H.callHackage "casing" "0.1.4.1"
       , cassava = H.callHackage "cassava" "0.5.3.0"
       , cassava-megaparsec = H.callHackage "cassava-megaparsec" "2.0.4"
       , cborg = H.callHackage "cborg" "0.2.8.0"
@@ -174,6 +190,8 @@ let packages =
       , composite-dhall = H.callHackage "composite-dhall" "0.1.0.1"
       , composite-lens-extra = H.callHackage "composite-lens-extra" "0.1.0.0"
       , composite-tuple = H.callHackage "composite-tuple" "0.1.2.0"
+      , composition-prelude = H.callHackage "composition-prelude" "3.0.0.2"
+      , concurrent-extra = H.callHackage "concurrent-extra" "0.7.0.12"
       , concurrent-output = H.callHackage "concurrent-output" "1.10.16"
       , conduit-combinators = H.callHackage "conduit-combinators" "1.3.0"
       , conduit = H.callHackage "conduit" "1.3.4.2"
@@ -218,17 +236,24 @@ let packages =
           H.callHackage "data-default-instances-old-locale" "0.0.1"
       , data-default = H.callHackage "data-default" "0.7.1.1"
       , data-fix = H.callHackage "data-fix" "0.3.2"
+      , data-ordlist = H.callHackage "data-ordlist" "0.4.7.0"
       , data-sketches = H.callHackage "data-sketches" "0.3.1.0"
       , data-sketches-core = H.callHackage "data-sketches-core" "0.1.0.0"
+      , dbus = H.callHackage "dbus" "1.2.27"
       , dec = H.callHackage "dec" "0.0.5"
       , deepseq-generics = H.callHackage "deepseq-generics" "0.2.0.0"
       , dense-linear-algebra = H.callHackage "dense-linear-algebra" "0.1.0.0"
       , dependent-map = H.callHackage "dependent-map" "0.4.0.0"
+      , dependent-sum-template =
+          H.callHackage "dependent-sum-template" "0.1.1.1"
       , dependent-sum = H.callHackage "dependent-sum" "0.7.1.0"
+      , deque = H.callHackage "deque" "0.4.4"
+      , deriving-compat = H.callHackage "deriving-compat" "0.6.1"
       , derp = H.callHackage "derp" "0.1.6"
       , deriving-aeson = H.callHackage "deriving-aeson" "0.2.8"
       , dhall = H.callHackage "dhall" "1.41.2"
       , dhall-json = H.callHackage "dhall-json" "1.7.11"
+      , dictionary-sharing = H.callHackage "dictionary-sharing" "0.1.0.0"
       , digest = H.callHackage "digest" "0.0.1.3"
       , dimensional = H.callHackage "dimensional" "1.5"
       , direct-sqlite = H.callHackage "direct-sqlite" "2.3.27"
@@ -240,7 +265,9 @@ let packages =
       , distribution-nixpkgs = H.callHackage "distribution-nixpkgs" "1.7.0"
       , distributive = H.callHackage "distributive" "0.6.2.1"
       , dlist = H.callHackage "dlist" "1.0"
+      , dns = H.callHackage "dns" "4.1.0"
       , doclayout = H.callHackage "doclayout" "0.4"
+      , doctest-discover = H.callHackage "doctest-discover" "0.2.0.0"
       , doctest-exitcode-stdio = H.callHackage "doctest-exitcode-stdio" "0.0"
       , doctest-lib = H.callHackage "doctest-lib" "0.1"
       , doctest =
@@ -250,6 +277,7 @@ let packages =
             (None Text)
       , doctemplates = H.callHackage "doctemplates" "0.10.0.2"
       , doctest-parallel = H.callHackage "doctest-parallel" "0.2.5"
+      , dom-lt = H.callHackage "dom-lt" "0.2.3"
       , dotgen = H.callHackage "dotgen" "0.4.3"
       , double-conversion =
           H.callGit
@@ -274,12 +302,21 @@ let packages =
       , effectful-core = H.callHackage "effectful-core" "2.1.0.0"
       , effectful-th = H.callHackage "effectful-th" "1.0.0.0"
       , effectful = H.callHackage "effectful" "2.1.0.0"
+      , ekg-core = H.callHackage "ekg-core" "0.1.1.7"
+      , ekg-json =
+          H.callGit
+            "https://github.com/vshabanov/ekg-json"
+            "00ebe7211c981686e65730b7144fbf5350462608"
+            (None H.Subdir)
       , emojis = H.callHackage "emojis" "0.1.2"
       , enclosed-exceptions = H.callHackage "enclosed-exceptions" "1.0.3"
       , entropy = H.callHackage "entropy" "0.4.1.10"
       , envparse = H.callHackage "envparse" "0.5.0"
       , erf = H.callHackage "erf" "2.0.0.0"
+      , errors = H.callHackage "errors" "2.3.0"
+      , exact-combinatorics = H.callHackage "exact-combinatorics" "0.2.0.11"
       , exact-pi = H.callHackage "exact-pi" "0.5.0.2"
+      , extended-reals = H.callHackage "extended-reals" "0.2.4.0"
       , extensible-effects = H.callHackage "extensible-effects" "5.0.0.1"
       , extensible-exceptions = H.callHackage "extensible-exceptions" "0.1.1.4"
       , extra = H.callHackage "extra" "1.7.12"
@@ -301,10 +338,12 @@ let packages =
             (None Text)
       , fingertree = H.callHackage "fingertree" "0.1.5.0"
       , finite-field = H.callHackage "finite-field" "0.10.0"
+      , finite-typelits = H.callHackage "finite-typelits" "0.1.6.0"
       , first-class-families = H.callHackage "first-class-families" "0.8.0.1"
       , fin = H.callHackage "fin" "0.2.1"
       , fixed = H.callHackage "fixed" "0.3"
       , fmlist = H.callHackage "fmlist" "0.9.4"
+      , fmt = H.callHackage "fmt" "0.6.3.0"
       , foldl = H.callHackage "foldl" "1.4.12"
       , foreign-store = H.callHackage "foreign-store" "0.2"
       , formatting = H.callHackage "formatting" "7.1.3"
@@ -317,7 +356,10 @@ let packages =
       , fuzzy-time-gen = H.callHackage "fuzzy-time-gen" "0.2.0.1"
       , fuzzy-time = H.callHackage "fuzzy-time" "0.2.0.3"
       , generically = H.callHackage "generically" "0.1"
+      , generic-arbitrary = H.callHackage "generic-arbitrary" "1.0.1"
+      , generic-data = H.callHackage "generic-data" "1.0.0.0"
       , generic-deriving = H.callHackage "generic-deriving" "1.14.2"
+      , generic-lens = H.callHackage "generic-lens" "2.2.1.0"
       , generic-lens-core = H.callHackage "generic-lens-core" "2.2.1.0"
       , generic-lens-lite = H.callHackage "generic-lens-lite" "0.1"
       , generic-monoid = H.callHackage "generic-monoid" "0.1.0.1"
@@ -380,6 +422,7 @@ let packages =
       , gitrev = H.callHackage "gitrev" "1.3.1"
       , gridtables = H.callHackage "gridtables" "0.1.0.0"
       , groups = H.callHackage "groups" "0.5.3"
+      , gtk2hs-buildtools = H.callHackage "gtk2hs-buildtools" "0.13.8.3"
       , hackage-db = H.callHackage "hackage-db" "2.1.2"
       , hackage-security = H.callHackage "hackage-security" "0.6.2.2"
       , haddock-library = H.callHackage "haddock-library" "1.11.0"
@@ -391,15 +434,20 @@ let packages =
       , hashmap = H.callHackage "hashmap" "1.3.3"
       , hashtables = H.callHackage "hashtables" "1.3"
       , haskell-lexer = H.callHackage "haskell-lexer" "1.1"
+      , haskell-src = H.callHackage "haskell-src" "1.0.4"
       , haskell-src-exts = H.callHackage "haskell-src-exts" "1.23.1"
       , haskell-src-meta = H.callHackage "haskell-src-meta" "0.8.11"
       , heaps = H.callHackage "heaps" "0.4"
+      , hedgehog-fn = H.callHackage "hedgehog-fn" "1.0"
       , hedgehog-golden =
           H.callGit
             "https://github.com/maybe-hedgehog-later/hedgehog-golden"
             "4ab2906b3f0be5e31ee5a8585e45d43392694246"
             (None Text)
+      , hedgehog-quickcheck = H.callHackage "hedgehog-quickcheck" "0.1.1"
       , hedgehog = H.callHackage "hedgehog" "1.2"
+      , heredoc = H.callHackage "heredoc" "0.2.0.0"
+      , hex-text = H.callHackage "hex-text" "0.1.0.7"
       , hie-bios = H.callHackage "hie-bios" "0.11.0"
       , hie-compat = H.callHackage "hie-compat" "0.3.0.0"
       , hinotify = H.callHackage "hinotify" "0.4.1"
@@ -434,46 +482,64 @@ let packages =
       , hspec-expectations-lifted =
           H.callHackage "hspec-expectations-lifted" "0.10.0"
       , hspec-expectations = H.callHackage "hspec-expectations" "0.8.2"
+      , hspec-golden-aeson = H.callHackage "hspec-golden-aeson" "0.9.0.0"
+      , hspec-golden = H.callHackage "hspec-golden" "0.2.0.0"
       , hspec-hedgehog = H.callHackage "hspec-hedgehog" "0.0.1.2"
       , hspec-megaparsec = H.callHackage "hspec-megaparsec" "2.2.0"
       , hspec-meta = H.callHackage "hspec-meta" "2.9.3"
       , hspec-smallcheck = H.callHackage "hspec-smallcheck" "0.5.3"
       , hspec-wai = H.callHackage "hspec-wai" "0.11.1"
       , hspec = H.callHackage "hspec" "2.10.3"
+      , hsyslog = H.callHackage "hsyslog" "5.0.2"
+      , html-entities = H.callHackage "html-entities" "1.1.4.6"
       , html = H.callHackage "html" "1.0.1.2"
       , httpd-shed = H.callHackage "httpd-shed" "0.4.1.1"
       , http-api-data = H.callHackage "http-api-data" "0.5"
       , http-client-tls = H.callHackage "http-client-tls" "0.3.6.1"
       , http-client = H.callHackage "http-client" "0.7.13.1"
+      , http-common = H.callHackage "http-common" "0.8.3.4"
       , http-conduit = H.callHackage "http-conduit" "2.3.8"
       , http-date = H.callHackage "http-date" "0.0.11"
       , http-media = H.callHackage "http-media" "0.8.0.0"
+      , http-streams = H.callHackage "http-streams" "0.8.9.6"
       , http-types = H.callHackage "http-types" "0.12.3"
       , http2 = H.callHackage "http2" "3.0.3"
+      , hw-aeson = H.callHackage "hw-aeson" "0.1.8.0"
+      , hxt = H.callHackage "hxt" "9.3.1.22"
+      , hxt-charproperties = H.callHackage "hxt-charproperties" "9.5.0.0"
+      , hxt-regex-xmlschema = H.callHackage "hxt-regex-xmlschema" "9.2.0.7"
+      , hxt-unicode = H.callHackage "hxt-unicode" "9.0.2.4"
       , ieee754 = H.callHackage "ieee754" "0.8.0"
       , incipit-base = H.callHackage "incipit-base" "0.3.0.0"
       , incipit-core = H.callHackage "incipit-core" "0.3.0.0"
+      , indexed-list-literals = H.callHackage "indexed-list-literals" "0.2.1.3"
       , indexed-profunctors = H.callHackage "indexed-profunctors" "0.1.1"
       , indexed-traversable-instances =
           H.callHackage "indexed-traversable-instances" "0.1.1.1"
       , indexed-traversable = H.callHackage "indexed-traversable" "0.1.2"
       , infer-license = H.callHackage "infer-license" "0.2.0"
       , ini = H.callHackage "ini" "0.4.2"
+      , inline-c = H.callHackage "inline-c" "0.9.1.6"
       , insert-ordered-containers =
           H.callHackage "insert-ordered-containers" "0.2.5.1"
       , inspection-testing = H.callHackage "inspection-testing" "0.5"
+      , int-cast = H.callHackage "int-cast" "0.2.0.0"
       , integer-logarithms = H.callHackage "integer-logarithms" "1.0.3.1"
       , interpolate = H.callHackage "interpolate" "0.2.1"
       , invariant = H.callHackage "invariant" "0.6"
+      , io-streams-haproxy = H.callHackage "io-streams-haproxy" "1.0.1.0"
+      , io-streams = H.callHackage "io-streams" "1.5.2.2"
       , ipynb = H.callHackage "ipynb" "0.2"
       , iproute = H.callHackage "iproute" "1.7.12"
       , iso8601-time = H.callHackage "iso8601-time" "0.1.5"
+      , iwlib = H.callHackage "iwlib" "0.1.2"
       , jira-wiki-markup = H.callHackage "jira-wiki-markup" "1.4.0"
       , js-chart = H.callHackage "js-chart" "2.9.4.1"
       , js-dgtable = H.callHackage "js-dgtable" "0.5.2"
       , js-flot = H.callHackage "js-flot" "0.8.3"
       , js-jquery = H.callHackage "js-jquery" "3.3.1"
       , kan-extensions = H.callHackage "kan-extensions" "5.2.5"
+      , katip = H.callHackage "katip" "0.8.7.2"
       , keys = H.callHackage "keys" "3.12.3"
       , kvstore-effectful = callGitKvStoreEffectful "kvstore-effectful"
       , kvstore-effectful-cache =
@@ -489,17 +555,24 @@ let packages =
             "f654f1e7ef47c591bb5ea23f1234289f99d09d05"
             (None Text)
       , language-nix = H.callHackage "language-nix" "2.2.0"
+      , lazy-search = H.callHackage "lazy-search" "0.1.3.0"
+      , lazysmallcheck = H.callHackage "lazysmallcheck" "0.6"
       , lens-aeson = H.callHackage "lens-aeson" "1.2.1"
       , lens-family-core = H.callHackage "lens-family-core" "2.1.2"
       , lens-family-th = H.callHackage "lens-family-th" "0.5.2.1"
       , lens = H.callHackage "lens" "5.2"
       , libsodium = H.callHackage "libsodium" "1.0.18.2"
+      , libsystemd-journal = H.callHackage "libsystemd-journal" "1.4.5"
       , libxml = H.callHackage "libxml" "0.1.1"
       , libyaml = H.callHackage "libyaml" "0.1.2"
       , lift-type = H.callHackage "lift-type" "0.1.0.1"
       , lifted-async = H.callHackage "lifted-async" "0.10.2.1"
       , lifted-base = H.callHackage "lifted-base" "0.2.3.12"
+      , linear-generics = H.callHackage "linear-generics" "0.2"
+      , linear-base = H.callHackage "linear-base" "0.3.0"
       , linear = H.callHackage "linear" "1.21.10"
+      , list-transformer = H.callHackage "list-transformer" "1.0.9"
+      , list-t = H.callHackage "list-t" "1.0.5.3"
       , lockfree-queue = H.callHackage "lockfree-queue" "0.2.4"
       , logging-facade = H.callHackage "logging-facade" "0.3.1"
       , logict = H.callHackage "logict" "0.8.0.0"
@@ -509,6 +582,7 @@ let packages =
             "https://github.com/haskell-effectful/log-effectful/"
             "910c79e10d5ac3353f2a1551103a2b63229c3f57"
             (None Text)
+      , loop = H.callHackage "loop" "0.3.0"
       , lpeg = H.callHackage "lpeg" "1.0.3"
       , lrucache = H.callHackage "lrucache" "1.2.0.1"
       , lsp-types = H.callHackage "lsp-types" "1.6.0.0"
@@ -521,13 +595,16 @@ let packages =
       , lucid = H.callHackage "lucid" "2.11.1"
       , lukko = H.callHackage "lukko" "0.1.1.3"
       , lzma = H.callHackage "lzma" "0.0.0.4"
-      , neat-interpolation = H.callHackage "neat-interpolation" "0.5.1.3"
-      , net-mqtt = H.callHackage "net-mqtt" "0.8.2.2"
       , managed = H.callHackage "managed" "1.0.9"
       , markdown-unlit = H.callHackage "markdown-unlit" "0.5.1"
       , markdown = H.callHackage "markdown" "0.1.17.5"
+      , markov-chain-usage-model =
+          H.callHackage "markov-chain-usage-model" "0.0.0"
       , math-functions = H.callHackage "math-functions" "0.3.4.2"
+      , matrix = H.callHackage "matrix" "0.3.6.1"
       , megaparsec = H.callHackage "megaparsec" "9.2.2"
+      , mersenne-random-pure64 =
+          H.callHackage "mersenne-random-pure64" "0.2.2.0"
       , memory = H.callHackage "memory" "0.18.0"
       , mersenne-random = H.callHackage "mersenne-random" "1.0.0.1"
       , microlens-aeson = H.callHackage "microlens-aeson" "2.5.0"
@@ -552,12 +629,18 @@ let packages =
       , monad-par = H.callHackage "monad-par" "0.3.5"
       , monad-peel = H.callHackage "monad-peel" "0.2.1.2"
       , mono-traversable = H.callHackage "mono-traversable" "1.0.15.3"
+      , monoidal-containers = H.callHackage "monoidal-containers" "0.6.3.0"
       , monoid-subclasses = H.callHackage "monoid-subclasses" "1.1.3"
       , mtl-compat = H.callHackage "mtl-compat" "0.2.2"
+      , mtl-prelude = H.callHackage "mtl-prelude" "2.0.3.1"
+      , multiset = H.callHackage "multiset" "0.3.4.3"
       , mwc-random = H.callHackage "mwc-random" "0.15.0.2"
       , nanospec = H.callHackage "nanospec" "0.2.2"
       , nats = H.callHackage "nats" "1.1.2"
+      , natural-arithmetic = H.callHackage "natural-arithmetic" "0.1.3.0"
       , natural-transformation = H.callHackage "natural-transformation" "0.4"
+      , neat-interpolation = H.callHackage "neat-interpolation" "0.5.1.3"
+      , net-mqtt = H.callHackage "net-mqtt" "0.8.2.2"
       , network-bsd = H.callHackage "network-bsd" "2.8.1.0"
       , network-byte-order = H.callHackage "network-byte-order" "0.1.6"
       , network-conduit-tls = H.callHackage "network-conduit-tls" "1.3.2"
@@ -566,6 +649,8 @@ let packages =
       , network-uri = H.callHackage "network-uri" "2.6.4.1"
       , network = H.callHackage "network" "3.1.2.7"
       , newtype-generics = H.callHackage "newtype-generics" "0.6.2"
+      , newtype = H.callHackage "newtype" "0.2.2.0"
+      , nonempty-vector = H.callHackage "nonempty-vector" "0.2.1.0"
       , nothunks = H.callHackage "nothunks" "0.1.3"
       , numtype-dk = H.callHackage "numtype-dk" "0.5.0.3"
       , odd-jobs =
@@ -575,6 +660,9 @@ let packages =
             (None Text)
       , old-locale = H.callHackage "old-locale" "1.0.0.7"
       , old-time = H.callHackage "old-time" "1.1.0.3"
+      , one-liner = H.callHackage "one-liner" "2.1"
+      , openapi3 = H.callHackage "openapi3" "3.2.2"
+      , openssl-streams = H.callHackage "openssl-streams" "1.2.3.0"
       , optics-core = H.callHackage "optics-core" "0.4.1"
       , optics-extra = H.callHackage "optics-extra" "0.4.2.1"
       , optics-th = H.callHackage "optics-th" "0.4.1"
@@ -582,12 +670,16 @@ let packages =
       , optional-args = H.callHackage "optional-args" "1.0.2"
       , options = H.callHackage "options" "1.2.1.1"
       , optparse-applicative = H.callHackage "optparse-applicative" "0.17.0.0"
+      , optparse-generic = H.callHackage "optparse-generic" "1.4.8"
       , ordered-containers = H.callHackage "ordered-containers" "0.2.3"
       , pandoc-lua-marshal = H.callHackage "pandoc-lua-marshal" "0.1.7"
       , pandoc-types = H.callHackage "pandoc-types" "1.22.2.1"
       , pandoc = H.callHackage "pandoc" "2.19.2"
       , parallel = H.callHackage "parallel" "3.2.2.0"
+      , partial-order = H.callHackage "partial-order" "0.2.0.0"
+      , parsec1 = H.callHackage "parsec1" "1.0.0.8"
       , parsec-class = H.callHackage "parsec-class" "1.0.0.0"
+      , parsec-numbers = H.callHackage "parsec-numbers" "0.1.0"
       , parsec = H.callHackage "parsec" "3.1.15.1"
       , parsers-megaparsec = H.callHackage "parsers-megaparsec" "0.1.0.1"
       , parsers = H.callHackage "parsers" "0.12.11"
@@ -600,11 +692,17 @@ let packages =
       , path = H.callHackage "path" "0.9.2"
       , patience = H.callHackage "patience" "0.3"
       , pcg-random = H.callHackage "pcg-random" "0.1.3.7"
+      , pcre-heavy = H.callHackage "pcre-heavy" "1.0.0.3"
       , pcre-light = H.callHackage "pcre-light" "0.4.1.0"
       , pcre2 = H.callHackage "pcre2" "2.2.1"
       , pem = H.callHackage "pem" "0.2.4"
+      , persistent-postgresql = H.callHackage "persistent-postgresql" "2.13.5.0"
+      , persistent-qq = H.callHackage "persistent-qq" "2.12.0.5"
+      , persistent-sqlite = H.callHackage "persistent-sqlite" "2.13.1.0"
       , persistent-template = H.callHackage "persistent-template" "2.12.0.0"
+      , persistent-test = H.callHackage "persistent-test" "2.13.1.3"
       , persistent = H.callHackage "persistent" "2.14.3.0"
+      , pipes-safe = H.callHackage "pipes-safe" "2.3.4"
       , pipes = H.callHackage "pipes" "4.3.16"
       , pg-entity = H.callHackage "pg-entity" "0.0.2.0"
       , pg-transact = H.callHackage "pg-transact" "0.3.2.0"
@@ -648,6 +746,7 @@ let packages =
       , primes = H.callHackage "primes" "0.2.1.0"
       , primitive = H.callHackage "primitive" "0.7.4.0"
       , primitive-addr = H.callHackage "primitive-addr" "0.1.0.2"
+      , primitive-offset = H.callHackage "primitive-offset" "0.2.0.0"
       , procex = H.callHackage "procex" "0.3.3"
       , profunctors = H.callHackage "profunctors" "5.6.2"
       , prometheus-client = H.callHackage "prometheus-client" "1.1.0"
@@ -656,8 +755,12 @@ let packages =
       , prometheus-proc = H.callHackage "prometheus-proc" "0.1.4.0"
       , process-extras = H.callHackage "process-extras" "0.7.4"
       , proteaaudio-sdl = H.callHackage "proteaaudio-sdl" "0.9.2"
+      , protolude = H.callHackage "protolude" "0.3.2"
+      , pqueue = H.callHackage "pqueue" "1.4.3.0"
       , psqueues = H.callHackage "psqueues" "0.2.7.3"
       , pureMD5 = H.callHackage "pureMD5" "2.1.4"
+      , quickcheck-arbitrary-adt =
+          H.callHackage "quickcheck-arbitrary-adt" "0.3.1.0"
       , quickcheck-assertions = H.callHackage "quickcheck-assertions" "0.3.0"
       , quickcheck-classes-base =
           H.callHackage "quickcheck-classes-base" "0.6.2.0"
@@ -667,15 +770,20 @@ let packages =
       , quickcheck-io = H.callHackage "quickcheck-io" "0.2.0"
       , quickcheck-text = H.callHackage "quickcheck-text" "0.1.2.1"
       , quickcheck-unicode = H.callHackage "quickcheck-unicode" "1.0.1.0"
+      , quiet = H.callHackage "quiet" "0.2"
+      , ral = H.callHackage "ral" "0.1"
       , random-bytestring = H.callHackage "random-bytestring" "0.1.4"
       , random-shuffle = H.callHackage "random-shuffle" "0.0.4"
       , random = H.callHackage "random" "1.2.1.1"
       , raven-haskell = H.callHackage "raven-haskell" "0.1.4.1"
       , raw-strings-qq = H.callHackage "raw-strings-qq" "1.1"
       , rdtsc = H.callHackage "rdtsc" "1.3.0.1"
+      , readable = H.callHackage "readable" "0.3.1"
       , rebase = H.callHackage "rebase" "1.16"
+      , recursion-schemes = H.callHackage "recursion-schemes" "5.2.2.2"
       , reducers = H.callHackage "reducers" "3.12.4"
       , refact = H.callHackage "refact" "0.3.0.2"
+      , ref-tf = H.callHackage "ref-tf" "0.5.0.1"
       , regex-applicative = H.callHackage "regex-applicative" "0.3.4"
       , regex-base = H.callHackage "regex-base" "0.94.0.2"
       , regex-compat = H.callHackage "regex-compat" "0.95.2.1"
@@ -694,6 +802,7 @@ let packages =
       , resourcet = H.callHackage "resourcet" "1.3.0"
       , retry = H.callHackage "retry" "0.9.3.0"
       , rope-utf16-splay = H.callHackage "rope-utf16-splay" "0.4.0.0"
+      , row-types = H.callHackage "row-types" "1.0.1.2"
       , safe-coloured-text-layout =
           H.callHackage "safe-coloured-text-layout" "0.0.0.0"
       , safe-coloured-text-terminfo =
@@ -703,6 +812,7 @@ let packages =
       , safe = H.callHackage "safe" "0.3.19"
       , saltine = H.callHackage "saltine" "0.2.0.1"
       , sandwich = H.callHackage "sandwich" "0.1.1.2"
+      , say = H.callHackage "say" "0.1.0.1"
       , scotty = H.callHackage "scotty" "0.12"
       , scientific = H.callHackage "scientific" "0.3.7.0"
       , sdl2 = H.callHackage "sdl2" "2.5.3.3"
@@ -731,6 +841,7 @@ let packages =
       , servant-lucid = H.callHackage "servant-lucid" "0.9.0.5"
       , servant-multipart = H.callHackage "servant-multipart" "0.12.1"
       , servant-multipart-api = H.callHackage "servant-multipart-api" "0.12.1"
+      , servant-openapi3 = H.callHackage "servant-openapi3" "2.0.1.5"
       , servant-polysemy = H.callHackage "servant-polysemy" "0.1.3"
       , servant-server = callGitServant "servant-server"
       , servant-swagger = H.callHackage "servant-swagger" "1.1.11"
@@ -746,11 +857,14 @@ let packages =
       , shelly = H.callHackage "shelly" "1.10.0"
       , shh = H.callHackage "shh" "0.7.2.0"
       , should-not-typecheck = H.callHackage "should-not-typecheck" "2.1.0"
+      , show-combinators = H.callHackage "show-combinators" "0.2.0.0"
       , silently = H.callHackage "silently" "1.2.5.3"
       , simple-reflect = H.callHackage "simple-reflect" "0.3.3"
       , simple-sendfile = H.callHackage "simple-sendfile" "0.2.30"
       , singleton-bool = H.callHackage "singleton-bool" "0.1.6"
+      , singletons-th = H.callHackage "singletons-th" "3.1.1"
       , singletons = H.callHackage "singletons" "3.0.2"
+      , size-based = H.callHackage "size-based" "0.1.3.1"
       , slugify = H.callHackage "slugify" "0.1.0.1"
       , skylighting = H.callHackage "skylighting" "0.13.1.1"
       , skylighting-core = H.callHackage "skylighting-core" "0.13.1.1"
@@ -760,6 +874,8 @@ let packages =
       , skylighting-format-latex =
           H.callHackage "skylighting-format-latex" "0.1"
       , smallcheck = H.callHackage "smallcheck" "1.2.1"
+      , snap-core = H.callHackage "snap-core" "1.0.5.0"
+      , snap-server = H.callHackage "snap-server" "1.1.2.0"
       , socks = H.callHackage "socks" "0.6.1"
       , some = H.callHackage "some" "1.0.4"
       , sop-core = H.callHackage "sop-core" "0.5.0.1"
@@ -775,12 +891,17 @@ let packages =
       , streaming-commons = H.callHackage "streaming-commons" "0.2.2.4"
       , streaming = H.callHackage "streaming" "0.2.3.1"
       , streamly = H.callHackage "streamly" "0.8.3"
+      , storable-tuple = H.callHackage "storable-tuple" "0.0.3.3"
       , store-core = H.callHackage "store-core" "0.4.4.4"
       , store = H.callHackage "store" "0.7.16"
+      , storable-record = H.callHackage "storable-record" "0.0.6"
+      , streaming-binary = H.callHackage "streaming-binary" "0.3.0.1"
+      , streaming-bytestring = H.callHackage "streaming-bytestring" "0.2.4"
       , strict = H.callHackage "strict" "0.4.0.1"
       , string-conversions = H.callHackage "string-conversions" "0.4.0.1"
       , string-conv = H.callHackage "string-conv" "0.2.0"
       , string-interpolate = H.callHackage "string-interpolate" "0.3.1.2"
+      , strict-list = H.callHackage "strict-list" "0.1.7"
       , string-qq = H.callHackage "string-qq" "0.0.4"
       , stringbuilder = H.callHackage "stringbuilder" "0.5.1"
       , stringsearch = H.callHackage "stringsearch" "0.3.6.6"
@@ -789,6 +910,7 @@ let packages =
       , syb = H.callHackage "syb" "0.7.2.1"
       , sydtest = H.callHackage "sydtest" "0.13.0.0"
       , sydtest-discover = H.callHackage "sydtest-discover" "0.0.0.2"
+      , system-fileio = H.callHackage "system-fileio" "0.3.16.4"
       , system-filepath = H.callHackage "system-filepath" "0.4.14"
       , tabular = H.callHackage "tabular" "0.2.2.8"
       , tagged = H.callHackage "tagged" "0.8.6.1"
@@ -838,6 +960,8 @@ let packages =
           H.callHackage "test-framework-quickcheck2" "0.3.0.5"
       , test-framework-smallcheck =
           H.callHackage "test-framework-smallcheck" "0.2"
+      , testing-type-modifiers =
+          H.callHackage "testing-type-modifiers" "0.1.0.1"
       , texmath = H.callHackage "texmath" "0.12.5.4"
       , text-conversions = H.callHackage "text-conversions" "0.3.1.1"
       , text-display = H.callHackage "text-display" "0.0.3.0"
@@ -847,9 +971,8 @@ let packages =
       , text-rope = H.callHackage "text-rope" "0.2"
       , text-short = H.callHackage "text-short" "0.1.5"
       , text-zipper = H.callHackage "text-zipper" "0.12"
-      , these = H.callHackage "these" "1.1.1.1"
-      , these-skinny = H.callHackage "these-skinny" "0.7.5"
       , tf-random = H.callHackage "tf-random" "0.5"
+      , th-desugar = H.callHackage "th-desugar" "1.14"
       , th-abstraction = H.callHackage "th-abstraction" "0.4.5.0"
       , th-compat = H.callHackage "th-compat" "0.1.4"
       , th-env = H.callHackage "th-env" "0.1.1"
@@ -860,9 +983,10 @@ let packages =
       , th-orphans = H.callHackage "th-orphans" "0.13.14"
       , th-reify-many = H.callHackage "th-reify-many" "0.1.10"
       , th-utilities = H.callHackage "th-utilities" "0.2.5.0"
+      , these = H.callHackage "these" "1.1.1.1"
+      , these-skinny = H.callHackage "these-skinny" "0.7.5"
+      , threads = H.callHackage "threads" "0.5.1.7"
       , tidal = H.callHackage "tidal" "1.8.1"
-      , timing-convenience = H.callHackage "timing-convenience" "0.1"
-      , timeit = H.callHackage "timeit" "2.0"
       , time-compat = H.callHackage "time-compat" "1.9.6.1"
       , time-effectful =
           H.callGit
@@ -871,12 +995,16 @@ let packages =
             (None Text)
       , time-locale-compat = H.callHackage "time-locale-compat" "0.1.1.5"
       , time-manager = H.callHackage "time-manager" "0.0.0"
+      , time-units = H.callHackage "time-units" "1.0.0"
+      , timeit = H.callHackage "timeit" "2.0"
+      , timing-convenience = H.callHackage "timing-convenience" "0.1"
       , tls-session-manager = H.callHackage "tls-session-manager" "0.0.4"
       , tls = H.callHackage "tls" "1.6.0"
       , tmp-postgres = H.callHackage "tmp-postgres" "1.34.1.0"
       , torsor = H.callHackage "torsor" "0.1"
       , transformers-base = H.callHackage "transformers-base" "0.4.6"
       , transformers-compat = H.callHackage "transformers-compat" "0.7.2"
+      , transformers-except = H.callHackage "transformers-except" "0.1.2"
       , tree-diff = H.callHackage "tree-diff" "0.2.2"
       , trifecta = H.callHackage "trifecta" "2.1.2"
       , tuple = H.callHackage "tuple" "0.3.0.2"
@@ -898,6 +1026,9 @@ let packages =
       , unicode-transforms = H.callHackage "unicode-transforms" "0.4.0.1"
       , uniplate = H.callHackage "uniplate" "1.6.13"
       , universe-base = H.callHackage "universe-base" "1.1.3"
+      , universe-reverse-instances =
+          H.callHackage "universe-reverse-instances" "1.1.1"
+      , unix-bytestring = H.callHackage "unix-bytestring" "0.3.7.8"
       , unix-compat = H.callHackage "unix-compat" "0.6"
       , unix-memory = H.callHackage "unix-memory" "0.1.2"
       , unix-time = H.callHackage "unix-time" "0.4.8"
@@ -910,6 +1041,7 @@ let packages =
       , utility-ht = H.callHackage "utility-ht" "0.0.16"
       , uuid-types = H.callHackage "uuid-types" "1.0.5"
       , uuid = H.callHackage "uuid" "1.3.15"
+      , validation-selective = H.callHackage "validation-selective" "0.1.0.2"
       , validity = H.callHackage "validity" "0.12.0.1"
       , validity-aeson = H.callHackage "validity-aeson" "0.2.0.5"
       , validity-bytestring = H.callHackage "validity-bytestring" "0.4.1.1"
@@ -932,6 +1064,7 @@ let packages =
       , vector-binary-instances =
           H.callHackage "vector-binary-instances" "0.2.5.2"
       , vector-instances = H.callHackage "vector-instances" "3.4"
+      , vector-sized = H.callHackage "vector-sized" "1.5.0"
       , vector-stream = H.callHackage "vector-stream" "0.1.0.0"
       , vector-th-unbox = H.callHackage "vector-th-unbox" "0.2.2"
       , vec = H.callHackage "vec" "0.4.1"
@@ -961,8 +1094,11 @@ let packages =
       , with-utf8 = H.callHackage "with-utf8" "1.0.2.3"
       , wizards = H.callHackage "wizards" "1.0.3"
       , wl-pprint-annotated = H.callHackage "wl-pprint-annotated" "0.1.0.1"
+      , wide-word = H.callHackage "wide-word" "0.1.3.0"
+      , word-compat = H.callHackage "word-compat" "0.0.6"
       , word-wrap = H.callHackage "word-wrap" "0.5"
       , word8 = H.callHackage "word8" "0.1.3"
+      , wuss = H.callHackage "wuss" "2.0.0.2"
       , x509-store = H.callHackage "x509-store" "1.6.9"
       , x509-system = H.callHackage "x509-system" "1.6.7"
       , x509-validation = H.callHackage "x509-validation" "1.6.12"
@@ -970,12 +1106,14 @@ let packages =
       , xml-conduit-writer = H.callHackage "xml-conduit-writer" "0.1.1.2"
       , xml-conduit = H.callHackage "xml-conduit" "1.9.1.1"
       , xml-types = H.callHackage "xml-types" "0.3.8"
+      , xmlgen = H.callHackage "xmlgen" "0.6.2.2"
       , xml = H.callHackage "xml" "1.3.14"
       , xmonad-contrib = H.callHackage "xmonad-contrib" "0.17.1"
       , xmonad = H.callHackage "xmonad" "0.17.1"
       , xss-sanitize = H.callHackage "xss-sanitize" "0.3.7.1"
       , yaml = H.callHackage "yaml" "0.11.8.0"
       , zip-archive = H.callHackage "zip-archive" "0.4.2.2"
+      , zlib-bindings = H.callHackage "zlib-bindings" "0.1.1.5"
       , zlib = H.callHackage "zlib" "0.6.3.0"
       }
 
diff --git a/initial-packages.nix b/initial-packages.nix
index eae597b2ed35e11751d95ea8f714de93c1f55830..2fce125ea288a8bff7dcebb6788576c77b98cd3a 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -3,6 +3,8 @@
 self: with pkgs.haskell.lib; {
   BNFC = self.callPackage (./pkgs/BNFC.nix) { };
 
+  Boolean = self.callPackage (./pkgs/Boolean.nix) { };
+
   Cabal = self.callPackage (./pkgs/Cabal.nix) { };
 
   Cabal-QuickCheck = self.callPackage (./pkgs/Cabal-QuickCheck.nix) { };
@@ -21,12 +23,16 @@ self: with pkgs.haskell.lib; {
 
   Glob = self.callPackage (./pkgs/Glob.nix) { };
 
+  HTF = self.callPackage (./pkgs/HTF.nix) { };
+
   HTTP = self.callPackage (./pkgs/HTTP.nix) { };
 
   HUnit = self.callPackage (./pkgs/HUnit.nix) { };
 
   Hclip = self.callPackage (./pkgs/Hclip.nix) { };
 
+  HsOpenSSL = self.callPackage (./pkgs/HsOpenSSL.nix) { };
+
   HsYAML = self.callPackage (./pkgs/HsYAML.nix) { };
 
   JuicyPixels = self.callPackage (./pkgs/JuicyPixels.nix) { };
@@ -51,6 +57,10 @@ self: with pkgs.haskell.lib; {
 
   StateVar = self.callPackage (./pkgs/StateVar.nix) { };
 
+  Stream = self.callPackage (./pkgs/Stream.nix) { };
+
+  Unique = self.callPackage (./pkgs/Unique.nix) { };
+
   X11 = self.callPackage (./pkgs/X11.nix) { };
 
   X11-xft = self.callPackage (./pkgs/X11-xft.nix) { };
@@ -67,6 +77,8 @@ self: with pkgs.haskell.lib; {
 
   aeson-pretty = self.callPackage (./pkgs/aeson-pretty.nix) { };
 
+  aeson-qq = self.callPackage (./pkgs/aeson-qq.nix) { };
+
   aeson-yaml = self.callPackage (./pkgs/aeson-yaml.nix) { };
 
   alex = self.callPackage (./pkgs/alex.nix) { };
@@ -81,6 +93,8 @@ self: with pkgs.haskell.lib; {
 
   ansi-wl-pprint = self.callPackage (./pkgs/ansi-wl-pprint.nix) { };
 
+  ap-normalize = self.callPackage (./pkgs/ap-normalize.nix) { };
+
   apecs = self.callPackage (./pkgs/apecs.nix) { };
 
   appar = self.callPackage (./pkgs/appar.nix) { };
@@ -95,6 +109,8 @@ self: with pkgs.haskell.lib; {
 
   async = self.callPackage (./pkgs/async.nix) { };
 
+  async-timer = self.callPackage (./pkgs/async-timer.nix) { };
+
   atomic-primops = self.callPackage (./pkgs/atomic-primops.nix) { };
 
   atomic-write = self.callPackage (./pkgs/atomic-write.nix) { };
@@ -125,18 +141,30 @@ self: with pkgs.haskell.lib; {
 
   base-orphans = self.callPackage (./pkgs/base-orphans.nix) { };
 
+  base-prelude = self.callPackage (./pkgs/base-prelude.nix) { };
+
   base16-bytestring = self.callPackage (./pkgs/base16-bytestring.nix) { };
 
+  base58-bytestring = self.callPackage (./pkgs/base58-bytestring.nix) { };
+
   base64 = self.callPackage (./pkgs/base64.nix) { };
 
   base64-bytestring = self.callPackage (./pkgs/base64-bytestring.nix) { };
 
+  base64-bytestring-type = self.callPackage (./pkgs/base64-bytestring-type.nix) { };
+
   basement = self.callPackage (./pkgs/basement.nix) { };
 
+  bech32 = self.callPackage (./pkgs/bech32.nix) { };
+
+  bech32-th = self.callPackage (./pkgs/bech32-th.nix) { };
+
   bifunctors = self.callPackage (./pkgs/bifunctors.nix) { };
 
   bimap = self.callPackage (./pkgs/bimap.nix) { };
 
+  bin = self.callPackage (./pkgs/bin.nix) { };
+
   binary-orphans = self.callPackage (./pkgs/binary-orphans.nix) { };
 
   bitvec = self.callPackage (./pkgs/bitvec.nix) { };
@@ -179,8 +207,12 @@ self: with pkgs.haskell.lib; {
 
   call-stack = self.callPackage (./pkgs/call-stack.nix) { };
 
+  canonical-json = self.callPackage (./pkgs/canonical-json.nix) { };
+
   case-insensitive = self.callPackage (./pkgs/case-insensitive.nix) { };
 
+  casing = self.callPackage (./pkgs/casing.nix) { };
+
   cassava = self.callPackage (./pkgs/cassava.nix) { };
 
   cassava-megaparsec = self.callPackage (./pkgs/cassava-megaparsec.nix) { };
@@ -243,6 +275,10 @@ self: with pkgs.haskell.lib; {
 
   composite-tuple = self.callPackage (./pkgs/composite-tuple.nix) { };
 
+  composition-prelude = self.callPackage (./pkgs/composition-prelude.nix) { };
+
+  concurrent-extra = self.callPackage (./pkgs/concurrent-extra.nix) { };
+
   concurrent-output = self.callPackage (./pkgs/concurrent-output.nix) { };
 
   conduit = self.callPackage (./pkgs/conduit.nix) { };
@@ -323,10 +359,14 @@ self: with pkgs.haskell.lib; {
 
   data-fix = self.callPackage (./pkgs/data-fix.nix) { };
 
+  data-ordlist = self.callPackage (./pkgs/data-ordlist.nix) { };
+
   data-sketches = self.callPackage (./pkgs/data-sketches.nix) { };
 
   data-sketches-core = self.callPackage (./pkgs/data-sketches-core.nix) { };
 
+  dbus = self.callPackage (./pkgs/dbus.nix) { };
+
   dec = self.callPackage (./pkgs/dec.nix) { };
 
   deepseq-generics = self.callPackage (./pkgs/deepseq-generics.nix) { };
@@ -337,14 +377,22 @@ self: with pkgs.haskell.lib; {
 
   dependent-sum = self.callPackage (./pkgs/dependent-sum.nix) { };
 
+  dependent-sum-template = self.callPackage (./pkgs/dependent-sum-template.nix) { };
+
+  deque = self.callPackage (./pkgs/deque.nix) { };
+
   deriving-aeson = self.callPackage (./pkgs/deriving-aeson.nix) { };
 
+  deriving-compat = self.callPackage (./pkgs/deriving-compat.nix) { };
+
   derp = self.callPackage (./pkgs/derp.nix) { };
 
   dhall = self.callPackage (./pkgs/dhall.nix) { };
 
   dhall-json = self.callPackage (./pkgs/dhall-json.nix) { };
 
+  dictionary-sharing = self.callPackage (./pkgs/dictionary-sharing.nix) { };
+
   digest = self.callPackage (./pkgs/digest.nix) { };
 
   dimensional = self.callPackage (./pkgs/dimensional.nix) { };
@@ -359,18 +407,24 @@ self: with pkgs.haskell.lib; {
 
   dlist = self.callPackage (./pkgs/dlist.nix) { };
 
+  dns = self.callPackage (./pkgs/dns.nix) { };
+
   doclayout = self.callPackage (./pkgs/doclayout.nix) { };
 
   doctemplates = self.callPackage (./pkgs/doctemplates.nix) { };
 
   doctest = self.callPackage (./pkgs/doctest.nix) { };
 
+  doctest-discover = self.callPackage (./pkgs/doctest-discover.nix) { };
+
   doctest-exitcode-stdio = self.callPackage (./pkgs/doctest-exitcode-stdio.nix) { };
 
   doctest-lib = self.callPackage (./pkgs/doctest-lib.nix) { };
 
   doctest-parallel = self.callPackage (./pkgs/doctest-parallel.nix) { };
 
+  dom-lt = self.callPackage (./pkgs/dom-lt.nix) { };
+
   dotgen = self.callPackage (./pkgs/dotgen.nix) { };
 
   double-conversion = self.callPackage (./pkgs/double-conversion.nix) { };
@@ -393,6 +447,10 @@ self: with pkgs.haskell.lib; {
 
   either = self.callPackage (./pkgs/either.nix) { };
 
+  ekg-core = self.callPackage (./pkgs/ekg-core.nix) { };
+
+  ekg-json = self.callPackage (./pkgs/ekg-json.nix) { };
+
   email-validate = self.callPackage (./pkgs/email-validate.nix) { };
 
   emojis = self.callPackage (./pkgs/emojis.nix) { };
@@ -405,10 +463,16 @@ self: with pkgs.haskell.lib; {
 
   erf = self.callPackage (./pkgs/erf.nix) { };
 
+  errors = self.callPackage (./pkgs/errors.nix) { };
+
+  exact-combinatorics = self.callPackage (./pkgs/exact-combinatorics.nix) { };
+
   exact-pi = self.callPackage (./pkgs/exact-pi.nix) { };
 
   expiring-cache-map = self.callPackage (./pkgs/expiring-cache-map.nix) { };
 
+  extended-reals = self.callPackage (./pkgs/extended-reals.nix) { };
+
   extensible-effects = self.callPackage (./pkgs/extensible-effects.nix) { };
 
   extensible-exceptions = self.callPackage (./pkgs/extensible-exceptions.nix) { };
@@ -443,12 +507,16 @@ self: with pkgs.haskell.lib; {
 
   finite-field = self.callPackage (./pkgs/finite-field.nix) { };
 
+  finite-typelits = self.callPackage (./pkgs/finite-typelits.nix) { };
+
   first-class-families = self.callPackage (./pkgs/first-class-families.nix) { };
 
   fixed = self.callPackage (./pkgs/fixed.nix) { };
 
   fmlist = self.callPackage (./pkgs/fmlist.nix) { };
 
+  fmt = self.callPackage (./pkgs/fmt.nix) { };
+
   foldl = self.callPackage (./pkgs/foldl.nix) { };
 
   foreign-store = self.callPackage (./pkgs/foreign-store.nix) { };
@@ -471,8 +539,14 @@ self: with pkgs.haskell.lib; {
 
   fuzzy-time-gen = self.callPackage (./pkgs/fuzzy-time-gen.nix) { };
 
+  generic-arbitrary = self.callPackage (./pkgs/generic-arbitrary.nix) { };
+
+  generic-data = self.callPackage (./pkgs/generic-data.nix) { };
+
   generic-deriving = self.callPackage (./pkgs/generic-deriving.nix) { };
 
+  generic-lens = self.callPackage (./pkgs/generic-lens.nix) { };
+
   generic-lens-core = self.callPackage (./pkgs/generic-lens-core.nix) { };
 
   generic-lens-lite = self.callPackage (./pkgs/generic-lens-lite.nix) { };
@@ -565,6 +639,8 @@ self: with pkgs.haskell.lib; {
 
   groups = self.callPackage (./pkgs/groups.nix) { };
 
+  gtk2hs-buildtools = self.callPackage (./pkgs/gtk2hs-buildtools.nix) { };
+
   hackage-db = self.callPackage (./pkgs/hackage-db.nix) { };
 
   hackage-security = self.callPackage (./pkgs/hackage-security.nix) { };
@@ -587,6 +663,8 @@ self: with pkgs.haskell.lib; {
 
   haskell-lexer = self.callPackage (./pkgs/haskell-lexer.nix) { };
 
+  haskell-src = self.callPackage (./pkgs/haskell-src.nix) { };
+
   haskell-src-exts = self.callPackage (./pkgs/haskell-src-exts.nix) { };
 
   haskell-src-meta = self.callPackage (./pkgs/haskell-src-meta.nix) { };
@@ -595,8 +673,16 @@ self: with pkgs.haskell.lib; {
 
   hedgehog = self.callPackage (./pkgs/hedgehog.nix) { };
 
+  hedgehog-fn = self.callPackage (./pkgs/hedgehog-fn.nix) { };
+
   hedgehog-golden = self.callPackage (./pkgs/hedgehog-golden.nix) { };
 
+  hedgehog-quickcheck = self.callPackage (./pkgs/hedgehog-quickcheck.nix) { };
+
+  heredoc = self.callPackage (./pkgs/heredoc.nix) { };
+
+  hex-text = self.callPackage (./pkgs/hex-text.nix) { };
+
   hie-bios = self.callPackage (./pkgs/hie-bios.nix) { };
 
   hie-compat = self.callPackage (./pkgs/hie-compat.nix) { };
@@ -663,6 +749,10 @@ self: with pkgs.haskell.lib; {
 
   hspec-expectations-lifted = self.callPackage (./pkgs/hspec-expectations-lifted.nix) { };
 
+  hspec-golden = self.callPackage (./pkgs/hspec-golden.nix) { };
+
+  hspec-golden-aeson = self.callPackage (./pkgs/hspec-golden-aeson.nix) { };
+
   hspec-hedgehog = self.callPackage (./pkgs/hspec-hedgehog.nix) { };
 
   hspec-megaparsec = self.callPackage (./pkgs/hspec-megaparsec.nix) { };
@@ -673,32 +763,52 @@ self: with pkgs.haskell.lib; {
 
   hspec-wai = self.callPackage (./pkgs/hspec-wai.nix) { };
 
+  hsyslog = self.callPackage (./pkgs/hsyslog.nix) { };
+
   html = self.callPackage (./pkgs/html.nix) { };
 
+  html-entities = self.callPackage (./pkgs/html-entities.nix) { };
+
   http-api-data = self.callPackage (./pkgs/http-api-data.nix) { };
 
   http-client = self.callPackage (./pkgs/http-client.nix) { };
 
   http-client-tls = self.callPackage (./pkgs/http-client-tls.nix) { };
 
+  http-common = self.callPackage (./pkgs/http-common.nix) { };
+
   http-conduit = self.callPackage (./pkgs/http-conduit.nix) { };
 
   http-date = self.callPackage (./pkgs/http-date.nix) { };
 
   http-media = self.callPackage (./pkgs/http-media.nix) { };
 
+  http-streams = self.callPackage (./pkgs/http-streams.nix) { };
+
   http-types = self.callPackage (./pkgs/http-types.nix) { };
 
   http2 = self.callPackage (./pkgs/http2.nix) { };
 
   httpd-shed = self.callPackage (./pkgs/httpd-shed.nix) { };
 
+  hw-aeson = self.callPackage (./pkgs/hw-aeson.nix) { };
+
+  hxt = self.callPackage (./pkgs/hxt.nix) { };
+
+  hxt-charproperties = self.callPackage (./pkgs/hxt-charproperties.nix) { };
+
+  hxt-regex-xmlschema = self.callPackage (./pkgs/hxt-regex-xmlschema.nix) { };
+
+  hxt-unicode = self.callPackage (./pkgs/hxt-unicode.nix) { };
+
   ieee754 = self.callPackage (./pkgs/ieee754.nix) { };
 
   incipit-base = self.callPackage (./pkgs/incipit-base.nix) { };
 
   incipit-core = self.callPackage (./pkgs/incipit-core.nix) { };
 
+  indexed-list-literals = self.callPackage (./pkgs/indexed-list-literals.nix) { };
+
   indexed-profunctors = self.callPackage (./pkgs/indexed-profunctors.nix) { };
 
   indexed-traversable = self.callPackage (./pkgs/indexed-traversable.nix) { };
@@ -709,22 +819,32 @@ self: with pkgs.haskell.lib; {
 
   ini = self.callPackage (./pkgs/ini.nix) { };
 
+  inline-c = self.callPackage (./pkgs/inline-c.nix) { };
+
   insert-ordered-containers = self.callPackage (./pkgs/insert-ordered-containers.nix) { };
 
   inspection-testing = self.callPackage (./pkgs/inspection-testing.nix) { };
 
+  int-cast = self.callPackage (./pkgs/int-cast.nix) { };
+
   integer-logarithms = self.callPackage (./pkgs/integer-logarithms.nix) { };
 
   interpolate = self.callPackage (./pkgs/interpolate.nix) { };
 
   invariant = self.callPackage (./pkgs/invariant.nix) { };
 
+  io-streams = self.callPackage (./pkgs/io-streams.nix) { };
+
+  io-streams-haproxy = self.callPackage (./pkgs/io-streams-haproxy.nix) { };
+
   iproute = self.callPackage (./pkgs/iproute.nix) { };
 
   ipynb = self.callPackage (./pkgs/ipynb.nix) { };
 
   iso8601-time = self.callPackage (./pkgs/iso8601-time.nix) { };
 
+  iwlib = self.callPackage (./pkgs/iwlib.nix) { };
+
   jira-wiki-markup = self.callPackage (./pkgs/jira-wiki-markup.nix) { };
 
   js-chart = self.callPackage (./pkgs/js-chart.nix) { };
@@ -737,6 +857,8 @@ self: with pkgs.haskell.lib; {
 
   kan-extensions = self.callPackage (./pkgs/kan-extensions.nix) { };
 
+  katip = self.callPackage (./pkgs/katip.nix) { };
+
   keys = self.callPackage (./pkgs/keys.nix) { };
 
   kvstore-effectful = self.callPackage (./pkgs/kvstore-effectful.nix) { };
@@ -753,6 +875,10 @@ self: with pkgs.haskell.lib; {
 
   language-nix = self.callPackage (./pkgs/language-nix.nix) { };
 
+  lazy-search = self.callPackage (./pkgs/lazy-search.nix) { };
+
+  lazysmallcheck = self.callPackage (./pkgs/lazysmallcheck.nix) { };
+
   lens = self.callPackage (./pkgs/lens.nix) { };
 
   lens-aeson = self.callPackage (./pkgs/lens-aeson.nix) { };
@@ -763,6 +889,8 @@ self: with pkgs.haskell.lib; {
 
   libsodium = self.callPackage (./pkgs/libsodium.nix) { };
 
+  libsystemd-journal = self.callPackage (./pkgs/libsystemd-journal.nix) { };
+
   libxml = self.callPackage (./pkgs/libxml.nix) { };
 
   libyaml = self.callPackage (./pkgs/libyaml.nix) { };
@@ -775,6 +903,14 @@ self: with pkgs.haskell.lib; {
 
   linear = self.callPackage (./pkgs/linear.nix) { };
 
+  linear-base = self.callPackage (./pkgs/linear-base.nix) { };
+
+  linear-generics = self.callPackage (./pkgs/linear-generics.nix) { };
+
+  list-t = self.callPackage (./pkgs/list-t.nix) { };
+
+  list-transformer = self.callPackage (./pkgs/list-transformer.nix) { };
+
   lockfree-queue = self.callPackage (./pkgs/lockfree-queue.nix) { };
 
   log-base = self.callPackage (./pkgs/log-base.nix) { };
@@ -785,6 +921,8 @@ self: with pkgs.haskell.lib; {
 
   logict = self.callPackage (./pkgs/logict.nix) { };
 
+  loop = self.callPackage (./pkgs/loop.nix) { };
+
   lpeg = self.callPackage (./pkgs/lpeg.nix) { };
 
   lrucache = self.callPackage (./pkgs/lrucache.nix) { };
@@ -815,14 +953,20 @@ self: with pkgs.haskell.lib; {
 
   markdown-unlit = self.callPackage (./pkgs/markdown-unlit.nix) { };
 
+  markov-chain-usage-model = self.callPackage (./pkgs/markov-chain-usage-model.nix) { };
+
   math-functions = self.callPackage (./pkgs/math-functions.nix) { };
 
+  matrix = self.callPackage (./pkgs/matrix.nix) { };
+
   megaparsec = self.callPackage (./pkgs/megaparsec.nix) { };
 
   memory = self.callPackage (./pkgs/memory.nix) { };
 
   mersenne-random = self.callPackage (./pkgs/mersenne-random.nix) { };
 
+  mersenne-random-pure64 = self.callPackage (./pkgs/mersenne-random-pure64.nix) { };
+
   microlens = self.callPackage (./pkgs/microlens.nix) { };
 
   microlens-aeson = self.callPackage (./pkgs/microlens-aeson.nix) { };
@@ -869,14 +1013,22 @@ self: with pkgs.haskell.lib; {
 
   monoid-subclasses = self.callPackage (./pkgs/monoid-subclasses.nix) { };
 
+  monoidal-containers = self.callPackage (./pkgs/monoidal-containers.nix) { };
+
   mtl-compat = self.callPackage (./pkgs/mtl-compat.nix) { };
 
+  mtl-prelude = self.callPackage (./pkgs/mtl-prelude.nix) { };
+
+  multiset = self.callPackage (./pkgs/multiset.nix) { };
+
   mwc-random = self.callPackage (./pkgs/mwc-random.nix) { };
 
   nanospec = self.callPackage (./pkgs/nanospec.nix) { };
 
   nats = self.callPackage (./pkgs/nats.nix) { };
 
+  natural-arithmetic = self.callPackage (./pkgs/natural-arithmetic.nix) { };
+
   natural-transformation = self.callPackage (./pkgs/natural-transformation.nix) { };
 
   neat-interpolation = self.callPackage (./pkgs/neat-interpolation.nix) { };
@@ -897,8 +1049,12 @@ self: with pkgs.haskell.lib; {
 
   network-uri = self.callPackage (./pkgs/network-uri.nix) { };
 
+  newtype = self.callPackage (./pkgs/newtype.nix) { };
+
   newtype-generics = self.callPackage (./pkgs/newtype-generics.nix) { };
 
+  nonempty-vector = self.callPackage (./pkgs/nonempty-vector.nix) { };
+
   nothunks = self.callPackage (./pkgs/nothunks.nix) { };
 
   numtype-dk = self.callPackage (./pkgs/numtype-dk.nix) { };
@@ -909,6 +1065,12 @@ self: with pkgs.haskell.lib; {
 
   old-time = self.callPackage (./pkgs/old-time.nix) { };
 
+  one-liner = self.callPackage (./pkgs/one-liner.nix) { };
+
+  openapi3 = self.callPackage (./pkgs/openapi3.nix) { };
+
+  openssl-streams = self.callPackage (./pkgs/openssl-streams.nix) { };
+
   optics = self.callPackage (./pkgs/optics.nix) { };
 
   optics-core = self.callPackage (./pkgs/optics-core.nix) { };
@@ -923,6 +1085,8 @@ self: with pkgs.haskell.lib; {
 
   optparse-applicative = self.callPackage (./pkgs/optparse-applicative.nix) { };
 
+  optparse-generic = self.callPackage (./pkgs/optparse-generic.nix) { };
+
   ordered-containers = self.callPackage (./pkgs/ordered-containers.nix) { };
 
   pandoc = self.callPackage (./pkgs/pandoc.nix) { };
@@ -937,12 +1101,18 @@ self: with pkgs.haskell.lib; {
 
   parsec-class = self.callPackage (./pkgs/parsec-class.nix) { };
 
+  parsec-numbers = self.callPackage (./pkgs/parsec-numbers.nix) { };
+
+  parsec1 = self.callPackage (./pkgs/parsec1.nix) { };
+
   parser-combinators = self.callPackage (./pkgs/parser-combinators.nix) { };
 
   parsers = self.callPackage (./pkgs/parsers.nix) { };
 
   parsers-megaparsec = self.callPackage (./pkgs/parsers-megaparsec.nix) { };
 
+  partial-order = self.callPackage (./pkgs/partial-order.nix) { };
+
   password = self.callPackage (./pkgs/password.nix) { };
 
   password-types = self.callPackage (./pkgs/password-types.nix) { };
@@ -959,6 +1129,8 @@ self: with pkgs.haskell.lib; {
 
   pcg-random = self.callPackage (./pkgs/pcg-random.nix) { };
 
+  pcre-heavy = self.callPackage (./pkgs/pcre-heavy.nix) { };
+
   pcre-light = self.callPackage (./pkgs/pcre-light.nix) { };
 
   pcre2 = self.callPackage (./pkgs/pcre2.nix) { };
@@ -967,8 +1139,16 @@ self: with pkgs.haskell.lib; {
 
   persistent = self.callPackage (./pkgs/persistent.nix) { };
 
+  persistent-postgresql = self.callPackage (./pkgs/persistent-postgresql.nix) { };
+
+  persistent-qq = self.callPackage (./pkgs/persistent-qq.nix) { };
+
+  persistent-sqlite = self.callPackage (./pkgs/persistent-sqlite.nix) { };
+
   persistent-template = self.callPackage (./pkgs/persistent-template.nix) { };
 
+  persistent-test = self.callPackage (./pkgs/persistent-test.nix) { };
+
   pg-entity = self.callPackage (./pkgs/pg-entity.nix) { };
 
   pg-transact = self.callPackage (./pkgs/pg-transact.nix) { };
@@ -979,6 +1159,8 @@ self: with pkgs.haskell.lib; {
 
   pipes = self.callPackage (./pkgs/pipes.nix) { };
 
+  pipes-safe = self.callPackage (./pkgs/pipes-safe.nix) { };
+
   pointed = self.callPackage (./pkgs/pointed.nix) { };
 
   polyparse = self.callPackage (./pkgs/polyparse.nix) { };
@@ -1017,6 +1199,8 @@ self: with pkgs.haskell.lib; {
 
   postgresql-simple-migration = self.callPackage (./pkgs/postgresql-simple-migration.nix) { };
 
+  pqueue = self.callPackage (./pkgs/pqueue.nix) { };
+
   pretty-hex = self.callPackage (./pkgs/pretty-hex.nix) { };
 
   pretty-relative-time = self.callPackage (./pkgs/pretty-relative-time.nix) { };
@@ -1035,6 +1219,8 @@ self: with pkgs.haskell.lib; {
 
   primitive-addr = self.callPackage (./pkgs/primitive-addr.nix) { };
 
+  primitive-offset = self.callPackage (./pkgs/primitive-offset.nix) { };
+
   process-extras = self.callPackage (./pkgs/process-extras.nix) { };
 
   procex = self.callPackage (./pkgs/procex.nix) { };
@@ -1049,10 +1235,14 @@ self: with pkgs.haskell.lib; {
 
   proteaaudio-sdl = self.callPackage (./pkgs/proteaaudio-sdl.nix) { };
 
+  protolude = self.callPackage (./pkgs/protolude.nix) { };
+
   psqueues = self.callPackage (./pkgs/psqueues.nix) { };
 
   pureMD5 = self.callPackage (./pkgs/pureMD5.nix) { };
 
+  quickcheck-arbitrary-adt = self.callPackage (./pkgs/quickcheck-arbitrary-adt.nix) { };
+
   quickcheck-assertions = self.callPackage (./pkgs/quickcheck-assertions.nix) { };
 
   quickcheck-classes = self.callPackage (./pkgs/quickcheck-classes.nix) { };
@@ -1069,6 +1259,10 @@ self: with pkgs.haskell.lib; {
 
   quickcheck-unicode = self.callPackage (./pkgs/quickcheck-unicode.nix) { };
 
+  quiet = self.callPackage (./pkgs/quiet.nix) { };
+
+  ral = self.callPackage (./pkgs/ral.nix) { };
+
   random = self.callPackage (./pkgs/random.nix) { };
 
   random-bytestring = self.callPackage (./pkgs/random-bytestring.nix) { };
@@ -1081,10 +1275,16 @@ self: with pkgs.haskell.lib; {
 
   rdtsc = self.callPackage (./pkgs/rdtsc.nix) { };
 
+  readable = self.callPackage (./pkgs/readable.nix) { };
+
   rebase = self.callPackage (./pkgs/rebase.nix) { };
 
+  recursion-schemes = self.callPackage (./pkgs/recursion-schemes.nix) { };
+
   reducers = self.callPackage (./pkgs/reducers.nix) { };
 
+  ref-tf = self.callPackage (./pkgs/ref-tf.nix) { };
+
   refact = self.callPackage (./pkgs/refact.nix) { };
 
   refined = self.callPackage (./pkgs/refined.nix) { };
@@ -1123,6 +1323,8 @@ self: with pkgs.haskell.lib; {
 
   rope-utf16-splay = self.callPackage (./pkgs/rope-utf16-splay.nix) { };
 
+  row-types = self.callPackage (./pkgs/row-types.nix) { };
+
   safe = self.callPackage (./pkgs/safe.nix) { };
 
   safe-coloured-text = self.callPackage (./pkgs/safe-coloured-text.nix) { };
@@ -1137,6 +1339,8 @@ self: with pkgs.haskell.lib; {
 
   sandwich = self.callPackage (./pkgs/sandwich.nix) { };
 
+  say = self.callPackage (./pkgs/say.nix) { };
+
   scientific = self.callPackage (./pkgs/scientific.nix) { };
 
   scotty = self.callPackage (./pkgs/scotty.nix) { };
@@ -1185,6 +1389,8 @@ self: with pkgs.haskell.lib; {
 
   servant-multipart-api = self.callPackage (./pkgs/servant-multipart-api.nix) { };
 
+  servant-openapi3 = self.callPackage (./pkgs/servant-openapi3.nix) { };
+
   servant-polysemy = self.callPackage (./pkgs/servant-polysemy.nix) { };
 
   servant-server = self.callPackage (./pkgs/servant-server.nix) { };
@@ -1213,6 +1419,8 @@ self: with pkgs.haskell.lib; {
 
   should-not-typecheck = self.callPackage (./pkgs/should-not-typecheck.nix) { };
 
+  show-combinators = self.callPackage (./pkgs/show-combinators.nix) { };
+
   silently = self.callPackage (./pkgs/silently.nix) { };
 
   simple-reflect = self.callPackage (./pkgs/simple-reflect.nix) { };
@@ -1223,6 +1431,10 @@ self: with pkgs.haskell.lib; {
 
   singletons = self.callPackage (./pkgs/singletons.nix) { };
 
+  singletons-th = self.callPackage (./pkgs/singletons-th.nix) { };
+
+  size-based = self.callPackage (./pkgs/size-based.nix) { };
+
   skylighting = self.callPackage (./pkgs/skylighting.nix) { };
 
   skylighting-core = self.callPackage (./pkgs/skylighting-core.nix) { };
@@ -1237,6 +1449,10 @@ self: with pkgs.haskell.lib; {
 
   smallcheck = self.callPackage (./pkgs/smallcheck.nix) { };
 
+  snap-core = self.callPackage (./pkgs/snap-core.nix) { };
+
+  snap-server = self.callPackage (./pkgs/snap-server.nix) { };
+
   socks = self.callPackage (./pkgs/socks.nix) { };
 
   some = self.callPackage (./pkgs/some.nix) { };
@@ -1261,18 +1477,28 @@ self: with pkgs.haskell.lib; {
 
   stm-chans = self.callPackage (./pkgs/stm-chans.nix) { };
 
+  storable-record = self.callPackage (./pkgs/storable-record.nix) { };
+
+  storable-tuple = self.callPackage (./pkgs/storable-tuple.nix) { };
+
   store = self.callPackage (./pkgs/store.nix) { };
 
   store-core = self.callPackage (./pkgs/store-core.nix) { };
 
   streaming = self.callPackage (./pkgs/streaming.nix) { };
 
+  streaming-binary = self.callPackage (./pkgs/streaming-binary.nix) { };
+
+  streaming-bytestring = self.callPackage (./pkgs/streaming-bytestring.nix) { };
+
   streaming-commons = self.callPackage (./pkgs/streaming-commons.nix) { };
 
   streamly = self.callPackage (./pkgs/streamly.nix) { };
 
   strict = self.callPackage (./pkgs/strict.nix) { };
 
+  strict-list = self.callPackage (./pkgs/strict-list.nix) { };
+
   string-conv = self.callPackage (./pkgs/string-conv.nix) { };
 
   string-conversions = self.callPackage (./pkgs/string-conversions.nix) { };
@@ -1295,6 +1521,8 @@ self: with pkgs.haskell.lib; {
 
   sydtest-discover = self.callPackage (./pkgs/sydtest-discover.nix) { };
 
+  system-fileio = self.callPackage (./pkgs/system-fileio.nix) { };
+
   system-filepath = self.callPackage (./pkgs/system-filepath.nix) { };
 
   tabular = self.callPackage (./pkgs/tabular.nix) { };
@@ -1355,6 +1583,8 @@ self: with pkgs.haskell.lib; {
 
   test-framework-th = self.callPackage (./pkgs/test-framework-th.nix) { };
 
+  testing-type-modifiers = self.callPackage (./pkgs/testing-type-modifiers.nix) { };
+
   texmath = self.callPackage (./pkgs/texmath.nix) { };
 
   text-conversions = self.callPackage (./pkgs/text-conversions.nix) { };
@@ -1379,6 +1609,8 @@ self: with pkgs.haskell.lib; {
 
   th-compat = self.callPackage (./pkgs/th-compat.nix) { };
 
+  th-desugar = self.callPackage (./pkgs/th-desugar.nix) { };
+
   th-env = self.callPackage (./pkgs/th-env.nix) { };
 
   th-expand-syns = self.callPackage (./pkgs/th-expand-syns.nix) { };
@@ -1399,6 +1631,8 @@ self: with pkgs.haskell.lib; {
 
   these-skinny = self.callPackage (./pkgs/these-skinny.nix) { };
 
+  threads = self.callPackage (./pkgs/threads.nix) { };
+
   tidal = self.callPackage (./pkgs/tidal.nix) { };
 
   time-compat = self.callPackage (./pkgs/time-compat.nix) { };
@@ -1409,6 +1643,8 @@ self: with pkgs.haskell.lib; {
 
   time-manager = self.callPackage (./pkgs/time-manager.nix) { };
 
+  time-units = self.callPackage (./pkgs/time-units.nix) { };
+
   timeit = self.callPackage (./pkgs/timeit.nix) { };
 
   timing-convenience = self.callPackage (./pkgs/timing-convenience.nix) { };
@@ -1425,6 +1661,8 @@ self: with pkgs.haskell.lib; {
 
   transformers-compat = self.callPackage (./pkgs/transformers-compat.nix) { };
 
+  transformers-except = self.callPackage (./pkgs/transformers-except.nix) { };
+
   tree-diff = self.callPackage (./pkgs/tree-diff.nix) { };
 
   trifecta = self.callPackage (./pkgs/trifecta.nix) { };
@@ -1459,6 +1697,10 @@ self: with pkgs.haskell.lib; {
 
   universe-base = self.callPackage (./pkgs/universe-base.nix) { };
 
+  universe-reverse-instances = self.callPackage (./pkgs/universe-reverse-instances.nix) { };
+
+  unix-bytestring = self.callPackage (./pkgs/unix-bytestring.nix) { };
+
   unix-compat = self.callPackage (./pkgs/unix-compat.nix) { };
 
   unix-memory = self.callPackage (./pkgs/unix-memory.nix) { };
@@ -1483,6 +1725,8 @@ self: with pkgs.haskell.lib; {
 
   uuid-types = self.callPackage (./pkgs/uuid-types.nix) { };
 
+  validation-selective = self.callPackage (./pkgs/validation-selective.nix) { };
+
   validity = self.callPackage (./pkgs/validity.nix) { };
 
   validity-aeson = self.callPackage (./pkgs/validity-aeson.nix) { };
@@ -1523,6 +1767,8 @@ self: with pkgs.haskell.lib; {
 
   vector-instances = self.callPackage (./pkgs/vector-instances.nix) { };
 
+  vector-sized = self.callPackage (./pkgs/vector-sized.nix) { };
+
   vector-stream = self.callPackage (./pkgs/vector-stream.nix) { };
 
   vector-th-unbox = self.callPackage (./pkgs/vector-th-unbox.nix) { };
@@ -1561,6 +1807,8 @@ self: with pkgs.haskell.lib; {
 
   weigh = self.callPackage (./pkgs/weigh.nix) { };
 
+  wide-word = self.callPackage (./pkgs/wide-word.nix) { };
+
   with-utf8 = self.callPackage (./pkgs/with-utf8.nix) { };
 
   witherable = self.callPackage (./pkgs/witherable.nix) { };
@@ -1569,10 +1817,14 @@ self: with pkgs.haskell.lib; {
 
   wl-pprint-annotated = self.callPackage (./pkgs/wl-pprint-annotated.nix) { };
 
+  word-compat = self.callPackage (./pkgs/word-compat.nix) { };
+
   word-wrap = self.callPackage (./pkgs/word-wrap.nix) { };
 
   word8 = self.callPackage (./pkgs/word8.nix) { };
 
+  wuss = self.callPackage (./pkgs/wuss.nix) { };
+
   x509 = self.callPackage (./pkgs/x509.nix) { };
 
   x509-store = self.callPackage (./pkgs/x509-store.nix) { };
@@ -1589,6 +1841,8 @@ self: with pkgs.haskell.lib; {
 
   xml-types = self.callPackage (./pkgs/xml-types.nix) { };
 
+  xmlgen = self.callPackage (./pkgs/xmlgen.nix) { };
+
   xmonad = self.callPackage (./pkgs/xmonad.nix) { };
 
   xmonad-contrib = self.callPackage (./pkgs/xmonad-contrib.nix) { };
@@ -1601,4 +1855,6 @@ self: with pkgs.haskell.lib; {
 
   zlib = self.callPackage (./pkgs/zlib.nix) { };
 
+  zlib-bindings = self.callPackage (./pkgs/zlib-bindings.nix) { };
+
 }
diff --git a/pkgs/Boolean.nix b/pkgs/Boolean.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f3c861d0d352209d741309e0f27f400842de07e2
--- /dev/null
+++ b/pkgs/Boolean.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "Boolean";
+  version = "0.2.4";
+  sha256 = "67216013b02b8ac5b534a1ef25f409f930eea1a85eae801933a01ad43145eef8";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Generalized booleans and numbers";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/HTF.nix b/pkgs/HTF.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a42f4c629e7e89a1d69281d5258da167e429f049
--- /dev/null
+++ b/pkgs/HTF.nix
@@ -0,0 +1,111 @@
+{ mkDerivation
+, Cabal
+, Diff
+, HUnit
+, QuickCheck
+, aeson
+, aeson-pretty
+, array
+, base
+, base64-bytestring
+, bytestring
+, containers
+, cpphs
+, directory
+, filepath
+, haskell-src
+, lib
+, lifted-base
+, monad-control
+, mtl
+, old-time
+, pretty
+, process
+, random
+, regex-compat
+, template-haskell
+, temporary
+, text
+, time
+, unix
+, unordered-containers
+, vector
+, xmlgen
+}:
+mkDerivation {
+  pname = "HTF";
+  version = "0.15.0.0";
+  sha256 = "d812c570804f300b7c8c5c5c5c40cea4ad87ffce699988c11a17ed9073fa4b9b";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal process ];
+  libraryHaskellDepends = [
+    aeson
+    array
+    base
+    base64-bytestring
+    bytestring
+    containers
+    cpphs
+    Diff
+    directory
+    haskell-src
+    HUnit
+    lifted-base
+    monad-control
+    mtl
+    old-time
+    pretty
+    process
+    QuickCheck
+    random
+    regex-compat
+    text
+    time
+    unix
+    vector
+    xmlgen
+  ];
+  libraryToolDepends = [ cpphs ];
+  executableHaskellDepends = [
+    array
+    base
+    cpphs
+    directory
+    HUnit
+    mtl
+    old-time
+    random
+    text
+  ];
+  executableToolDepends = [ cpphs ];
+  testHaskellDepends = [
+    aeson
+    aeson-pretty
+    base
+    bytestring
+    directory
+    filepath
+    HUnit
+    mtl
+    process
+    random
+    regex-compat
+    template-haskell
+    temporary
+    text
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/skogsbaer/HTF/";
+  description = "The Haskell Test Framework";
+  license = lib.licenses.lgpl21Only;
+  broken = false;
+}
diff --git a/pkgs/HsOpenSSL.nix b/pkgs/HsOpenSSL.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b3d394cce4772619b666ab2778b88c156e5213f1
--- /dev/null
+++ b/pkgs/HsOpenSSL.nix
@@ -0,0 +1,34 @@
+{ mkDerivation
+, Cabal
+, base
+, bytestring
+, lib
+, network
+, openssl
+, time
+}:
+mkDerivation {
+  pname = "HsOpenSSL";
+  version = "0.11.7.2";
+  sha256 = "8536c0939e52c990b2998a4ac5ff2b5886e1701b41b9934a87df8ec910754d7b";
+  revision = "3";
+  editedCabalFile = "0nsqxym87s48029laqba4nzwpk7nrk35x7wmpjqfnbrj82ddcshd";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal ];
+  libraryHaskellDepends = [ base bytestring network time ];
+  librarySystemDepends = [ openssl ];
+  testHaskellDepends = [ base bytestring ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-cryptography/HsOpenSSL";
+  description = "Partial OpenSSL binding for Haskell";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/Stream.nix b/pkgs/Stream.nix
new file mode 100644
index 0000000000000000000000000000000000000000..78b79108ff19a802501d4196cde935523ff006dd
--- /dev/null
+++ b/pkgs/Stream.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, QuickCheck, base, lazysmallcheck, lib }:
+mkDerivation {
+  pname = "Stream";
+  version = "0.4.7.2";
+  sha256 = "990be249b3ef1b0075563026d4d2c803b86e3cbf168965ba6f9f2b4227a007d1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base lazysmallcheck QuickCheck ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "A library for manipulating infinite lists";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/Unique.nix b/pkgs/Unique.nix
new file mode 100644
index 0000000000000000000000000000000000000000..71abd4699e6d8ccc12d858ceee888d8f797810c7
--- /dev/null
+++ b/pkgs/Unique.nix
@@ -0,0 +1,49 @@
+{ mkDerivation
+, QuickCheck
+, base
+, bytestring
+, containers
+, criterion
+, extra
+, hashable
+, hspec
+, lib
+, quickcheck-instances
+, unordered-containers
+}:
+mkDerivation {
+  pname = "Unique";
+  version = "0.4.7.9";
+  sha256 = "34e8247ef2769cae219ff05bed0c8269d680396c451c1d31aa6ad506abc5c191";
+  revision = "1";
+  editedCabalFile = "10s0npnfkh7naj49afmyrvnilikp6426fbhi49f97pxrgcmy4dvw";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    extra
+    hashable
+    unordered-containers
+  ];
+  testHaskellDepends = [ base containers hspec QuickCheck ];
+  benchmarkHaskellDepends = [
+    base
+    bytestring
+    criterion
+    hashable
+    QuickCheck
+    quickcheck-instances
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "It provides the functionality like unix \"uniq\" utility";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/aeson-qq.nix b/pkgs/aeson-qq.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1c85fabd6ba8492d42df683847a5ccab5cfa00a1
--- /dev/null
+++ b/pkgs/aeson-qq.nix
@@ -0,0 +1,62 @@
+{ mkDerivation
+, aeson
+, attoparsec
+, base
+, base-compat
+, ghc-prim
+, haskell-src-meta
+, hspec
+, hspec-discover
+, lib
+, parsec
+, scientific
+, template-haskell
+, text
+, vector
+}:
+mkDerivation {
+  pname = "aeson-qq";
+  version = "0.8.4";
+  sha256 = "d053eb1c4111dfde709eba87287ac78399faad6cee1fd6727833c3d605a6f336";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    attoparsec
+    base
+    base-compat
+    haskell-src-meta
+    parsec
+    scientific
+    template-haskell
+    text
+    vector
+  ];
+  testHaskellDepends = [
+    aeson
+    attoparsec
+    base
+    base-compat
+    ghc-prim
+    haskell-src-meta
+    hspec
+    parsec
+    scientific
+    template-haskell
+    text
+    vector
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/sol/aeson-qq#readme";
+  description = "JSON quasiquoter for Haskell";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/ap-normalize.nix b/pkgs/ap-normalize.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3fec846cddb940789fe8fd0f1da1c79b71b3dd89
--- /dev/null
+++ b/pkgs/ap-normalize.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, inspection-testing, lib, transformers }:
+mkDerivation {
+  pname = "ap-normalize";
+  version = "0.1.0.1";
+  sha256 = "820613b12ce759c8c8a254c78a0e4c474b2cd4cfd08fc0c1d4d5584c58ff2288";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base inspection-testing transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Self-normalizing applicative expressions";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/async-timer.nix b/pkgs/async-timer.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6bae66d0f718c1e42acd027712968accf68097e4
--- /dev/null
+++ b/pkgs/async-timer.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, async
+, base
+, containers
+, criterion
+, lib
+, safe-exceptions
+, tasty
+, tasty-hunit
+, unliftio
+, unliftio-core
+}:
+mkDerivation {
+  pname = "async-timer";
+  version = "0.2.0.0";
+  sha256 = "0632bfc4c141aa47c461747b3edb59f76ef5523a66ac03be0f32868a5e04cee0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    async
+    base
+    safe-exceptions
+    unliftio
+    unliftio-core
+  ];
+  testHaskellDepends = [
+    async
+    base
+    containers
+    criterion
+    tasty
+    tasty-hunit
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mtesseract/async-timer#readme";
+  description = "Provides API for timer based execution of IO actions";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/base-prelude.nix b/pkgs/base-prelude.nix
new file mode 100644
index 0000000000000000000000000000000000000000..d49683bd5a9d8d9f6a325b2ccf2b5f9e5fe38cca
--- /dev/null
+++ b/pkgs/base-prelude.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "base-prelude";
+  version = "1.6.1";
+  sha256 = "729034d1d83d8eacdf84399f97c4f9b99bb710555ddc1e0b9f196f5dd0347d65";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nikita-volkov/base-prelude";
+  description = "Featureful preludes formed solely from the \"base\" package";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/base58-bytestring.nix b/pkgs/base58-bytestring.nix
new file mode 100644
index 0000000000000000000000000000000000000000..21317c857b8aff2d466076f06ff179821773bab9
--- /dev/null
+++ b/pkgs/base58-bytestring.nix
@@ -0,0 +1,39 @@
+{ mkDerivation
+, base
+, bytestring
+, criterion
+, lib
+, quickcheck-assertions
+, quickcheck-instances
+, tasty
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "base58-bytestring";
+  version = "0.1.0";
+  sha256 = "c2dbf598f3415053e12cca84b90fa7c0c1b02f3b784cce0157264baebf2d40d3";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring ];
+  testHaskellDepends = [
+    base
+    bytestring
+    quickcheck-assertions
+    quickcheck-instances
+    tasty
+    tasty-quickcheck
+  ];
+  benchmarkHaskellDepends = [ base bytestring criterion ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://bitbucket.org/s9gf4ult/base58-bytestring";
+  description = "Implementation of BASE58 transcoding for ByteStrings";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/base64-bytestring-type.nix b/pkgs/base64-bytestring-type.nix
new file mode 100644
index 0000000000000000000000000000000000000000..910adc89e9ded3c13bcb1e39c9dfd79e07925001
--- /dev/null
+++ b/pkgs/base64-bytestring-type.nix
@@ -0,0 +1,65 @@
+{ mkDerivation
+, QuickCheck
+, aeson
+, base
+, base-compat
+, base64-bytestring
+, binary
+, bytestring
+, cereal
+, deepseq
+, hashable
+, http-api-data
+, lib
+, serialise
+, tasty
+, tasty-quickcheck
+, text
+}:
+mkDerivation {
+  pname = "base64-bytestring-type";
+  version = "1.0.1";
+  sha256 = "f607d07c4aab227b4536c495fa7c07b35ddc9c2c013d385c16c02f236526780e";
+  revision = "15";
+  editedCabalFile = "0yka3aazfd5jj0dqh89cpjc8sgx3yhiiqfhrpb9z5p4zvbyvym6g";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    base-compat
+    base64-bytestring
+    binary
+    bytestring
+    cereal
+    deepseq
+    hashable
+    http-api-data
+    QuickCheck
+    serialise
+    text
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    binary
+    bytestring
+    cereal
+    http-api-data
+    serialise
+    tasty
+    tasty-quickcheck
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/phadej/base64-bytestring-type#readme";
+  description = "A newtype around ByteString, for base64 encoding";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/bech32-th.nix b/pkgs/bech32-th.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4a2bbf5fb18146a358924116f12f724f2b512d37
--- /dev/null
+++ b/pkgs/bech32-th.nix
@@ -0,0 +1,31 @@
+{ mkDerivation
+, base
+, bech32
+, hspec
+, hspec-discover
+, lib
+, template-haskell
+, text
+}:
+mkDerivation {
+  pname = "bech32-th";
+  version = "1.1.1";
+  sha256 = "3346a2539bfafd2e4cb8ca775a0c4aeb5636f52af4a9b0a8c22478b393558814";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bech32 template-haskell text ];
+  testHaskellDepends = [ base bech32 hspec template-haskell ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/input-output-hk/bech32";
+  description = "Template Haskell extensions to the Bech32 library";
+  license = lib.licenses.asl20;
+  broken = false;
+}
diff --git a/pkgs/bech32.nix b/pkgs/bech32.nix
new file mode 100644
index 0000000000000000000000000000000000000000..527a84e49f8106b41364fdad6da4f10d6abe7450
--- /dev/null
+++ b/pkgs/bech32.nix
@@ -0,0 +1,69 @@
+{ mkDerivation
+, QuickCheck
+, array
+, base
+, base58-bytestring
+, bytestring
+, containers
+, deepseq
+, extra
+, hspec
+, hspec-discover
+, lib
+, memory
+, optparse-applicative
+, process
+, text
+, vector
+}:
+mkDerivation {
+  pname = "bech32";
+  version = "1.1.2";
+  sha256 = "489e1922dce97ce59f72d87b17480eb0087b6661d4bcb7be124e027abcb7d2c7";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    array
+    base
+    bytestring
+    containers
+    extra
+    text
+  ];
+  executableHaskellDepends = [
+    base
+    base58-bytestring
+    bytestring
+    extra
+    memory
+    optparse-applicative
+    text
+  ];
+  testHaskellDepends = [
+    base
+    base58-bytestring
+    bytestring
+    containers
+    deepseq
+    extra
+    hspec
+    memory
+    process
+    QuickCheck
+    text
+    vector
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/input-output-hk/bech32";
+  description = "Implementation of the Bech32 cryptocurrency address format (BIP 0173)";
+  license = lib.licenses.asl20;
+  broken = false;
+}
diff --git a/pkgs/bin.nix b/pkgs/bin.nix
new file mode 100644
index 0000000000000000000000000000000000000000..970912df6d18a3c8b4b0d22d87de31d2b8e51688
--- /dev/null
+++ b/pkgs/bin.nix
@@ -0,0 +1,42 @@
+{ mkDerivation
+, QuickCheck
+, base
+, boring
+, dec
+, deepseq
+, fin
+, hashable
+, lib
+, some
+}:
+mkDerivation {
+  pname = "bin";
+  version = "0.1.2";
+  sha256 = "e2d4bf1ed1add212cc6e49bb9d09a666c2b968eba86de946be376c4e7a14b545";
+  revision = "1";
+  editedCabalFile = "052i9qfb037p71fhzl38ly51jkk9q6klb1cb07a0cv2ja5nzrjgn";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    boring
+    dec
+    deepseq
+    fin
+    hashable
+    QuickCheck
+    some
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/phadej/vec";
+  description = "Bin: binary natural numbers";
+  license = lib.licenses.gpl2Plus;
+  broken = false;
+}
diff --git a/pkgs/canonical-json.nix b/pkgs/canonical-json.nix
new file mode 100644
index 0000000000000000000000000000000000000000..2b03a05d326584e3d9af0d324912014b6fe0d855
--- /dev/null
+++ b/pkgs/canonical-json.nix
@@ -0,0 +1,55 @@
+{ mkDerivation
+, QuickCheck
+, aeson
+, base
+, bytestring
+, containers
+, criterion
+, deepseq
+, lib
+, parsec
+, pretty
+, tasty
+, tasty-quickcheck
+, unordered-containers
+, vector
+}:
+mkDerivation {
+  pname = "canonical-json";
+  version = "0.6.0.1";
+  sha256 = "33df39d9058d33357956cdf7f911184a26da20c49b90f844ec6374f6bf5ace7e";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    containers
+    deepseq
+    parsec
+    pretty
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    bytestring
+    containers
+    QuickCheck
+    tasty
+    tasty-quickcheck
+    unordered-containers
+    vector
+  ];
+  benchmarkHaskellDepends = [ base bytestring containers criterion ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/well-typed/canonical-json";
+  description = "Canonical JSON for signing and hashing JSON values";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/casing.nix b/pkgs/casing.nix
new file mode 100644
index 0000000000000000000000000000000000000000..58fc2d0b7e8b462d824f107669a22f358b18be21
--- /dev/null
+++ b/pkgs/casing.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib, split, tasty, tasty-hunit }:
+mkDerivation {
+  pname = "casing";
+  version = "0.1.4.1";
+  sha256 = "106271c00246b551f2ef6a2e511437c9f0e1f3bb920a283f6f9eaa0940b4f8ca";
+  revision = "1";
+  editedCabalFile = "1n7w4w2icfppyvlmyzzmfivbx175ckqabs4my5qvvdvwlc89xrqb";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base split ];
+  testHaskellDepends = [ base tasty tasty-hunit ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Convert between various source code casing conventions";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/composition-prelude.nix b/pkgs/composition-prelude.nix
new file mode 100644
index 0000000000000000000000000000000000000000..d604205f86a77f0cc42d95dfc7c90fb14dee4d91
--- /dev/null
+++ b/pkgs/composition-prelude.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "composition-prelude";
+  version = "3.0.0.2";
+  sha256 = "050cfc9738a0dc727570aff513c34accf78da0d4941aa695bd26d54126b53194";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Higher-order function combinators";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/concurrent-extra.nix b/pkgs/concurrent-extra.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0ca8fc0552ec7e48d42c2bfa3afcb38f307a77ad
--- /dev/null
+++ b/pkgs/concurrent-extra.nix
@@ -0,0 +1,41 @@
+{ mkDerivation
+, HUnit
+, async
+, base
+, lib
+, random
+, stm
+, test-framework
+, test-framework-hunit
+, unbounded-delays
+}:
+mkDerivation {
+  pname = "concurrent-extra";
+  version = "0.7.0.12";
+  sha256 = "040e6db9e0147de9929661759930f1566a7250add4c7f65b04dc6e070c991df9";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base stm unbounded-delays ];
+  testHaskellDepends = [
+    async
+    base
+    HUnit
+    random
+    stm
+    test-framework
+    test-framework-hunit
+    unbounded-delays
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/basvandijk/concurrent-extra";
+  description = "Extra concurrency primitives";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/data-ordlist.nix b/pkgs/data-ordlist.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4dd21c66adb4c73ff144040dca155471bc74a84c
--- /dev/null
+++ b/pkgs/data-ordlist.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "data-ordlist";
+  version = "0.4.7.0";
+  sha256 = "6f6c1e7a9a9155ad78ca78cb9abd6f7e2e1c78b3e549b179dc0874e6428f490d";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Set and bag operations on ordered lists";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/dbus.nix b/pkgs/dbus.nix
new file mode 100644
index 0000000000000000000000000000000000000000..409a81a12e5ad1b6c1f8fcb180d27c4ce5e1011b
--- /dev/null
+++ b/pkgs/dbus.nix
@@ -0,0 +1,98 @@
+{ mkDerivation
+, QuickCheck
+, base
+, bytestring
+, cereal
+, conduit
+, containers
+, criterion
+, deepseq
+, directory
+, exceptions
+, extra
+, filepath
+, lens
+, lib
+, network
+, parsec
+, process
+, random
+, resourcet
+, split
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+, template-haskell
+, text
+, th-lift
+, transformers
+, unix
+, vector
+, xml-conduit
+, xml-types
+}:
+mkDerivation {
+  pname = "dbus";
+  version = "1.2.27";
+  sha256 = "1ffd66fc70d476cfe1649bdb49dbef9ed3820bc6b2c805e2a65140741a4c7352";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    cereal
+    conduit
+    containers
+    deepseq
+    exceptions
+    filepath
+    lens
+    network
+    parsec
+    random
+    split
+    template-haskell
+    text
+    th-lift
+    transformers
+    unix
+    vector
+    xml-conduit
+    xml-types
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    cereal
+    containers
+    directory
+    extra
+    filepath
+    network
+    parsec
+    process
+    QuickCheck
+    random
+    resourcet
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+    text
+    transformers
+    unix
+    vector
+  ];
+  benchmarkHaskellDepends = [ base criterion ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/rblaze/haskell-dbus#readme";
+  description = "A client library for the D-Bus IPC system";
+  license = lib.licenses.asl20;
+  broken = false;
+}
diff --git a/pkgs/dependent-sum-template.nix b/pkgs/dependent-sum-template.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e47018e63dfa7269f3902a2965cbc823d0948e77
--- /dev/null
+++ b/pkgs/dependent-sum-template.nix
@@ -0,0 +1,36 @@
+{ mkDerivation
+, base
+, constraints-extras
+, dependent-sum
+, lib
+, template-haskell
+, th-abstraction
+, th-extras
+}:
+mkDerivation {
+  pname = "dependent-sum-template";
+  version = "0.1.1.1";
+  sha256 = "d46fc18d5c2f5d385f901777e982e8a1ae9094ba7e68f7e4997a82036375ae0f";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    dependent-sum
+    template-haskell
+    th-abstraction
+    th-extras
+  ];
+  testHaskellDepends = [ base constraints-extras dependent-sum ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/obsidiansystems/dependent-sum";
+  description = "Template Haskell code to generate instances of classes in dependent-sum package";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/deque.nix b/pkgs/deque.nix
new file mode 100644
index 0000000000000000000000000000000000000000..7f659138afd09ab4ed66f7893624e13a91ddc83c
--- /dev/null
+++ b/pkgs/deque.nix
@@ -0,0 +1,42 @@
+{ mkDerivation
+, QuickCheck
+, base
+, deepseq
+, hashable
+, lib
+, mtl
+, quickcheck-instances
+, rerebase
+, strict-list
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "deque";
+  version = "0.4.4";
+  sha256 = "d646d82001cc6b1f17a969ab1d479c2f65f31547c1741dfd7d7c12f7709319f4";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq hashable mtl strict-list ];
+  testHaskellDepends = [
+    QuickCheck
+    quickcheck-instances
+    rerebase
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nikita-volkov/deque";
+  description = "Double-ended queues";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/deriving-compat.nix b/pkgs/deriving-compat.nix
new file mode 100644
index 0000000000000000000000000000000000000000..019a6b211f494835bd53a6e8524154b20db08d35
--- /dev/null
+++ b/pkgs/deriving-compat.nix
@@ -0,0 +1,62 @@
+{ mkDerivation
+, QuickCheck
+, base
+, base-compat
+, base-orphans
+, containers
+, ghc-boot-th
+, ghc-prim
+, hspec
+, hspec-discover
+, lib
+, tagged
+, template-haskell
+, th-abstraction
+, transformers
+, transformers-compat
+, void
+}:
+mkDerivation {
+  pname = "deriving-compat";
+  version = "0.6.1";
+  sha256 = "6bfda1bb730fdad50251f7875dff2802fea3388cfd4ea232f34a03218cae9d26";
+  revision = "1";
+  editedCabalFile = "0m3ywfvj96yqrdyv6mgnmdhlsvjjn89wl0n1n7v2m60zaan14cgh";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-boot-th
+    ghc-prim
+    template-haskell
+    th-abstraction
+    transformers
+    transformers-compat
+  ];
+  testHaskellDepends = [
+    base
+    base-compat
+    base-orphans
+    hspec
+    QuickCheck
+    tagged
+    template-haskell
+    transformers
+    transformers-compat
+    void
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-compat/deriving-compat";
+  description = "Backports of GHC deriving extensions";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/dictionary-sharing.nix b/pkgs/dictionary-sharing.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9857a9b4da7f497e99ce9c02daeb98aedb13e00d
--- /dev/null
+++ b/pkgs/dictionary-sharing.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, containers, lib }:
+mkDerivation {
+  pname = "dictionary-sharing";
+  version = "0.1.0.0";
+  sha256 = "8c3b5184d5d6056433d51a49c5402e4ab7b0260073d5342685b8e141d2be5a01";
+  revision = "3";
+  editedCabalFile = "1mn7jcc7h3b8f1pn9zigqp6mc2n0qb66lms5qnrx4zswdv5w9439";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Sharing/memoization of class members";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/dns.nix b/pkgs/dns.nix
new file mode 100644
index 0000000000000000000000000000000000000000..c619e374a829b8810f7a088d6a91554276db7bb5
--- /dev/null
+++ b/pkgs/dns.nix
@@ -0,0 +1,70 @@
+{ mkDerivation
+, QuickCheck
+, array
+, async
+, attoparsec
+, auto-update
+, base
+, base16-bytestring
+, base64-bytestring
+, bytestring
+, containers
+, cryptonite
+, doctest
+, hourglass
+, hspec
+, hspec-discover
+, iproute
+, lib
+, mtl
+, network
+, psqueues
+, word8
+}:
+mkDerivation {
+  pname = "dns";
+  version = "4.1.0";
+  sha256 = "45e3ceb2c2b7a3b2a23fd384f84a81fc4b91330f841f54ae62d8e7a411f100d1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    array
+    async
+    attoparsec
+    auto-update
+    base
+    base16-bytestring
+    base64-bytestring
+    bytestring
+    containers
+    cryptonite
+    hourglass
+    iproute
+    mtl
+    network
+    psqueues
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    doctest
+    hspec
+    iproute
+    network
+    QuickCheck
+    word8
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  testTarget = "spec";
+  hyperlinkSource = false;
+  description = "DNS library in Haskell";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/doctest-discover.nix b/pkgs/doctest-discover.nix
new file mode 100644
index 0000000000000000000000000000000000000000..58a61a454920bba09aacc438878f7552473d3825
--- /dev/null
+++ b/pkgs/doctest-discover.nix
@@ -0,0 +1,45 @@
+{ mkDerivation
+, aeson
+, base
+, bytestring
+, directory
+, doctest
+, filepath
+, lib
+}:
+mkDerivation {
+  pname = "doctest-discover";
+  version = "0.2.0.0";
+  sha256 = "a953aa50837e52efc766a77e382c2be2acbc887fa6dadbc54b756f59d6c49ec8";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    bytestring
+    directory
+    doctest
+    filepath
+  ];
+  executableHaskellDepends = [
+    aeson
+    base
+    bytestring
+    directory
+    doctest
+    filepath
+  ];
+  testHaskellDepends = [ base doctest ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/karun012/doctest-discover";
+  description = "Easy way to run doctests via cabal";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/dom-lt.nix b/pkgs/dom-lt.nix
new file mode 100644
index 0000000000000000000000000000000000000000..cf7db7e2b75aa40957293cb23cfd1aca8b1acadc
--- /dev/null
+++ b/pkgs/dom-lt.nix
@@ -0,0 +1,30 @@
+{ mkDerivation
+, HUnit
+, array
+, base
+, containers
+, criterion
+, deepseq
+, lib
+}:
+mkDerivation {
+  pname = "dom-lt";
+  version = "0.2.3";
+  sha256 = "3d198be111a1a6b6d19356c7737ee486607735b6405b35cde6c105035309e3c0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ array base containers ];
+  testHaskellDepends = [ base containers HUnit ];
+  benchmarkHaskellDepends = [ base containers criterion deepseq ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "The Lengauer-Tarjan graph dominators algorithm";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/ekg-core.nix b/pkgs/ekg-core.nix
new file mode 100644
index 0000000000000000000000000000000000000000..651ed6b74b1b171dac0669606c87638cdae43aea
--- /dev/null
+++ b/pkgs/ekg-core.nix
@@ -0,0 +1,37 @@
+{ mkDerivation
+, base
+, containers
+, ghc-prim
+, lib
+, text
+, unordered-containers
+}:
+mkDerivation {
+  pname = "ekg-core";
+  version = "0.1.1.7";
+  sha256 = "45813f2b94fde0b92c7979bd37de52f09b8b645560f5789276c3acfc7934db12";
+  revision = "2";
+  editedCabalFile = "05h0jz42s1d3bjcvzbp3dv5rvil4ar244mdqdvzbf60z848ppygl";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    text
+    unordered-containers
+  ];
+  benchmarkHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/tibbe/ekg-core";
+  description = "Tracking of system metrics";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/ekg-json.nix b/pkgs/ekg-json.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9bd6fba86a4dffca5b6feb1c635d68e3b0d8e883
--- /dev/null
+++ b/pkgs/ekg-json.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+, aeson
+, base
+, ekg-core
+, fetchgit
+, lib
+, text
+, unordered-containers
+}:
+mkDerivation {
+  pname = "ekg-json";
+  version = "0.1.0.7";
+  src = fetchgit {
+    url = "https://github.com/vshabanov/ekg-json";
+    sha256 = "1zvjm3pb38w0ijig5wk5mdkzcszpmlp5d4zxvks2jk1rkypi8gsm";
+    rev = "00ebe7211c981686e65730b7144fbf5350462608";
+    fetchSubmodules = true;
+  };
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    ekg-core
+    text
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/tibbe/ekg-json";
+  description = "JSON encoding of ekg metrics";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/ekg.nix b/pkgs/ekg.nix
new file mode 100644
index 0000000000000000000000000000000000000000..aad3a07e3de29d97b2e335eafa9ead8b7113a3cc
--- /dev/null
+++ b/pkgs/ekg.nix
@@ -0,0 +1,52 @@
+{ mkDerivation
+, aeson
+, base
+, bytestring
+, ekg-core
+, ekg-json
+, filepath
+, lib
+, network
+, snap-core
+, snap-server
+, text
+, time
+, transformers
+, unordered-containers
+}:
+mkDerivation {
+  pname = "ekg";
+  version = "0.4.0.15";
+  sha256 = "482ae3be495cfe4f03332ad1c79ce8b5ad4f9c8eec824980c664808ae32c6dcc";
+  revision = "8";
+  editedCabalFile = "05k50vx956zlh7dvkhi7qvd9f7x48hg5hwgqjqsf5fwzm1cqir6n";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [
+    aeson
+    base
+    bytestring
+    ekg-core
+    ekg-json
+    filepath
+    network
+    snap-core
+    snap-server
+    text
+    time
+    transformers
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/tibbe/ekg";
+  description = "Remote monitoring of processes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/errors.nix b/pkgs/errors.nix
new file mode 100644
index 0000000000000000000000000000000000000000..dc40c6d5b3733e0fb7b5ecd6a5b724ea61d355f5
--- /dev/null
+++ b/pkgs/errors.nix
@@ -0,0 +1,37 @@
+{ mkDerivation
+, base
+, exceptions
+, lib
+, safe
+, text
+, transformers
+, transformers-compat
+}:
+mkDerivation {
+  pname = "errors";
+  version = "2.3.0";
+  sha256 = "6772e5689f07e82077ffe3339bc672934d83d83a97a7d4f1349de1302cb71f75";
+  revision = "4";
+  editedCabalFile = "0sji6ny86f4j9ch1cyf2p1mcr5b2ighvw4bb9rssvypxb6k2r68f";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    exceptions
+    safe
+    text
+    transformers
+    transformers-compat
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Simplified error-handling";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/exact-combinatorics.nix b/pkgs/exact-combinatorics.nix
new file mode 100644
index 0000000000000000000000000000000000000000..87b9d82ba01985f0965788f7098994d98dd1e6a7
--- /dev/null
+++ b/pkgs/exact-combinatorics.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "exact-combinatorics";
+  version = "0.2.0.11";
+  sha256 = "76b44a9ddcc34204b2589c789d33bb6ac31c6cadf1771599b3575264487b3063";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://wrengr.org/software/hackage.html";
+  description = "Efficient exact computation of combinatoric functions";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/extended-reals.nix b/pkgs/extended-reals.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0eaa76836dd6888335950789d2332d64fca1628c
--- /dev/null
+++ b/pkgs/extended-reals.nix
@@ -0,0 +1,44 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, base
+, deepseq
+, hashable
+, lib
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+, tasty-th
+}:
+mkDerivation {
+  pname = "extended-reals";
+  version = "0.2.4.0";
+  sha256 = "0c2c664abe60a105207b1678ab699c1b5cf2708976bc6b2b8c3a4e54e93faea5";
+  revision = "1";
+  editedCabalFile = "07qsnn05q9n2l4jh7agql44l2z7rqnwdcp9bssri4chs0jvk15rg";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq hashable ];
+  testHaskellDepends = [
+    base
+    deepseq
+    HUnit
+    QuickCheck
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+    tasty-th
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/msakai/extended-reals/";
+  description = "Extension of real numbers with positive/negative infinities";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/finite-typelits.nix b/pkgs/finite-typelits.nix
new file mode 100644
index 0000000000000000000000000000000000000000..46a28b5227963f0fe6c0fa4fc6026a14cf655e30
--- /dev/null
+++ b/pkgs/finite-typelits.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, QuickCheck, base, deepseq, lib }:
+mkDerivation {
+  pname = "finite-typelits";
+  version = "0.1.6.0";
+  sha256 = "3046456b3b3b7a202da7dc61f909e5925f9eaa57d5e03ce81d3f76ca7d3b0438";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq ];
+  testHaskellDepends = [ base deepseq QuickCheck ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mniip/finite-typelits";
+  description = "A type inhabited by finitely many values, indexed by type-level naturals";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/fmt.nix b/pkgs/fmt.nix
new file mode 100644
index 0000000000000000000000000000000000000000..857493479ac7b876267bdedf04d8fd928b06daf6
--- /dev/null
+++ b/pkgs/fmt.nix
@@ -0,0 +1,77 @@
+{ mkDerivation
+, QuickCheck
+, base
+, base64-bytestring
+, bytestring
+, call-stack
+, containers
+, criterion
+, deepseq
+, doctest
+, doctest-discover
+, formatting
+, hspec
+, interpolate
+, lib
+, microlens
+, neat-interpolation
+, text
+, time
+, time-locale-compat
+, vector
+}:
+mkDerivation {
+  pname = "fmt";
+  version = "0.6.3.0";
+  sha256 = "b4ee7f3da97223bfef589264e7945160521f6e3323f64a2118bdec96cc04b006";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    base64-bytestring
+    bytestring
+    call-stack
+    containers
+    formatting
+    microlens
+    text
+    time
+    time-locale-compat
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    call-stack
+    containers
+    doctest
+    hspec
+    neat-interpolation
+    QuickCheck
+    text
+    vector
+  ];
+  testToolDepends = [ doctest-discover ];
+  benchmarkHaskellDepends = [
+    base
+    bytestring
+    containers
+    criterion
+    deepseq
+    formatting
+    interpolate
+    text
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/cdornan/fmt";
+  description = "A new formatting library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/generic-arbitrary.nix b/pkgs/generic-arbitrary.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9c8aa42021cb6df249efe4225b6548e075eba543
--- /dev/null
+++ b/pkgs/generic-arbitrary.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+, QuickCheck
+, base
+, deepseq
+, lib
+, tasty
+, tasty-discover
+, tasty-hunit
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "generic-arbitrary";
+  version = "1.0.1";
+  sha256 = "92013ed9d38370bedad67a05deabc203bfdfd5a74ebec17554270e8ed22c29c7";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base QuickCheck ];
+  testHaskellDepends = [
+    base
+    deepseq
+    QuickCheck
+    tasty
+    tasty-discover
+    tasty-hunit
+    tasty-quickcheck
+  ];
+  testToolDepends = [ tasty-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/typeable/generic-arbitrary#readme";
+  description = "Generic implementation for QuickCheck's Arbitrary";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/generic-data.nix b/pkgs/generic-data.nix
new file mode 100644
index 0000000000000000000000000000000000000000..73b58e57726a5a20c45fe959a92661139f5211a3
--- /dev/null
+++ b/pkgs/generic-data.nix
@@ -0,0 +1,51 @@
+{ mkDerivation
+, ap-normalize
+, base
+, base-orphans
+, contravariant
+, criterion
+, deepseq
+, generic-lens
+, ghc-boot-th
+, lib
+, one-liner
+, show-combinators
+, tasty
+, tasty-hunit
+}:
+mkDerivation {
+  pname = "generic-data";
+  version = "1.0.0.0";
+  sha256 = "0fa021b8d0d879d9f1d81c792bf596ccc88ebdaf94dc0c1d1d3cadcf47eacab1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    ap-normalize
+    base
+    base-orphans
+    contravariant
+    ghc-boot-th
+    show-combinators
+  ];
+  testHaskellDepends = [
+    base
+    generic-lens
+    one-liner
+    show-combinators
+    tasty
+    tasty-hunit
+  ];
+  benchmarkHaskellDepends = [ base criterion deepseq ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/Lysxia/generic-data#readme";
+  description = "Deriving instances with GHC.Generics and related utilities";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/generic-lens.nix b/pkgs/generic-lens.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f7bd0f9f41d2b9f6f3891784f5e2dc7f7ce9b577
--- /dev/null
+++ b/pkgs/generic-lens.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, HUnit
+, base
+, doctest
+, generic-lens-core
+, inspection-testing
+, lens
+, lib
+, profunctors
+, text
+}:
+mkDerivation {
+  pname = "generic-lens";
+  version = "2.2.1.0";
+  sha256 = "ea82e34d694f15086d643f34312e319ff7fa529fd776fcf935fabf988c21569d";
+  revision = "1";
+  editedCabalFile = "1wzxvfi9kzhbglih1syqhx42kcsvlinnfc338fl731k6hc95hmlm";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    generic-lens-core
+    profunctors
+    text
+  ];
+  testHaskellDepends = [
+    base
+    doctest
+    HUnit
+    inspection-testing
+    lens
+    profunctors
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/kcsongor/generic-lens";
+  description = "Generically derive traversals, lenses and prisms";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/gtk2hs-buildtools.nix b/pkgs/gtk2hs-buildtools.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5c4817a947056845b35883a5e51770db6909938d
--- /dev/null
+++ b/pkgs/gtk2hs-buildtools.nix
@@ -0,0 +1,48 @@
+{ mkDerivation
+, Cabal
+, alex
+, array
+, base
+, containers
+, directory
+, filepath
+, happy
+, hashtables
+, lib
+, pretty
+, process
+, random
+}:
+mkDerivation {
+  pname = "gtk2hs-buildtools";
+  version = "0.13.8.3";
+  sha256 = "3b0344e4ce5774ca50f0fa5e0c930f282ca84c50317e6f1148325528c6069539";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = true;
+  libraryHaskellDepends = [
+    array
+    base
+    Cabal
+    containers
+    directory
+    filepath
+    hashtables
+    pretty
+    process
+    random
+  ];
+  libraryToolDepends = [ alex happy ];
+  executableHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://projects.haskell.org/gtk2hs/";
+  description = "Tools to build the Gtk2Hs suite of User Interface libraries";
+  license = lib.licenses.gpl2Only;
+  broken = false;
+}
diff --git a/pkgs/haskell-src.nix b/pkgs/haskell-src.nix
new file mode 100644
index 0000000000000000000000000000000000000000..efacbb85e15cf77d5004e41d7a24cc49f0a542c4
--- /dev/null
+++ b/pkgs/haskell-src.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, array, base, happy, lib, pretty, syb }:
+mkDerivation {
+  pname = "haskell-src";
+  version = "1.0.4";
+  sha256 = "8bc77695f9cc113933048409d2ed3bf2a3b947e18312a23b0dbb7838d086f3ea";
+  revision = "1";
+  editedCabalFile = "0dfjzq0sxxcalqxygp2svx4890qx8b4amad0xldwy1f4xrp3lsnb";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ array base pretty syb ];
+  libraryToolDepends = [ happy ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Support for manipulating Haskell source code";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/hedgehog-fn.nix b/pkgs/hedgehog-fn.nix
new file mode 100644
index 0000000000000000000000000000000000000000..69e7feb34d5c91094b7ba4c31c873921bbd58349
--- /dev/null
+++ b/pkgs/hedgehog-fn.nix
@@ -0,0 +1,28 @@
+{ mkDerivation, base, contravariant, hedgehog, lib, transformers }:
+mkDerivation {
+  pname = "hedgehog-fn";
+  version = "1.0";
+  sha256 = "170bc58d2e5a5bc15bc3e8a0a3ea71b11b8aab8b3bfd923b7f9394afe569b915";
+  revision = "2";
+  editedCabalFile = "1x7n1r640mc6b4s6pfk96157y3r2z4mcx4i3lbq1k04cnzivd5n2";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    contravariant
+    hedgehog
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/qfpl/hedgehog-fn";
+  description = "Function generation for `hedgehog`";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/hedgehog-quickcheck.nix b/pkgs/hedgehog-quickcheck.nix
new file mode 100644
index 0000000000000000000000000000000000000000..7ffd0577f52ec78a42234e198965084a29ebbe02
--- /dev/null
+++ b/pkgs/hedgehog-quickcheck.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, QuickCheck, base, hedgehog, lib, transformers }:
+mkDerivation {
+  pname = "hedgehog-quickcheck";
+  version = "0.1.1";
+  sha256 = "97b65db815fdfaacc7c4d06a7b9b74680b50264afa03f839c4037dcc875152fc";
+  revision = "4";
+  editedCabalFile = "1838hm2p22n8qrps17zjzf9k0jwvrw9g99r0crii3igfbi22m8nf";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base hedgehog QuickCheck transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://hedgehog.qa";
+  description = "Use QuickCheck generators in Hedgehog and vice versa";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/heredoc.nix b/pkgs/heredoc.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1361ee6555112a6f396e852ddacddc243310f7a4
--- /dev/null
+++ b/pkgs/heredoc.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib, template-haskell }:
+mkDerivation {
+  pname = "heredoc";
+  version = "0.2.0.0";
+  sha256 = "c90d9fc61cb8cd812be510845493b6a6eddcc4b772581fd40a9433ed8f130f40";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base template-haskell ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://hackage.haskell.org/package/heredoc";
+  description = "multi-line string / here document using QuasiQuotes";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/hex-text.nix b/pkgs/hex-text.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a6fcceb96024ea8b3615201cd8db599dfd448a96
--- /dev/null
+++ b/pkgs/hex-text.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, base16-bytestring, bytestring, lib, text }:
+mkDerivation {
+  pname = "hex-text";
+  version = "0.1.0.7";
+  sha256 = "f60b1668373294f700b720b016e67797bc99b4291bfdac5e357735708ac9def7";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base base16-bytestring bytestring text ];
+  testHaskellDepends = [ base base16-bytestring bytestring text ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/typeclasses/hex-text";
+  description = "ByteString-Text hexidecimal conversions";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/hspec-golden-aeson.nix b/pkgs/hspec-golden-aeson.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8df558b854f9108ae0ec341ba1bbec91d44a7ea8
--- /dev/null
+++ b/pkgs/hspec-golden-aeson.nix
@@ -0,0 +1,61 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, aeson
+, aeson-pretty
+, base
+, bytestring
+, directory
+, filepath
+, hspec
+, hspec-core
+, lib
+, quickcheck-arbitrary-adt
+, random
+, silently
+, transformers
+}:
+mkDerivation {
+  pname = "hspec-golden-aeson";
+  version = "0.9.0.0";
+  sha256 = "04b1510fd21af7ccefbb753ffeb6474eed055120a27ef7fcbcc22a63bb0945d6";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    aeson-pretty
+    base
+    bytestring
+    directory
+    filepath
+    hspec
+    HUnit
+    QuickCheck
+    quickcheck-arbitrary-adt
+    random
+    transformers
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    directory
+    hspec
+    hspec-core
+    QuickCheck
+    quickcheck-arbitrary-adt
+    silently
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/plow-technologies/hspec-golden-aeson#readme";
+  description = "Use tests to monitor changes in Aeson serialization";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/hspec-golden.nix b/pkgs/hspec-golden.nix
new file mode 100644
index 0000000000000000000000000000000000000000..c06488088a8004ab38e69558bf7931a750b92dce
--- /dev/null
+++ b/pkgs/hspec-golden.nix
@@ -0,0 +1,32 @@
+{ mkDerivation
+, base
+, directory
+, filepath
+, hspec
+, hspec-core
+, lib
+, optparse-applicative
+, silently
+}:
+mkDerivation {
+  pname = "hspec-golden";
+  version = "0.2.0.0";
+  sha256 = "d322dd7d625dd3f1c5fd30e7965be127744bfa0f6b337983352f44d1c771e969";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base directory filepath hspec-core ];
+  executableHaskellDepends = [ base directory optparse-applicative ];
+  testHaskellDepends = [ base directory hspec hspec-core silently ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/stackbuilders/hspec-golden#readme";
+  description = "Golden tests for hspec";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/hsyslog.nix b/pkgs/hsyslog.nix
new file mode 100644
index 0000000000000000000000000000000000000000..2a9440f0e09dc291003252faceccdf35d8e6fc99
--- /dev/null
+++ b/pkgs/hsyslog.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "hsyslog";
+  version = "5.0.2";
+  sha256 = "3eec43c8fb42c23d03f1db7b0b594d39cd94275c2284dcd0c64aa4d680bd7ece";
+  revision = "1";
+  editedCabalFile = "0k1j46nk3z64zw4bqmvw5lgy16ih200m66rv4b6ygjqv7nglqq0b";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/peti/hsyslog";
+  description = "FFI interface to syslog(3) from POSIX.1-2001";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/html-entities.nix b/pkgs/html-entities.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e90808b358d4a8caed8e908b380fa32cbf23c909
--- /dev/null
+++ b/pkgs/html-entities.nix
@@ -0,0 +1,32 @@
+{ mkDerivation
+, attoparsec
+, base
+, lib
+, text
+, unordered-containers
+}:
+mkDerivation {
+  pname = "html-entities";
+  version = "1.1.4.6";
+  sha256 = "db8f9064ab5b594c7f0901da0405ffc8c4d0cbf31f4414742c5b9f87c7b16199";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    attoparsec
+    base
+    text
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nikita-volkov/html-entities";
+  description = "A codec library for HTML-escaped text and HTML-entities";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/http-common.nix b/pkgs/http-common.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bd1cff37545f3b84f60dbd605fa4b0fc6353dbeb
--- /dev/null
+++ b/pkgs/http-common.nix
@@ -0,0 +1,48 @@
+{ mkDerivation
+, base
+, base64-bytestring
+, blaze-builder
+, bytestring
+, case-insensitive
+, directory
+, lib
+, mtl
+, network
+, random
+, text
+, transformers
+, unordered-containers
+}:
+mkDerivation {
+  pname = "http-common";
+  version = "0.8.3.4";
+  sha256 = "484412bbe111279e24207d25aeae4cbfb28127a9fc3d704c2e0a3bc094b3ebf6";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    base64-bytestring
+    blaze-builder
+    bytestring
+    case-insensitive
+    directory
+    mtl
+    network
+    random
+    text
+    transformers
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/aesiniath/http-common";
+  description = "Common types for HTTP clients and servers";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/http-streams.nix b/pkgs/http-streams.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0c237a54f501a3c69c264b09806440fa00260bc7
--- /dev/null
+++ b/pkgs/http-streams.nix
@@ -0,0 +1,100 @@
+{ mkDerivation
+, HUnit
+, HsOpenSSL
+, aeson
+, aeson-pretty
+, attoparsec
+, base
+, base64-bytestring
+, blaze-builder
+, bytestring
+, case-insensitive
+, directory
+, filepath
+, ghc-prim
+, hspec
+, hspec-expectations
+, http-common
+, io-streams
+, lib
+, lifted-base
+, mtl
+, network
+, network-uri
+, openssl-streams
+, random
+, snap-core
+, snap-server
+, text
+, transformers
+, unordered-containers
+}:
+mkDerivation {
+  pname = "http-streams";
+  version = "0.8.9.6";
+  sha256 = "bad3c6d94dc44e87d4d7e98467631d2d6f369120bbbb917935fb59e2c3b516c1";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    attoparsec
+    base
+    base64-bytestring
+    blaze-builder
+    bytestring
+    case-insensitive
+    directory
+    filepath
+    HsOpenSSL
+    http-common
+    io-streams
+    mtl
+    network
+    network-uri
+    openssl-streams
+    text
+    transformers
+    unordered-containers
+  ];
+  testHaskellDepends = [
+    aeson
+    aeson-pretty
+    attoparsec
+    base
+    base64-bytestring
+    blaze-builder
+    bytestring
+    case-insensitive
+    directory
+    ghc-prim
+    HsOpenSSL
+    hspec
+    hspec-expectations
+    http-common
+    HUnit
+    io-streams
+    lifted-base
+    mtl
+    network
+    network-uri
+    openssl-streams
+    random
+    snap-core
+    snap-server
+    text
+    transformers
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/aesiniath/http-streams/";
+  description = "An HTTP client using io-streams";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/hw-aeson.nix b/pkgs/hw-aeson.nix
new file mode 100644
index 0000000000000000000000000000000000000000..fe08b280825059e75ffc5669927c1c7f090a7f7a
--- /dev/null
+++ b/pkgs/hw-aeson.nix
@@ -0,0 +1,56 @@
+{ mkDerivation
+, aeson
+, base
+, bytestring
+, containers
+, doctest
+, doctest-discover
+, hashable
+, hedgehog
+, hspec
+, hspec-discover
+, lib
+, text
+, text-short
+, unordered-containers
+}:
+mkDerivation {
+  pname = "hw-aeson";
+  version = "0.1.8.0";
+  sha256 = "a20a8e21a2bf49fb33cefd09ab0fd521757280ab15603e837d9b5188df6d07f4";
+  revision = "2";
+  editedCabalFile = "04vjq54xc354scgzgf863px9fadvw4dr6kgli9rp4plw3sh4k3qg";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    bytestring
+    containers
+    hashable
+    text
+    text-short
+    unordered-containers
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    doctest
+    doctest-discover
+    hedgehog
+    hspec
+  ];
+  testToolDepends = [ doctest-discover hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-works/hw-aeson#readme";
+  description = "Convenience functions for Aeson";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/hxt-charproperties.nix b/pkgs/hxt-charproperties.nix
new file mode 100644
index 0000000000000000000000000000000000000000..cc3488101e503d02c83b7ace9b84bbdb3ab72415
--- /dev/null
+++ b/pkgs/hxt-charproperties.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "hxt-charproperties";
+  version = "9.5.0.0";
+  sha256 = "28836949512a2aedb63b2a02e0b05a4f519dc3511cfd259804a6e9d59a44a94a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/UweSchmidt/hxt";
+  description = "Character properties and classes for XML and Unicode";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/hxt-regex-xmlschema.nix b/pkgs/hxt-regex-xmlschema.nix
new file mode 100644
index 0000000000000000000000000000000000000000..05108c9b3253eccb8f94b09d8d56408c5d8f1998
--- /dev/null
+++ b/pkgs/hxt-regex-xmlschema.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, HUnit
+, base
+, bytestring
+, criterion
+, deepseq
+, hxt-charproperties
+, lib
+, parsec
+, text
+}:
+mkDerivation {
+  pname = "hxt-regex-xmlschema";
+  version = "9.2.0.7";
+  sha256 = "b9b6bcfc7d8c5e9a0be87dc56b13a237a51ca2c19c6665a51378a9538b71d97a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    hxt-charproperties
+    parsec
+    text
+  ];
+  testHaskellDepends = [ base bytestring HUnit parsec text ];
+  benchmarkHaskellDepends = [
+    base
+    bytestring
+    criterion
+    deepseq
+    parsec
+    text
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.haskell.org/haskellwiki/Regular_expressions_for_XML_Schema";
+  description = "A regular expression library for W3C XML Schema regular expressions";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/hxt-unicode.nix b/pkgs/hxt-unicode.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e6ff3de1b831e14a02dc7bbed5cc6bdf78350e2b
--- /dev/null
+++ b/pkgs/hxt-unicode.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, hxt-charproperties, lib }:
+mkDerivation {
+  pname = "hxt-unicode";
+  version = "9.0.2.4";
+  sha256 = "7b5823f3bd94b57022d9d84ab3555303653c5121eaaef2ee1fd4918f3c434466";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base hxt-charproperties ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/UweSchmidt/hxt";
+  description = "Unicode en-/decoding functions for utf8, iso-latin-* and other encodings";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/hxt.nix b/pkgs/hxt.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f408de5d8fcf6f50eaab932b5ebafeaac954f9ed
--- /dev/null
+++ b/pkgs/hxt.nix
@@ -0,0 +1,50 @@
+{ mkDerivation
+, base
+, binary
+, bytestring
+, containers
+, deepseq
+, directory
+, filepath
+, hxt-charproperties
+, hxt-regex-xmlschema
+, hxt-unicode
+, lib
+, mtl
+, network-uri
+, parsec
+}:
+mkDerivation {
+  pname = "hxt";
+  version = "9.3.1.22";
+  sha256 = "ef602fe674225527750574dd555dbdf402ab77d054af75d41ca21b42dbb23ad9";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    binary
+    bytestring
+    containers
+    deepseq
+    directory
+    filepath
+    hxt-charproperties
+    hxt-regex-xmlschema
+    hxt-unicode
+    mtl
+    network-uri
+    parsec
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/UweSchmidt/hxt";
+  description = "A collection of tools for processing XML with Haskell";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/indexed-list-literals.nix b/pkgs/indexed-list-literals.nix
new file mode 100644
index 0000000000000000000000000000000000000000..70c5d9ddd431eb1ede5ade8a93af4557e079b402
--- /dev/null
+++ b/pkgs/indexed-list-literals.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, Only, base, hspec, lib }:
+mkDerivation {
+  pname = "indexed-list-literals";
+  version = "0.2.1.3";
+  sha256 = "26e399e285ddf44822781559f7202ed821382457ed6c1c32bdaac7945c033f9d";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base Only ];
+  testHaskellDepends = [ base hspec ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/davidm-d/indexed-list-literals";
+  description = "Type safe indexed list literals";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/inline-c.nix b/pkgs/inline-c.nix
new file mode 100644
index 0000000000000000000000000000000000000000..274f0c2061ef83a6b5f595cb0f3a8073cc3f231b
--- /dev/null
+++ b/pkgs/inline-c.nix
@@ -0,0 +1,68 @@
+{ mkDerivation
+, QuickCheck
+, ansi-wl-pprint
+, base
+, bytestring
+, containers
+, hashable
+, hspec
+, lib
+, mtl
+, parsec
+, parsers
+, raw-strings-qq
+, regex-posix
+, split
+, template-haskell
+, transformers
+, unordered-containers
+, vector
+}:
+mkDerivation {
+  pname = "inline-c";
+  version = "0.9.1.6";
+  sha256 = "d567b818011b2331d428dd731db024f2662d11f748e015ad33d08aeb48225f19";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    ansi-wl-pprint
+    base
+    bytestring
+    containers
+    hashable
+    mtl
+    parsec
+    parsers
+    template-haskell
+    transformers
+    unordered-containers
+    vector
+  ];
+  testHaskellDepends = [
+    ansi-wl-pprint
+    base
+    containers
+    hashable
+    hspec
+    parsers
+    QuickCheck
+    raw-strings-qq
+    regex-posix
+    split
+    template-haskell
+    transformers
+    unordered-containers
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Write Haskell source files including C code inline. No FFI required.";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/int-cast.nix b/pkgs/int-cast.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a38227541e09c028499aad3233aa76629bfb068d
--- /dev/null
+++ b/pkgs/int-cast.nix
@@ -0,0 +1,35 @@
+{ mkDerivation
+, QuickCheck
+, base
+, lib
+, test-framework
+, test-framework-quickcheck2
+}:
+mkDerivation {
+  pname = "int-cast";
+  version = "0.2.0.0";
+  sha256 = "e006956a08b751a996a92828ccb728b7237c9c435c4b35b5169eb8d44ac51969";
+  revision = "4";
+  editedCabalFile = "1l5n3hsa8gr0wzc3cb32ha2j8kcf976i84z04580q41macf0r0h6";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [
+    base
+    QuickCheck
+    test-framework
+    test-framework-quickcheck2
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/hvr/int-cast";
+  description = "Checked conversions between integral types";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/io-streams-haproxy.nix b/pkgs/io-streams-haproxy.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e89139241c297f5a03c2bc430423df8b055b08e9
--- /dev/null
+++ b/pkgs/io-streams-haproxy.nix
@@ -0,0 +1,52 @@
+{ mkDerivation
+, HUnit
+, attoparsec
+, base
+, bytestring
+, io-streams
+, lib
+, network
+, test-framework
+, test-framework-hunit
+, transformers
+}:
+mkDerivation {
+  pname = "io-streams-haproxy";
+  version = "1.0.1.0";
+  sha256 = "b74eca9290fe838a0e3be857a38b62cf6fb7478acee400eac19e47471a2c96b5";
+  revision = "6";
+  editedCabalFile = "024aw98q1x3fb1xq07qki3z446w6lk5gyjl13shy0dbrd5aafh92";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    attoparsec
+    base
+    bytestring
+    io-streams
+    network
+    transformers
+  ];
+  testHaskellDepends = [
+    attoparsec
+    base
+    bytestring
+    HUnit
+    io-streams
+    network
+    test-framework
+    test-framework-hunit
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://snapframework.com/";
+  description = "HAProxy protocol 1.5 support for io-streams";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/io-streams.nix b/pkgs/io-streams.nix
new file mode 100644
index 0000000000000000000000000000000000000000..cc49e5faa2f1881c0f882b3f89853eba17243d87
--- /dev/null
+++ b/pkgs/io-streams.nix
@@ -0,0 +1,79 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, attoparsec
+, base
+, bytestring
+, deepseq
+, directory
+, filepath
+, lib
+, mtl
+, network
+, primitive
+, process
+, test-framework
+, test-framework-hunit
+, test-framework-quickcheck2
+, text
+, time
+, transformers
+, vector
+, zlib
+, zlib-bindings
+}:
+mkDerivation {
+  pname = "io-streams";
+  version = "1.5.2.2";
+  sha256 = "d365d5051696c15414ebe23749fc67475a532234b7c7d77060323d149a8fc4fe";
+  configureFlags = [ "-fnointeractivetests" ];
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    attoparsec
+    base
+    bytestring
+    network
+    primitive
+    process
+    text
+    time
+    transformers
+    vector
+    zlib-bindings
+  ];
+  testHaskellDepends = [
+    attoparsec
+    base
+    bytestring
+    deepseq
+    directory
+    filepath
+    HUnit
+    mtl
+    network
+    primitive
+    process
+    QuickCheck
+    test-framework
+    test-framework-hunit
+    test-framework-quickcheck2
+    text
+    time
+    transformers
+    vector
+    zlib
+    zlib-bindings
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Simple, composable, and easy-to-use stream I/O";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/iwlib.nix b/pkgs/iwlib.nix
new file mode 100644
index 0000000000000000000000000000000000000000..673e648e6bcdc96e6098bd6272a281d4ebfaf980
--- /dev/null
+++ b/pkgs/iwlib.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, lib, wirelesstools }:
+mkDerivation {
+  pname = "iwlib";
+  version = "0.1.2";
+  sha256 = "fddffbf9e2875a4441b81c41b82004e920ca84fef65a17573a70e2b8a35cd147";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  librarySystemDepends = [ wirelesstools ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://codeberg.org/xmobar/iwlib";
+  description = "Bindings for the iw C library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/katip.nix b/pkgs/katip.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ed8397f51c7abdb539b1c17b4152376f5202e98b
--- /dev/null
+++ b/pkgs/katip.nix
@@ -0,0 +1,128 @@
+{ mkDerivation
+, aeson
+, async
+, auto-update
+, base
+, blaze-builder
+, bytestring
+, containers
+, criterion
+, deepseq
+, directory
+, either
+, filepath
+, hostname
+, lib
+, microlens
+, microlens-th
+, monad-control
+, mtl
+, old-locale
+, quickcheck-instances
+, regex-tdfa
+, resourcet
+, safe-exceptions
+, scientific
+, semigroups
+, stm
+, string-conv
+, tasty
+, tasty-golden
+, tasty-hunit
+, tasty-quickcheck
+, template-haskell
+, text
+, time
+, time-locale-compat
+, transformers
+, transformers-base
+, transformers-compat
+, unix
+, unliftio-core
+, unordered-containers
+}:
+mkDerivation {
+  pname = "katip";
+  version = "0.8.7.2";
+  sha256 = "d990751023c8dbfaa3626bb237ffecf9b7c76f7938c14b620ac2e39aefab070a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    async
+    auto-update
+    base
+    bytestring
+    containers
+    either
+    hostname
+    microlens
+    microlens-th
+    monad-control
+    mtl
+    old-locale
+    resourcet
+    safe-exceptions
+    scientific
+    semigroups
+    stm
+    string-conv
+    template-haskell
+    text
+    time
+    transformers
+    transformers-base
+    transformers-compat
+    unix
+    unliftio-core
+    unordered-containers
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    bytestring
+    containers
+    directory
+    microlens
+    quickcheck-instances
+    regex-tdfa
+    safe-exceptions
+    stm
+    tasty
+    tasty-golden
+    tasty-hunit
+    tasty-quickcheck
+    template-haskell
+    text
+    time
+    time-locale-compat
+    unordered-containers
+  ];
+  benchmarkHaskellDepends = [
+    aeson
+    async
+    base
+    blaze-builder
+    criterion
+    deepseq
+    directory
+    filepath
+    safe-exceptions
+    text
+    time
+    transformers
+    unix
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/Soostone/katip";
+  description = "A structured logging framework";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/lazy-search.nix b/pkgs/lazy-search.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1e41aa6a79f3f2ab7b90c878052c24bd8452efaa
--- /dev/null
+++ b/pkgs/lazy-search.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib, size-based }:
+mkDerivation {
+  pname = "lazy-search";
+  version = "0.1.3.0";
+  sha256 = "56a7ec14260265d3c739f42a519b7cdd9c4ebf8d64ee1b290a05a284ee139aa8";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base size-based ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Finds values satisfying a lazy predicate";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/lazysmallcheck.nix b/pkgs/lazysmallcheck.nix
new file mode 100644
index 0000000000000000000000000000000000000000..638374f67e0a9dec88cb6cea557354263fc80dc9
--- /dev/null
+++ b/pkgs/lazysmallcheck.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "lazysmallcheck";
+  version = "0.6";
+  sha256 = "9dd4dfb590c77e4f6aff68296602de58422eed5e7148fc29190d875a4e7d0f53";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.cs.york.ac.uk/~mfn/lazysmallcheck/";
+  description = "A library for demand-driven testing of Haskell programs";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/libsystemd-journal.nix b/pkgs/libsystemd-journal.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5858233c358789edf160a8e942ff6d340dde2242
--- /dev/null
+++ b/pkgs/libsystemd-journal.nix
@@ -0,0 +1,54 @@
+{ mkDerivation
+, base
+, bytestring
+, hashable
+, hsyslog
+, lib
+, pipes
+, pipes-safe
+, semigroups
+, systemd
+, text
+, transformers
+, uniplate
+, unix-bytestring
+, unordered-containers
+, uuid
+, vector
+}:
+mkDerivation {
+  pname = "libsystemd-journal";
+  version = "1.4.5";
+  sha256 = "a8c7a2140d0046cb71887fc7ff6f8885feb3bac966d01d9a83b25226b5778f06";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    hashable
+    hsyslog
+    pipes
+    pipes-safe
+    semigroups
+    text
+    transformers
+    uniplate
+    unix-bytestring
+    unordered-containers
+    uuid
+    vector
+  ];
+  libraryPkgconfigDepends = [ systemd ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/ocharles/libsystemd-journal";
+  description = "Haskell bindings to libsystemd-journal";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/linear-base.nix b/pkgs/linear-base.nix
new file mode 100644
index 0000000000000000000000000000000000000000..575ce294841b8817d7616883d1583fb662c9c556
--- /dev/null
+++ b/pkgs/linear-base.nix
@@ -0,0 +1,83 @@
+{ mkDerivation
+, MonadRandom
+, base
+, containers
+, deepseq
+, gauge
+, ghc-prim
+, hashable
+, hashtables
+, hedgehog
+, inspection-testing
+, lib
+, linear-generics
+, mmorph
+, primitive
+, random
+, random-shuffle
+, storable-tuple
+, tasty
+, tasty-hedgehog
+, tasty-inspection-testing
+, text
+, transformers
+, unordered-containers
+, vector
+}:
+mkDerivation {
+  pname = "linear-base";
+  version = "0.3.0";
+  sha256 = "65e4dafd21f5e2bc709cd65526e09090f348b594814f1068dd68aba48cd0302c";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    hashable
+    linear-generics
+    primitive
+    storable-tuple
+    text
+    transformers
+    vector
+  ];
+  testHaskellDepends = [
+    base
+    containers
+    hedgehog
+    inspection-testing
+    linear-generics
+    mmorph
+    storable-tuple
+    tasty
+    tasty-hedgehog
+    tasty-inspection-testing
+    text
+    vector
+  ];
+  benchmarkHaskellDepends = [
+    base
+    deepseq
+    gauge
+    hashable
+    hashtables
+    MonadRandom
+    random
+    random-shuffle
+    unordered-containers
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/tweag/linear-base#README";
+  description = "Standard library for linear types";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/linear-generics.nix b/pkgs/linear-generics.nix
new file mode 100644
index 0000000000000000000000000000000000000000..4a170aa9ac44607223f146acf841fd1427901f5c
--- /dev/null
+++ b/pkgs/linear-generics.nix
@@ -0,0 +1,38 @@
+{ mkDerivation
+, base
+, containers
+, ghc-prim
+, hspec
+, hspec-discover
+, lib
+, template-haskell
+, th-abstraction
+}:
+mkDerivation {
+  pname = "linear-generics";
+  version = "0.2";
+  sha256 = "5f0bb89fc65e7752fd328d427cc6493a30b8edacc6a062595094ae3fea09819a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    template-haskell
+    th-abstraction
+  ];
+  testHaskellDepends = [ base hspec template-haskell ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/linear-generics/linear-generics";
+  description = "Generic programming library for generalised deriving";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/list-t.nix b/pkgs/list-t.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e8d17e61bf91afc5ad12f0cc2c90703f71ddc8de
--- /dev/null
+++ b/pkgs/list-t.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, HTF
+, base
+, base-prelude
+, foldl
+, lib
+, logict
+, mmorph
+, monad-control
+, mtl
+, mtl-prelude
+, semigroups
+, transformers
+, transformers-base
+}:
+mkDerivation {
+  pname = "list-t";
+  version = "1.0.5.3";
+  sha256 = "adf3d36457d4c505bd7c9d5f81760145102d10d66503240fe24c3882947b6e48";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    foldl
+    logict
+    mmorph
+    monad-control
+    mtl
+    semigroups
+    transformers
+    transformers-base
+  ];
+  testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nikita-volkov/list-t";
+  description = "ListT done right";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/list-transformer.nix b/pkgs/list-transformer.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f6cd71836ed3d0fb541e15bcd886547d3fba2413
--- /dev/null
+++ b/pkgs/list-transformer.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, base, doctest, lib, mmorph, mtl }:
+mkDerivation {
+  pname = "list-transformer";
+  version = "1.0.9";
+  sha256 = "b90b23921cdab8b38278b2129130fd0e0e7c7a04ca8c4e02f64a6bea7af66dd3";
+  revision = "1";
+  editedCabalFile = "1d41pbd7kg8im5bvzhkndr6lr106rpd7m1pqb39zgnj5cbmgaql3";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base mmorph mtl ];
+  testHaskellDepends = [ base doctest ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/Gabriella439/Haskell-List-Transformer-Library";
+  description = "List monad transformer";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/loop.nix b/pkgs/loop.nix
new file mode 100644
index 0000000000000000000000000000000000000000..d494a2547489ec8687e7414bfeed4672acde1250
--- /dev/null
+++ b/pkgs/loop.nix
@@ -0,0 +1,39 @@
+{ mkDerivation
+, base
+, criterion
+, foldl
+, hspec
+, lib
+, mtl
+, random
+, vector
+}:
+mkDerivation {
+  pname = "loop";
+  version = "0.3.0";
+  sha256 = "92962010bdab28cc0092dd3fe42819d6f215c717dd10d9349626d92a0d0b3ecf";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base hspec mtl ];
+  benchmarkHaskellDepends = [
+    base
+    criterion
+    foldl
+    mtl
+    random
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nh2/loop";
+  description = "Fast loops (for when GHC can't optimize forM_)";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/markov-chain-usage-model.nix b/pkgs/markov-chain-usage-model.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5f612dc0e2a0fbc16157d0cf14add039d9b57f61
--- /dev/null
+++ b/pkgs/markov-chain-usage-model.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+, base
+, doctest
+, lib
+, matrix
+, tasty
+, tasty-discover
+, tasty-hunit
+, vector
+}:
+mkDerivation {
+  pname = "markov-chain-usage-model";
+  version = "0.0.0";
+  sha256 = "4c8e59c753ddcb8a3273c44712fc91e20be7a3f0f3a485f3f9f87003f71a2793";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base matrix vector ];
+  testHaskellDepends = [
+    base
+    doctest
+    matrix
+    tasty
+    tasty-discover
+    tasty-hunit
+    vector
+  ];
+  testToolDepends = [ tasty-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/advancedtelematic/markov-chain-usage-model#readme";
+  description = "Computations for Markov chain usage models";
+  license = lib.licenses.bsd2;
+  broken = false;
+}
diff --git a/pkgs/matrix.nix b/pkgs/matrix.nix
new file mode 100644
index 0000000000000000000000000000000000000000..93c841d826d504c440ffc7de8078f77bec99f918
--- /dev/null
+++ b/pkgs/matrix.nix
@@ -0,0 +1,43 @@
+{ mkDerivation
+, QuickCheck
+, base
+, criterion
+, deepseq
+, lib
+, loop
+, primitive
+, semigroups
+, tasty
+, tasty-quickcheck
+, vector
+}:
+mkDerivation {
+  pname = "matrix";
+  version = "0.3.6.1";
+  sha256 = "fa976ca3bc98149ce59b7ae37869eda615562711e1fef90889f6e0c4f2093b2c";
+  revision = "1";
+  editedCabalFile = "0iy0gdgg68ldhgm4lzvzl5pmzflx0r4brdbdkq75rkarm7cigawn";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    deepseq
+    loop
+    primitive
+    semigroups
+    vector
+  ];
+  testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
+  benchmarkHaskellDepends = [ base criterion ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "A native implementation of matrix operations";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/mersenne-random-pure64.nix b/pkgs/mersenne-random-pure64.nix
new file mode 100644
index 0000000000000000000000000000000000000000..268a335a2ad66deca9282ecea0ca73b1e131d594
--- /dev/null
+++ b/pkgs/mersenne-random-pure64.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, lib, random, time }:
+mkDerivation {
+  pname = "mersenne-random-pure64";
+  version = "0.2.2.0";
+  sha256 = "ef1400ddc1ddafb0b98d4331a58bdbe3b5209a81579e17f85f180731a96d75d1";
+  revision = "1";
+  editedCabalFile = "0pxq0xz42x60993rl4pr4pia80jv1xcqh6njvjzfvn75018j4gw5";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base random time ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
+  description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/monoidal-containers.nix b/pkgs/monoidal-containers.nix
new file mode 100644
index 0000000000000000000000000000000000000000..21856c6d352c93d7ffa1023ecac644895e150adc
--- /dev/null
+++ b/pkgs/monoidal-containers.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, aeson
+, base
+, containers
+, deepseq
+, hashable
+, lens
+, lib
+, newtype
+, semialign
+, these
+, unordered-containers
+, witherable
+}:
+mkDerivation {
+  pname = "monoidal-containers";
+  version = "0.6.3.0";
+  sha256 = "047e86f1d31c56c8aee60eaff340b57340b1aa9a29f9ecf64679cb9141f98154";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    containers
+    deepseq
+    hashable
+    lens
+    newtype
+    semialign
+    these
+    unordered-containers
+    witherable
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/bgamari/monoidal-containers";
+  description = "Containers with monoidal accumulation";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/mtl-prelude.nix b/pkgs/mtl-prelude.nix
new file mode 100644
index 0000000000000000000000000000000000000000..37ef55366060cab0e2915ea68dd94da773dd5ee9
--- /dev/null
+++ b/pkgs/mtl-prelude.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib, mtl, transformers }:
+mkDerivation {
+  pname = "mtl-prelude";
+  version = "2.0.3.1";
+  sha256 = "c4a6dda093d63bd2161f55030c5825903dfa9b7d5e766c487fd848cb2aa01233";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base mtl transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nikita-volkov/mtl-prelude";
+  description = "Reexports of most definitions from \"mtl\" and \"transformers\"";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/multiset.nix b/pkgs/multiset.nix
new file mode 100644
index 0000000000000000000000000000000000000000..e5bbe8af1c117e92b2a24e78e5a8bde20907b778
--- /dev/null
+++ b/pkgs/multiset.nix
@@ -0,0 +1,38 @@
+{ mkDerivation
+, QuickCheck
+, base
+, checkers
+, containers
+, deepseq
+, doctest
+, lib
+, tasty
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "multiset";
+  version = "0.3.4.3";
+  sha256 = "79fcae15a5d3ce28f0b973ad90290f7451396e81cc92007456ce2bb49b9415c4";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers deepseq ];
+  testHaskellDepends = [
+    base
+    checkers
+    doctest
+    QuickCheck
+    tasty
+    tasty-quickcheck
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "The Data.MultiSet container type";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/natural-arithmetic.nix b/pkgs/natural-arithmetic.nix
new file mode 100644
index 0000000000000000000000000000000000000000..10a7a2216d0a2c31aa28ec601e5e1de30ede9ab8
--- /dev/null
+++ b/pkgs/natural-arithmetic.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "natural-arithmetic";
+  version = "0.1.3.0";
+  sha256 = "aa13f2e8671d6bf9d21c7e62cf5f0b0ee94785f0c6249b8b97abd0b9dd8f308e";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/andrewthad/natural-arithmetic";
+  description = "Arithmetic of natural numbers";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/newtype.nix b/pkgs/newtype.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9de5e8847e3b3de99b1fe9f82ba988453e187e3a
--- /dev/null
+++ b/pkgs/newtype.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "newtype";
+  version = "0.2.2.0";
+  sha256 = "3a00ffd1bb48a81e09f8be6510fa4c642ba1482b2f8d4777af1b5dd06c55ebac";
+  revision = "3";
+  editedCabalFile = "0yll88ydchd2gqcvdk28fchf2vygpd42ky2bigg4ga08jan2nacx";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "A typeclass and set of functions for working with newtypes";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/nonempty-vector.nix b/pkgs/nonempty-vector.nix
new file mode 100644
index 0000000000000000000000000000000000000000..caa8803dca83dde5a5d24a83f22140d9413bda44
--- /dev/null
+++ b/pkgs/nonempty-vector.nix
@@ -0,0 +1,34 @@
+{ mkDerivation
+, Cabal
+, base
+, cabal-doctest
+, deepseq
+, doctest
+, lib
+, primitive
+, vector
+}:
+mkDerivation {
+  pname = "nonempty-vector";
+  version = "0.2.1.0";
+  sha256 = "3e88159a1ad63039aba427597ea9d7eaf6e86789279d92e16214391b1bb2ce70";
+  revision = "1";
+  editedCabalFile = "18w57f8sdix71a27gwbifw7hmg34lms22c99gp7i7j7g154f3cn3";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal cabal-doctest ];
+  libraryHaskellDepends = [ base deepseq primitive vector ];
+  testHaskellDepends = [ base doctest ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/emilypi/nonempty-vector";
+  description = "Non-empty vectors";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/one-liner.nix b/pkgs/one-liner.nix
new file mode 100644
index 0000000000000000000000000000000000000000..c512661ddd4b86cbe05b5ed9d2469e313e73f460
--- /dev/null
+++ b/pkgs/one-liner.nix
@@ -0,0 +1,42 @@
+{ mkDerivation
+, HUnit
+, base
+, bifunctors
+, contravariant
+, ghc-prim
+, lib
+, linear-base
+, profunctors
+, tagged
+, transformers
+}:
+mkDerivation {
+  pname = "one-liner";
+  version = "2.1";
+  sha256 = "d0e51f172e8216fa587cde54d7cafc1e28f6ea4e2708a27b6b3a3634da8eed25";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bifunctors
+    contravariant
+    ghc-prim
+    linear-base
+    profunctors
+    tagged
+    transformers
+  ];
+  testHaskellDepends = [ base contravariant HUnit ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/sjoerdvisscher/one-liner";
+  description = "Constraint-based generics";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/openapi3.nix b/pkgs/openapi3.nix
new file mode 100644
index 0000000000000000000000000000000000000000..09f22ae22bc697acfdcfa85f8768a8abfda8179d
--- /dev/null
+++ b/pkgs/openapi3.nix
@@ -0,0 +1,111 @@
+{ mkDerivation
+, Cabal
+, Glob
+, HUnit
+, QuickCheck
+, aeson
+, aeson-pretty
+, base
+, base-compat-batteries
+, bytestring
+, cabal-doctest
+, containers
+, cookie
+, doctest
+, generics-sop
+, hashable
+, hspec
+, hspec-discover
+, http-media
+, insert-ordered-containers
+, lens
+, lib
+, mtl
+, network
+, optics-core
+, optics-th
+, quickcheck-instances
+, scientific
+, template-haskell
+, text
+, time
+, transformers
+, unordered-containers
+, utf8-string
+, uuid-types
+, vector
+}:
+mkDerivation {
+  pname = "openapi3";
+  version = "3.2.2";
+  sha256 = "325d491e305de60510f5267b3eccdc2719d4a8e5784577d7e79aef28368d6134";
+  revision = "2";
+  editedCabalFile = "1yc3wlc8j84glav3hzx1l4yq33k05bll252a8yl6ld275jjswn8p";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal cabal-doctest ];
+  libraryHaskellDepends = [
+    aeson
+    aeson-pretty
+    base
+    base-compat-batteries
+    bytestring
+    containers
+    cookie
+    generics-sop
+    hashable
+    http-media
+    insert-ordered-containers
+    lens
+    mtl
+    network
+    optics-core
+    optics-th
+    QuickCheck
+    scientific
+    template-haskell
+    text
+    time
+    transformers
+    unordered-containers
+    uuid-types
+    vector
+  ];
+  executableHaskellDepends = [ aeson base lens text ];
+  testHaskellDepends = [
+    aeson
+    base
+    base-compat-batteries
+    bytestring
+    containers
+    doctest
+    Glob
+    hashable
+    hspec
+    HUnit
+    insert-ordered-containers
+    lens
+    mtl
+    QuickCheck
+    quickcheck-instances
+    template-haskell
+    text
+    time
+    unordered-containers
+    utf8-string
+    vector
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/biocad/openapi3";
+  description = "OpenAPI 3.0 data model";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/openssl-streams.nix b/pkgs/openssl-streams.nix
new file mode 100644
index 0000000000000000000000000000000000000000..14e2f765158fdf2beb8dec5974885bec58da2b27
--- /dev/null
+++ b/pkgs/openssl-streams.nix
@@ -0,0 +1,48 @@
+{ mkDerivation
+, HUnit
+, HsOpenSSL
+, base
+, bytestring
+, io-streams
+, lib
+, network
+, test-framework
+, test-framework-hunit
+}:
+mkDerivation {
+  pname = "openssl-streams";
+  version = "1.2.3.0";
+  sha256 = "55f20bd8970e5ce4d0ff16fae8c584c63e26e0990d27364340b997f5feb5f682";
+  revision = "1";
+  editedCabalFile = "0vfawnfcjrw29qg1n7k6z6bk4bmnk869gjlr9mxw4mzxgl80b2vp";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    HsOpenSSL
+    io-streams
+    network
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    HsOpenSSL
+    HUnit
+    io-streams
+    network
+    test-framework
+    test-framework-hunit
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "OpenSSL network support for io-streams";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/optparse-generic.nix b/pkgs/optparse-generic.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0b79016a6cad47d118f3a5bad7acd54f53a80ccf
--- /dev/null
+++ b/pkgs/optparse-generic.nix
@@ -0,0 +1,45 @@
+{ mkDerivation
+, Only
+, base
+, bytestring
+, lib
+, optparse-applicative
+, system-filepath
+, text
+, time
+, transformers
+, transformers-compat
+, void
+}:
+mkDerivation {
+  pname = "optparse-generic";
+  version = "1.4.8";
+  sha256 = "aa45862d5c59b21403fbd6f6771fa8047b7c82043efbd38bbe59e08ae5961a81";
+  revision = "1";
+  editedCabalFile = "0rgh8sy2w7rh5n1sz0jxcq892myplbli15snggi77dflv00ic7zd";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    Only
+    optparse-applicative
+    system-filepath
+    text
+    time
+    transformers
+    transformers-compat
+    void
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Auto-generate a command-line parser for your datatype";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/parsec-numbers.nix b/pkgs/parsec-numbers.nix
new file mode 100644
index 0000000000000000000000000000000000000000..18751a2b81b28492aa7e0b40e41d64a27cd61715
--- /dev/null
+++ b/pkgs/parsec-numbers.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib, parsec }:
+mkDerivation {
+  pname = "parsec-numbers";
+  version = "0.1.0";
+  sha256 = "77019a4817712f6bfc61c9d148b680579955eb40d286f7766f7b0a90c726febf";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base parsec ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Utilities for parsing numbers from strings";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/parsec1.nix b/pkgs/parsec1.nix
new file mode 100644
index 0000000000000000000000000000000000000000..79e13ee99eaac5fe5f89fec01811eb9d23177615
--- /dev/null
+++ b/pkgs/parsec1.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "parsec1";
+  version = "1.0.0.8";
+  sha256 = "c77136d16a8df43f40d39a09d133b924a86856899a40ae1295cf7062f37aea0b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Portable monadic parser combinators";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/partial-order.nix b/pkgs/partial-order.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9f3f5b78e18cb58396d764a9b4f48bfeab731456
--- /dev/null
+++ b/pkgs/partial-order.nix
@@ -0,0 +1,37 @@
+{ mkDerivation
+, HUnit
+, base
+, containers
+, lib
+, test-framework
+, test-framework-hunit
+, test-framework-quickcheck2
+}:
+mkDerivation {
+  pname = "partial-order";
+  version = "0.2.0.0";
+  sha256 = "b25fb46335d11e9a9201d6a3685bff94e13ab73baf7f99eb770218ad1edcc5c8";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers ];
+  testHaskellDepends = [
+    base
+    containers
+    HUnit
+    test-framework
+    test-framework-hunit
+    test-framework-quickcheck2
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mtesseract/haskell-partial-order";
+  description = "Provides typeclass suitable for types admitting a partial order";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/pcre-heavy.nix b/pkgs/pcre-heavy.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a8414228e44c224fadf57287191c549781c35c5b
--- /dev/null
+++ b/pkgs/pcre-heavy.nix
@@ -0,0 +1,43 @@
+{ mkDerivation
+, Glob
+, base
+, base-compat
+, bytestring
+, doctest
+, lib
+, pcre-light
+, semigroups
+, string-conversions
+, template-haskell
+}:
+mkDerivation {
+  pname = "pcre-heavy";
+  version = "1.0.0.3";
+  sha256 = "3ef115e2fc81d453bdd2fdec57d6880e798f9f7a185010d21b420a22f0c9980f";
+  revision = "1";
+  editedCabalFile = "0wa517agsib2q658bfsb9fdm12yz3pqzj204v9jf9rz4fm4y8q81";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    base-compat
+    bytestring
+    pcre-light
+    semigroups
+    string-conversions
+    template-haskell
+  ];
+  testHaskellDepends = [ base doctest Glob ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://codeberg.org/valpackett/pcre-heavy";
+  description = "A regexp (regex) library on top of pcre-light you can actually use";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/persistent-postgresql.nix b/pkgs/persistent-postgresql.nix
new file mode 100644
index 0000000000000000000000000000000000000000..c6e031ed34f12872b972dd49e736aec162ea08cc
--- /dev/null
+++ b/pkgs/persistent-postgresql.nix
@@ -0,0 +1,105 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, aeson
+, attoparsec
+, base
+, blaze-builder
+, bytestring
+, conduit
+, containers
+, fast-logger
+, hspec
+, hspec-expectations
+, hspec-expectations-lifted
+, http-api-data
+, lib
+, monad-logger
+, mtl
+, path-pieces
+, persistent
+, persistent-qq
+, persistent-test
+, postgresql-libpq
+, postgresql-simple
+, quickcheck-instances
+, resource-pool
+, resourcet
+, string-conversions
+, text
+, time
+, transformers
+, unliftio
+, unliftio-core
+, unordered-containers
+, vault
+, vector
+}:
+mkDerivation {
+  pname = "persistent-postgresql";
+  version = "2.13.5.0";
+  sha256 = "0d4de220014a4d9dd981717655e8119ee9d3ca105fe6f2df5763656713f130e1";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    attoparsec
+    base
+    blaze-builder
+    bytestring
+    conduit
+    containers
+    monad-logger
+    mtl
+    persistent
+    postgresql-libpq
+    postgresql-simple
+    resource-pool
+    resourcet
+    string-conversions
+    text
+    time
+    transformers
+    unliftio-core
+    vault
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    bytestring
+    containers
+    fast-logger
+    hspec
+    hspec-expectations
+    hspec-expectations-lifted
+    http-api-data
+    HUnit
+    monad-logger
+    path-pieces
+    persistent
+    persistent-qq
+    persistent-test
+    QuickCheck
+    quickcheck-instances
+    resourcet
+    text
+    time
+    transformers
+    unliftio
+    unliftio-core
+    unordered-containers
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.yesodweb.com/book/persistent";
+  description = "Backend for the persistent library using postgresql";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/persistent-qq.nix b/pkgs/persistent-qq.nix
new file mode 100644
index 0000000000000000000000000000000000000000..53ef1bc170e4d34bae4bfcb902a60bb250dc87ce
--- /dev/null
+++ b/pkgs/persistent-qq.nix
@@ -0,0 +1,62 @@
+{ mkDerivation
+, HUnit
+, aeson
+, base
+, bytestring
+, fast-logger
+, haskell-src-meta
+, hspec
+, lib
+, monad-logger
+, mtl
+, persistent
+, persistent-sqlite
+, resourcet
+, template-haskell
+, text
+, unliftio
+}:
+mkDerivation {
+  pname = "persistent-qq";
+  version = "2.12.0.5";
+  sha256 = "306079b7c761827a121dabd2c5bac4ee1cd342b8388f737045ce2b4a3fcb6fd6";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    haskell-src-meta
+    mtl
+    persistent
+    template-haskell
+    text
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    bytestring
+    fast-logger
+    haskell-src-meta
+    hspec
+    HUnit
+    monad-logger
+    mtl
+    persistent
+    persistent-sqlite
+    resourcet
+    template-haskell
+    text
+    unliftio
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/yesodweb/persistent#readme";
+  description = "Provides a quasi-quoter for raw SQL for persistent";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/persistent-sqlite.nix b/pkgs/persistent-sqlite.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0d68badb56750ea8562291cafe559963e864a4ec
--- /dev/null
+++ b/pkgs/persistent-sqlite.nix
@@ -0,0 +1,93 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, aeson
+, base
+, bytestring
+, conduit
+, containers
+, exceptions
+, fast-logger
+, hspec
+, lib
+, microlens
+, microlens-th
+, monad-logger
+, mtl
+, persistent
+, persistent-test
+, resource-pool
+, resourcet
+, sqlite
+, system-fileio
+, system-filepath
+, temporary
+, text
+, time
+, transformers
+, unliftio-core
+, unordered-containers
+}:
+mkDerivation {
+  pname = "persistent-sqlite";
+  version = "2.13.1.0";
+  sha256 = "2b2885f4e8031bbd5f342549c5fbb48cd6c3489930ea641bf5c681b02d2806fd";
+  configureFlags = [ "-fsystemlib" ];
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    bytestring
+    conduit
+    containers
+    microlens-th
+    monad-logger
+    mtl
+    persistent
+    resource-pool
+    resourcet
+    text
+    time
+    transformers
+    unliftio-core
+    unordered-containers
+  ];
+  librarySystemDepends = [ sqlite ];
+  testHaskellDepends = [
+    base
+    bytestring
+    conduit
+    containers
+    exceptions
+    fast-logger
+    hspec
+    HUnit
+    microlens
+    monad-logger
+    mtl
+    persistent
+    persistent-test
+    QuickCheck
+    resourcet
+    system-fileio
+    system-filepath
+    temporary
+    text
+    time
+    transformers
+    unliftio-core
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.yesodweb.com/book/persistent";
+  description = "Backend for the persistent library using sqlite3";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/persistent-test.nix b/pkgs/persistent-test.nix
new file mode 100644
index 0000000000000000000000000000000000000000..2ea8223feb795d4721bace70a6d6e00b9942541d
--- /dev/null
+++ b/pkgs/persistent-test.nix
@@ -0,0 +1,78 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, aeson
+, base
+, blaze-html
+, bytestring
+, conduit
+, containers
+, exceptions
+, hspec
+, hspec-expectations
+, http-api-data
+, lib
+, monad-control
+, monad-logger
+, mtl
+, path-pieces
+, persistent
+, quickcheck-instances
+, random
+, resourcet
+, text
+, time
+, transformers
+, transformers-base
+, unliftio
+, unliftio-core
+, unordered-containers
+}:
+mkDerivation {
+  pname = "persistent-test";
+  version = "2.13.1.3";
+  sha256 = "b465189ea0935ce35ad58065205f750da9403c98a8cd3920e9ce5e4c2d001b63";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    aeson
+    base
+    blaze-html
+    bytestring
+    conduit
+    containers
+    exceptions
+    hspec
+    hspec-expectations
+    http-api-data
+    HUnit
+    monad-control
+    monad-logger
+    mtl
+    path-pieces
+    persistent
+    QuickCheck
+    quickcheck-instances
+    random
+    resourcet
+    text
+    time
+    transformers
+    transformers-base
+    unliftio
+    unliftio-core
+    unordered-containers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.yesodweb.com/book/persistent";
+  description = "Tests for Persistent";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/pipes-safe.nix b/pkgs/pipes-safe.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ad72fe2e7daccda32b4ff73533eb17f0c67343e2
--- /dev/null
+++ b/pkgs/pipes-safe.nix
@@ -0,0 +1,43 @@
+{ mkDerivation
+, base
+, containers
+, exceptions
+, lib
+, monad-control
+, mtl
+, pipes
+, primitive
+, transformers
+, transformers-base
+}:
+mkDerivation {
+  pname = "pipes-safe";
+  version = "2.3.4";
+  sha256 = "5d848967dfd4910293c2a4a35b79bccfe6772e946856a853b15914ca5bc040c1";
+  revision = "2";
+  editedCabalFile = "0g1ib89dwhblc19vc8spcjdc10pg56avs9480i55ab315wjfsna2";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    exceptions
+    monad-control
+    mtl
+    pipes
+    primitive
+    transformers
+    transformers-base
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Safety for the pipes ecosystem";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/pqueue.nix b/pkgs/pqueue.nix
new file mode 100644
index 0000000000000000000000000000000000000000..51f2058cf667a9996be1fccc9dbd97b543540164
--- /dev/null
+++ b/pkgs/pqueue.nix
@@ -0,0 +1,32 @@
+{ mkDerivation
+, base
+, deepseq
+, indexed-traversable
+, lib
+, random
+, tasty
+, tasty-bench
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "pqueue";
+  version = "1.4.3.0";
+  sha256 = "784bb4171a79fddc1a130621ae7deee1e850e966e31eae3db1e077c02502864e";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq indexed-traversable ];
+  testHaskellDepends = [ base deepseq tasty tasty-quickcheck ];
+  benchmarkHaskellDepends = [ base deepseq random tasty-bench ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/lspitzner/pqueue";
+  description = "Reliable, persistent, fast priority queues";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/primitive-offset.nix b/pkgs/primitive-offset.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3af6ac97dc3d8dda63b8938434823b73da5ea91f
--- /dev/null
+++ b/pkgs/primitive-offset.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib, primitive }:
+mkDerivation {
+  pname = "primitive-offset";
+  version = "0.2.0.0";
+  sha256 = "b15e7de9ebf36ec12b4e2fac2a2c3cefd2b99afa76231fbd0b5cf5d03f6d572b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base primitive ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/andrewthad/primitive-offset";
+  description = "Types for offsets into unboxed arrays";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/protolude.nix b/pkgs/protolude.nix
new file mode 100644
index 0000000000000000000000000000000000000000..bab75c318e5525269fb7fe182e90519fbaaccfdd
--- /dev/null
+++ b/pkgs/protolude.nix
@@ -0,0 +1,52 @@
+{ mkDerivation
+, array
+, async
+, base
+, bytestring
+, containers
+, deepseq
+, ghc-prim
+, hashable
+, lib
+, mtl
+, mtl-compat
+, stm
+, text
+, transformers
+, transformers-compat
+}:
+mkDerivation {
+  pname = "protolude";
+  version = "0.3.2";
+  sha256 = "7ec019f3d445563a54fad8ba89564bffaae6028798a1cc3f033f5b425ef7a344";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    array
+    async
+    base
+    bytestring
+    containers
+    deepseq
+    ghc-prim
+    hashable
+    mtl
+    mtl-compat
+    stm
+    text
+    transformers
+    transformers-compat
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/sdiehl/protolude";
+  description = "A small prelude";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/quickcheck-arbitrary-adt.nix b/pkgs/quickcheck-arbitrary-adt.nix
new file mode 100644
index 0000000000000000000000000000000000000000..24220fa82f81f5192fbc77028dd4fc688f1aa7ee
--- /dev/null
+++ b/pkgs/quickcheck-arbitrary-adt.nix
@@ -0,0 +1,37 @@
+{ mkDerivation
+, QuickCheck
+, base
+, hspec
+, lens
+, lib
+, template-haskell
+, transformers
+}:
+mkDerivation {
+  pname = "quickcheck-arbitrary-adt";
+  version = "0.3.1.0";
+  sha256 = "5c4a2e20366def76ba851211ac554e9a0f60535efcd0940606e4d410c27a45b9";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base QuickCheck ];
+  testHaskellDepends = [
+    base
+    hspec
+    lens
+    QuickCheck
+    template-haskell
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/plow-technologies/quickcheck-arbitrary-adt#readme";
+  description = "Generic typeclasses for generating arbitrary ADTs";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/quiet.nix b/pkgs/quiet.nix
new file mode 100644
index 0000000000000000000000000000000000000000..79fae976c77e7c46d019ef4487c8c7f13b8e2350
--- /dev/null
+++ b/pkgs/quiet.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "quiet";
+  version = "0.2";
+  sha256 = "118bf67379dce4737619998380e399acba306dc8a086a069d4a01d5694325e4c";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/jacobstanley/quiet#readme";
+  description = "Generic deriving of Read/Show with no record labels";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/ral.nix b/pkgs/ral.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5dc9b53c88d7e1aae860b0f4f315749b55ffbd9c
--- /dev/null
+++ b/pkgs/ral.nix
@@ -0,0 +1,47 @@
+{ mkDerivation
+, QuickCheck
+, adjunctions
+, base
+, bin
+, criterion
+, deepseq
+, distributive
+, fin
+, hashable
+, lib
+, semigroupoids
+, vector
+}:
+mkDerivation {
+  pname = "ral";
+  version = "0.1";
+  sha256 = "048cf2b5b394229503bdd748c93cc19650b4223d01e11e954b373f7595c21241";
+  revision = "2";
+  editedCabalFile = "0a3ryzcmjgyp64f8s2pl95pkz8zddq9qsn76dlimg23gczf1cql4";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    adjunctions
+    base
+    bin
+    deepseq
+    distributive
+    fin
+    hashable
+    QuickCheck
+    semigroupoids
+  ];
+  benchmarkHaskellDepends = [ base criterion vector ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/phadej/vec";
+  description = "Random access lists";
+  license = lib.licenses.gpl2Plus;
+  broken = false;
+}
diff --git a/pkgs/readable.nix b/pkgs/readable.nix
new file mode 100644
index 0000000000000000000000000000000000000000..290255e47d9d348a78efa3e5f9124e60a328b76b
--- /dev/null
+++ b/pkgs/readable.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, bytestring, lib, text }:
+mkDerivation {
+  pname = "readable";
+  version = "0.3.1";
+  sha256 = "703037ad2cca4d6d42ba23e2758d1911cd82e3e922c4078076c273231e4b43c9";
+  revision = "1";
+  editedCabalFile = "0dywlvxjszqa1dj5r1cva0viv2l1hm8mw75zddnf96pfpd00fmga";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring text ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mightybyte/readable";
+  description = "Reading from Text and ByteString";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/recursion-schemes.nix b/pkgs/recursion-schemes.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0a51aa318ac6c4dc40cb81890a6c0a300d8f16b8
--- /dev/null
+++ b/pkgs/recursion-schemes.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, HUnit
+, base
+, base-orphans
+, comonad
+, containers
+, data-fix
+, free
+, lib
+, template-haskell
+, th-abstraction
+, transformers
+}:
+mkDerivation {
+  pname = "recursion-schemes";
+  version = "5.2.2.2";
+  sha256 = "66c3492a2fb10cea81348d0828c518b96b39f354d9e37d028a3fa279933c1405";
+  revision = "1";
+  editedCabalFile = "1l6wbzx8804pb6p8gvk45hal6sz8r1gvyxb8aa9ih6j8pqv4q04c";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    base-orphans
+    comonad
+    containers
+    data-fix
+    free
+    template-haskell
+    th-abstraction
+    transformers
+  ];
+  testHaskellDepends = [ base HUnit template-haskell transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/ekmett/recursion-schemes/";
+  description = "Representing common recursion patterns as higher-order functions";
+  license = lib.licenses.bsd2;
+  broken = false;
+}
diff --git a/pkgs/ref-tf.nix b/pkgs/ref-tf.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3fd9adbcce0f815f738e0b35faab409c0443d3e3
--- /dev/null
+++ b/pkgs/ref-tf.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib, stm, transformers }:
+mkDerivation {
+  pname = "ref-tf";
+  version = "0.5.0.1";
+  sha256 = "a5c3243c30119be1cc53d04fddc3f3a3969c72912a52a111f45f04bed8a35147";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base stm transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "A type class for monads with references using type families";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/row-types.nix b/pkgs/row-types.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f8b0a4dc329c9498477188aa1b03d4178d351efa
--- /dev/null
+++ b/pkgs/row-types.nix
@@ -0,0 +1,43 @@
+{ mkDerivation
+, base
+, constraints
+, deepseq
+, gauge
+, generic-lens
+, hashable
+, lib
+, profunctors
+, text
+, unordered-containers
+}:
+mkDerivation {
+  pname = "row-types";
+  version = "1.0.1.2";
+  sha256 = "0ea98606fe49d69311800ae29200162dd2dd915088da197b8b9a9fe818b46e17";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    constraints
+    deepseq
+    generic-lens
+    hashable
+    profunctors
+    text
+    unordered-containers
+  ];
+  testHaskellDepends = [ base generic-lens ];
+  benchmarkHaskellDepends = [ base deepseq gauge ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/target/row-types";
+  description = "Open Records and Variants";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/say.nix b/pkgs/say.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5489950db2ec9b49a5276fdcc85d6fa2fbccfd60
--- /dev/null
+++ b/pkgs/say.nix
@@ -0,0 +1,46 @@
+{ mkDerivation
+, base
+, bytestring
+, gauge
+, hspec
+, lib
+, text
+, transformers
+, unliftio
+}:
+mkDerivation {
+  pname = "say";
+  version = "0.1.0.1";
+  sha256 = "f639656fc21925c45f3f55769b9fb7a90699e943376a725e215a5deea473b3e4";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring text transformers ];
+  testHaskellDepends = [
+    base
+    bytestring
+    hspec
+    text
+    transformers
+    unliftio
+  ];
+  benchmarkHaskellDepends = [
+    base
+    bytestring
+    gauge
+    text
+    transformers
+    unliftio
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/fpco/say#readme";
+  description = "Send textual messages to a Handle in a thread-friendly way";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/servant-openapi3.nix b/pkgs/servant-openapi3.nix
new file mode 100644
index 0000000000000000000000000000000000000000..79a3110e5024ec5034e5dd188b01c57d21bfde8f
--- /dev/null
+++ b/pkgs/servant-openapi3.nix
@@ -0,0 +1,88 @@
+{ mkDerivation
+, Cabal
+, QuickCheck
+, aeson
+, aeson-pretty
+, base
+, base-compat
+, bytestring
+, cabal-doctest
+, directory
+, doctest
+, filepath
+, hspec
+, hspec-discover
+, http-media
+, insert-ordered-containers
+, lens
+, lens-aeson
+, lib
+, openapi3
+, servant
+, singleton-bool
+, template-haskell
+, text
+, time
+, unordered-containers
+, utf8-string
+, vector
+}:
+mkDerivation {
+  pname = "servant-openapi3";
+  version = "2.0.1.5";
+  sha256 = "5e39a8b5504dddeb8f56f07623366c7fab9df646202033c898be2d48d4c39e7d";
+  revision = "3";
+  editedCabalFile = "0xvs5a9zsg32iziznvvjhfji577xmza419xk0cy1hwamw17f43mi";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal cabal-doctest ];
+  libraryHaskellDepends = [
+    aeson
+    aeson-pretty
+    base
+    base-compat
+    bytestring
+    hspec
+    http-media
+    insert-ordered-containers
+    lens
+    openapi3
+    QuickCheck
+    servant
+    singleton-bool
+    text
+    unordered-containers
+  ];
+  testHaskellDepends = [
+    aeson
+    base
+    base-compat
+    directory
+    doctest
+    filepath
+    hspec
+    lens
+    lens-aeson
+    openapi3
+    QuickCheck
+    servant
+    template-haskell
+    text
+    time
+    utf8-string
+    vector
+  ];
+  testToolDepends = [ hspec-discover ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/biocad/servant-openapi3";
+  description = "Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API.";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/show-combinators.nix b/pkgs/show-combinators.nix
new file mode 100644
index 0000000000000000000000000000000000000000..000bdaf939e3abbbbf36f412f9d54daadbbca8ff
--- /dev/null
+++ b/pkgs/show-combinators.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "show-combinators";
+  version = "0.2.0.0";
+  sha256 = "c902dbaf0e9cf7056d786d44fbdea2781bc65524089639242c2624dae841ba1d";
+  revision = "2";
+  editedCabalFile = "0n3xlpm41wpw1ybmacg9s7150nx00qrdlw2rq4fzz7iw7333cyjx";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  testHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/Lysxia/show-combinators#readme";
+  description = "Combinators to write Show instances";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/singletons-th.nix b/pkgs/singletons-th.nix
new file mode 100644
index 0000000000000000000000000000000000000000..c0f454938cf0d8c0d5dadd60ed3f81e6259ff154
--- /dev/null
+++ b/pkgs/singletons-th.nix
@@ -0,0 +1,44 @@
+{ mkDerivation
+, base
+, containers
+, ghc-boot-th
+, lib
+, mtl
+, singletons
+, syb
+, template-haskell
+, th-desugar
+, th-orphans
+, transformers
+}:
+mkDerivation {
+  pname = "singletons-th";
+  version = "3.1.1";
+  sha256 = "466b91be35ee07bc06f5bf01d15f4bd9dc99a1151deb09ee114d99b9e052e9ae";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-boot-th
+    mtl
+    singletons
+    syb
+    template-haskell
+    th-desugar
+    th-orphans
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.github.com/goldfirere/singletons";
+  description = "A framework for generating singleton types";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/size-based.nix b/pkgs/size-based.nix
new file mode 100644
index 0000000000000000000000000000000000000000..8b44aff455b1b3e5a2f86c9fbd8975747739d90b
--- /dev/null
+++ b/pkgs/size-based.nix
@@ -0,0 +1,31 @@
+{ mkDerivation
+, base
+, dictionary-sharing
+, lib
+, template-haskell
+, testing-type-modifiers
+}:
+mkDerivation {
+  pname = "size-based";
+  version = "0.1.3.1";
+  sha256 = "a249a75341d2c54736a3a665fc7af1d2ef3c20942e52966337973d4978445ff4";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    dictionary-sharing
+    template-haskell
+    testing-type-modifiers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Sized functors, for size-based enumerations";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/snap-core.nix b/pkgs/snap-core.nix
new file mode 100644
index 0000000000000000000000000000000000000000..133f2599b9c19082bf57745cd505d97aa7f870d6
--- /dev/null
+++ b/pkgs/snap-core.nix
@@ -0,0 +1,123 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, attoparsec
+, base
+, bytestring
+, bytestring-builder
+, case-insensitive
+, containers
+, deepseq
+, directory
+, filepath
+, hashable
+, io-streams
+, lib
+, lifted-base
+, monad-control
+, mtl
+, network
+, network-uri
+, old-locale
+, parallel
+, random
+, readable
+, regex-posix
+, test-framework
+, test-framework-hunit
+, test-framework-quickcheck2
+, text
+, time
+, transformers
+, transformers-base
+, unix-compat
+, unordered-containers
+, vector
+, zlib
+}:
+mkDerivation {
+  pname = "snap-core";
+  version = "1.0.5.0";
+  sha256 = "642aedd244865560b5d656cd460e829a39d859ad031710b79bd112785e38c641";
+  revision = "3";
+  editedCabalFile = "02r6plphl4vqig3xap9amdib0qjd98nqpn5jhy6hsbiwh3p7cy9b";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    attoparsec
+    base
+    bytestring
+    bytestring-builder
+    case-insensitive
+    containers
+    directory
+    filepath
+    hashable
+    HUnit
+    io-streams
+    lifted-base
+    monad-control
+    mtl
+    network
+    network-uri
+    old-locale
+    random
+    readable
+    regex-posix
+    text
+    time
+    transformers
+    transformers-base
+    unix-compat
+    unordered-containers
+    vector
+  ];
+  testHaskellDepends = [
+    attoparsec
+    base
+    bytestring
+    bytestring-builder
+    case-insensitive
+    containers
+    deepseq
+    directory
+    filepath
+    hashable
+    HUnit
+    io-streams
+    lifted-base
+    monad-control
+    mtl
+    network
+    network-uri
+    old-locale
+    parallel
+    QuickCheck
+    random
+    readable
+    regex-posix
+    test-framework
+    test-framework-hunit
+    test-framework-quickcheck2
+    text
+    time
+    transformers
+    transformers-base
+    unix-compat
+    unordered-containers
+    vector
+    zlib
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://snapframework.com/";
+  description = "Snap: A Haskell Web Framework (core interfaces and types)";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/snap-server.nix b/pkgs/snap-server.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5ae47cf452bc024c470ccb926a898f09b0927f85
--- /dev/null
+++ b/pkgs/snap-server.nix
@@ -0,0 +1,143 @@
+{ mkDerivation
+, HUnit
+, HsOpenSSL
+, QuickCheck
+, attoparsec
+, base
+, base16-bytestring
+, blaze-builder
+, bytestring
+, bytestring-builder
+, case-insensitive
+, clock
+, containers
+, criterion
+, deepseq
+, directory
+, filepath
+, http-common
+, http-streams
+, io-streams
+, io-streams-haproxy
+, lib
+, lifted-base
+, monad-control
+, mtl
+, network
+, old-locale
+, openssl-streams
+, parallel
+, random
+, snap-core
+, test-framework
+, test-framework-hunit
+, test-framework-quickcheck2
+, text
+, threads
+, time
+, transformers
+, unix
+, unix-compat
+, vector
+}:
+mkDerivation {
+  pname = "snap-server";
+  version = "1.1.2.0";
+  sha256 = "92306f4148fd9eca06a608b9a8d46a95e928aee231ab320650f5d25854da9e70";
+  revision = "2";
+  editedCabalFile = "0dzsn3y7jnha1jbp0n5igjrg4cb8kggps798rlix60d66iy8r1l2";
+  configureFlags = [ "-fopenssl" ];
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    attoparsec
+    base
+    blaze-builder
+    bytestring
+    bytestring-builder
+    case-insensitive
+    clock
+    containers
+    filepath
+    HsOpenSSL
+    io-streams
+    io-streams-haproxy
+    lifted-base
+    mtl
+    network
+    old-locale
+    openssl-streams
+    snap-core
+    text
+    time
+    transformers
+    unix
+    unix-compat
+    vector
+  ];
+  testHaskellDepends = [
+    attoparsec
+    base
+    base16-bytestring
+    blaze-builder
+    bytestring
+    bytestring-builder
+    case-insensitive
+    clock
+    containers
+    deepseq
+    directory
+    filepath
+    HsOpenSSL
+    http-common
+    http-streams
+    HUnit
+    io-streams
+    io-streams-haproxy
+    lifted-base
+    monad-control
+    mtl
+    network
+    old-locale
+    openssl-streams
+    parallel
+    QuickCheck
+    random
+    snap-core
+    test-framework
+    test-framework-hunit
+    test-framework-quickcheck2
+    text
+    threads
+    time
+    transformers
+    unix
+    unix-compat
+    vector
+  ];
+  benchmarkHaskellDepends = [
+    attoparsec
+    base
+    blaze-builder
+    bytestring
+    bytestring-builder
+    criterion
+    io-streams
+    io-streams-haproxy
+    snap-core
+    transformers
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://snapframework.com/";
+  description = "A web server for the Snap Framework";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/storable-record.nix b/pkgs/storable-record.nix
new file mode 100644
index 0000000000000000000000000000000000000000..a339967ea6c5da14043abca11ff8fcd5ad3d74b0
--- /dev/null
+++ b/pkgs/storable-record.nix
@@ -0,0 +1,34 @@
+{ mkDerivation
+, QuickCheck
+, base
+, lib
+, semigroups
+, transformers
+, utility-ht
+}:
+mkDerivation {
+  pname = "storable-record";
+  version = "0.0.6";
+  sha256 = "cd09cc2dda10c3addcb6a1f71f964fb33fd8ab4d2b4acd94cd08dfbc180b8cb4";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    QuickCheck
+    semigroups
+    transformers
+    utility-ht
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://code.haskell.org/~thielema/storable-record/";
+  description = "Elegant definition of Storable instances for records";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/storable-tuple.nix b/pkgs/storable-tuple.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5ff68b1f0f57fff2c9b2090b1cbcd24a93cde30b
--- /dev/null
+++ b/pkgs/storable-tuple.nix
@@ -0,0 +1,32 @@
+{ mkDerivation
+, base
+, base-orphans
+, lib
+, storable-record
+, utility-ht
+}:
+mkDerivation {
+  pname = "storable-tuple";
+  version = "0.0.3.3";
+  sha256 = "dcfac049527a45c386c80a7c40ec211455b83d74311af88fa686063b5f87df35";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    base-orphans
+    storable-record
+    utility-ht
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://code.haskell.org/~thielema/storable-tuple/";
+  description = "Storable instance for pairs and triples";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/streaming-binary.nix b/pkgs/streaming-binary.nix
new file mode 100644
index 0000000000000000000000000000000000000000..3aa638a8a782f405561030fcdd6a8f818e0befa7
--- /dev/null
+++ b/pkgs/streaming-binary.nix
@@ -0,0 +1,43 @@
+{ mkDerivation
+, base
+, binary
+, bytestring
+, hspec
+, lib
+, streaming
+, streaming-bytestring
+}:
+mkDerivation {
+  pname = "streaming-binary";
+  version = "0.3.0.1";
+  sha256 = "cd2bfd355bae40ccf834e40baa2cbd40ff014d30b5674c64d8e6725987566958";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    binary
+    bytestring
+    streaming
+    streaming-bytestring
+  ];
+  testHaskellDepends = [
+    base
+    binary
+    bytestring
+    hspec
+    streaming
+    streaming-bytestring
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/mboes/streaming-binary#readme";
+  description = "Streaming interface to binary";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/streaming-bytestring.nix b/pkgs/streaming-bytestring.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1685a7b24e2db1a46689ed1f128ca38bc7a0bbb7
--- /dev/null
+++ b/pkgs/streaming-bytestring.nix
@@ -0,0 +1,61 @@
+{ mkDerivation
+, base
+, bytestring
+, deepseq
+, exceptions
+, ghc-prim
+, lib
+, mmorph
+, mtl
+, resourcet
+, smallcheck
+, streaming
+, tasty
+, tasty-hunit
+, tasty-smallcheck
+, transformers
+, transformers-base
+}:
+mkDerivation {
+  pname = "streaming-bytestring";
+  version = "0.2.4";
+  sha256 = "b0dfd86f8ee711dbbd7b51d04531cf2e1c79c6dc05f23bb3902b35175481e447";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    deepseq
+    exceptions
+    ghc-prim
+    mmorph
+    mtl
+    resourcet
+    streaming
+    transformers
+    transformers-base
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    resourcet
+    smallcheck
+    streaming
+    tasty
+    tasty-hunit
+    tasty-smallcheck
+    transformers
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/haskell-streaming/streaming-bytestring";
+  description = "Fast, effectful byte streams";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/strict-list.nix b/pkgs/strict-list.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5df276ea9d218a42e4a953b04a2396eb7ed3b40d
--- /dev/null
+++ b/pkgs/strict-list.nix
@@ -0,0 +1,41 @@
+{ mkDerivation
+, QuickCheck
+, base
+, deepseq
+, hashable
+, lib
+, quickcheck-instances
+, rerebase
+, semigroupoids
+, tasty
+, tasty-hunit
+, tasty-quickcheck
+}:
+mkDerivation {
+  pname = "strict-list";
+  version = "0.1.7";
+  sha256 = "70cd8accb5e1f68273b07c6cfe64e27f08815df59e2606bc5ed6f2fdcbb20e36";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq hashable semigroupoids ];
+  testHaskellDepends = [
+    QuickCheck
+    quickcheck-instances
+    rerebase
+    tasty
+    tasty-hunit
+    tasty-quickcheck
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/nikita-volkov/strict-list";
+  description = "Strict linked list";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/system-fileio.nix b/pkgs/system-fileio.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9b797ad9b0835a4931064a821e80a925e0f85961
--- /dev/null
+++ b/pkgs/system-fileio.nix
@@ -0,0 +1,50 @@
+{ mkDerivation
+, base
+, bytestring
+, chell
+, lib
+, system-filepath
+, temporary
+, text
+, time
+, transformers
+, unix
+}:
+mkDerivation {
+  pname = "system-fileio";
+  version = "0.3.16.4";
+  sha256 = "34e58b88a19a69ff1a559e211af6edb596e33ee1b1d5f44490febf325c78c6c7";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    system-filepath
+    text
+    time
+    unix
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    chell
+    system-filepath
+    temporary
+    text
+    time
+    transformers
+    unix
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/fpco/haskell-filesystem";
+  description = "Consistent filesystem interaction across GHC versions (deprecated)";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/testing-type-modifiers.nix b/pkgs/testing-type-modifiers.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b7d3177dd419224344013c79a3d9dbce9f003f7e
--- /dev/null
+++ b/pkgs/testing-type-modifiers.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "testing-type-modifiers";
+  version = "0.1.0.1";
+  sha256 = "050bdade2c6f0122b1a04a3833ab7eea2399ffda8258bca6d93ba6614bb202f2";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Data type modifiers for property based testing";
+  license = lib.licenses.publicDomain;
+  broken = false;
+}
diff --git a/pkgs/th-desugar.nix b/pkgs/th-desugar.nix
new file mode 100644
index 0000000000000000000000000000000000000000..64da73206d529e433823798e29479451b16d9ac1
--- /dev/null
+++ b/pkgs/th-desugar.nix
@@ -0,0 +1,60 @@
+{ mkDerivation
+, HUnit
+, base
+, containers
+, ghc-prim
+, hspec
+, lib
+, mtl
+, ordered-containers
+, syb
+, template-haskell
+, th-abstraction
+, th-lift
+, th-orphans
+, transformers-compat
+}:
+mkDerivation {
+  pname = "th-desugar";
+  version = "1.14";
+  sha256 = "dfb2d3c5f3ffec189452b1db7edb743b9b7b006cc16c19a9ece083de4bd8a7ac";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    ghc-prim
+    mtl
+    ordered-containers
+    syb
+    template-haskell
+    th-abstraction
+    th-lift
+    th-orphans
+    transformers-compat
+  ];
+  testHaskellDepends = [
+    base
+    containers
+    hspec
+    HUnit
+    mtl
+    syb
+    template-haskell
+    th-abstraction
+    th-lift
+    th-orphans
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/goldfirere/th-desugar";
+  description = "Functions to desugar Template Haskell";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/threads.nix b/pkgs/threads.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f3cfa4072f5318a1dc1a4ae2f8d40ac39ff13aa8
--- /dev/null
+++ b/pkgs/threads.nix
@@ -0,0 +1,39 @@
+{ mkDerivation
+, Cabal
+, HUnit
+, base
+, concurrent-extra
+, lib
+, stm
+, test-framework
+, test-framework-hunit
+}:
+mkDerivation {
+  pname = "threads";
+  version = "0.5.1.7";
+  sha256 = "e0f6fea09b99a2f84c98089c27c011077bf43f1e1977a5c43997e226d23142d0";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  setupHaskellDepends = [ base Cabal ];
+  libraryHaskellDepends = [ base stm ];
+  testHaskellDepends = [
+    base
+    concurrent-extra
+    HUnit
+    stm
+    test-framework
+    test-framework-hunit
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/basvandijk/threads";
+  description = "Fork threads and wait for their result";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/time-units.nix b/pkgs/time-units.nix
new file mode 100644
index 0000000000000000000000000000000000000000..98f0308ebb1e29f3db674c237a84e8b5de7f257a
--- /dev/null
+++ b/pkgs/time-units.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "time-units";
+  version = "1.0.0";
+  sha256 = "e181997dd05321f09b21c5e0bf38524ccab51ecc588a6017253cc96db289e099";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/acw/time-units";
+  description = "A basic library for defining units of time as types";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/transformers-except.nix b/pkgs/transformers-except.nix
new file mode 100644
index 0000000000000000000000000000000000000000..7528a39b5be4cd6a8ee75f1e20c5cbd130c4fb27
--- /dev/null
+++ b/pkgs/transformers-except.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, exceptions, lib, text, transformers }:
+mkDerivation {
+  pname = "transformers-except";
+  version = "0.1.2";
+  sha256 = "9925f82037b9aa9d382e98cff91a6ca12009093b7aaa1f583c91429b6ebcfd03";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base exceptions text transformers ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/tmcgilchrist/transformers-either/";
+  description = "An Except monad transformer with";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/universe-reverse-instances.nix b/pkgs/universe-reverse-instances.nix
new file mode 100644
index 0000000000000000000000000000000000000000..ca7b63d02e708b4bfef6e50d3e424abaeac5531d
--- /dev/null
+++ b/pkgs/universe-reverse-instances.nix
@@ -0,0 +1,23 @@
+{ mkDerivation, base, containers, lib, universe-base }:
+mkDerivation {
+  pname = "universe-reverse-instances";
+  version = "1.1.1";
+  sha256 = "c4127e12a6af8d8e05f87e546a57fdc0bd7b7f47eaf85d4a0f1826c998cdfb73";
+  revision = "2";
+  editedCabalFile = "1mp9222337rdcc6x5kg6hm14npbmq2igg0h6gmyvn1jd4x5cg9dx";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base containers universe-base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/dmwit/universe";
+  description = "Instances of standard classes that are made possible by enumerations";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/unix-bytestring.nix b/pkgs/unix-bytestring.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6d565e1ab23d08197f96fff3c2eb9e3bd9a89b5f
--- /dev/null
+++ b/pkgs/unix-bytestring.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, bytestring, lib }:
+mkDerivation {
+  pname = "unix-bytestring";
+  version = "0.3.7.8";
+  sha256 = "f493296358602ae133bc93cd3c7100a1a94fc97c3176edcac0b8f87ad96f4074";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://wrengr.org/software/hackage.html";
+  description = "Unix/Posix-specific functions for ByteStrings";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/validation-selective.nix b/pkgs/validation-selective.nix
new file mode 100644
index 0000000000000000000000000000000000000000..f84f00e3a036d5ed423dbf0bbc16076478ef0065
--- /dev/null
+++ b/pkgs/validation-selective.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+, base
+, deepseq
+, doctest
+, hedgehog
+, hspec
+, hspec-hedgehog
+, lib
+, selective
+, text
+}:
+mkDerivation {
+  pname = "validation-selective";
+  version = "0.1.0.2";
+  sha256 = "016fde31529afad0cfe70ec3215fa85e38147582248696af6b135df950655bbf";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base deepseq selective ];
+  testHaskellDepends = [
+    base
+    doctest
+    hedgehog
+    hspec
+    hspec-hedgehog
+    selective
+    text
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/kowainik/validation-selective";
+  description = "Lighweight pure data validation based on Applicative and Selective functors";
+  license = lib.licenses.mpl20;
+  broken = false;
+}
diff --git a/pkgs/vector-sized.nix b/pkgs/vector-sized.nix
new file mode 100644
index 0000000000000000000000000000000000000000..20a2f7098207c2fad07689ec6837d556806e867f
--- /dev/null
+++ b/pkgs/vector-sized.nix
@@ -0,0 +1,48 @@
+{ mkDerivation
+, adjunctions
+, base
+, binary
+, comonad
+, deepseq
+, distributive
+, finite-typelits
+, hashable
+, indexed-list-literals
+, lib
+, primitive
+, vector
+}:
+mkDerivation {
+  pname = "vector-sized";
+  version = "1.5.0";
+  sha256 = "54deae5e1d504821d63d5eedfcaea0d01b26af3b8123971ad7f1241326c3048e";
+  revision = "1";
+  editedCabalFile = "0y088b8fdhjrghi203n11ip4x2j4632c8rz6a5hx8azmdz2giiph";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    adjunctions
+    base
+    binary
+    comonad
+    deepseq
+    distributive
+    finite-typelits
+    hashable
+    indexed-list-literals
+    primitive
+    vector
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/expipiplus1/vector-sized#readme";
+  description = "Size tagged vectors";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/wide-word.nix b/pkgs/wide-word.nix
new file mode 100644
index 0000000000000000000000000000000000000000..913fa1c0a07ca0c268eda1b32a9976624c12c1be
--- /dev/null
+++ b/pkgs/wide-word.nix
@@ -0,0 +1,51 @@
+{ mkDerivation
+, QuickCheck
+, base
+, bytestring
+, deepseq
+, ghc-prim
+, hashable
+, hedgehog
+, lib
+, primitive
+, quickcheck-classes
+, semirings
+}:
+mkDerivation {
+  pname = "wide-word";
+  version = "0.1.3.0";
+  sha256 = "b28ff1f7662e11b3678dc20362f454be093d447b704abfc3f842e5717fd9e00d";
+  revision = "1";
+  editedCabalFile = "1y1w3ih92dni6bzp4w1hcwn96ahdrk34lmqrgkri2dcdkykwyqwb";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    deepseq
+    ghc-prim
+    hashable
+    primitive
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    ghc-prim
+    hedgehog
+    primitive
+    QuickCheck
+    quickcheck-classes
+    semirings
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "https://github.com/erikd/wide-word";
+  description = "Data types for large but fixed width signed and unsigned integers";
+  license = lib.licenses.bsd2;
+  broken = false;
+}
diff --git a/pkgs/word-compat.nix b/pkgs/word-compat.nix
new file mode 100644
index 0000000000000000000000000000000000000000..532f36e603ab40d1d148a779fdb5c69dc3fbb5ed
--- /dev/null
+++ b/pkgs/word-compat.nix
@@ -0,0 +1,21 @@
+{ mkDerivation, base, ghc-prim, lib }:
+mkDerivation {
+  pname = "word-compat";
+  version = "0.0.6";
+  sha256 = "305c2a9f9aab68cd5a8c9babaa9bc845d296ec5697b7e4ac4a2b368243fb278a";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ghc-prim ];
+  testHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Compatibility shim for the Int/Word internal change in GHC 9.2";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/wuss.nix b/pkgs/wuss.nix
new file mode 100644
index 0000000000000000000000000000000000000000..0cd8e57b5dbf84dbf921c23e82f922cc9d6cf44a
--- /dev/null
+++ b/pkgs/wuss.nix
@@ -0,0 +1,33 @@
+{ mkDerivation
+, base
+, bytestring
+, connection
+, lib
+, network
+, websockets
+}:
+mkDerivation {
+  pname = "wuss";
+  version = "2.0.0.2";
+  sha256 = "02a04d38c11b1046ade12d35bbd9f165429ed02f554b06abf7b8fb4fd7c05812";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    bytestring
+    connection
+    network
+    websockets
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Secure WebSocket (WSS) clients";
+  license = lib.licenses.mit;
+  broken = false;
+}
diff --git a/pkgs/xmlgen.nix b/pkgs/xmlgen.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6fd2b68bdc834d9ce40691ec55bf57dd7b7faaef
--- /dev/null
+++ b/pkgs/xmlgen.nix
@@ -0,0 +1,57 @@
+{ mkDerivation
+, HUnit
+, QuickCheck
+, base
+, blaze-builder
+, bytestring
+, containers
+, criterion
+, filepath
+, hxt
+, lib
+, mtl
+, process
+, text
+, unix
+}:
+mkDerivation {
+  pname = "xmlgen";
+  version = "0.6.2.2";
+  sha256 = "926fa98c77525f5046274758fcebd190e86de3f53a4583179e8ce328f25a34d6";
+  revision = "1";
+  editedCabalFile = "0vwnqd0lsw81llsn0psga5r6pw7jh69vfbj3rnz7c2fpkc0gjh3j";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    blaze-builder
+    bytestring
+    containers
+    mtl
+    text
+  ];
+  testHaskellDepends = [
+    base
+    bytestring
+    containers
+    filepath
+    HUnit
+    hxt
+    process
+    QuickCheck
+    text
+    unix
+  ];
+  benchmarkHaskellDepends = [ base bytestring criterion text ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "Fast XML generation library";
+  license = lib.licenses.bsd3;
+  broken = false;
+}
diff --git a/pkgs/zlib-bindings.nix b/pkgs/zlib-bindings.nix
new file mode 100644
index 0000000000000000000000000000000000000000..78e5552365a4e05a2081dcb43a678921738303fa
--- /dev/null
+++ b/pkgs/zlib-bindings.nix
@@ -0,0 +1,24 @@
+{ mkDerivation, QuickCheck, base, bytestring, hspec, lib, zlib }:
+mkDerivation {
+  pname = "zlib-bindings";
+  version = "0.1.1.5";
+  sha256 = "c83bb438f9b6c5fe860982731eb8ac7eff993e8b56cbc15ef5b471f229f79109";
+  revision = "2";
+  editedCabalFile = "0fq49694gqkab8m0vq4i879blswczwd66n7xh4r4gwiahf0ryvqc";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base bytestring zlib ];
+  testHaskellDepends = [ base bytestring hspec QuickCheck zlib ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://github.com/snapframework/zlib-bindings";
+  description = "Low-level bindings to the zlib package";
+  license = lib.licenses.bsd3;
+  broken = false;
+}