about summary refs log tree commit diff
path: root/infra
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@google.com>2019-09-02T16·15+0100
committerVincent Ambo <tazjin@google.com>2019-09-02T16·19+0100
commit4881a84eaafc1e5ea5d5d76f14cfe8c5b233791f (patch)
treeae48379aecbd86329a338fd5f5475b44a27a1a20 /infra
parent4bd6d528008c6a8a7357a2c40013931800582252 (diff)
chore(infra): Remove NixOS configuration for servers
This configuration is no longer in use. The Gemma configuration file
has been moved over to the k8s folder from where it will be templated
into the actual configuration.
Diffstat (limited to 'infra')
-rw-r--r--infra/kubernetes/gemma/config.lisp (renamed from infra/nixos/gemma-config.lisp)0
-rw-r--r--infra/nixos/configuration.nix53
-rw-r--r--infra/nixos/glesys.nix18
-rw-r--r--infra/nixos/pkgs/gemma.nix54
-rw-r--r--infra/nixos/tazblog/configuration-packages.nix44
-rw-r--r--infra/nixos/tazblog/default.nix125
-rw-r--r--infra/nixos/tazblog/packages.nix3391
-rw-r--r--infra/nixos/tazserve.nix106
8 files changed, 0 insertions, 3791 deletions
diff --git a/infra/nixos/gemma-config.lisp b/infra/kubernetes/gemma/config.lisp
index 517a658cf1..517a658cf1 100644
--- a/infra/nixos/gemma-config.lisp
+++ b/infra/kubernetes/gemma/config.lisp
diff --git a/infra/nixos/configuration.nix b/infra/nixos/configuration.nix
deleted file mode 100644
index 1de11a16f9..0000000000
--- a/infra/nixos/configuration.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-# This file contains basic configuration for all *.tazj.in Nix machines.
-
-{ config, pkgs, ... }:
-
-{
-  boot.loader.grub.enable = true;
-  boot.loader.grub.version = 2;
-  boot.loader.grub.device = "/dev/sda";
-
-  boot.initrd.availableKernelModules = [
-    "ata_piix"
-    "mptspi"
-    "sd_mod"
-    "sr_mod"
-  ];
-
-  # Configure root disk
-  fileSystems."/" = {
-    device = "/dev/disk/by-label/nixos";
-    fsType = "ext4";
-  };
-
-  services.vmwareGuest.enable = true;
-  services.vmwareGuest.headless = true;
-
-  time.timeZone = "Europe/Oslo";
-
-  environment.systemPackages = with pkgs; [
-    curl emacs htop
-  ];
-
-  services.openssh.enable = true;
-
-  networking.firewall.enable = true;
-  networking.firewall.allowedTCPPorts = [ 22 80 443 ];
-
-  users.extraUsers.vincent = {
-    isNormalUser = true;
-    uid = 1000;
-    extraGroups = [ "wheel" ];
-  };
-
-  security.sudo = {
-    enable = true;
-    extraConfig = "%wheel ALL=(ALL) NOPASSWD: ALL";
-  };
-
-  # This value determines the NixOS release with which your system is to be
-  # compatible, in order to avoid breaking some software such as database
-  # servers. You should change this only after NixOS release notes say you
-  # should.
-  system.stateVersion = "17.09"; # Did you read the comment?
-}
diff --git a/infra/nixos/glesys.nix b/infra/nixos/glesys.nix
deleted file mode 100644
index 4cd66cb195..0000000000
--- a/infra/nixos/glesys.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  sto-tazserve-1 = { pkgs, config, ... }: {
-    deployment.targetHost = "46.21.106.241";
-
-    # Configure network
-    networking.hostName = "sto-tazserve-1";
-    networking.interfaces.ens32.ip4 = [
-      { address = "46.21.106.241"; prefixLength = 23; }
-    ];
-    networking.defaultGateway = "46.21.106.1";
-    networking.nameservers = [ "195.20.206.80" "195.20.206.81" ];
-
-    imports = [
-      ./configuration.nix
-      ./tazserve.nix
-    ];
-  };
-}
diff --git a/infra/nixos/pkgs/gemma.nix b/infra/nixos/pkgs/gemma.nix
deleted file mode 100644
index 4e96734794..0000000000
--- a/infra/nixos/pkgs/gemma.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ pkgs ? import <nixpkgs> {} }:
-
-with pkgs; stdenv.mkDerivation rec {
-  name = "gemma";
-
-  src = fetchFromGitHub {
-    owner  = "tazjin";
-    repo   = "gemma";
-    rev    = "61be253d6baa99f0a2208425b8a03b444bb1b184";
-    sha256 = "0vbmz2aphcida728rc0z3k7gychs4w1778vsjbrs0ljk9qgbmyr5";
-  };
-
-  buildInputs = with lispPackages; [
-    sbcl
-    quicklisp
-    hunchentoot
-    cl-json
-    local-time
-    elmPackages.elm
-    pkgconfig
-  ];
-
-  # The build phase has three distinct things it needs to do:
-  #
-  # 1. "Compile" the Elm source into something useful to browsers.
-  #
-  # 2. Configure the Lisp part of the application to serve the compiled Elm
-  #
-  # 3. Build (and don't strip!) an executable out of the Lisp backend.
-  buildPhase = ''
-    mkdir -p $out/share/gemma $out/bin
-    mkdir .home && export HOME="$PWD/.home"
-
-    # Build Elm
-    cd frontend
-    elm-make --yes Main.elm --output $out/share/gemma/index.html
-
-    # Build Lisp
-    cd $src
-    quicklisp init
-    env GEMMA_BIN_TARGET=$out/bin/gemma sbcl --load build.lisp
-  '';
-
-  installPhase = "true";
-
-  # Stripping an SBCL executable removes the application, which is unfortunate.
-  dontStrip = true;
-
-  meta = with stdenv.lib; {
-    description = "Tool for tracking recurring tasks";
-    homepage    = "https://github.com/tazjin/gemma";
-    license     = licenses.gpl3;
-  };
-}
diff --git a/infra/nixos/tazblog/configuration-packages.nix b/infra/nixos/tazblog/configuration-packages.nix
deleted file mode 100644
index d27d68b6d6..0000000000
--- a/infra/nixos/tazblog/configuration-packages.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-# Generated by stackage2nix 0.4.0 from "/nix/store/848g1i6w075hdan5w0i4zjc2vgrhig7f-stackage-all/lts-9.20.yaml"
-{ pkgs, haskellLib }:
-
-with haskellLib; self: super: {
-
-  # core packages
-  "array" = null;
-  "base" = null;
-  "binary" = null;
-  "bytestring" = null;
-  "containers" = null;
-  "deepseq" = null;
-  "directory" = null;
-  "filepath" = null;
-  "ghc-boot" = null;
-  "ghc-boot-th" = null;
-  "ghc-prim" = null;
-  "ghci" = null;
-  "hoopl" = null;
-  "hpc" = null;
-  "integer-gmp" = null;
-  "pretty" = null;
-  "process" = null;
-  "rts" = null;
-  "template-haskell" = null;
-  "time" = null;
-  "transformers" = null;
-  "unix" = null;
-  # break cycle: HUnit call-stack nanospec hspec QuickCheck test-framework xml text quickcheck-unicode test-framework-hunit test-framework-quickcheck2 hspec-core async hspec-expectations hspec-meta quickcheck-io silently temporary base-compat exceptions tasty clock tasty-quickcheck tasty-hunit optparse-applicative regex-tdfa parsec hspec-discover stringbuilder
-  "stringbuilder" = dontCheck super.stringbuilder;
-  "hspec-discover" = dontCheck super.hspec-discover;
-  "optparse-applicative" = dontCheck super.optparse-applicative;
-  "clock" = dontCheck super.clock;
-  "exceptions" = dontCheck super.exceptions;
-  "base-compat" = dontCheck super.base-compat;
-  "temporary" = dontCheck super.temporary;
-  "silently" = dontCheck super.silently;
-  "async" = dontCheck super.async;
-  "text" = dontCheck super.text;
-  "nanospec" = dontCheck super.nanospec;
-  # break cycle: statistics monad-par mwc-random vector-algorithms
-  "mwc-random" = dontCheck super.mwc-random;
-
-}
diff --git a/infra/nixos/tazblog/default.nix b/infra/nixos/tazblog/default.nix
deleted file mode 100644
index 2598be1ea0..0000000000
--- a/infra/nixos/tazblog/default.nix
+++ /dev/null
@@ -1,125 +0,0 @@
-# Generated by stackage2nix 0.4.0 from "./stack.yaml"
-{ blogSource ? ./.
-, nixpkgs ? import <nixpkgs> {} }:
-
-with nixpkgs;
-let
-  inherit (stdenv.lib) extends;
-  haskellLib = callPackage (nixpkgs.path + "/pkgs/development/haskell-modules/lib.nix") {};
-  stackagePackages = import ./packages.nix;
-  stackageConfig = import  ./configuration-packages.nix { inherit pkgs haskellLib; };
-  stackPackages =
-    { pkgs, stdenv, callPackage }:
-    
-    self: {
-      "acid-state" = callPackage
-        ({ mkDerivation, array, base, bytestring, cereal, containers
-         , criterion, directory, extensible-exceptions, filepath, mtl
-         , network, random, safecopy, stm, system-fileio, system-filepath
-         , template-haskell, unix
-         }:
-         mkDerivation {
-           pname = "acid-state";
-           version = "0.14.3";
-           sha256 = "1d8hq8cj6h4crfnkmds6mhrhhg7r1b1byb8fybaj8khfa99sj0nm";
-           libraryHaskellDepends = [
-             array base bytestring cereal containers directory
-             extensible-exceptions filepath mtl network safecopy stm
-             template-haskell unix
-           ];
-           benchmarkHaskellDepends = [
-             base criterion directory mtl random system-fileio system-filepath
-           ];
-           doHaddock = false;
-           doCheck = false;
-           homepage = "https://github.com/acid-state/acid-state";
-           description = "Add ACID guarantees to any serializable Haskell data structure";
-           license = stdenv.lib.licenses.publicDomain;
-         }) {};
-      "ixset" = callPackage
-        ({ mkDerivation, base, containers, safecopy, syb, syb-with-class
-         , template-haskell
-         }:
-         mkDerivation {
-           pname = "ixset";
-           version = "1.0.7";
-           sha256 = "1la2gdlblgwpymlawcc9zqr7c5w942di12yshm35wg0x3dc5l3ig";
-           libraryHaskellDepends = [
-             base containers safecopy syb syb-with-class template-haskell
-           ];
-           doHaddock = false;
-           doCheck = false;
-           homepage = "http://happstack.com";
-           description = "Efficient relational queries on Haskell sets";
-           license = stdenv.lib.licenses.bsd3;
-         }) {};
-      "rss" = callPackage
-        ({ mkDerivation, base, HaXml, network, network-uri, old-locale
-         , time
-         }:
-         mkDerivation {
-           pname = "rss";
-           version = "3000.2.0.6";
-           sha256 = "03crzmi9903w6xsdc00wd9jhsr41b8pglz9n502h68w3jkm6zr4d";
-           libraryHaskellDepends = [
-             base HaXml network network-uri old-locale time
-           ];
-           doHaddock = false;
-           doCheck = false;
-           homepage = "https://github.com/basvandijk/rss";
-           description = "A library for generating RSS 2.0 feeds.";
-           license = stdenv.lib.licenses.publicDomain;
-         }) {};
-      "syb-with-class" = callPackage
-        ({ mkDerivation, array, base, bytestring, containers
-         , template-haskell
-         }:
-         mkDerivation {
-           pname = "syb-with-class";
-           version = "0.6.1.8";
-           sha256 = "01b187jhhfp77l4zgks5gszkn9jmgjc44mw9yympw1fsfskljiz3";
-           libraryHaskellDepends = [
-             array base bytestring containers template-haskell
-           ];
-           doHaddock = false;
-           doCheck = false;
-           description = "Scrap Your Boilerplate With Class";
-           license = stdenv.lib.licenses.bsd3;
-         }) {};
-      "tazblog" = callPackage
-        ({ mkDerivation, acid-state, base, base64-bytestring, blaze-html
-         , blaze-markup, bytestring, crypto-api, cryptohash, hamlet
-         , happstack-server, ixset, markdown, mtl, network, network-uri
-         , old-locale, options, rss, safecopy, shakespeare, text, time
-         , transformers
-         }:
-         mkDerivation {
-           pname = "tazblog";
-           version = "5.1.3";
-           src = blogSource;
-           isLibrary = true;
-           isExecutable = true;
-           libraryHaskellDepends = [
-             acid-state base base64-bytestring blaze-html blaze-markup
-             bytestring crypto-api cryptohash hamlet happstack-server ixset
-             markdown mtl network network-uri old-locale rss safecopy
-             shakespeare text time transformers
-           ];
-           executableHaskellDepends = [ acid-state base network options ];
-           description = "Tazjin's Blog";
-           license = stdenv.lib.licenses.mit;
-         }) {};
-    };
-  
-  pkgOverrides = self: stackPackages {
-    inherit pkgs stdenv;
-    inherit (self) callPackage;
-  };
-  
-in callPackage (nixpkgs.path + "/pkgs/development/haskell-modules") {
-  ghc = pkgs.haskell.compiler.ghc802;
-  compilerConfig = self: extends pkgOverrides (stackageConfig self);
-  initialPackages = stackagePackages;
-  configurationCommon = args: self: super: {};
-  inherit haskellLib;
-}
diff --git a/infra/nixos/tazblog/packages.nix b/infra/nixos/tazblog/packages.nix
deleted file mode 100644
index 30f70abe6a..0000000000
--- a/infra/nixos/tazblog/packages.nix
+++ /dev/null
@@ -1,3391 +0,0 @@
-# Generated by stackage2nix 0.4.0 from "/nix/store/848g1i6w075hdan5w0i4zjc2vgrhig7f-stackage-all/lts-9.20.yaml"
-{ pkgs, stdenv, callPackage }:
-
-self: {
-  "Cabal" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers
-     , deepseq, directory, filepath, pretty, process, time, unix
-     }:
-     mkDerivation {
-       pname = "Cabal";
-       version = "1.24.2.0";
-       sha256 = "0h33v1716wkqh9wvq2wynvhwzkjjhg4aav0a1i3cmyq36n7fpl5p";
-       revision = "2";
-       editedCabalFile = "15ncrm7x2lg4hn0m5mhc8hy769bzhmajsm6l9i6536plfs2bbbdj";
-       libraryHaskellDepends = [
-         array base binary bytestring containers deepseq directory filepath
-         pretty process time unix
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.haskell.org/cabal/";
-       description = "A framework for packaging Haskell software";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "Glob" = callPackage
-    ({ mkDerivation, base, containers, directory, dlist, filepath
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "Glob";
-       version = "0.8.0";
-       sha256 = "15p8nbi19mhl3iisngbawmdpvk8paaqq4248fqgan63q1sz13w1q";
-       libraryHaskellDepends = [
-         base containers directory dlist filepath transformers
-         transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://iki.fi/matti.niemenmaa/glob/";
-       description = "Globbing library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "HTTP" = callPackage
-    ({ mkDerivation, array, base, bytestring, mtl, network, network-uri
-     , parsec, time
-     }:
-     mkDerivation {
-       pname = "HTTP";
-       version = "4000.3.9";
-       sha256 = "1zv38sjr1kv6vm35a8w5659ap9jpxpq5b9zjgablils8ca52p5h5";
-       libraryHaskellDepends = [
-         array base bytestring mtl network network-uri parsec time
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell/HTTP";
-       description = "A library for client-side HTTP";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "HUnit" = callPackage
-    ({ mkDerivation, base, call-stack, deepseq, filepath }:
-     mkDerivation {
-       pname = "HUnit";
-       version = "1.5.0.0";
-       sha256 = "186ykl7vxlfgkd2k8k1rq7yzcryzjpqwmn4ci1nn9h6irqbivib5";
-       libraryHaskellDepends = [ base call-stack deepseq ];
-       testHaskellDepends = [ base call-stack deepseq filepath ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/hspec/HUnit#readme";
-       description = "A unit testing framework for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "HaXml" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , polyparse, pretty, random
-     }:
-     mkDerivation {
-       pname = "HaXml";
-       version = "1.25.4";
-       sha256 = "1d8xq37h627im5harybhsn08qjdaf6vskldm03cqbfjmr2w6fx6p";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring containers filepath polyparse pretty random
-       ];
-       executableHaskellDepends = [ base directory polyparse pretty ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://projects.haskell.org/HaXml/";
-       description = "Utilities for manipulating XML documents";
-       license = "LGPL";
-     }) {};
-  "QuickCheck" = callPackage
-    ({ mkDerivation, base, containers, random, template-haskell
-     , test-framework, tf-random, transformers
-     }:
-     mkDerivation {
-       pname = "QuickCheck";
-       version = "2.9.2";
-       sha256 = "119np67qvx8hyp9vkg4gr2wv3lj3j6ay2vl4hxspkg43ymb1cp0m";
-       libraryHaskellDepends = [
-         base containers random template-haskell tf-random transformers
-       ];
-       testHaskellDepends = [
-         base containers template-haskell test-framework
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/nick8325/quickcheck";
-       description = "Automatic testing of Haskell programs";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "StateVar" = callPackage
-    ({ mkDerivation, base, stm, transformers }:
-     mkDerivation {
-       pname = "StateVar";
-       version = "1.1.0.4";
-       sha256 = "1dzz9l0haswgag9x56q7n57kw18v7nhmzkjyr61nz9y9npn8vmks";
-       libraryHaskellDepends = [ base stm transformers ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell-opengl/StateVar";
-       description = "State variables";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "abstract-deque" = callPackage
-    ({ mkDerivation, array, base, containers, random, time }:
-     mkDerivation {
-       pname = "abstract-deque";
-       version = "0.3";
-       sha256 = "18jwswjxwzc9bjiy4ds6hw2a74ki797jmfcifxd2ga4kh7ri1ah9";
-       libraryHaskellDepends = [ array base containers random time ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/rrnewton/haskell-lockfree/wiki";
-       description = "Abstract, parameterized interface to mutable Deques";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "abstract-par" = callPackage
-    ({ mkDerivation, base, deepseq }:
-     mkDerivation {
-       pname = "abstract-par";
-       version = "0.3.3";
-       sha256 = "0q6qsniw4wks2pw6wzncb1p1j3k6al5njnvm2v5n494hplwqg2i4";
-       libraryHaskellDepends = [ base deepseq ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/simonmar/monad-par";
-       description = "Type classes generalizing the functionality of the 'monad-par' library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "adjunctions" = callPackage
-    ({ mkDerivation, array, base, comonad, containers, contravariant
-     , distributive, free, mtl, profunctors, semigroupoids, semigroups
-     , tagged, transformers, transformers-compat, void
-     }:
-     mkDerivation {
-       pname = "adjunctions";
-       version = "4.3";
-       sha256 = "1k1ykisf96i4g2zm47c45md7p42c4vsp9r73392pz1g8mx7s2j5r";
-       revision = "1";
-       editedCabalFile = "1079l9szyr7ybi9wcvv1vjsjfrqirkn9z3j7dann8vbk81a4z37q";
-       libraryHaskellDepends = [
-         array base comonad containers contravariant distributive free mtl
-         profunctors semigroupoids semigroups tagged transformers
-         transformers-compat void
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/adjunctions/";
-       description = "Adjunctions and representable functors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "aeson" = callPackage
-    ({ mkDerivation, attoparsec, base, base-compat, base-orphans
-     , base16-bytestring, bytestring, containers, deepseq, directory
-     , dlist, filepath, generic-deriving, ghc-prim, hashable
-     , hashable-time, HUnit, integer-logarithms, QuickCheck
-     , quickcheck-instances, scientific, tagged, template-haskell
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , text, time, time-locale-compat, unordered-containers, uuid-types
-     , vector
-     }:
-     mkDerivation {
-       pname = "aeson";
-       version = "1.1.2.0";
-       sha256 = "1zy5z8pzvh53qkjm0nm3f4rwqfqg3867ck8ncd6mrxpcyvxqqj1p";
-       revision = "1";
-       editedCabalFile = "06acsik1qcn5r1z1y3n7iw5h8x0h3hdcjii0bq9nf9ncvc71h1d4";
-       libraryHaskellDepends = [
-         attoparsec base base-compat bytestring containers deepseq dlist
-         ghc-prim hashable scientific tagged template-haskell text time
-         time-locale-compat unordered-containers uuid-types vector
-       ];
-       testHaskellDepends = [
-         attoparsec base base-compat base-orphans base16-bytestring
-         bytestring containers directory dlist filepath generic-deriving
-         ghc-prim hashable hashable-time HUnit integer-logarithms QuickCheck
-         quickcheck-instances scientific tagged template-haskell
-         test-framework test-framework-hunit test-framework-quickcheck2 text
-         time time-locale-compat unordered-containers uuid-types vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/aeson";
-       description = "Fast JSON parsing and encoding";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "ansi-terminal" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "ansi-terminal";
-       version = "0.6.3.1";
-       sha256 = "15c0c0vb66y3mr11kcvgjf4h0f7dqg7k1xq7zzq9fy11r7h9i3s5";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/feuerbach/ansi-terminal";
-       description = "Simple ANSI terminal support, with Windows compatibility";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "ansi-wl-pprint" = callPackage
-    ({ mkDerivation, ansi-terminal, base }:
-     mkDerivation {
-       pname = "ansi-wl-pprint";
-       version = "0.6.7.3";
-       sha256 = "025pyphsjf0dnbrmj5nscbi6gzyigwgp3ifxb3psn7kji6mfr29p";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ ansi-terminal base ];
-       executableHaskellDepends = [ ansi-terminal base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/ansi-wl-pprint";
-       description = "The Wadler/Leijen Pretty Printer for colored ANSI terminal output";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "async" = callPackage
-    ({ mkDerivation, base, HUnit, stm, test-framework
-     , test-framework-hunit
-     }:
-     mkDerivation {
-       pname = "async";
-       version = "2.1.1.1";
-       sha256 = "1qj4fp1ynwg0l453gmm27vgkzb5k5m2hzdlg5rdqi9kf8rqy90yd";
-       libraryHaskellDepends = [ base stm ];
-       testHaskellDepends = [
-         base HUnit test-framework test-framework-hunit
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/simonmar/async";
-       description = "Run IO operations asynchronously and wait for their results";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "attoparsec" = callPackage
-    ({ mkDerivation, array, base, bytestring, case-insensitive
-     , containers, criterion, deepseq, directory, filepath, ghc-prim
-     , http-types, parsec, QuickCheck, quickcheck-unicode, scientific
-     , tasty, tasty-quickcheck, text, transformers, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "attoparsec";
-       version = "0.13.1.0";
-       sha256 = "0r1zrrkbqv8w4pb459fj5izd1h85p9nrsp3gyzj7qiayjpa79p2j";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq scientific text
-         transformers
-       ];
-       testHaskellDepends = [
-         array base bytestring deepseq QuickCheck quickcheck-unicode
-         scientific tasty tasty-quickcheck text transformers vector
-       ];
-       benchmarkHaskellDepends = [
-         array base bytestring case-insensitive containers criterion deepseq
-         directory filepath ghc-prim http-types parsec scientific text
-         transformers unordered-containers vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/attoparsec";
-       description = "Fast combinator parsing for bytestrings and text";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "base-compat" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck, unix }:
-     mkDerivation {
-       pname = "base-compat";
-       version = "0.9.3";
-       sha256 = "0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x";
-       libraryHaskellDepends = [ base unix ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A compatibility layer for base";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "base-orphans" = callPackage
-    ({ mkDerivation, base, ghc-prim, hspec, QuickCheck }:
-     mkDerivation {
-       pname = "base-orphans";
-       version = "0.6";
-       sha256 = "03mdww5j0gwai7aqlx3m71ldmjcr99jzpkcclzjfclk6a6kjla67";
-       libraryHaskellDepends = [ base ghc-prim ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell-compat/base-orphans#readme";
-       description = "Backwards-compatible orphan instances for base";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "base16-bytestring" = callPackage
-    ({ mkDerivation, base, bytestring, ghc-prim }:
-     mkDerivation {
-       pname = "base16-bytestring";
-       version = "0.1.1.6";
-       sha256 = "0jf40m3yijqw6wd1rwwvviww46fasphaay9m9rgqyhf5aahnbzjs";
-       libraryHaskellDepends = [ base bytestring ghc-prim ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/bos/base16-bytestring";
-       description = "Fast base16 (hex) encoding and decoding for ByteStrings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "base64-bytestring" = callPackage
-    ({ mkDerivation, base, bytestring, containers, HUnit, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "base64-bytestring";
-       version = "1.0.0.1";
-       sha256 = "0l1v4ddjdsgi9nqzyzcxxj76rwar3lzx8gmwf2r54bqan3san9db";
-       libraryHaskellDepends = [ base bytestring ];
-       testHaskellDepends = [
-         base bytestring containers HUnit QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/base64-bytestring";
-       description = "Fast base64 encoding and decoding for ByteStrings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "basement" = callPackage
-    ({ mkDerivation, base, ghc-prim }:
-     mkDerivation {
-       pname = "basement";
-       version = "0.0.4";
-       sha256 = "1zdqv8dbzv8jx6z8fcghinbnxdc5fb97i7sdfswdr1fcp8jq6i38";
-       libraryHaskellDepends = [ base ghc-prim ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell-foundation/foundation";
-       description = "Foundation scrap box of array & string";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "bifunctors" = callPackage
-    ({ mkDerivation, base, base-orphans, comonad, containers, hspec
-     , QuickCheck, semigroups, tagged, template-haskell, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "bifunctors";
-       version = "5.4.2";
-       sha256 = "13fwvw1102ik96pgi85i34kisz1h237vgw88ywsgifsah9kh4qiq";
-       libraryHaskellDepends = [
-         base base-orphans comonad containers semigroups tagged
-         template-haskell transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base hspec QuickCheck template-haskell transformers
-         transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/bifunctors/";
-       description = "Bifunctors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "blaze-builder" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, HUnit, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , text, utf8-string
-     }:
-     mkDerivation {
-       pname = "blaze-builder";
-       version = "0.4.0.2";
-       sha256 = "1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws";
-       libraryHaskellDepends = [ base bytestring deepseq text ];
-       testHaskellDepends = [
-         base bytestring HUnit QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 text utf8-string
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/lpsmith/blaze-builder";
-       description = "Efficient buffered output";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "blaze-html" = callPackage
-    ({ mkDerivation, base, blaze-builder, blaze-markup, bytestring
-     , containers, HUnit, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "blaze-html";
-       version = "0.9.0.1";
-       sha256 = "0r0acv47nh75bmf7kjyfvhcwz8f02rn9x0a1l80pzgyczfrsmkmf";
-       libraryHaskellDepends = [
-         base blaze-builder blaze-markup bytestring text
-       ];
-       testHaskellDepends = [
-         base blaze-builder blaze-markup bytestring containers HUnit
-         QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2 text
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://jaspervdj.be/blaze";
-       description = "A blazingly fast HTML combinator library for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "blaze-markup" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, containers, HUnit
-     , QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "blaze-markup";
-       version = "0.8.0.0";
-       sha256 = "03sl7xs6vk4zxbjszgyjpsppi1cknswg7z7rswz2f0rq62wwpq8r";
-       libraryHaskellDepends = [ base blaze-builder bytestring text ];
-       testHaskellDepends = [
-         base blaze-builder bytestring containers HUnit QuickCheck
-         test-framework test-framework-hunit test-framework-quickcheck2 text
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://jaspervdj.be/blaze";
-       description = "A blazingly fast markup combinator library for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "byteable" = callPackage
-    ({ mkDerivation, base, bytestring }:
-     mkDerivation {
-       pname = "byteable";
-       version = "0.1.1";
-       sha256 = "1qizg0kxxjqnd3cbrjhhidk5pbbciz0pb3z5kzikjjxnnnhk8fr4";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base bytestring ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/vincenthz/hs-byteable";
-       description = "Type class for sequence of bytes";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "bytestring-builder" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq }:
-     mkDerivation {
-       pname = "bytestring-builder";
-       version = "0.10.8.1.0";
-       sha256 = "1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d";
-       libraryHaskellDepends = [ base bytestring deepseq ];
-       doHaddock = false;
-       doCheck = false;
-       description = "The new bytestring builder, packaged outside of GHC";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "cabal-doctest" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
-     mkDerivation {
-       pname = "cabal-doctest";
-       version = "1.0.4";
-       sha256 = "03sawamkp95jycq9sah72iw525pdndb3x4h489zf4s3ir9avds3d";
-       libraryHaskellDepends = [ base Cabal directory filepath ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/phadej/cabal-doctest";
-       description = "A Setup.hs helper for doctests running";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "call-stack" = callPackage
-    ({ mkDerivation, base, nanospec }:
-     mkDerivation {
-       pname = "call-stack";
-       version = "0.1.0";
-       sha256 = "1qmihf5jafmc79sk52l6gpx75f5bnla2lp62kh3p34x3j84mwpzj";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base nanospec ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/sol/call-stack#readme";
-       description = "Use GHC call-stacks in a backward compatible way";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "case-insensitive" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, hashable
-     , text
-     }:
-     mkDerivation {
-       pname = "case-insensitive";
-       version = "1.2.0.10";
-       sha256 = "0v1hclvv0516fnlj5j2izd9xmakl7dshi9cb32iz6dgvzx01qck6";
-       libraryHaskellDepends = [ base bytestring deepseq hashable text ];
-       benchmarkHaskellDepends = [ base bytestring criterion deepseq ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/basvandijk/case-insensitive";
-       description = "Case insensitive string comparison";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "cassava" = callPackage
-    ({ mkDerivation, array, attoparsec, base, blaze-builder, bytestring
-     , containers, deepseq, hashable, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "cassava";
-       version = "0.4.5.1";
-       sha256 = "17wxrwq977nyi225zlg3wj32f0ypyvikznhw59k0hxb4vkljlqkw";
-       revision = "1";
-       editedCabalFile = "05035bnvyqs36sp2bqd1wdjp5x4zs1pnrw6c8hq5nwjwdajjqkf0";
-       libraryHaskellDepends = [
-         array attoparsec base blaze-builder bytestring containers deepseq
-         hashable text unordered-containers vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/hvr/cassava";
-       description = "A CSV parsing and encoding library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "cereal" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, ghc-prim
-     , QuickCheck, test-framework, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "cereal";
-       version = "0.5.4.0";
-       sha256 = "1rzyr8r9pjlgas5pc8n776r22i0ficanq05ypqrs477jxxd6rjns";
-       libraryHaskellDepends = [
-         array base bytestring containers ghc-prim
-       ];
-       testHaskellDepends = [
-         base bytestring QuickCheck test-framework
-         test-framework-quickcheck2
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/GaloisInc/cereal";
-       description = "A binary serialization library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "chell" = callPackage
-    ({ mkDerivation, ansi-terminal, base, bytestring, options, patience
-     , random, template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "chell";
-       version = "0.4.0.2";
-       sha256 = "10ingy9qnbmc8cqh4i9pskcw43l0mzk8f3d76b3qz3fig5ary3j9";
-       libraryHaskellDepends = [
-         ansi-terminal base bytestring options patience random
-         template-haskell text transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://john-millikin.com/software/chell/";
-       description = "A simple and intuitive library for automated testing";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "clock" = callPackage
-    ({ mkDerivation, base, tasty, tasty-quickcheck }:
-     mkDerivation {
-       pname = "clock";
-       version = "0.7.2";
-       sha256 = "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base tasty tasty-quickcheck ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/corsis/clock";
-       description = "High-resolution clock functions: monotonic, realtime, cputime";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "code-page" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "code-page";
-       version = "0.1.3";
-       sha256 = "1491frk4jx6dlhifky9dvcxbsbcfssrz979a5hp5zn061rh8cp76";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/RyanGlScott/code-page";
-       description = "Windows code page library for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "comonad" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, containers
-     , contravariant, distributive, doctest, semigroups, tagged
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "comonad";
-       version = "5.0.2";
-       sha256 = "115pai560rllsmym76bj787kwz5xx19y8bl6262005nddqwzxc0v";
-       revision = "1";
-       editedCabalFile = "1lnsnx8p3wlfhd1xfc68za3b00vq77z2m6b0vqiw2laqmpj9akcw";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base containers contravariant distributive semigroups tagged
-         transformers transformers-compat
-       ];
-       testHaskellDepends = [ base doctest ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/comonad/";
-       description = "Comonads";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "conduit" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, exceptions
-     , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
-     , mwc-random, primitive, QuickCheck, resourcet, safe, split
-     , transformers, transformers-base, transformers-compat, vector
-     }:
-     mkDerivation {
-       pname = "conduit";
-       version = "1.2.12.1";
-       sha256 = "0zl6gflh7y36y2vypjhqx13nhkk5y3h12c1zj7kjfclrmwnvnwh0";
-       libraryHaskellDepends = [
-         base exceptions lifted-base mmorph monad-control mtl primitive
-         resourcet transformers transformers-base transformers-compat
-       ];
-       testHaskellDepends = [
-         base containers exceptions hspec mtl QuickCheck resourcet safe
-         split transformers
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq hspec kan-extensions mwc-random
-         transformers vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Streaming data processing library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "conduit-extra" = callPackage
-    ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
-     , bytestring-builder, conduit, criterion, directory, exceptions
-     , filepath, hspec, monad-control, network, primitive, process
-     , QuickCheck, resourcet, stm, streaming-commons, text, transformers
-     , transformers-base
-     }:
-     mkDerivation {
-       pname = "conduit-extra";
-       version = "1.1.17";
-       sha256 = "01haq94kf4jsqrhs6j2kkvxrw4iqhvhnd9rcrqpkdbp1dil493kn";
-       libraryHaskellDepends = [
-         async attoparsec base blaze-builder bytestring conduit directory
-         exceptions filepath monad-control network primitive process
-         resourcet stm streaming-commons text transformers transformers-base
-       ];
-       testHaskellDepends = [
-         async attoparsec base blaze-builder bytestring bytestring-builder
-         conduit directory exceptions hspec process QuickCheck resourcet stm
-         streaming-commons text transformers transformers-base
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring bytestring-builder conduit criterion
-         transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Batteries included conduit: adapters for common libraries";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "contravariant" = callPackage
-    ({ mkDerivation, base, semigroups, StateVar, transformers
-     , transformers-compat, void
-     }:
-     mkDerivation {
-       pname = "contravariant";
-       version = "1.4";
-       sha256 = "117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1";
-       libraryHaskellDepends = [
-         base semigroups StateVar transformers transformers-compat void
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/contravariant/";
-       description = "Contravariant functors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "cpphs" = callPackage
-    ({ mkDerivation, base, directory, old-locale, old-time, polyparse
-     }:
-     mkDerivation {
-       pname = "cpphs";
-       version = "1.20.8";
-       sha256 = "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base directory old-locale old-time polyparse
-       ];
-       executableHaskellDepends = [
-         base directory old-locale old-time polyparse
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://projects.haskell.org/cpphs/";
-       description = "A liberalised re-implementation of cpp, the C pre-processor";
-       license = "LGPL";
-     }) {};
-  "cpu" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "cpu";
-       version = "0.1.2";
-       sha256 = "0x19mlanmkg96h6h1i04w2i631z84y4rbk22ki4zhgsajysgw9sn";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/vincenthz/hs-cpu";
-       description = "Cpu information and properties helpers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "criterion" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, base, binary, bytestring
-     , cassava, code-page, containers, deepseq, directory, filepath
-     , Glob, hastache, HUnit, js-flot, js-jquery, mtl, mwc-random
-     , optparse-applicative, parsec, QuickCheck, statistics, tasty
-     , tasty-hunit, tasty-quickcheck, text, time, transformers
-     , transformers-compat, vector, vector-algorithms
-     }:
-     mkDerivation {
-       pname = "criterion";
-       version = "1.1.4.0";
-       sha256 = "0xps7jm8g1bg7a2y4b6mj5nhg3b595k5ysprf4711lwyfpy478jk";
-       revision = "1";
-       editedCabalFile = "0hgy2rbrb0dg1sjdvqk2zivdq075fih4zlf51ffdmqzgcdj3i9b1";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-wl-pprint base binary bytestring cassava code-page
-         containers deepseq directory filepath Glob hastache js-flot
-         js-jquery mtl mwc-random optparse-applicative parsec statistics
-         text time transformers transformers-compat vector vector-algorithms
-       ];
-       testHaskellDepends = [
-         aeson base bytestring HUnit QuickCheck statistics tasty tasty-hunit
-         tasty-quickcheck vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.serpentine.com/criterion";
-       description = "Robust, reliable performance measurement and analysis";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "crypto-api" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, entropy, tagged
-     , transformers
-     }:
-     mkDerivation {
-       pname = "crypto-api";
-       version = "0.13.2";
-       sha256 = "1vc27qcgbg7hf50rkqhlrs58zn1888ilh4b6wrrm07bnm48xacak";
-       libraryHaskellDepends = [
-         base bytestring cereal entropy tagged transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/TomMD/crypto-api";
-       description = "A generic interface for cryptographic operations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "cryptohash" = callPackage
-    ({ mkDerivation, base, byteable, bytestring, criterion, cryptonite
-     , ghc-prim, HUnit, memory, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "cryptohash";
-       version = "0.11.9";
-       sha256 = "1yr2iyb779znj79j3fq4ky8l1y8a600a2x1fx9p5pmpwq5zq93y2";
-       libraryHaskellDepends = [
-         base byteable bytestring cryptonite ghc-prim memory
-       ];
-       testHaskellDepends = [
-         base byteable bytestring HUnit QuickCheck tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ base byteable bytestring criterion ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/vincenthz/hs-cryptohash";
-       description = "collection of crypto hashes, fast, pure and practical";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "cryptonite" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, foundation
-     , ghc-prim, integer-gmp, memory, random, tasty, tasty-hunit
-     , tasty-kat, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "cryptonite";
-       version = "0.23";
-       sha256 = "1680dxgmnjgj083jhsw3rlljwaw0zqi5099m59x6kwqkxhn1qjpf";
-       libraryHaskellDepends = [
-         base bytestring deepseq foundation ghc-prim integer-gmp memory
-       ];
-       testHaskellDepends = [
-         base bytestring memory tasty tasty-hunit tasty-kat tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion memory random
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell-crypto/cryptonite";
-       description = "Cryptography Primitives sink";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "css-text" = callPackage
-    ({ mkDerivation, attoparsec, base, hspec, QuickCheck, text }:
-     mkDerivation {
-       pname = "css-text";
-       version = "0.1.2.2";
-       sha256 = "11qrwrjqk2k4bm3bz1qcyscp146raz1hgpzynkd50yaq12n69xfz";
-       libraryHaskellDepends = [ attoparsec base text ];
-       testHaskellDepends = [ attoparsec base hspec QuickCheck text ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.yesodweb.com/";
-       description = "CSS parser and renderer";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "data-default" = callPackage
-    ({ mkDerivation, base, data-default-class
-     , data-default-instances-containers, data-default-instances-dlist
-     , data-default-instances-old-locale
-     }:
-     mkDerivation {
-       pname = "data-default";
-       version = "0.7.1.1";
-       sha256 = "04d5n8ybmcxba9qb6h389w9zfq1lvj81b82jh6maqp6pkhkmvydh";
-       libraryHaskellDepends = [
-         base data-default-class data-default-instances-containers
-         data-default-instances-dlist data-default-instances-old-locale
-       ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A class for types with a default value";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "data-default-class" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "data-default-class";
-       version = "0.1.2.0";
-       sha256 = "0miyjz8d4jyvqf2vp60lyfbnflx6cj2k8apmm9ly1hq0y0iv80ag";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A class for types with a default value";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "data-default-instances-containers" = callPackage
-    ({ mkDerivation, base, containers, data-default-class }:
-     mkDerivation {
-       pname = "data-default-instances-containers";
-       version = "0.0.1";
-       sha256 = "06h8xka031w752a7cjlzghvr8adqbl95xj9z5zc1b62w02phfpm5";
-       libraryHaskellDepends = [ base containers data-default-class ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Default instances for types in containers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "data-default-instances-dlist" = callPackage
-    ({ mkDerivation, base, data-default-class, dlist }:
-     mkDerivation {
-       pname = "data-default-instances-dlist";
-       version = "0.0.1";
-       sha256 = "0narkdqiprhgayjiawrr4390h4rq4pl2pb6mvixbv2phrc8kfs3x";
-       libraryHaskellDepends = [ base data-default-class dlist ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Default instances for types in dlist";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "data-default-instances-old-locale" = callPackage
-    ({ mkDerivation, base, data-default-class, old-locale }:
-     mkDerivation {
-       pname = "data-default-instances-old-locale";
-       version = "0.0.1";
-       sha256 = "00h81i5phib741yj517p8mbnc48myvfj8axzsw44k34m48lv1lv0";
-       libraryHaskellDepends = [ base data-default-class old-locale ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Default instances for types in old-locale";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "deepseq-generics" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-prim, HUnit, test-framework
-     , test-framework-hunit
-     }:
-     mkDerivation {
-       pname = "deepseq-generics";
-       version = "0.2.0.0";
-       sha256 = "17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh";
-       revision = "1";
-       editedCabalFile = "055m914q7a19jagpxh65d8m67z1nl0h7cz77y1r0zp1qmpkisg82";
-       libraryHaskellDepends = [ base deepseq ghc-prim ];
-       testHaskellDepends = [
-         base deepseq ghc-prim HUnit test-framework test-framework-hunit
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/hvr/deepseq-generics";
-       description = "GHC.Generics-based Control.DeepSeq.rnf implementation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "distributive" = callPackage
-    ({ mkDerivation, base, base-orphans, Cabal, cabal-doctest, doctest
-     , generic-deriving, hspec, tagged, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "distributive";
-       version = "0.5.3";
-       sha256 = "0y566r97sfyvhsmd4yxiz4ns2mqgwf5bdbp56wgxl6wlkidq0wwi";
-       revision = "2";
-       editedCabalFile = "02j27xvlj0jw3b2jpfg6wbysj0blllin792wj6qnrgnrvd4haj7v";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base base-orphans tagged transformers transformers-compat
-       ];
-       testHaskellDepends = [ base doctest generic-deriving hspec ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/distributive/";
-       description = "Distributive functors -- Dual to Traversable";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "dlist" = callPackage
-    ({ mkDerivation, base, deepseq }:
-     mkDerivation {
-       pname = "dlist";
-       version = "0.8.0.3";
-       sha256 = "0brgai4vs7xz29p06kd6gzg5bpa8iy3k7yzgcc44izspd74q4rw7";
-       libraryHaskellDepends = [ base deepseq ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/spl/dlist";
-       description = "Difference lists";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "doctest" = callPackage
-    ({ mkDerivation, base, base-compat, code-page, deepseq, directory
-     , filepath, ghc, ghc-paths, hspec, HUnit, mockery, process
-     , QuickCheck, setenv, silently, stringbuilder, syb, transformers
-     , with-location
-     }:
-     mkDerivation {
-       pname = "doctest";
-       version = "0.11.4";
-       sha256 = "09a170wr13p2c0w085d7qbf2blrvj1qmg92j61xqi17rwdwkvyjs";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base base-compat code-page deepseq directory filepath ghc ghc-paths
-         process syb transformers
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base base-compat code-page deepseq directory filepath ghc ghc-paths
-         hspec HUnit mockery process QuickCheck setenv silently
-         stringbuilder syb transformers with-location
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/sol/doctest#readme";
-       description = "Test interactive Haskell examples";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "entropy" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, filepath
-     , process, unix
-     }:
-     mkDerivation {
-       pname = "entropy";
-       version = "0.3.8";
-       sha256 = "1l3lfigqvdlmxkz1wl7zdkmc0i2r5p6z4xzhiw8xdsbsw7aljfkl";
-       setupHaskellDepends = [ base Cabal directory filepath process ];
-       libraryHaskellDepends = [ base bytestring unix ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/TomMD/entropy";
-       description = "A platform independent entropy source";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "erf" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "erf";
-       version = "2.0.0.0";
-       sha256 = "0dxk2r32ajmmc05vaxcp0yw6vgv4lkbmh8jcshncn98xgsfbgw14";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "The error function, erf, and related functions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "exceptions" = callPackage
-    ({ mkDerivation, base, mtl, QuickCheck, stm, template-haskell
-     , test-framework, test-framework-quickcheck2, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "exceptions";
-       version = "0.8.3";
-       sha256 = "1gl7xzffsqmigam6zg0jsglncgzxqafld2p6kb7ccp9xirzdjsjd";
-       revision = "2";
-       editedCabalFile = "1vl59j0l7m53hkzlcfmdbqbab8dk4lp9gzwryn7nsr6ylg94wayw";
-       libraryHaskellDepends = [
-         base mtl stm template-haskell transformers transformers-compat
-       ];
-       testHaskellDepends = [
-         base mtl QuickCheck stm template-haskell test-framework
-         test-framework-quickcheck2 transformers transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/exceptions/";
-       description = "Extensible optionally-pure exceptions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "extensible-exceptions" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "extensible-exceptions";
-       version = "0.1.1.4";
-       sha256 = "1273nqws9ij1rp1bsq5jc7k2jxpqa0svawdbim05lf302y0firbc";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Extensible exceptions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "fail" = callPackage
-    ({ mkDerivation }:
-     mkDerivation {
-       pname = "fail";
-       version = "4.9.0.0";
-       sha256 = "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d";
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail";
-       description = "Forward-compatible MonadFail class";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "foundation" = callPackage
-    ({ mkDerivation, base, basement, gauge, ghc-prim }:
-     mkDerivation {
-       pname = "foundation";
-       version = "0.0.17";
-       sha256 = "00f2p47h715fjb3rpsxlf4jskgwk9sz5p692r09gspspqmrs5l84";
-       revision = "1";
-       editedCabalFile = "15y38y0mj4vc694jwh3cjgnq8xv5vv7954g633f7mw5f0hb3yxkn";
-       libraryHaskellDepends = [ base basement ghc-prim ];
-       testHaskellDepends = [ base basement ];
-       benchmarkHaskellDepends = [ base basement gauge ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell-foundation/foundation";
-       description = "Alternative prelude with batteries and no dependencies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "free" = callPackage
-    ({ mkDerivation, base, bifunctors, comonad, containers
-     , distributive, exceptions, mtl, prelude-extras, profunctors
-     , semigroupoids, semigroups, template-haskell, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "free";
-       version = "4.12.4";
-       sha256 = "1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9";
-       libraryHaskellDepends = [
-         base bifunctors comonad containers distributive exceptions mtl
-         prelude-extras profunctors semigroupoids semigroups
-         template-haskell transformers transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/free/";
-       description = "Monads for free";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "gauge" = callPackage
-    ({ mkDerivation, base, basement, bytestring, code-page, containers
-     , deepseq, directory, HUnit, math-functions, mwc-random, tasty
-     , tasty-hunit, vector
-     }:
-     mkDerivation {
-       pname = "gauge";
-       version = "0.1.3";
-       sha256 = "1i97f00haj4832s2arbnqq19dpna54ygmchvnqkq00hsxk38cyc0";
-       libraryHaskellDepends = [
-         base basement code-page containers deepseq math-functions
-         mwc-random vector
-       ];
-       testHaskellDepends = [
-         base bytestring deepseq directory HUnit tasty tasty-hunit
-       ];
-       benchmarkHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/vincenthz/hs-gauge";
-       description = "small framework for performance measurement and analysis";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "generic-deriving" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, hspec
-     , template-haskell
-     }:
-     mkDerivation {
-       pname = "generic-deriving";
-       version = "1.11.2";
-       sha256 = "1y92q4dmbyc24hjjvq02474s9grwabxffn16y31gzaqhm0m0z5i9";
-       libraryHaskellDepends = [
-         base containers ghc-prim template-haskell
-       ];
-       testHaskellDepends = [ base hspec template-haskell ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/dreixel/generic-deriving";
-       description = "Generic programming library for generalised deriving";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "ghc-paths" = callPackage
-    ({ mkDerivation, base, Cabal, directory }:
-     mkDerivation {
-       pname = "ghc-paths";
-       version = "0.1.0.9";
-       sha256 = "0ibrr1dxa35xx20cpp8jzgfak1rdmy344dfwq4vlq013c6w8z9mg";
-       revision = "2";
-       editedCabalFile = "1gs6biqbcabgmrwhc1bq1bdaxdwwh26v4mpvj5c7cfyigc64gwyk";
-       setupHaskellDepends = [ base Cabal directory ];
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Knowledge of GHC's installation directories";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hamlet" = callPackage
-    ({ mkDerivation, base, shakespeare }:
-     mkDerivation {
-       pname = "hamlet";
-       version = "1.2.0";
-       sha256 = "0rla3ap3malk8j6mh07fr2aqvbscpy743wrfq3skgjv3j4jlpjfi";
-       libraryHaskellDepends = [ base shakespeare ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-       description = "Haml-like template files that are compile-time checked (deprecated)";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "happstack-server" = callPackage
-    ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring
-     , containers, directory, exceptions, extensible-exceptions
-     , filepath, hslogger, html, HUnit, monad-control, mtl, network
-     , network-uri, old-locale, parsec, process, sendfile, syb
-     , system-filepath, template-haskell, text, threads, time
-     , time-compat, transformers, transformers-base, transformers-compat
-     , unix, utf8-string, xhtml, zlib
-     }:
-     mkDerivation {
-       pname = "happstack-server";
-       version = "7.4.6.4";
-       sha256 = "1fd19qxpdj7iz4rjjwgi527naiw32l09gazr39skgzzf7m8ckiml";
-       libraryHaskellDepends = [
-         base base64-bytestring blaze-html bytestring containers directory
-         exceptions extensible-exceptions filepath hslogger html
-         monad-control mtl network network-uri old-locale parsec process
-         sendfile syb system-filepath template-haskell text threads time
-         time-compat transformers transformers-base transformers-compat unix
-         utf8-string xhtml zlib
-       ];
-       testHaskellDepends = [
-         base bytestring containers HUnit parsec zlib
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://happstack.com";
-       description = "Web related tools and services";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "happy" = callPackage
-    ({ mkDerivation, array, base, Cabal, containers, directory
-     , filepath, mtl, process
-     }:
-     mkDerivation {
-       pname = "happy";
-       version = "1.19.8";
-       sha256 = "186ky3bly0i3cc56qk3r7j7pxh2108aackq4n2lli7jmbnb3kxsd";
-       isLibrary = false;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal directory filepath ];
-       executableHaskellDepends = [ array base containers mtl ];
-       testHaskellDepends = [ base process ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://www.haskell.org/happy/";
-       description = "Happy is a parser generator for Haskell";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-  "hashable" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, ghc-prim
-     , HUnit, integer-gmp, QuickCheck, random, siphash, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text, unix
-     }:
-     mkDerivation {
-       pname = "hashable";
-       version = "1.2.6.1";
-       sha256 = "0ymv2mcrrgbdc2w39rib171fwnhg7fgp0sy4h8amrh1vw64qgjll";
-       revision = "2";
-       editedCabalFile = "0w4756sa04nk2bw3vnysb0y9d09zzg3c77aydkjfxz1hnl1dvnjn";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring deepseq ghc-prim integer-gmp text
-       ];
-       testHaskellDepends = [
-         base bytestring ghc-prim HUnit QuickCheck random test-framework
-         test-framework-hunit test-framework-quickcheck2 text unix
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion ghc-prim integer-gmp siphash text
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/tibbe/hashable";
-       description = "A class for types that can be converted to a hash value";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hashable-time" = callPackage
-    ({ mkDerivation, base, hashable, time }:
-     mkDerivation {
-       pname = "hashable-time";
-       version = "0.2.0.1";
-       sha256 = "0k932nyd08l3xxbh2g3n76py2f4kd9yw4s5a065vjz0xp6wjnxdm";
-       libraryHaskellDepends = [ base hashable time ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Hashable instances for Data.Time";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hashmap" = callPackage
-    ({ mkDerivation, base, containers, deepseq, hashable }:
-     mkDerivation {
-       pname = "hashmap";
-       version = "1.3.2";
-       sha256 = "15jppbxwqkwccdif789c7gvlfypyd98gnv1p5dh2kx977r19sh01";
-       libraryHaskellDepends = [ base containers deepseq hashable ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/foxik/hashmap";
-       description = "Persistent containers Map and Set based on hashing";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "haskell-lexer" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "haskell-lexer";
-       version = "1.0.1";
-       sha256 = "0rj3r1pk88hh3sk3mj61whp8czz5kpxhbc78xlr04bxwqjrjmm6p";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A fully compliant Haskell 98 lexer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "haskell-src-exts" = callPackage
-    ({ mkDerivation, array, base, containers, cpphs, directory
-     , filepath, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck
-     , tasty, tasty-golden, tasty-smallcheck
-     }:
-     mkDerivation {
-       pname = "haskell-src-exts";
-       version = "1.18.2";
-       sha256 = "0hq9f6r67gkhad4cc4dhahrwrz9kxfibhk8qrw5j0p7cvh23hn1i";
-       libraryHaskellDepends = [ array base cpphs ghc-prim pretty ];
-       libraryToolDepends = [ happy ];
-       testHaskellDepends = [
-         base containers directory filepath mtl pretty-show smallcheck tasty
-         tasty-golden tasty-smallcheck
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell-suite/haskell-src-exts";
-       description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hastache" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, containers
-     , directory, filepath, ieee754, mtl, process, syb, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "hastache";
-       version = "0.6.1";
-       sha256 = "0r5l8k157pgvz1ck4lfid5x05f2s0nlmwf33f4fj09b1kmk8k3wc";
-       revision = "5";
-       editedCabalFile = "0fwd1jd6sqkscmy2yq1w3dcl4va4w9n8mhs6ldrilh1cj6b54r3f";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base blaze-builder bytestring containers directory filepath ieee754
-         mtl syb text transformers
-       ];
-       executableHaskellDepends = [
-         base blaze-builder bytestring containers directory filepath ieee754
-         mtl process syb text transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/lymar/hastache";
-       description = "Haskell implementation of Mustache templates";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hostname" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "hostname";
-       version = "1.0";
-       sha256 = "0p6gm4328946qxc295zb6vhwhf07l1fma82vd0siylnsnsqxlhwv";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A very simple package providing a cross-platform means of determining the hostname";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hscolour" = callPackage
-    ({ mkDerivation, base, containers }:
-     mkDerivation {
-       pname = "hscolour";
-       version = "1.24.2";
-       sha256 = "08ng635m1qylng1khm9nqvfw2wdhljy1q2wi4ly63nfaznx8dysm";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base containers ];
-       executableHaskellDepends = [ base containers ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://code.haskell.org/~malcolm/hscolour/";
-       description = "Colourise Haskell code";
-       license = "LGPL";
-     }) {};
-  "hslogger" = callPackage
-    ({ mkDerivation, base, containers, directory, HUnit, mtl, network
-     , old-locale, process, time, unix
-     }:
-     mkDerivation {
-       pname = "hslogger";
-       version = "1.2.10";
-       sha256 = "0as5gvlh6pi2gflakp695qnlizyyp059dqrhvjl4gjxalja6xjnp";
-       libraryHaskellDepends = [
-         base containers directory mtl network old-locale process time unix
-       ];
-       testHaskellDepends = [ base HUnit ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://software.complete.org/hslogger";
-       description = "Versatile logging framework";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "hspec" = callPackage
-    ({ mkDerivation, base, call-stack, directory, hspec-core
-     , hspec-discover, hspec-expectations, hspec-meta, HUnit, QuickCheck
-     , stringbuilder, transformers
-     }:
-     mkDerivation {
-       pname = "hspec";
-       version = "2.4.4";
-       sha256 = "08fg8w38xbhidw3pfn13ag3mnpp3rb1lzp7xpq47cncwv92k46mh";
-       libraryHaskellDepends = [
-         base call-stack hspec-core hspec-discover hspec-expectations HUnit
-         QuickCheck transformers
-       ];
-       testHaskellDepends = [
-         base call-stack directory hspec-core hspec-discover
-         hspec-expectations hspec-meta HUnit QuickCheck stringbuilder
-         transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://hspec.github.io/";
-       description = "A Testing Framework for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "hspec-core" = callPackage
-    ({ mkDerivation, ansi-terminal, array, async, base, call-stack
-     , deepseq, directory, filepath, hspec-expectations, hspec-meta
-     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
-     , silently, temporary, tf-random, time, transformers
-     }:
-     mkDerivation {
-       pname = "hspec-core";
-       version = "2.4.4";
-       sha256 = "1pxzr3l8b9640mh904n51nwlr2338wak23781s48a9kzvwf347b0";
-       libraryHaskellDepends = [
-         ansi-terminal array async base call-stack deepseq directory
-         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
-         setenv tf-random time transformers
-       ];
-       testHaskellDepends = [
-         ansi-terminal array async base call-stack deepseq directory
-         filepath hspec-expectations hspec-meta HUnit process QuickCheck
-         quickcheck-io random setenv silently temporary tf-random time
-         transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://hspec.github.io/";
-       description = "A Testing Framework for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "hspec-discover" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec-meta }:
-     mkDerivation {
-       pname = "hspec-discover";
-       version = "2.4.4";
-       sha256 = "0isx9nc59nw8pkh4r6ynd55dghqnzgrzn9pvrq6ail1y5z3knhkn";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base directory filepath ];
-       executableHaskellDepends = [ base directory filepath ];
-       testHaskellDepends = [ base directory filepath hspec-meta ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://hspec.github.io/";
-       description = "Automatically discover and run Hspec tests";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "hspec-expectations" = callPackage
-    ({ mkDerivation, base, call-stack, HUnit, nanospec }:
-     mkDerivation {
-       pname = "hspec-expectations";
-       version = "0.8.2";
-       sha256 = "1vxl9zazbaapijr6zmcj72j9wf7ka1pirrjbwddwwddg3zm0g5l1";
-       libraryHaskellDepends = [ base call-stack HUnit ];
-       testHaskellDepends = [ base call-stack HUnit nanospec ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/hspec/hspec-expectations#readme";
-       description = "Catchy combinators for HUnit";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "hspec-meta" = callPackage
-    ({ mkDerivation, ansi-terminal, array, async, base, call-stack
-     , deepseq, directory, filepath, hspec-expectations, HUnit
-     , QuickCheck, quickcheck-io, random, setenv, time, transformers
-     }:
-     mkDerivation {
-       pname = "hspec-meta";
-       version = "2.4.4";
-       sha256 = "117n4j56wfh48xj02mv0wkp10bkr2xkyvwg7n7r2ynp03wrf9ykm";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal array async base call-stack deepseq directory
-         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
-         setenv time transformers
-       ];
-       executableHaskellDepends = [
-         ansi-terminal array async base call-stack deepseq directory
-         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
-         setenv time transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://hspec.github.io/";
-       description = "A version of Hspec which is used to test Hspec itself";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "html" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "html";
-       version = "1.0.1.2";
-       sha256 = "0q9hmfii62kc82ijlg238fxrzxhsivn42x5wd6ffcr9xldg4jd8c";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "HTML combinator library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "http-types" = callPackage
-    ({ mkDerivation, array, base, blaze-builder, bytestring
-     , case-insensitive, doctest, hspec, QuickCheck
-     , quickcheck-instances, text
-     }:
-     mkDerivation {
-       pname = "http-types";
-       version = "0.9.1";
-       sha256 = "0l7mnvqyppxpnq6ds4a9f395zdbl22z3sxiry1myfs8wvj669vbv";
-       libraryHaskellDepends = [
-         array base blaze-builder bytestring case-insensitive text
-       ];
-       testHaskellDepends = [
-         base blaze-builder bytestring doctest hspec QuickCheck
-         quickcheck-instances text
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/aristidb/http-types";
-       description = "Generic HTTP types for Haskell (for both client and server code)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "ieee754" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "ieee754";
-       version = "0.8.0";
-       sha256 = "1lcs521g9lzy9d7337vg4w7q7s8500rfqy7rcifcz6pm6yfgyb8f";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/patperry/hs-ieee754";
-       description = "Utilities for dealing with IEEE floating point numbers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "integer-logarithms" = callPackage
-    ({ mkDerivation, array, base, ghc-prim, integer-gmp }:
-     mkDerivation {
-       pname = "integer-logarithms";
-       version = "1.0.2";
-       sha256 = "0w5mhak181zi6qr5h2zbcs9ymaqacisp9jwk99naz6s8zz5rq1ii";
-       libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/phadej/integer-logarithms";
-       description = "Integer logarithms";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "js-flot" = callPackage
-    ({ mkDerivation, base, HTTP }:
-     mkDerivation {
-       pname = "js-flot";
-       version = "0.8.3";
-       sha256 = "0yjyzqh3qzhy5h3nql1fckw0gcfb0f4wj9pm85nafpfqp2kg58hv";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HTTP ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/ndmitchell/js-flot#readme";
-       description = "Obtain minified flot code";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "js-jquery" = callPackage
-    ({ mkDerivation, base, HTTP }:
-     mkDerivation {
-       pname = "js-jquery";
-       version = "3.2.1";
-       sha256 = "03qymiwnk24sigqjnl42i77rsx6vrgg5wjday0f2j0d6s213sl30";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base HTTP ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/ndmitchell/js-jquery#readme";
-       description = "Obtain minified jQuery code";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "kan-extensions" = callPackage
-    ({ mkDerivation, adjunctions, array, base, comonad, containers
-     , contravariant, distributive, fail, free, mtl, semigroupoids
-     , tagged, transformers
-     }:
-     mkDerivation {
-       pname = "kan-extensions";
-       version = "5.0.2";
-       sha256 = "0bj88bgwxlx490f5r979idsm9dpdsb0ldzar9sa0jhj2jn2xx7hw";
-       libraryHaskellDepends = [
-         adjunctions array base comonad containers contravariant
-         distributive fail free mtl semigroupoids tagged transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/kan-extensions/";
-       description = "Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "language-haskell-extract" = callPackage
-    ({ mkDerivation, base, regex-posix, template-haskell }:
-     mkDerivation {
-       pname = "language-haskell-extract";
-       version = "0.2.4";
-       sha256 = "1nxcs7g8a1sp91bzpy4cj6s31k5pvc3gvig04cbrggv5cvjidnhl";
-       libraryHaskellDepends = [ base regex-posix template-haskell ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/finnsson/template-helper";
-       description = "Module to automatically extract functions from the local code";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "lens" = callPackage
-    ({ mkDerivation, array, base, base-orphans, bifunctors, bytestring
-     , Cabal, cabal-doctest, call-stack, comonad, containers
-     , contravariant, criterion, deepseq, directory, distributive
-     , doctest, exceptions, filepath, free, generic-deriving, ghc-prim
-     , hashable, HUnit, kan-extensions, mtl, nats, parallel, profunctors
-     , QuickCheck, reflection, semigroupoids, semigroups, simple-reflect
-     , tagged, template-haskell, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, test-framework-th, text
-     , th-abstraction, transformers, transformers-compat
-     , unordered-containers, vector, void
-     }:
-     mkDerivation {
-       pname = "lens";
-       version = "4.15.4";
-       sha256 = "1lkwlnhgpgnsz046mw4qs0fa7h4l012gilrr3nf3spllsy3pnbkl";
-       setupHaskellDepends = [ base Cabal cabal-doctest filepath ];
-       libraryHaskellDepends = [
-         array base base-orphans bifunctors bytestring call-stack comonad
-         containers contravariant distributive exceptions filepath free
-         ghc-prim hashable kan-extensions mtl parallel profunctors
-         reflection semigroupoids semigroups tagged template-haskell text
-         th-abstraction transformers transformers-compat
-         unordered-containers vector void
-       ];
-       testHaskellDepends = [
-         base bytestring containers deepseq directory doctest filepath
-         generic-deriving HUnit mtl nats parallel QuickCheck semigroups
-         simple-reflect test-framework test-framework-hunit
-         test-framework-quickcheck2 test-framework-th text transformers
-         unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring comonad containers criterion deepseq
-         generic-deriving transformers unordered-containers vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/lens/";
-       description = "Lenses, Folds and Traversals";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-  "lens-action" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, comonad, contravariant
-     , directory, doctest, filepath, lens, mtl, profunctors
-     , semigroupoids, semigroups, transformers
-     }:
-     mkDerivation {
-       pname = "lens-action";
-       version = "0.2.2";
-       sha256 = "1skhczbl774sb0202b8allm96b67wqsl5fd7jdr9i6a20hyx1gqr";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base comonad contravariant lens mtl profunctors semigroupoids
-         semigroups transformers
-       ];
-       testHaskellDepends = [ base directory doctest filepath ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/lens-action/";
-       description = "Monadic Getters and Folds";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "lifted-base" = callPackage
-    ({ mkDerivation, base, criterion, monad-control, monad-peel
-     , transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "lifted-base";
-       version = "0.2.3.11";
-       sha256 = "1ass00wfa91z5xp2xmm97xrvwm7j5hdkxid5cqvr3xbwrsgpmi4f";
-       libraryHaskellDepends = [ base monad-control transformers-base ];
-       benchmarkHaskellDepends = [
-         base criterion monad-control monad-peel transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/basvandijk/lifted-base";
-       description = "lifted IO operations from the base library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "logging-facade" = callPackage
-    ({ mkDerivation, base, call-stack, hspec, transformers }:
-     mkDerivation {
-       pname = "logging-facade";
-       version = "0.3.0";
-       sha256 = "0d0lwxxgd16is9aw6v3ps4r9prv3dj8xscmm45fvzq3nicjiawcf";
-       libraryHaskellDepends = [ base call-stack transformers ];
-       testHaskellDepends = [ base hspec ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/sol/logging-facade#readme";
-       description = "Simple logging abstraction that allows multiple back-ends";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "logict" = callPackage
-    ({ mkDerivation, base, mtl }:
-     mkDerivation {
-       pname = "logict";
-       version = "0.6.0.2";
-       sha256 = "07hnirv6snnym2r7iijlfz00b60jpy2856zvqxh989q0in7bd0hi";
-       libraryHaskellDepends = [ base mtl ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://code.haskell.org/~dolio/";
-       description = "A backtracking logic-programming monad";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "markdown" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-html, blaze-markup
-     , conduit, conduit-extra, containers, data-default, directory
-     , filepath, hspec, text, transformers, xml-conduit, xml-types
-     , xss-sanitize
-     }:
-     mkDerivation {
-       pname = "markdown";
-       version = "0.1.16";
-       sha256 = "11gdawvwji7301lm07z5q94g5jlf9iq63wf6k7f6sc88w99b7c08";
-       libraryHaskellDepends = [
-         attoparsec base blaze-html blaze-markup conduit conduit-extra
-         containers data-default text transformers xml-conduit xml-types
-         xss-sanitize
-       ];
-       testHaskellDepends = [
-         base blaze-html conduit conduit-extra containers directory filepath
-         hspec text transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/snoyberg/markdown";
-       description = "Convert Markdown to HTML, with XSS protection";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "math-functions" = callPackage
-    ({ mkDerivation, base, deepseq, erf, HUnit, primitive, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , vector, vector-th-unbox
-     }:
-     mkDerivation {
-       pname = "math-functions";
-       version = "0.2.1.0";
-       sha256 = "1sv5vabsx332v1lpb6v3jv4zrzvpx1n7yprzd8wlcda5vsc5a6zp";
-       libraryHaskellDepends = [
-         base deepseq primitive vector vector-th-unbox
-       ];
-       testHaskellDepends = [
-         base deepseq erf HUnit primitive QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 vector
-         vector-th-unbox
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/math-functions";
-       description = "Special functions and Chebyshev polynomials";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "memory" = callPackage
-    ({ mkDerivation, base, basement, bytestring, deepseq, foundation
-     , ghc-prim, tasty, tasty-hunit, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "memory";
-       version = "0.14.10";
-       sha256 = "01i1nx83n5lspwdhkhhjxxcp9agf9y70547dzs5m8zl043jmd0z4";
-       libraryHaskellDepends = [
-         base basement bytestring deepseq foundation ghc-prim
-       ];
-       testHaskellDepends = [
-         base foundation tasty tasty-hunit tasty-quickcheck
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/vincenthz/hs-memory";
-       description = "memory and related abstraction stuff";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "mmorph" = callPackage
-    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
-     mkDerivation {
-       pname = "mmorph";
-       version = "1.0.9";
-       sha256 = "0qs5alhy719a14lrs7rnh2qsn1146czg68gvgylf4m5jh4w7vwp1";
-       revision = "1";
-       editedCabalFile = "1xxf78qi08qsis2q785s0ra29wjxnxw8pyns0dsqp4a6cybd3mjd";
-       libraryHaskellDepends = [
-         base mtl transformers transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Monad morphisms";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "mockery" = callPackage
-    ({ mkDerivation, base, base-compat, bytestring, directory, filepath
-     , hspec, logging-facade, temporary
-     }:
-     mkDerivation {
-       pname = "mockery";
-       version = "0.3.5";
-       sha256 = "09ypgm3z69gq8mj6y66ss58kbjnk15r8frwcwbqcfbfksfnfv8dp";
-       libraryHaskellDepends = [
-         base base-compat bytestring directory filepath logging-facade
-         temporary
-       ];
-       testHaskellDepends = [
-         base base-compat bytestring directory filepath hspec logging-facade
-         temporary
-       ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Support functions for automated testing";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "monad-control" = callPackage
-    ({ mkDerivation, base, stm, transformers, transformers-base
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "monad-control";
-       version = "1.0.2.2";
-       sha256 = "0cz4ww3vp96crdqrh7w86rzrs7gs8c1z7rq84yxxhbiz28fs4d0y";
-       libraryHaskellDepends = [
-         base stm transformers transformers-base transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/basvandijk/monad-control";
-       description = "Lift control operations, like exception catching, through monad transformers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "monad-par" = callPackage
-    ({ mkDerivation, abstract-deque, abstract-par, array, base
-     , containers, deepseq, HUnit, monad-par-extras, mtl, mwc-random
-     , parallel, QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, test-framework-th, time
-     }:
-     mkDerivation {
-       pname = "monad-par";
-       version = "0.3.4.8";
-       sha256 = "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q";
-       libraryHaskellDepends = [
-         abstract-deque abstract-par array base containers deepseq
-         monad-par-extras mtl mwc-random parallel
-       ];
-       testHaskellDepends = [
-         abstract-deque abstract-par array base containers deepseq HUnit
-         monad-par-extras mtl mwc-random QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 test-framework-th
-         time
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/simonmar/monad-par";
-       description = "A library for parallel programming based on a monad";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "monad-par-extras" = callPackage
-    ({ mkDerivation, abstract-par, base, cereal, deepseq, mtl, random
-     , transformers
-     }:
-     mkDerivation {
-       pname = "monad-par-extras";
-       version = "0.3.3";
-       sha256 = "0bl4bd6jzdc5zm20q1g67ppkfh6j6yn8fwj6msjayj621cck67p2";
-       libraryHaskellDepends = [
-         abstract-par base cereal deepseq mtl random transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/simonmar/monad-par";
-       description = "Combinators and extra features for Par monads";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "monad-peel" = callPackage
-    ({ mkDerivation, base, extensible-exceptions, HUnit, test-framework
-     , test-framework-hunit, transformers
-     }:
-     mkDerivation {
-       pname = "monad-peel";
-       version = "0.2.1.2";
-       sha256 = "1x1kr5pk8ksw8xcm19c50jx8m0crf3m3qp73k31dnl9r1w4ykm9d";
-       libraryHaskellDepends = [
-         base extensible-exceptions transformers
-       ];
-       testHaskellDepends = [
-         base extensible-exceptions HUnit test-framework
-         test-framework-hunit transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://andersk.mit.edu/haskell/monad-peel/";
-       description = "Lift control operations like exception catching through monad transformers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "monads-tf" = callPackage
-    ({ mkDerivation, base, transformers }:
-     mkDerivation {
-       pname = "monads-tf";
-       version = "0.1.0.3";
-       sha256 = "1wdhskwa6dw8qljbvwpyxj8ca6y95q2np7z4y4q6bpf4anmd5794";
-       libraryHaskellDepends = [ base transformers ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Monad classes, using type families";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "mtl" = callPackage
-    ({ mkDerivation, base, transformers }:
-     mkDerivation {
-       pname = "mtl";
-       version = "2.2.1";
-       sha256 = "1icdbj2rshzn0m1zz5wa7v3xvkf6qw811p4s7jgqwvx1ydwrvrfa";
-       revision = "1";
-       editedCabalFile = "0fsa965g9h23mlfjzghmmhcb9dmaq8zpm374gby6iwgdx47q0njb";
-       libraryHaskellDepends = [ base transformers ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/mtl";
-       description = "Monad classes, using functional dependencies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "mwc-random" = callPackage
-    ({ mkDerivation, base, HUnit, math-functions, primitive, QuickCheck
-     , statistics, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, time, vector
-     }:
-     mkDerivation {
-       pname = "mwc-random";
-       version = "0.13.6.0";
-       sha256 = "05j7yh0hh9nxic3dijmzv44kc6gzclvamdph7sq7w19wq57k6pq6";
-       libraryHaskellDepends = [
-         base math-functions primitive time vector
-       ];
-       testHaskellDepends = [
-         base HUnit QuickCheck statistics test-framework
-         test-framework-hunit test-framework-quickcheck2 vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/mwc-random";
-       description = "Fast, high quality pseudo random number generation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "nanospec" = callPackage
-    ({ mkDerivation, base, hspec, silently }:
-     mkDerivation {
-       pname = "nanospec";
-       version = "0.2.1";
-       sha256 = "0jq2l1lmy4hcl6r975xcg86xr1y7jfxr3qn27ibsmjbzlnxdkjyv";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec silently ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A lightweight implementation of a subset of Hspec's API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "nats" = callPackage
-    ({ mkDerivation }:
-     mkDerivation {
-       pname = "nats";
-       version = "1.1.1";
-       sha256 = "1kfl2yy97nb7q0j17v96rl73xvi3z4db9bk0xychc76dax41n78k";
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/nats/";
-       description = "Natural numbers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "network" = callPackage
-    ({ mkDerivation, base, bytestring, doctest, HUnit, test-framework
-     , test-framework-hunit, unix
-     }:
-     mkDerivation {
-       pname = "network";
-       version = "2.6.3.2";
-       sha256 = "1dn092zfqmxfbzln6d0khka4gizzjivf2yja9w9hwb5g9q3pfi1m";
-       revision = "1";
-       editedCabalFile = "17234sy0vqic8g9wg8gmfmc0by50scjwbdk8bkcl9kjf3fvs4nyx";
-       libraryHaskellDepends = [ base bytestring unix ];
-       testHaskellDepends = [
-         base bytestring doctest HUnit test-framework test-framework-hunit
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell/network";
-       description = "Low-level networking interface";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "network-uri" = callPackage
-    ({ mkDerivation, base, deepseq, HUnit, parsec, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "network-uri";
-       version = "2.6.1.0";
-       sha256 = "1w27zkvn39kjr9lmw9421y8w43h572ycsfafsb7kyvr3a4ihlgj2";
-       revision = "1";
-       editedCabalFile = "141nj7q0p9wkn5gr41ayc63cgaanr9m59yym47wpxqr3c334bk32";
-       libraryHaskellDepends = [ base deepseq parsec ];
-       testHaskellDepends = [
-         base HUnit test-framework test-framework-hunit
-         test-framework-quickcheck2
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell/network-uri";
-       description = "URI manipulation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "old-locale" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "old-locale";
-       version = "1.0.0.7";
-       sha256 = "0l3viphiszvz5wqzg7a45zp40grwlab941q5ay29iyw8p3v8pbyv";
-       revision = "2";
-       editedCabalFile = "04b9vn007hlvsrx4ksd3r8r3kbyaj2kvwxchdrmd4370qzi8p6gs";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "locale library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "old-time" = callPackage
-    ({ mkDerivation, base, old-locale }:
-     mkDerivation {
-       pname = "old-time";
-       version = "1.1.0.3";
-       sha256 = "1h9b26s3kfh2k0ih4383w90ibji6n0iwamxp6rfp2lbq1y5ibjqw";
-       revision = "2";
-       editedCabalFile = "1j6ln1dkvhdvnwl33bp0xf9lhc4sybqk0aw42p8cq81xwwzbn7y9";
-       libraryHaskellDepends = [ base old-locale ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Time library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "options" = callPackage
-    ({ mkDerivation, base, containers, monads-tf, transformers }:
-     mkDerivation {
-       pname = "options";
-       version = "1.2.1.1";
-       sha256 = "0qjs0v1ny52w51n5582d4z8wy9h6n0zw1xb5dh686ff5wadflgi8";
-       libraryHaskellDepends = [ base containers monads-tf transformers ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://john-millikin.com/software/haskell-options/";
-       description = "A powerful and easy-to-use command-line option parser";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "optparse-applicative" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, process, QuickCheck
-     , transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "optparse-applicative";
-       version = "0.13.2.0";
-       sha256 = "18kcjldpzay3k3309rvb9vqrp5b1gqp0hgymynqx7x2kgv7cz0sw";
-       libraryHaskellDepends = [
-         ansi-wl-pprint base process transformers transformers-compat
-       ];
-       testHaskellDepends = [ base QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/pcapriotti/optparse-applicative";
-       description = "Utilities and combinators for parsing command line options";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "parallel" = callPackage
-    ({ mkDerivation, array, base, containers, deepseq }:
-     mkDerivation {
-       pname = "parallel";
-       version = "3.2.1.1";
-       sha256 = "05rw8zhpqhx31zi6vg7zpyciaarh24j7g2p613xrpyrnksybjfrj";
-       libraryHaskellDepends = [ array base containers deepseq ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Parallel programming library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "parsec" = callPackage
-    ({ mkDerivation, base, bytestring, mtl, text }:
-     mkDerivation {
-       pname = "parsec";
-       version = "3.1.11";
-       sha256 = "0vk7q9j2128q191zf1sg0ylj9s9djwayqk9747k0a5fin4f2b1vg";
-       libraryHaskellDepends = [ base bytestring mtl text ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/aslatter/parsec";
-       description = "Monadic parser combinators";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "patience" = callPackage
-    ({ mkDerivation, base, containers }:
-     mkDerivation {
-       pname = "patience";
-       version = "0.1.1";
-       sha256 = "0qyv20gqy9pb1acy700ahv70lc6vprcwb26cc7fcpcs4scsc7irm";
-       libraryHaskellDepends = [ base containers ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Patience diff and longest increasing subsequence";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "pcre-light" = callPackage
-    ({ mkDerivation, base, bytestring, pcre }:
-     mkDerivation {
-       pname = "pcre-light";
-       version = "0.4.0.4";
-       sha256 = "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82";
-       libraryHaskellDepends = [ base bytestring ];
-       libraryPkgconfigDepends = [ pcre ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/Daniel-Diaz/pcre-light";
-       description = "Portable regex library for Perl 5 compatible regular expressions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) pcre;};
-  "polyparse" = callPackage
-    ({ mkDerivation, base, bytestring, text }:
-     mkDerivation {
-       pname = "polyparse";
-       version = "1.12";
-       sha256 = "05dya1vdvq29hkhkdlsglzhw7bdn51rvs1javs0q75nf99c66k7m";
-       libraryHaskellDepends = [ base bytestring text ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://code.haskell.org/~malcolm/polyparse/";
-       description = "A variety of alternative parser combinator libraries";
-       license = "LGPL";
-     }) {};
-  "prelude-extras" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "prelude-extras";
-       version = "0.4.0.3";
-       sha256 = "0xzqdf3nl2h0ra4gnslm1m1nsxlsgc0hh6ky3vn578vh11zhifq9";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/prelude-extras";
-       description = "Higher order versions of Prelude classes";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "pretty-show" = callPackage
-    ({ mkDerivation, array, base, filepath, ghc-prim, happy
-     , haskell-lexer, pretty
-     }:
-     mkDerivation {
-       pname = "pretty-show";
-       version = "1.6.15";
-       sha256 = "16ik7dhagyr3is5dmkihw109l4d0500vi55z46p8lhigmfwqpn2n";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         array base filepath ghc-prim haskell-lexer pretty
-       ];
-       libraryToolDepends = [ happy ];
-       executableHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://wiki.github.com/yav/pretty-show";
-       description = "Tools for working with derived `Show` instances and generic inspection of values";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "primitive" = callPackage
-    ({ mkDerivation, base, ghc-prim, transformers }:
-     mkDerivation {
-       pname = "primitive";
-       version = "0.6.2.0";
-       sha256 = "1q9a537av81c0lvcdzc8i5hqjx3209f5448d1smkyaz22c1dgs5q";
-       revision = "1";
-       editedCabalFile = "0d61g8ppsdajdqykl2kc46kq00aamsf12v60ilgrf58dbji9sz56";
-       libraryHaskellDepends = [ base ghc-prim transformers ];
-       testHaskellDepends = [ base ghc-prim ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell/primitive";
-       description = "Primitive memory-related operations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "profunctors" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, comonad
-     , contravariant, distributive, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "profunctors";
-       version = "5.2.1";
-       sha256 = "0pcwjp813d3mrzb7qf7dzkspf85xnfj1m2snhjgnvwx6vw07w877";
-       libraryHaskellDepends = [
-         base base-orphans bifunctors comonad contravariant distributive
-         tagged transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/profunctors/";
-       description = "Profunctors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "quickcheck-instances" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, hashable
-     , old-time, QuickCheck, scientific, text, time
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "quickcheck-instances";
-       version = "0.3.12";
-       sha256 = "1wwvkzpams7i0j7nk5qj8vvhj8x5zcbgbgrpczszgvshva4bkmfx";
-       revision = "2";
-       editedCabalFile = "1v1r7gidkjc2v4dw1id57raqnjqv4rc10pa2l6xhhg0dzrnw28a3";
-       libraryHaskellDepends = [
-         array base bytestring containers hashable old-time QuickCheck
-         scientific text time unordered-containers vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/aslatter/qc-instances";
-       description = "Common quickcheck instances";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "quickcheck-io" = callPackage
-    ({ mkDerivation, base, HUnit, QuickCheck }:
-     mkDerivation {
-       pname = "quickcheck-io";
-       version = "0.2.0";
-       sha256 = "08k4v7pkgjf30pv5j2dfv1gqv6hclxlniyq2sps8zq4zswcr2xzv";
-       libraryHaskellDepends = [ base HUnit QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/hspec/quickcheck-io#readme";
-       description = "Use HUnit assertions as QuickCheck properties";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "quickcheck-unicode" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
-     mkDerivation {
-       pname = "quickcheck-unicode";
-       version = "1.0.1.0";
-       sha256 = "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k";
-       libraryHaskellDepends = [ base QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/quickcheck-unicode";
-       description = "Generator and shrink functions for testing Unicode-related software";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-  "random" = callPackage
-    ({ mkDerivation, base, time }:
-     mkDerivation {
-       pname = "random";
-       version = "1.1";
-       sha256 = "0nis3lbkp8vfx8pkr6v7b7kr5m334bzb0fk9vxqklnp2aw8a865p";
-       revision = "1";
-       editedCabalFile = "1pv5d7bm2rgap7llp5vjsplrg048gvf0226y0v19gpvdsx7n4rvv";
-       libraryHaskellDepends = [ base time ];
-       testHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "random number library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "reflection" = callPackage
-    ({ mkDerivation, base, template-haskell }:
-     mkDerivation {
-       pname = "reflection";
-       version = "2.1.2";
-       sha256 = "0f9w0akbm6p8h7kzgcd2f6nnpw1wy84pqn45vfz1ch5j0hn8h2d9";
-       libraryHaskellDepends = [ base template-haskell ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/reflection";
-       description = "Reifies arbitrary terms into types that can be reflected back into terms";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "regex-base" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, mtl }:
-     mkDerivation {
-       pname = "regex-base";
-       version = "0.93.2";
-       sha256 = "0y1j4h2pg12c853nzmczs263di7xkkmlnsq5dlp5wgbgl49mgp10";
-       libraryHaskellDepends = [ array base bytestring containers mtl ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://sourceforge.net/projects/lazy-regex";
-       description = "Replaces/Enhances Text.Regex";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "regex-posix" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, regex-base }:
-     mkDerivation {
-       pname = "regex-posix";
-       version = "0.95.2";
-       sha256 = "0gkhzhj8nvfn1ija31c7xnl6p0gadwii9ihyp219ck2arlhrj0an";
-       libraryHaskellDepends = [
-         array base bytestring containers regex-base
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://sourceforge.net/projects/lazy-regex";
-       description = "Replaces/Enhances Text.Regex";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "regex-tdfa" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, ghc-prim, mtl
-     , parsec, regex-base
-     }:
-     mkDerivation {
-       pname = "regex-tdfa";
-       version = "1.2.2";
-       sha256 = "0f8x8wyr6m21g8dnxvnvalz5bsq37l125l6qhs0fscbvprsxc4nb";
-       libraryHaskellDepends = [
-         array base bytestring containers ghc-prim mtl parsec regex-base
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/ChrisKuklewicz/regex-tdfa";
-       description = "Replaces/Enhances Text.Regex";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "resourcet" = callPackage
-    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
-     , mmorph, monad-control, mtl, transformers, transformers-base
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "resourcet";
-       version = "1.1.9";
-       sha256 = "1x9f2qz57agl3xljp1wi0ab51p13czrpf6qjp3506rl9dg99j6as";
-       libraryHaskellDepends = [
-         base containers exceptions lifted-base mmorph monad-control mtl
-         transformers transformers-base transformers-compat
-       ];
-       testHaskellDepends = [ base hspec lifted-base transformers ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Deterministic allocation and freeing of scarce resources";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "safe" = callPackage
-    ({ mkDerivation, base, deepseq, QuickCheck }:
-     mkDerivation {
-       pname = "safe";
-       version = "0.3.15";
-       sha256 = "0bbalr2n92akwcgdyl5ff45h8d4waamj1lp7ly6mdgda17k4lpm3";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base deepseq QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/ndmitchell/safe#readme";
-       description = "Library of safe (exception free) functions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "safecopy" = callPackage
-    ({ mkDerivation, array, base, bytestring, cereal, containers, lens
-     , lens-action, old-time, QuickCheck, quickcheck-instances, tasty
-     , tasty-quickcheck, template-haskell, text, time, vector
-     }:
-     mkDerivation {
-       pname = "safecopy";
-       version = "0.9.3.3";
-       sha256 = "17msazxg0iqvmsn4cwlnr1hwcw5bfp276zsg7x5r47ifi9j748nb";
-       libraryHaskellDepends = [
-         array base bytestring cereal containers old-time template-haskell
-         text time vector
-       ];
-       testHaskellDepends = [
-         array base cereal containers lens lens-action QuickCheck
-         quickcheck-instances tasty tasty-quickcheck template-haskell time
-         vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/acid-state/safecopy";
-       description = "Binary serialization with version control";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-  "scientific" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, criterion
-     , deepseq, hashable, integer-gmp, integer-logarithms, primitive
-     , QuickCheck, smallcheck, tasty, tasty-ant-xml, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, text
-     }:
-     mkDerivation {
-       pname = "scientific";
-       version = "0.3.5.2";
-       sha256 = "0msnjz7ml0zycw9bssslxbg0nigziw7vs5km4q3vjbs8jpzpkr2w";
-       revision = "2";
-       editedCabalFile = "0wsrd213480p3pqrd6i650fr092yv7dhla7a85p8154pn5gvbr0a";
-       libraryHaskellDepends = [
-         base binary bytestring containers deepseq hashable integer-gmp
-         integer-logarithms primitive text
-       ];
-       testHaskellDepends = [
-         base binary bytestring QuickCheck smallcheck tasty tasty-ant-xml
-         tasty-hunit tasty-quickcheck tasty-smallcheck text
-       ];
-       benchmarkHaskellDepends = [ base criterion ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/basvandijk/scientific";
-       description = "Numbers represented using scientific notation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "semigroupoids" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
-     , cabal-doctest, comonad, containers, contravariant, distributive
-     , doctest, hashable, semigroups, tagged, transformers
-     , transformers-compat, unordered-containers
-     }:
-     mkDerivation {
-       pname = "semigroupoids";
-       version = "5.2.1";
-       sha256 = "006jys6kvckkmbnhf4jc51sh64hamkz464mr8ciiakybrfvixr3r";
-       revision = "3";
-       editedCabalFile = "0wzcnpz8pyjk823vqnq5s8krsb8i6cw573hcschpd9x5ynq4li70";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base base-orphans bifunctors comonad containers contravariant
-         distributive hashable semigroups tagged transformers
-         transformers-compat unordered-containers
-       ];
-       testHaskellDepends = [ base doctest ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/semigroupoids";
-       description = "Semigroupoids: Category sans id";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "semigroups" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "semigroups";
-       version = "0.18.3";
-       sha256 = "1jm9wnb5jmwdk4i9qbwfay69ydi76xi0qqi9zqp6wh3jd2c7qa9m";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/semigroups/";
-       description = "Anything that associates";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "sendfile" = callPackage
-    ({ mkDerivation, base, bytestring, network }:
-     mkDerivation {
-       pname = "sendfile";
-       version = "0.7.9";
-       sha256 = "0hnw1ym81cff49dwww19kgbs4s0kpandbvn6h5cml3y0p1nxybqh";
-       libraryHaskellDepends = [ base bytestring network ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://hub.darcs.net/stepcut/sendfile";
-       description = "A portable sendfile library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "setenv" = callPackage
-    ({ mkDerivation, base, unix }:
-     mkDerivation {
-       pname = "setenv";
-       version = "0.1.1.3";
-       sha256 = "0cnbgrvb9byyahb37zlqrj05rj25v190crgcw8wmlgf0mwwxyn73";
-       revision = "1";
-       editedCabalFile = "0ny4g3kjys0hqg41mnwrsymy1bwhl8l169kis4y4fa58sb06m4f5";
-       libraryHaskellDepends = [ base unix ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A cross-platform library for setting environment variables";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "shakespeare" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
-     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
-     , process, scientific, template-haskell, text, time, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "shakespeare";
-       version = "2.0.14.1";
-       sha256 = "02pahbvibll4jmbq6p5vxr2r4mmrfx3h0c8v6qbj4rlq96lc6a23";
-       libraryHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim parsec process scientific template-haskell text
-         time transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim hspec HUnit parsec process template-haskell
-         text time transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.yesodweb.com/book/shakespearean-templates";
-       description = "A toolkit for making compile-time interpolated templates";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "silently" = callPackage
-    ({ mkDerivation, base, deepseq, directory, nanospec, temporary }:
-     mkDerivation {
-       pname = "silently";
-       version = "1.2.5";
-       sha256 = "0f9qm3f7y0hpxn6mddhhg51mm1r134qkvd2kr8r6192ka1ijbxnf";
-       libraryHaskellDepends = [ base deepseq directory ];
-       testHaskellDepends = [ base deepseq directory nanospec temporary ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/hspec/silently";
-       description = "Prevent or capture writing to stdout and other handles";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "simple-reflect" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "simple-reflect";
-       version = "0.3.2";
-       sha256 = "1dpcf6w3cf1sfl9bnlsx04x7aghw029glj5d05qzrsnms2rlw8iq";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://twanvl.nl/blog/haskell/simple-reflection-of-expressions";
-       description = "Simple reflection of expressions containing variables";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "siphash" = callPackage
-    ({ mkDerivation, base, bytestring, cpu, QuickCheck, test-framework
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "siphash";
-       version = "1.0.3";
-       sha256 = "1wq5dan30ggjgmravy92ylqjvjv1q7mxrmddr7zc8h6aqr0wx0fg";
-       revision = "1";
-       editedCabalFile = "1q2dy0ywngm9iv7k6d9gnf860m9hpf62q5qvdzmxw5s629gk4afn";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base bytestring cpu ];
-       testHaskellDepends = [
-         base bytestring QuickCheck test-framework
-         test-framework-quickcheck2
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/vincenthz/hs-siphash";
-       description = "siphash: a fast short input PRF";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "smallcheck" = callPackage
-    ({ mkDerivation, base, ghc-prim, logict, mtl, pretty }:
-     mkDerivation {
-       pname = "smallcheck";
-       version = "1.1.2";
-       sha256 = "14690ahl3iq99hw638qk0bpmkmspghjz2yh8p1nyccli92y23xjm";
-       libraryHaskellDepends = [ base ghc-prim logict mtl pretty ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/feuerbach/smallcheck";
-       description = "A property-based testing library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "split" = callPackage
-    ({ mkDerivation, base, QuickCheck }:
-     mkDerivation {
-       pname = "split";
-       version = "0.2.3.2";
-       sha256 = "0fmnkvq1ky4dgyh1z2mvdal5pw103irvkf4p9d5x8wyl1nnylhs9";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Combinator library for splitting lists";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "statistics" = callPackage
-    ({ mkDerivation, aeson, base, binary, deepseq, erf, HUnit, ieee754
-     , math-functions, monad-par, mwc-random, primitive, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , vector, vector-algorithms, vector-binary-instances
-     }:
-     mkDerivation {
-       pname = "statistics";
-       version = "0.13.3.0";
-       sha256 = "1vc12c3mnpspbycwkl0b22jqrdbg9fpmr1fxdxlmqwl603qy0zvf";
-       libraryHaskellDepends = [
-         aeson base binary deepseq erf math-functions monad-par mwc-random
-         primitive vector vector-algorithms vector-binary-instances
-       ];
-       testHaskellDepends = [
-         base binary erf HUnit ieee754 math-functions mwc-random primitive
-         QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2 vector vector-algorithms
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/statistics";
-       description = "A library of statistical types, data, and functions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "stm" = callPackage
-    ({ mkDerivation, array, base }:
-     mkDerivation {
-       pname = "stm";
-       version = "2.4.4.1";
-       sha256 = "111kpy1d6f5c0bggh6hyfm86q5p8bq1qbqf6dw2x4l4dxnar16cg";
-       revision = "1";
-       editedCabalFile = "0kzw4rw9fgmc4qyxmm1lwifdyrx5r1356150xm14vy4mp86diks9";
-       libraryHaskellDepends = [ array base ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Software Transactional Memory";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "streaming-commons" = callPackage
-    ({ mkDerivation, array, async, base, blaze-builder, bytestring
-     , criterion, deepseq, directory, hspec, network, process
-     , QuickCheck, random, stm, text, transformers, unix, zlib
-     }:
-     mkDerivation {
-       pname = "streaming-commons";
-       version = "0.1.17";
-       sha256 = "1abxyjkn8xc8d33yhqxy1ki01kpzf4hy55f167qg4vk2ig5kh2p5";
-       libraryHaskellDepends = [
-         array async base blaze-builder bytestring directory network process
-         random stm text transformers unix zlib
-       ];
-       testHaskellDepends = [
-         array async base blaze-builder bytestring deepseq hspec network
-         QuickCheck text unix zlib
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring criterion deepseq text
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/fpco/streaming-commons";
-       description = "Common lower-level functions needed by various streaming data libraries";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "stringbuilder" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck }:
-     mkDerivation {
-       pname = "stringbuilder";
-       version = "0.5.0";
-       sha256 = "1ap95xphqnrhv64c2a137wqslkdmb2jjd9ldb17gs1pw48k8hrl9";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       doHaddock = false;
-       doCheck = false;
-       description = "A writer monad for multi-line string literals";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "syb" = callPackage
-    ({ mkDerivation, base, containers, HUnit, mtl }:
-     mkDerivation {
-       pname = "syb";
-       version = "0.7";
-       sha256 = "1da2zz7gqm4xbkx5vpd74dayx1svaxyl145fl14mq15lbb77sxdq";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base containers HUnit mtl ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
-       description = "Scrap Your Boilerplate";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "system-fileio" = callPackage
-    ({ mkDerivation, base, bytestring, chell, system-filepath
-     , temporary, text, time, transformers, unix
-     }:
-     mkDerivation {
-       pname = "system-fileio";
-       version = "0.3.16.3";
-       sha256 = "1484hcl27s2qcby8ws5djj11q9bz68bspcifz9h5gii2ndy70x9i";
-       libraryHaskellDepends = [
-         base bytestring system-filepath text time unix
-       ];
-       testHaskellDepends = [
-         base bytestring chell system-filepath temporary text time
-         transformers unix
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/fpco/haskell-filesystem";
-       description = "Consistent filesystem interaction across GHC versions (deprecated)";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "system-filepath" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, text }:
-     mkDerivation {
-       pname = "system-filepath";
-       version = "0.4.13.4";
-       sha256 = "1yy5zsmmimhg6iaw9fmpwrxvxrgi5s6bfyqfihdsnx4bjvn7sp9l";
-       libraryHaskellDepends = [ base bytestring deepseq text ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/fpco/haskell-filesystem";
-       description = "High-level, byte-based file and directory path manipulations (deprecated)";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "tagged" = callPackage
-    ({ mkDerivation, base, deepseq, template-haskell, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "tagged";
-       version = "0.8.5";
-       sha256 = "16cdzh0bw16nvjnyyy5j9s60malhz4nnazw96vxb0xzdap4m2z74";
-       revision = "1";
-       editedCabalFile = "15mqdimbgrq5brqljjl7dbxkyrxppap06q53cp7ml7w3l08v5mx8";
-       libraryHaskellDepends = [
-         base deepseq template-haskell transformers transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/tagged";
-       description = "Haskell 98 phantom types to avoid unsafely passing dummy arguments";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "tagsoup" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, directory
-     , process, QuickCheck, text, time
-     }:
-     mkDerivation {
-       pname = "tagsoup";
-       version = "0.14.2";
-       sha256 = "1j7gliwn4x6i25zlhc8f704pbc96ddn9gb9czq3a4m0k1sfpm3w8";
-       libraryHaskellDepends = [ base bytestring containers text ];
-       testHaskellDepends = [
-         base bytestring containers deepseq directory process QuickCheck
-         text time
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/ndmitchell/tagsoup#readme";
-       description = "Parsing and extracting information from (possibly malformed) HTML/XML documents";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "tasty" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, clock, containers
-     , deepseq, mtl, optparse-applicative, regex-tdfa, stm, tagged
-     , unbounded-delays, unix
-     }:
-     mkDerivation {
-       pname = "tasty";
-       version = "0.11.3";
-       sha256 = "1g5394akq4j7y93b7cqwqf9lacqh2k21rrj6srbnh2sg97ng7j1b";
-       libraryHaskellDepends = [
-         ansi-terminal async base clock containers deepseq mtl
-         optparse-applicative regex-tdfa stm tagged unbounded-delays unix
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/feuerbach/tasty";
-       description = "Modern and extensible testing framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "tasty-ant-xml" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath
-     , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
-     , xml
-     }:
-     mkDerivation {
-       pname = "tasty-ant-xml";
-       version = "1.1.1";
-       sha256 = "0asvz2jjk1zf3ylps1277kf4yy6bifascblsd3vjfk9k9rh52w3j";
-       libraryHaskellDepends = [
-         base containers directory filepath generic-deriving ghc-prim mtl
-         stm tagged tasty transformers xml
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ocharles/tasty-ant-xml";
-       description = "Render tasty output to XML for Jenkins";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "tasty-golden" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , directory, filepath, mtl, optparse-applicative, process, tagged
-     , tasty, tasty-hunit, temporary, temporary-rc
-     }:
-     mkDerivation {
-       pname = "tasty-golden";
-       version = "2.3.1.1";
-       sha256 = "0pcf5hsyp5mmbqn7krdm49jxpkjm6rb4j83j28f76h7q55dzm1wy";
-       libraryHaskellDepends = [
-         async base bytestring containers deepseq directory filepath mtl
-         optparse-applicative process tagged tasty temporary
-       ];
-       testHaskellDepends = [
-         base directory filepath process tasty tasty-hunit temporary-rc
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/feuerbach/tasty-golden";
-       description = "Golden tests support for tasty";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "tasty-hunit" = callPackage
-    ({ mkDerivation, base, tasty }:
-     mkDerivation {
-       pname = "tasty-hunit";
-       version = "0.9.2";
-       sha256 = "08qnxaw34wfnzi9irs1jd4d0zczqm3k5ffkd4zwhkz0dflmgq7mf";
-       libraryHaskellDepends = [ base tasty ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://documentup.com/feuerbach/tasty";
-       description = "HUnit support for the Tasty test framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "tasty-kat" = callPackage
-    ({ mkDerivation, base, bytestring, mtl, tasty, tasty-hunit
-     , tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "tasty-kat";
-       version = "0.0.3";
-       sha256 = "14yvlpli6cv6bn3kh8mlfp4x1l6ns4fvmfv6hmj75cvxyzq029d7";
-       libraryHaskellDepends = [ base bytestring tasty ];
-       testHaskellDepends = [
-         base bytestring mtl tasty tasty-hunit tasty-quickcheck
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/vincenthz/tasty-kat";
-       description = "Known Answer Tests (KAT) framework for tasty";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "tasty-quickcheck" = callPackage
-    ({ mkDerivation, base, pcre-light, QuickCheck, tagged, tasty
-     , tasty-hunit
-     }:
-     mkDerivation {
-       pname = "tasty-quickcheck";
-       version = "0.8.4";
-       sha256 = "15rjxib5jmjq0hzj47x15kgp3awc73va4cy1pmpf7k3hvfv4qprn";
-       libraryHaskellDepends = [ base QuickCheck tagged tasty ];
-       testHaskellDepends = [ base pcre-light tasty tasty-hunit ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://documentup.com/feuerbach/tasty";
-       description = "QuickCheck support for the Tasty test framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "tasty-smallcheck" = callPackage
-    ({ mkDerivation, async, base, smallcheck, tagged, tasty }:
-     mkDerivation {
-       pname = "tasty-smallcheck";
-       version = "0.8.1";
-       sha256 = "1n66ngzllf3xrlqykwszlkwsi96n5nkm7xbpfq7774vpvfnafjri";
-       libraryHaskellDepends = [ async base smallcheck tagged tasty ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://documentup.com/feuerbach/tasty";
-       description = "SmallCheck support for the Tasty test framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "temporary" = callPackage
-    ({ mkDerivation, base, base-compat, directory, exceptions, filepath
-     , tasty, tasty-hunit, transformers, unix
-     }:
-     mkDerivation {
-       pname = "temporary";
-       version = "1.2.1.1";
-       sha256 = "1wq0rc71mp0lw7pkpcbhglf636ni46xnlpsmx6yz8acmwmqj8xsm";
-       libraryHaskellDepends = [
-         base directory exceptions filepath transformers unix
-       ];
-       testHaskellDepends = [
-         base base-compat directory filepath tasty tasty-hunit unix
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/feuerbach/temporary";
-       description = "Portable temporary file and directory support";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "temporary-rc" = callPackage
-    ({ mkDerivation, base, directory, exceptions, filepath
-     , transformers, unix
-     }:
-     mkDerivation {
-       pname = "temporary-rc";
-       version = "1.2.0.3";
-       sha256 = "1nqih0qks439k3pr5kmbbc8rjdw730slrxlflqb27fbxbzb8skqs";
-       libraryHaskellDepends = [
-         base directory exceptions filepath transformers unix
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://www.github.com/feuerbach/temporary";
-       description = "Portable temporary file and directory support for Windows and Unix, based on code from Cabal";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "test-framework" = callPackage
-    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, containers
-     , hostname, old-locale, random, regex-posix, time, xml
-     }:
-     mkDerivation {
-       pname = "test-framework";
-       version = "0.8.1.1";
-       sha256 = "0wxjgdvb1c4ykazw774zlx86550848wbsvgjgcrdzcgbb9m650vq";
-       revision = "2";
-       editedCabalFile = "1mp1h0fzwxa3xxnbw33lp8hj0rb8vwkd712r5ak8ny5nmawh2c9y";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal ansi-wl-pprint base containers hostname old-locale
-         random regex-posix time xml
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://batterseapower.github.io/test-framework/";
-       description = "Framework for running and organising tests, with HUnit and QuickCheck support";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "test-framework-hunit" = callPackage
-    ({ mkDerivation, base, extensible-exceptions, HUnit, test-framework
-     }:
-     mkDerivation {
-       pname = "test-framework-hunit";
-       version = "0.3.0.2";
-       sha256 = "1y0b6vg8nfm43v90lxxcydhi6qlxhfy4vpxbzm5ic2w55bh8xjwm";
-       revision = "3";
-       editedCabalFile = "0i9mlalv7cl1iq43ld5myrnpszq5rxmd79hk495dcb08rglhgl3z";
-       libraryHaskellDepends = [
-         base extensible-exceptions HUnit test-framework
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://batterseapower.github.io/test-framework/";
-       description = "HUnit support for the test-framework package";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "test-framework-quickcheck2" = callPackage
-    ({ mkDerivation, base, extensible-exceptions, QuickCheck, random
-     , test-framework
-     }:
-     mkDerivation {
-       pname = "test-framework-quickcheck2";
-       version = "0.3.0.4";
-       sha256 = "0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp";
-       libraryHaskellDepends = [
-         base extensible-exceptions QuickCheck random test-framework
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://haskell.github.io/test-framework/";
-       description = "QuickCheck-2 support for the test-framework package";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "test-framework-th" = callPackage
-    ({ mkDerivation, base, haskell-src-exts, language-haskell-extract
-     , regex-posix, template-haskell, test-framework
-     }:
-     mkDerivation {
-       pname = "test-framework-th";
-       version = "0.2.4";
-       sha256 = "12lw7yj02jb9s0i7rb98jjam43j2h0gzmnbj9zi933fx7sg0sy4b";
-       libraryHaskellDepends = [
-         base haskell-src-exts language-haskell-extract regex-posix
-         template-haskell test-framework
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/finnsson/test-generator";
-       description = "Automagically generate the HUnit- and Quickcheck-bulk-code using Template Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "text" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, deepseq
-     , directory, ghc-prim, HUnit, integer-gmp, QuickCheck
-     , quickcheck-unicode, random, test-framework, test-framework-hunit
-     , test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "text";
-       version = "1.2.2.2";
-       sha256 = "1y9d0zjs2ls0c574mr5xw7y3y49s62sd3wcn9lhpwz8a6q352iii";
-       configureFlags = [ "-f-integer-simple" ];
-       libraryHaskellDepends = [
-         array base binary bytestring deepseq ghc-prim integer-gmp
-       ];
-       testHaskellDepends = [
-         array base binary bytestring deepseq directory ghc-prim HUnit
-         integer-gmp QuickCheck quickcheck-unicode random test-framework
-         test-framework-hunit test-framework-quickcheck2
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/text";
-       description = "An efficient packed Unicode text type";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-  "tf-random" = callPackage
-    ({ mkDerivation, base, primitive, random, time }:
-     mkDerivation {
-       pname = "tf-random";
-       version = "0.5";
-       sha256 = "0445r2nns6009fmq0xbfpyv7jpzwv0snccjdg7hwj4xk4z0cwc1f";
-       libraryHaskellDepends = [ base primitive random time ];
-       doHaddock = false;
-       doCheck = false;
-       description = "High-quality splittable pseudorandom number generator";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "th-abstraction" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
-     mkDerivation {
-       pname = "th-abstraction";
-       version = "0.2.6.0";
-       sha256 = "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5";
-       libraryHaskellDepends = [
-         base containers ghc-prim template-haskell
-       ];
-       testHaskellDepends = [ base containers template-haskell ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/glguy/th-abstraction";
-       description = "Nicer interface for reified information about data types";
-       license = stdenv.lib.licenses.isc;
-     }) {};
-  "threads" = callPackage
-    ({ mkDerivation, base, Cabal, stm }:
-     mkDerivation {
-       pname = "threads";
-       version = "0.5.1.5";
-       sha256 = "0phbspm8k2k6w66hv6ldccvy3kc4rjnspj0jwabiwklinkv7wpd1";
-       setupHaskellDepends = [ base Cabal ];
-       libraryHaskellDepends = [ base stm ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/basvandijk/threads";
-       description = "Fork threads and wait for their result";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "time-compat" = callPackage
-    ({ mkDerivation, base, old-time, time }:
-     mkDerivation {
-       pname = "time-compat";
-       version = "0.1.0.3";
-       sha256 = "0zqgzr8yjn36rn6gflwh5s0c92vl44xzxiw0jz8d5h0h8lhi21sr";
-       libraryHaskellDepends = [ base old-time time ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://hub.darcs.net/dag/time-compat";
-       description = "Compatibility with old-time for the time package";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "time-locale-compat" = callPackage
-    ({ mkDerivation, base, time }:
-     mkDerivation {
-       pname = "time-locale-compat";
-       version = "0.1.1.3";
-       sha256 = "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i";
-       configureFlags = [ "-f-old-locale" ];
-       libraryHaskellDepends = [ base time ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/khibino/haskell-time-locale-compat";
-       description = "Compatibility of TimeLocale between old-locale and time-1.5";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "transformers-base" = callPackage
-    ({ mkDerivation, base, stm, transformers, transformers-compat }:
-     mkDerivation {
-       pname = "transformers-base";
-       version = "0.4.4";
-       sha256 = "11r3slgpgpra6zi2kjg3g60gvv17b1fh6qxipcpk8n86qx7lk8va";
-       revision = "1";
-       editedCabalFile = "196pr3a4lhgklyw6nq6rv1j9djwzmvx7xrpp58carxnb55gk06pv";
-       libraryHaskellDepends = [
-         base stm transformers transformers-compat
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/mvv/transformers-base";
-       description = "Lift computations from the bottom of a transformer stack";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "transformers-compat" = callPackage
-    ({ mkDerivation, base, ghc-prim, transformers }:
-     mkDerivation {
-       pname = "transformers-compat";
-       version = "0.5.1.4";
-       sha256 = "17yam0199fh9ndsn9n69jx9nvbsmymzzwbi23dck3dk4q57fz0fq";
-       libraryHaskellDepends = [ base ghc-prim transformers ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/transformers-compat/";
-       description = "A small compatibility shim exposing the new types from transformers 0.3 and 0.4 to older Haskell platforms.";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "unbounded-delays" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "unbounded-delays";
-       version = "0.1.1.0";
-       sha256 = "1ir9fghbrc214c97bwafk5ck6cacxz1pdnq4i18p604d1b8zg9wa";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/basvandijk/unbounded-delays";
-       description = "Unbounded thread delays and timeouts";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "unordered-containers" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
-     , deepseq-generics, hashable, hashmap, mtl, random
-     }:
-     mkDerivation {
-       pname = "unordered-containers";
-       version = "0.2.8.0";
-       sha256 = "1a7flszhhgyjn0nm9w7cm26jbf6vyx9ij1iij4sl11pjkwsqi8d4";
-       libraryHaskellDepends = [ base deepseq hashable ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion deepseq deepseq-generics
-         hashable hashmap mtl random
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/tibbe/unordered-containers";
-       description = "Efficient hashing-based container types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "utf8-string" = callPackage
-    ({ mkDerivation, base, bytestring }:
-     mkDerivation {
-       pname = "utf8-string";
-       version = "1.0.1.1";
-       sha256 = "0h7imvxkahiy8pzr8cpsimifdfvv18lizrb33k6mnq70rcx9w2zv";
-       revision = "2";
-       editedCabalFile = "1b97s9picjl689hcz8scinv7c8k5iaal1livqr0l1l8yc4h0imhr";
-       libraryHaskellDepends = [ base bytestring ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/glguy/utf8-string/";
-       description = "Support for reading and writing UTF8 Strings";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "uuid-types" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, hashable
-     , random, text
-     }:
-     mkDerivation {
-       pname = "uuid-types";
-       version = "1.0.3";
-       sha256 = "1zdka5jnm1h6k36w3nr647yf3b5lqb336g3fkprhd6san9x52xlj";
-       revision = "1";
-       editedCabalFile = "0iwwj07gp28g357hv76k4h8pvlzamvchnw003cv3qk778pcpx201";
-       libraryHaskellDepends = [
-         base binary bytestring deepseq hashable random text
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/aslatter/uuid";
-       description = "Type definitions for Universally Unique Identifiers";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "vector" = callPackage
-    ({ mkDerivation, base, deepseq, ghc-prim, HUnit, primitive
-     , QuickCheck, random, template-haskell, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, transformers
-     }:
-     mkDerivation {
-       pname = "vector";
-       version = "0.12.0.1";
-       sha256 = "0yrx2ypiaxahvaz84af5bi855hd3107kxkbqc8km29nsp5wyw05i";
-       revision = "1";
-       editedCabalFile = "1xjv8876kx9vh86w718vdaaai40pwnsiw8368c5h88ch8iqq10qb";
-       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
-       testHaskellDepends = [
-         base HUnit QuickCheck random template-haskell test-framework
-         test-framework-hunit test-framework-quickcheck2 transformers
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell/vector";
-       description = "Efficient Arrays";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "vector-algorithms" = callPackage
-    ({ mkDerivation, base, bytestring, containers, mtl, mwc-random
-     , primitive, QuickCheck, vector
-     }:
-     mkDerivation {
-       pname = "vector-algorithms";
-       version = "0.7.0.1";
-       sha256 = "0w4hf598lpxfg58rnimcqxrbnpqq2jmpjx82qa5md3q6r90hlipd";
-       revision = "1";
-       editedCabalFile = "1996aj239vasr4hd5c0pi9i0bd08r6clzr76nqvf3hc5kjs7vml2";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base bytestring primitive vector ];
-       executableHaskellDepends = [ base mtl mwc-random vector ];
-       testHaskellDepends = [
-         base bytestring containers QuickCheck vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://code.haskell.org/~dolio/";
-       description = "Efficient algorithms for vector arrays";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "vector-binary-instances" = callPackage
-    ({ mkDerivation, base, binary, bytestring, criterion, deepseq
-     , tasty, tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "vector-binary-instances";
-       version = "0.2.3.5";
-       sha256 = "0niad09lbxz3cj20qllyj92lwbc013ihw4lby8fv07x5xjx5a4p1";
-       revision = "1";
-       editedCabalFile = "0yk61mifvcc31vancsfsd0vskqh5k3a3znx1rbz8wzcs4ijjzh48";
-       libraryHaskellDepends = [ base binary vector ];
-       testHaskellDepends = [ base binary tasty tasty-quickcheck vector ];
-       benchmarkHaskellDepends = [
-         base binary bytestring criterion deepseq vector
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/bos/vector-binary-instances";
-       description = "Instances of Data.Binary and Data.Serialize for vector";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "vector-th-unbox" = callPackage
-    ({ mkDerivation, base, data-default, template-haskell, vector }:
-     mkDerivation {
-       pname = "vector-th-unbox";
-       version = "0.2.1.6";
-       sha256 = "0d82x55f5vvr1jvaia382m23rs690lg55pvavv8f4ph0y6kd91xy";
-       libraryHaskellDepends = [ base template-haskell vector ];
-       testHaskellDepends = [ base data-default vector ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Deriver for Data.Vector.Unboxed using Template Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "void" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "void";
-       version = "0.7.2";
-       sha256 = "0aygw0yb1h3yhmfl3bkwh5d3h0l4mmsxz7j53vdm6jryl1kgxzyk";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/ekmett/void";
-       description = "A Haskell 98 logically uninhabited data type";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "with-location" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "with-location";
-       version = "0.1.0";
-       sha256 = "1rzxvsyh8x3ql3zh7gyw9hjx9bl4v73h0y5kzgaxcfcdn86dg49c";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/sol/with-location#readme";
-       description = "Use ImplicitParams-based source locations in a backward compatible way";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "xhtml" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "xhtml";
-       version = "3000.2.2";
-       sha256 = "0z34m5jfvjyzqjr81kk6mp2dyf0iay5zl8xlzwl3k5zdfl5hsz74";
-       libraryHaskellDepends = [ base ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://github.com/haskell/xhtml";
-       description = "An XHTML combinator library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "xml" = callPackage
-    ({ mkDerivation, base, bytestring, text }:
-     mkDerivation {
-       pname = "xml";
-       version = "1.3.14";
-       sha256 = "0g814lj7vaxvib2g3r734221k80k7ap9czv9hinifn8syals3l9j";
-       libraryHaskellDepends = [ base bytestring text ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://code.galois.com";
-       description = "A simple XML library";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-  "xml-conduit" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
-     , blaze-markup, bytestring, conduit, conduit-extra, containers
-     , data-default, deepseq, hspec, HUnit, monad-control, resourcet
-     , text, transformers, xml-types
-     }:
-     mkDerivation {
-       pname = "xml-conduit";
-       version = "1.5.1";
-       sha256 = "0d4pb9d0mdz9djh8aiy5r8088rqh7w34mbqmg8mmaq1i7vx2dzks";
-       libraryHaskellDepends = [
-         attoparsec base blaze-builder blaze-html blaze-markup bytestring
-         conduit conduit-extra containers data-default deepseq monad-control
-         resourcet text transformers xml-types
-       ];
-       testHaskellDepends = [
-         base blaze-markup bytestring conduit containers hspec HUnit
-         resourcet text transformers xml-types
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/snoyberg/xml";
-       description = "Pure-Haskell utilities for dealing with XML with the conduit package";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "xml-types" = callPackage
-    ({ mkDerivation, base, deepseq, text }:
-     mkDerivation {
-       pname = "xml-types";
-       version = "0.3.6";
-       sha256 = "1jgqxsa9p2q3h6nymbfmvhldqrqlwrhrzmwadlyc0li50x0d8dwr";
-       libraryHaskellDepends = [ base deepseq text ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "https://john-millikin.com/software/haskell-xml/";
-       description = "Basic types for representing XML";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-  "xss-sanitize" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, css-text, hspec
-     , HUnit, network-uri, tagsoup, text, utf8-string
-     }:
-     mkDerivation {
-       pname = "xss-sanitize";
-       version = "0.3.5.7";
-       sha256 = "005cmhaw9xbzkcn42jmhvcvk63bzmg4lml368xwmqdvh7r0mcn4m";
-       libraryHaskellDepends = [
-         attoparsec base containers css-text network-uri tagsoup text
-         utf8-string
-       ];
-       testHaskellDepends = [
-         attoparsec base containers css-text hspec HUnit network-uri tagsoup
-         text utf8-string
-       ];
-       doHaddock = false;
-       doCheck = false;
-       homepage = "http://github.com/yesodweb/haskell-xss-sanitize";
-       description = "sanitize untrusted HTML to prevent XSS attacks";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-  "zlib" = callPackage
-    ({ mkDerivation, base, bytestring, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, zlib
-     }:
-     mkDerivation {
-       pname = "zlib";
-       version = "0.6.1.2";
-       sha256 = "1fx2k2qmgm2dj3fkxx2ry945fpdn02d4dkihjxma21xgdiilxsz4";
-       libraryHaskellDepends = [ base bytestring ];
-       librarySystemDepends = [ zlib ];
-       testHaskellDepends = [
-         base bytestring QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       doHaddock = false;
-       doCheck = false;
-       description = "Compression and decompression in the gzip and zlib formats";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) zlib;};
-
-}
diff --git a/infra/nixos/tazserve.nix b/infra/nixos/tazserve.nix
deleted file mode 100644
index 8fbb950b0d..0000000000
--- a/infra/nixos/tazserve.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ pkgs, config, ... }:
-
-with pkgs; let blogSource = fetchgit {
-  url = "https://git.tazj.in/tazjin/tazblog.git";
-  sha256 = "0m745vb8k6slzdsld63rbfg583k70q3g6i5lz576sccalkg0r2l2";
-  rev = "aeeb11f1b76729115c4db98f419cbcda1a0f7660";
-};
-tazblog = import ./tazblog { inherit blogSource; };
-blog = tazblog.tazblog;
-blogConfig = {
-  enableACME = true;
-  forceSSL = true;
-  locations."/" = {
-    proxyPass = "http://127.0.0.1:8000";
-  };
-};
-gemma = import ./pkgs/gemma.nix { inherit pkgs; };
-gemmaConfig = writeTextFile {
-  name = "config.lisp";
-  text = builtins.readFile ./gemma-config.lisp;
-};
-in {
-  # Ensure that blog software is installed
-  environment.systemPackages = [
-    blog
-    blogSource
-  ];
-
-  # Set up database unit
-  systemd.services.tazblog-db =  {
-    description           = "Database engine for Tazblog";
-    script                = "${blog}/bin/tazblog-db";
-    serviceConfig.restart = "always";
-    wantedBy              = [ "multi-user.target" ];
-  };
-
-  # Set up blog unit
-  systemd.services.tazblog = {
-    description           = "Tazjin's blog engine";
-    script                = "${blog}/bin/tazblog --resourceDir ${blogSource}/static";
-    serviceConfig.restart = "always";
-    requires              = [ "tazblog-db.service" ];
-    wantedBy              = [ "multi-user.target" ];
-  };
-
-  # Set up Gogs
-  services.gogs = {
-    enable       = true;
-    appName      = "Gogs: tazjin's private code";
-    cookieSecure = true;
-    domain       = "git.tazj.in";
-    rootUrl      = "https://git.tazj.in/";
-    extraConfig = ''
-      [log]
-      ROOT_PATH = /var/lib/gogs/log
-    '';
-  };
-
-  # Set up Gemma
-  systemd.services.gemma = {
-    description           = "Recurring task tracking app";
-    script                = "${gemma}/bin/gemma";
-    serviceConfig.Restart = "always";
-    wantedBy              = [ "multi-user.target" ];
-
-    environment = {
-      GEMMA_CONFIG = "${gemmaConfig}";
-    };
-  };
-
-  # Set up reverse proxy
-  services.nginx = {
-    enable = true;
-    recommendedTlsSettings = true;
-    recommendedProxySettings = true;
-
-    # Blog!
-    virtualHosts."tazj.in" = blogConfig;
-    virtualHosts."www.tazj.in" = blogConfig;
-
-    # Git!
-    virtualHosts."git.tazj.in" = {
-      enableACME = true;
-      forceSSL   = true;
-      locations."/" = {
-        proxyPass = "http://127.0.0.1:3000";
-      };
-    };
-
-    # oslo.pub redirect
-    virtualHosts."oslo.pub" = {
-      enableACME = true;
-      forceSSL   = true;
-      extraConfig = "return 302 https://www.google.com/maps/d/viewer?mid=1pJIYY9cuEdt9DuMTbb4etBVq7hs;";
-    };
-
-    # Gemma demo instance!
-    virtualHosts."gemma.tazj.in" = {
-      enableACME = true;
-      forceSSL   = true;
-      locations."/" = {
-        proxyPass = "http://127.0.0.1:4242";
-      };
-    };
-  };
-}