summary refs log tree commit diff
diff options
context:
space:
mode:
authormaralorn <malte.brandy@maralorn.de>2021-05-09 03:17:04 +0200
committerGitHub <noreply@github.com>2021-05-09 03:17:04 +0200
commit4ed0cff8ebd9b3eef74b610b88d142cdba488222 (patch)
tree5fac28266f3d999acda1395b787ca24ba56d65e9
parentecfc25248c69c93388c1e67aefcd1d80395a5d85 (diff)
parent74d8b78a24be1f896cec07bb2ba0e1dbc840c34a (diff)
downloadnixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.tar
nixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.tar.gz
nixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.tar.bz2
nixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.tar.lz
nixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.tar.xz
nixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.tar.zst
nixpkgs-4ed0cff8ebd9b3eef74b610b88d142cdba488222.zip
Merge pull request #122117 from NixOS/haskell-updates
-rwxr-xr-xmaintainers/scripts/haskell/regenerate-hackage-packages.sh19
-rwxr-xr-xmaintainers/scripts/haskell/update-stackage.sh2
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/development/haskell-modules/configuration-arm.nix71
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix113
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix164
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml13
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml23
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml7
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix167
-rw-r--r--pkgs/development/haskell-modules/default.nix31
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1300
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix2
-rw-r--r--pkgs/top-level/release-haskell.nix368
14 files changed, 1283 insertions, 1005 deletions
diff --git a/maintainers/scripts/haskell/regenerate-hackage-packages.sh b/maintainers/scripts/haskell/regenerate-hackage-packages.sh
index 462840cd24c..1effa5e2596 100755
--- a/maintainers/scripts/haskell/regenerate-hackage-packages.sh
+++ b/maintainers/scripts/haskell/regenerate-hackage-packages.sh
@@ -1,12 +1,12 @@
 #! /usr/bin/env nix-shell
 #! nix-shell -i bash -p coreutils haskellPackages.cabal2nix-unstable git nix -I nixpkgs=.
 
-# This script is used to regenerate nixpkgs' Haskell package set, using a tool
-# called hackage2nix. hackage2nix looks at the config files in
-# pkgs/development/haskell-modules/configuration-hackage2nix and generates
-# a Nix expression for package version specified there, using the Cabal files
-# from the Hackage database (available under all-cabal-hashes) and its
-# companion tool cabal2nix.
+# This script is used to regenerate nixpkgs' Haskell package set, using the
+# tool hackage2nix from the nixos/cabal2nix repo. hackage2nix looks at the
+# config files in pkgs/development/haskell-modules/configuration-hackage2nix
+# and generates a Nix expression for package version specified there, using the
+# Cabal files from the Hackage database (available under all-cabal-hashes) and
+# its companion tool cabal2nix.
 #
 # Related scripts are update-hackage.sh, for updating the snapshot of the
 # Hackage database used by hackage2nix, and update-cabal2nix-unstable.sh,
@@ -14,10 +14,15 @@
 
 set -euo pipefail
 
+# To prevent hackage2nix fails because of encoding.
+# See: https://github.com/NixOS/nixpkgs/pull/122023
+export LC_ALL=C.UTF-8
+
 extraction_derivation='with import ./. {}; runCommand "unpacked-cabal-hashes" { } "tar xf ${all-cabal-hashes} --strip-components=1 --one-top-level=$out"'
 unpacked_hackage="$(nix-build -E "$extraction_derivation" --no-out-link)"
 config_dir=pkgs/development/haskell-modules/configuration-hackage2nix
 
+echo "Starting hackage2nix to regenerate pkgs/development/haskell-modules/hackage-packages.nix ..."
 hackage2nix \
    --hackage "$unpacked_hackage" \
    --preferred-versions <(for n in "$unpacked_hackage"/*/preferred-versions; do cat "$n"; echo; done) \
@@ -35,3 +40,5 @@ hackage-packages.nix: Regenerate based on current config
 This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
 EOF
 fi
+
+echo "Regeneration of hackage-packages.nix finished."
diff --git a/maintainers/scripts/haskell/update-stackage.sh b/maintainers/scripts/haskell/update-stackage.sh
index 3d51ddc4338..db336bf12da 100755
--- a/maintainers/scripts/haskell/update-stackage.sh
+++ b/maintainers/scripts/haskell/update-stackage.sh
@@ -59,7 +59,7 @@ sed -r \
     < "${tmpfile}.new" >> $stackage_config
 
 if [[ "${1:-}" == "--do-commit" ]]; then
-git add $config_file
+git add $stackage_config
 git commit -F - << EOF
 Stackage Nightly: $old_version -> $version
 
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 8370470ee17..5b720404385 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "95e79fb1492c7f34c2454dcb783ac8b46c0f5c8c",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/95e79fb1492c7f34c2454dcb783ac8b46c0f5c8c.tar.gz",
-  "sha256": "1wp7m8j6z2j6h8z14cnzg223jmkcgpsafraxiirbih3h4wqq2nhr",
-  "msg": "Update from Hackage at 2021-05-03T20:39:01Z"
+  "commit": "3d54acea35f6f709fa96c87696b845b3044dcab5",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/3d54acea35f6f709fa96c87696b845b3044dcab5.tar.gz",
+  "sha256": "1zlkjs9d8r5k803wbsz5fmsrs76150chcnz2jaapmq32riyvm21g",
+  "msg": "Update from Hackage at 2021-05-07T19:29:19Z"
 }
diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix
new file mode 100644
index 00000000000..bcbf3254053
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-arm.nix
@@ -0,0 +1,71 @@
+# ARM-SPECIFIC OVERRIDES FOR THE HASKELL PACKAGE SET IN NIXPKGS
+#
+# This extension is applied to all haskell package sets in nixpkgs
+# if `stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64`
+# to apply arm specific workarounds or fixes.
+#
+# The file is split into three parts:
+#
+# * Overrides that are applied for all arm platforms
+# * Overrides for aarch32 platforms
+# * Overrides for aarch64 platforms
+#
+# This may be extended in the future to also include compiler-
+# specific sections as compiler and linker related bugs may
+# get fixed subsequently.
+#
+# When adding new overrides, try to research which section they
+# belong into. Most likely we'll be favouring aarch64 overrides
+# in practice since that is the only platform we can test on
+# Hydra. Also take care to group overrides by the issue they
+# solve, so refactors and updates to this file are less tedious.
+{ pkgs, haskellLib }:
+
+let
+  inherit (pkgs) lib;
+in
+
+with haskellLib;
+
+self: super: {
+  # COMMON ARM OVERRIDES
+
+  # moved here from configuration-common.nix, no reason given.
+  servant-docs = dontCheck super.servant-docs;
+  swagger2 = dontHaddock (dontCheck super.swagger2);
+
+  # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
+  happy = dontCheck super.happy;
+
+} // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 {
+  # AARCH64-SPECIFIC OVERRIDES
+
+  # Doctests fail on aarch64 due to a GHCi linking bug
+  # https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295437
+  # TODO: figure out if needed on aarch32 as well
+  language-nix = dontCheck super.language-nix;
+  trifecta = dontCheck super.trifecta;
+  ad = dontCheck super.ad;
+  vinyl = dontCheck super.vinyl;
+  BNFC = dontCheck super.BNFC;
+  C-structs = dontCheck super.C-structs;
+  accelerate = dontCheck super.accelerate;
+  focuslist = dontCheck super.focuslist;
+  flight-kml = dontCheck super.flight-kml;
+  exact-real = dontCheck super.exact-real;
+  autoapply = dontCheck super.autoapply;
+  hint = dontCheck super.hint;
+  hgeometry = dontCheck super.hgeometry;
+  headroom = dontCheck super.headroom;
+  haskell-time-range = dontCheck super.haskell-time-range;
+  hsakamai = dontCheck super.hsakamai;
+  hsemail-ns = dontCheck super.hsemail-ns;
+  openapi3 = dontCheck super.openapi3;
+
+  # https://github.com/ekmett/half/issues/35
+  half = dontCheck super.half;
+
+} // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 {
+  # AARCH32-SPECIFIC OVERRIDES
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index e595b4ece8f..d8f5348f5ad 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -75,10 +75,6 @@ self: super: {
   # Fix test trying to access /home directory
   shell-conduit = overrideCabal super.shell-conduit (drv: {
     postPatch = "sed -i s/home/tmp/ test/Spec.hs";
-
-    # the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
-    # see: https://github.com/psibi/shell-conduit/issues/12
-    doCheck = !pkgs.stdenv.isDarwin;
   });
 
   # https://github.com/froozen/kademlia/issues/2
@@ -117,15 +113,6 @@ self: super: {
   # Jailbreak is necessary for QuickCheck dependency.
   vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector);
 
-  conduit-extra = if pkgs.stdenv.isDarwin
-    then super.conduit-extra.overrideAttrs (drv: { __darwinAllowLocalNetworking = true; })
-    else super.conduit-extra;
-
-  # Fix Darwin build.
-  halive = if pkgs.stdenv.isDarwin
-    then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit
-    else super.halive;
-
   # Test suite fails due golden tests checking text representation
   # of normalized dhall expressions, and newer dhall versions format
   # differently.
@@ -134,19 +121,6 @@ self: super: {
     then throw "Drop dontCheck override for hpack-dhall > 0.5.2"
     else dontCheck super.hpack-dhall;
 
-  barbly = addBuildDepend super.barbly pkgs.darwin.apple_sdk.frameworks.AppKit;
-
-  # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
-  hakyll = if pkgs.stdenv.isDarwin
-    then dontCheck (overrideCabal super.hakyll (drv: {
-      testToolDepends = [];
-    }))
-    else super.hakyll;
-
-  double-conversion = if !pkgs.stdenv.isDarwin
-    then super.double-conversion
-    else addExtraLibrary super.double-conversion pkgs.libcxx;
-
   inline-c-cpp = overrideCabal super.inline-c-cpp (drv: {
     postPatch = (drv.postPatch or "") + ''
       substituteInPlace inline-c-cpp.cabal --replace "-optc-std=c++11" ""
@@ -307,23 +281,16 @@ self: super: {
   integer-roots = dontCheck super.integer-roots; # requires an old version of smallcheck, will be fixed in > 1.0
   itanium-abi = dontCheck super.itanium-abi;
   katt = dontCheck super.katt;
-  language-nix = if (pkgs.stdenv.hostPlatform.isAarch64 || pkgs.stdenv.hostPlatform.isi686) then dontCheck super.language-nix else super.language-nix; # aarch64: https://ghc.haskell.org/trac/ghc/ticket/15275
   language-slice = dontCheck super.language-slice;
   ldap-client = dontCheck super.ldap-client;
   lensref = dontCheck super.lensref;
   lvmrun = disableHardening (dontCheck super.lvmrun) ["format"];
-  math-functions = if pkgs.stdenv.isDarwin
-    then dontCheck super.math-functions # "erf table" test fails on Darwin https://github.com/bos/math-functions/issues/63
-    else super.math-functions;
   matplotlib = dontCheck super.matplotlib;
   # https://github.com/matterhorn-chat/matterhorn/issues/679 they do not want to be on stackage
   matterhorn = doJailbreak super.matterhorn; # this is needed until the end of time :')
   memcache = dontCheck super.memcache;
   metrics = dontCheck super.metrics;
   milena = dontCheck super.milena;
-  mockery = if pkgs.stdenv.isDarwin
-    then overrideCabal super.mockery (drv: { preCheck = "export TRAVIS=true"; }) # darwin doesn't have sub-second resolution https://github.com/hspec/mockery/issues/11
-    else super.mockery;
   modular-arithmetic = dontCheck super.modular-arithmetic; # tests require a very old Glob (0.7.*)
   nats-queue = dontCheck super.nats-queue;
   netpbm = dontCheck super.netpbm;
@@ -464,9 +431,8 @@ self: super: {
   # https://github.com/andrewthad/haskell-ip/issues/67
   ip = dontCheck super.ip;
 
-  # https://github.com/ndmitchell/shake/issues/206
-  # https://github.com/ndmitchell/shake/issues/267
-  shake = overrideCabal super.shake (drv: { doCheck = !pkgs.stdenv.isDarwin && false; });
+  # https://github.com/ndmitchell/shake/issues/804
+  shake = dontCheck super.shake;
 
   # https://github.com/nushio3/doctest-prop/issues/1
   doctest-prop = dontCheck super.doctest-prop;
@@ -841,7 +807,6 @@ self: super: {
   # With ghc-8.2.x haddock would time out for unknown reason
   # See https://github.com/haskell/haddock/issues/679
   language-puppet = dontHaddock super.language-puppet;
-  filecache = overrideCabal super.filecache (drv: { doCheck = !pkgs.stdenv.isDarwin; });
 
   # https://github.com/alphaHeavy/protobuf/issues/34
   protobuf = dontCheck super.protobuf;
@@ -852,17 +817,9 @@ self: super: {
     configureFlags = ["--ghc-option=-DU_DEFINE_FALSE_AND_TRUE=1"]; # https://github.com/haskell/text-icu/issues/49
   });
 
-  # aarch64 and armv7l fixes.
-  happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
-  hashable = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.hashable else super.hashable; # https://github.com/tibbe/hashable/issues/95
-  servant-docs =
-    let
-      f = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64)
-          then dontCheck
-          else pkgs.lib.id;
-    in doJailbreak (f super.servant-docs); # jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
+  # jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
+  servant-docs = doJailbreak super.servant-docs;
   snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
-  swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
 
   # hledger-lib requires the latest version of pretty-simple
   hledger-lib = appendPatch super.hledger-lib
@@ -1164,11 +1121,6 @@ self: super: {
     '';
   });
 
-  # gtk/gtk3 needs to be told on Darwin to use the Quartz
-  # rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
-  gtk3 = appendConfigureFlags super.gtk3 (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
-  gtk = appendConfigureFlags super.gtk (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
-
   # Chart-tests needs and compiles some modules from Chart itself
   Chart-tests = (addExtraLibrary super.Chart-tests self.QuickCheck).overrideAttrs (old: {
     preCheck = old.postPatch or "" + ''
@@ -1438,6 +1390,12 @@ self: super: {
   # https://github.com/haskell/haskell-language-server/issues/611
   haskell-language-server = dontCheck super.haskell-language-server;
 
+  # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1808
+  hls-splice-plugin = dontCheck super.hls-splice-plugin;
+
+  # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809
+  hls-eval-plugin = dontCheck super.hls-eval-plugin;
+
   # 2021-03-19: Too restrictive upper bound on optparse-applicative
   stylish-haskell = doJailbreak super.stylish-haskell;
 
@@ -1466,7 +1424,7 @@ self: super: {
   });
 
   # 2021-03-09: Overrides because nightly is to old for hls 1.0.0
-  lsp-test = doDistribute (dontCheck self.lsp-test_0_13_0_0);
+  lsp-test = doDistribute (dontCheck self.lsp-test_0_14_0_0);
 
   # 2021-03-21 Test hangs
   # https://github.com/haskell/haskell-language-server/issues/1562
@@ -1521,11 +1479,6 @@ self: super: {
   # Due to tests restricting base in 0.8.0.0 release
   http-media = doJailbreak super.http-media;
 
-  # https://github.com/ekmett/half/issues/35
-  half = if pkgs.stdenv.isAarch64
-    then dontCheck super.half
-    else super.half;
-
   # 2020-11-19: Jailbreaking until: https://github.com/snapframework/heist/pull/124
   heist = doJailbreak super.heist;
 
@@ -1580,10 +1533,6 @@ self: super: {
   # https://github.com/yesodweb/yesod/issues/1714
   yesod-core = dontCheck super.yesod-core;
 
-  # Add ApplicationServices on darwin
-  apecs-physics = addPkgconfigDepends super.apecs-physics
-    (pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.ApplicationServices);
-
   # Break out of overspecified constraint on QuickCheck.
   algebraic-graphs = dontCheck super.algebraic-graphs;
   attoparsec = doJailbreak super.attoparsec;      # https://github.com/haskell/attoparsec/pull/168
@@ -1871,16 +1820,6 @@ self: super: {
     '' + (drv.postPatch or "");
   });
 
-  # Doctests fail on aarch64 due to a GHCi linking bug
-  # https://gitlab.haskell.org/ghc/ghc/-/issues/15275#note_295437
-  ad = overrideCabal super.ad {
-    doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
-  };
-  trifecta = if pkgs.stdenv.hostPlatform.isAarch64 then dontCheck super.trifecta else super.trifecta;
-  vinyl = overrideCabal super.vinyl {
-    doCheck = !pkgs.stdenv.hostPlatform.isAarch64;
-  };
-
   # Tests need to lookup target triple x86_64-unknown-linux
   # https://github.com/llvm-hs/llvm-hs/issues/334
   llvm-hs = overrideCabal super.llvm-hs {
@@ -1895,10 +1834,34 @@ self: super: {
       sha256 = "10npa8nh2413n6p6qld795qfkbld08icm02bspmk93y0kabpgmgm";
     });
 
-  # Too strict bounds on ref-tf
-  # https://github.com/travitch/haggle/issues/4
-  haggle = doJailbreak super.haggle;
+  # Too strict bounds on dimensional
+  # https://github.com/enomsg/science-constants-dimensional/pull/1
+  science-constants-dimensional = doJailbreak super.science-constants-dimensional;
+
+  # Tests are flaky on busy machines
+  # https://github.com/merijn/paramtree/issues/4
+  paramtree = dontCheck super.paramtree;
+
+  # Too strict version bounds on haskell-gi
+  # https://github.com/owickstrom/gi-gtk-declarative/issues/100
+  gi-gtk-declarative = doJailbreak super.gi-gtk-declarative;
+  gi-gtk-declarative-app-simple = doJailbreak super.gi-gtk-declarative-app-simple;
+
+  # Test assets missing from sdist
+  # https://github.com/hadolint/language-docker/issues/63
+  language-docker = overrideSrc super.language-docker {
+    src = pkgs.fetchFromGitHub {
+      owner = "hadolint";
+      repo = "language-docker";
+      rev = "refs/tags/${super.language-docker.version}";
+      sha256 = "06263jy538ni31vms5pzggmh64fyk62cv3lxnvkc6gylb94kljb8";
+      name = "language-docker-${super.language-docker.version}-source";
+    };
+  };
 
   phonetic-languages-phonetics-basics = appendPatch super.phonetic-languages-phonetics-basics ./patches/phonetic-languages-phonetics-basics-haddock.patch;
 
+  # 2021-05-09: Restrictive bound on hspec-golden. Dep removed in newer versions.
+  tomland = assert super.tomland.version == "1.3.2.0"; doJailbreak super.tomland;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
new file mode 100644
index 00000000000..6768bc5d6b4
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -0,0 +1,164 @@
+# DARWIN-SPECIFIC OVERRIDES FOR THE HASKELL PACKAGE SET IN NIXPKGS
+
+{ pkgs, haskellLib }:
+
+let
+  inherit (pkgs) lib darwin;
+in
+
+with haskellLib;
+
+self: super: {
+
+  # the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
+  # see: https://github.com/psibi/shell-conduit/issues/12
+  shell-conduit = dontCheck super.shell-conduit;
+
+  conduit-extra = super.conduit-extra.overrideAttrs (drv: {
+    __darwinAllowLocalNetworking = true;
+  });
+
+  halive = addBuildDepend super.halive darwin.apple_sdk.frameworks.AppKit;
+
+  # Hakyll's tests are broken on Darwin (3 failures); and they require util-linux
+  hakyll = overrideCabal super.hakyll {
+    testToolDepends = [];
+    doCheck = false;
+  };
+
+  barbly = addBuildDepend super.barbly darwin.apple_sdk.frameworks.AppKit;
+
+  double-conversion = addExtraLibrary super.double-conversion pkgs.libcxx;
+
+  apecs-physics = addPkgconfigDepends super.apecs-physics [
+    darwin.apple_sdk.frameworks.ApplicationServices
+  ];
+
+  # "erf table" test fails on Darwin
+  # https://github.com/bos/math-functions/issues/63
+  math-functions = dontCheck super.math-functions;
+
+  # darwin doesn't have sub-second resolution
+  # https://github.com/hspec/mockery/issues/11
+  mockery = overrideCabal super.mockery (drv: {
+    preCheck = ''
+      export TRAVIS=true
+    '' + (drv.preCheck or "");
+  });
+
+  # https://github.com/ndmitchell/shake/issues/206
+  shake = dontCheck super.shake;
+
+  filecache = dontCheck super.filecache;
+
+  # gtk/gtk3 needs to be told on Darwin to use the Quartz
+  # rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
+  gtk3 = appendConfigureFlag super.gtk3 "-f have-quartz-gtk";
+  gtk = appendConfigureFlag super.gtk "-f have-quartz-gtk";
+
+  OpenAL = addExtraLibrary super.OpenAL darwin.apple_sdk.frameworks.OpenAL;
+
+  proteaaudio = addExtraLibrary super.proteaaudio darwin.apple_sdk.frameworks.AudioToolbox;
+
+  # the system-fileio tests use canonicalizePath, which fails in the sandbox
+  system-fileio = dontCheck super.system-fileio;
+
+  # Prevents needing to add `security_tool` as a run-time dependency for
+  # everything using x509-system to give access to the `security` executable.
+  #
+  # darwin.security_tool is broken in Mojave (#45042)
+  #
+  # We will use the system provided security for now.
+  # Beware this WILL break in sandboxes!
+  #
+  # TODO(matthewbauer): If someone really needs this to work in sandboxes,
+  # I think we can add a propagatedImpureHost dep here, but I’m hoping to
+  # get a proper fix available soonish.
+  x509-system = overrideCabal super.x509-system (drv:
+    lib.optionalAttrs (!pkgs.stdenv.cc.nativeLibc) {
+      postPatch = ''
+        substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security
+      '' + (drv.postPatch or "");
+    });
+
+  # https://github.com/haskell-foundation/foundation/pull/412
+  foundation = dontCheck super.foundation;
+
+  llvm-hs = overrideCabal super.llvm-hs (oldAttrs: {
+    # One test fails on darwin.
+    doCheck = false;
+    # llvm-hs's Setup.hs file tries to add the lib/ directory from LLVM8 to
+    # the DYLD_LIBRARY_PATH environment variable.  This messes up clang
+    # when called from GHC, probably because clang is version 7, but we are
+    # using LLVM8.
+    preCompileBuildDriver = ''
+      substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()"
+    '' + (oldAttrs.preCompileBuildDriver or "");
+  });
+
+  yesod-bin = addBuildDepend super.yesod-bin darwin.apple_sdk.frameworks.Cocoa;
+
+  hmatrix = addBuildDepend super.hmatrix darwin.apple_sdk.frameworks.Accelerate;
+
+  # Ensure the necessary frameworks are propagatedBuildInputs on darwin
+  OpenGLRaw = overrideCabal super.OpenGLRaw (drv: {
+    librarySystemDepends = [];
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [
+      darwin.apple_sdk.frameworks.OpenGL
+    ];
+    preConfigure = ''
+      frameworkPaths=($(for i in $nativeBuildInputs; do if [ -d "$i"/Library/Frameworks ]; then echo "-F$i/Library/Frameworks"; fi done))
+      frameworkPaths=$(IFS=, ; echo "''${frameworkPaths[@]}")
+      configureFlags+=$(if [ -n "$frameworkPaths" ]; then echo -n "--ghc-options=-optl=$frameworkPaths"; fi)
+    '' + (drv.preConfigure or "");
+  });
+  GLURaw = overrideCabal super.GLURaw (drv: {
+    librarySystemDepends = [];
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [
+      darwin.apple_sdk.frameworks.OpenGL
+    ];
+  });
+  bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
+    librarySystemDepends = [];
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [
+      darwin.apple_sdk.frameworks.AGL
+      darwin.apple_sdk.frameworks.Cocoa
+      darwin.apple_sdk.frameworks.OpenGL
+      darwin.apple_sdk.frameworks.IOKit
+      darwin.apple_sdk.frameworks.Kernel
+      darwin.apple_sdk.frameworks.CoreVideo
+      darwin.CF
+    ];
+  });
+  OpenCL = overrideCabal super.OpenCL (drv: {
+    librarySystemDepends = [];
+    libraryHaskellDepends = drv.libraryHaskellDepends ++ [
+      darwin.apple_sdk.frameworks.OpenCL
+    ];
+  });
+
+  # cabal2nix likes to generate dependencies on hinotify when hfsevents is
+  # really required on darwin: https://github.com/NixOS/cabal2nix/issues/146.
+  hinotify = self.hfsevents;
+
+  # FSEvents API is very buggy and tests are unreliable. See
+  # http://openradar.appspot.com/10207999 and similar issues.
+  fsnotify = addBuildDepend (dontCheck super.fsnotify)
+    darwin.apple_sdk.frameworks.Cocoa;
+
+  FractalArt = overrideCabal super.FractalArt (drv: {
+    librarySystemDepends = [
+      darwin.libobjc
+      darwin.apple_sdk.frameworks.AppKit
+    ] ++ (drv.librarySystemDepends or []);
+  });
+
+  arbtt = overrideCabal super.arbtt (drv: {
+    librarySystemDepends = [
+      darwin.apple_sdk.frameworks.Foundation
+      darwin.apple_sdk.frameworks.Carbon
+      darwin.apple_sdk.frameworks.IOKit
+    ] ++ (drv.librarySystemDepends or []);
+  });
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index edc4fa3ac56..fe22ee7ea6d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -77,13 +77,6 @@ default-package-overrides:
   - gi-javascriptcore < 4.0.23 #
   - gi-soup < 2.4.24 #
   - gi-webkit2 < 4.0.27 #
-  # To stay hls 1.0 compatible
-  - ghcide < 1.1
-  - hls-retrie-plugin < 1.0.0.1
-  - lsp < 1.2
-  - lsp-types < 1.2
-  - hls-plugin-api < 1.1.0.0
-  - hls-explicit-imports-plugin < 1.0.0.1
 
 extra-packages:
   - base16-bytestring < 1               # required for cabal-install etc.
@@ -102,7 +95,6 @@ extra-packages:
   - hinotify == 0.3.9                   # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
   - hlint < 3.3                         # We don‘t have ghc-lib-parser 9.0.X yet.
   - immortal == 0.2.2.1                 # required by Hasura 1.3.1, 2020-08-20
-  - lsp-test < 0.14                     # needed for hls 1.0.0
   - mmorph == 1.1.3                     # Newest working version of mmorph on ghc 8.6.5. needed for hls
   - network == 2.6.3.1                  # required by pkgs/games/hedgewars/default.nix, 2020-11-15
   - optparse-applicative < 0.16         # needed for niv-0.2.19
@@ -259,7 +251,6 @@ unsupported-platforms:
   gnome-keyring:                                [ x86_64-darwin ]
   gtk-mac-integration:                          [ i686-linux, x86_64-linux, aarch64-linux, armv7l-linux ]
   gtk-sni-tray:                                 [ x86_64-darwin ]
-  gtk-sni-tray:                                 [ x86_64-darwin ]
   haskell-snake:                                [ x86_64-darwin ]
   hcwiid:                                       [ x86_64-darwin ]
   HFuse:                                        [ x86_64-darwin ]
@@ -269,7 +260,6 @@ unsupported-platforms:
   iwlib:                                        [ x86_64-darwin ]
   libmodbus:                                    [ x86_64-darwin ]
   libsystemd-journal:                           [ x86_64-darwin ]
-  libsystemd-journal:                           [ x86_64-darwin ]
   libtelnet:                                    [ x86_64-darwin ]
   libzfs:                                       [ x86_64-darwin ]
   linearEqSolver:                               [ aarch64-linux ]
@@ -302,8 +292,7 @@ unsupported-platforms:
   udev:                                         [ x86_64-darwin ]
   vrpn:                                         [ x86_64-darwin ]
   vulkan:                                       [ i686-linux, armv7l-linux, x86_64-darwin ]
-  VulkanMemoryAllocator:                        [ i686-linux, armv7l-linux ]
-  VulkanMemoryAllocator:                        [ x86_64-darwin ]
+  VulkanMemoryAllocator:                        [ i686-linux, armv7l-linux, x86_64-darwin ]
   vulkan-utils:                                 [ x86_64-darwin ]
   webkit2gtk3-javascriptcore:                   [ x86_64-darwin ]
   Win32-console:                                [ i686-linux, x86_64-linux, x86_64-darwin, aarch64-linux, armv7l-linux ]
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 460bfe28b61..cdae5528cc2 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,5 +1,7 @@
+# Stackage Nightly 2021-05-07
+# This file is auto-generated by
+# maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
-  # Stackage Nightly 2021-05-03
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
@@ -479,7 +481,7 @@ default-package-overrides:
   - convertible ==1.1.1.0
   - cookie ==0.4.5
   - core-data ==0.2.1.9
-  - core-program ==0.2.6.0
+  - core-program ==0.2.7.1
   - core-text ==0.3.0.0
   - countable ==1.0
   - country ==0.2.1
@@ -882,7 +884,7 @@ default-package-overrides:
   - ghc-byteorder ==4.11.0.0.10
   - ghc-check ==0.5.0.4
   - ghc-core ==0.5.6
-  - ghc-events ==0.16.0
+  - ghc-events ==0.17.0
   - ghc-exactprint ==0.6.4
   - ghcid ==0.8.7
   - ghci-hexcalc ==0.1.1.0
@@ -1104,7 +1106,7 @@ default-package-overrides:
   - hspec-expectations-json ==1.0.0.3
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.5
-  - hspec-golden ==0.1.0.3
+  - hspec-golden ==0.2.0.0
   - hspec-golden-aeson ==0.7.0.0
   - hspec-hedgehog ==0.0.1.2
   - hspec-junit-formatter ==1.0.0.2
@@ -1260,13 +1262,13 @@ default-package-overrides:
   - io-streams ==1.5.2.0
   - io-streams-haproxy ==1.0.1.0
   - ip6addr ==1.0.2
-  - ipa ==0.3
+  - ipa ==0.3.1
   - iproute ==1.7.11
   - IPv6Addr ==2.0.2
   - ipynb ==0.1.0.1
   - ipython-kernel ==0.10.2.1
   - irc ==0.6.1.0
-  - irc-client ==1.1.2.0
+  - irc-client ==1.1.2.1
   - irc-conduit ==0.3.0.4
   - irc-ctcp ==0.1.3.0
   - isbn ==1.1.0.2
@@ -1328,7 +1330,7 @@ default-package-overrides:
   - language-bash ==0.9.2
   - language-c ==0.8.3
   - language-c-quote ==0.13
-  - language-docker ==9.3.0
+  - language-docker ==10.0.0
   - language-java ==0.2.9
   - language-javascript ==0.7.1.0
   - language-protobuf ==1.0.1
@@ -1687,7 +1689,7 @@ default-package-overrides:
   - pagure-cli ==0.2
   - pandoc ==2.13
   - pandoc-dhall-decoder ==0.1.0.1
-  - pandoc-plot ==1.1.1
+  - pandoc-plot ==1.2.0
   - pandoc-throw ==0.1.0.0
   - pandoc-types ==1.22
   - pantry ==0.5.1.5
@@ -2177,6 +2179,7 @@ default-package-overrides:
   - splint ==1.0.1.4
   - split ==0.2.3.4
   - splitmix ==0.1.0.3
+  - splitmix-distributions ==0.7.0.0
   - spoon ==0.3.1
   - spreadsheet ==0.1.3.8
   - sqlcli ==0.2.2.0
@@ -2506,8 +2509,8 @@ default-package-overrides:
   - utf8-string ==1.0.2
   - util ==0.1.17.1
   - utility-ht ==0.0.16
-  - uuid ==1.3.14
-  - uuid-types ==1.0.4
+  - uuid ==1.3.15
+  - uuid-types ==1.0.5
   - validation ==1.1.1
   - validation-selective ==0.1.0.1
   - validity ==0.11.0.0
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 7a68332fc8f..a8ccc4f3851 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -22,6 +22,7 @@ dont-distribute-packages:
  - approx-rand-test
  - barley
  - bson-mapping
+ - bv-sized-lens
  - clash-prelude-quickcheck
  - click-clack
  - cloudyfs
@@ -79,9 +80,9 @@ dont-distribute-packages:
  - openpgp-crypto-api
  - patch-image
  - perdure
- - persistent-mysql_2_12_1_0
- - persistent-postgresql_2_12_1_1
- - persistent-sqlite_2_12_0_0
+ - persistent-mysql_2_13_0_0
+ - persistent-postgresql_2_13_0_0
+ - persistent-sqlite_2_13_0_0
  - pontarius-mediaserver
  - pontarius-xmpp-extras
  - pontarius-xpmn
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index fbed88ccbdc..c5d8b418b51 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -101,17 +101,6 @@ self: super: builtins.intersectAttrs super {
   ormolu = enableSeparateBinOutput super.ormolu;
   ghcid = enableSeparateBinOutput super.ghcid;
 
-  # Ensure the necessary frameworks for Darwin.
-  OpenAL = if pkgs.stdenv.isDarwin
-    then addExtraLibrary super.OpenAL pkgs.darwin.apple_sdk.frameworks.OpenAL
-    else super.OpenAL;
-
-  # Ensure the necessary frameworks for Darwin.
-  proteaaudio = if pkgs.stdenv.isDarwin
-    then addExtraLibrary super.proteaaudio pkgs.darwin.apple_sdk.frameworks.AudioToolbox
-    else super.proteaaudio;
-
-
   hzk = overrideCabal super.hzk (drv: {
     preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
     configureFlags = [ "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper" ];
@@ -131,39 +120,11 @@ self: super: builtins.intersectAttrs super {
   # Foreign dependency name clashes with another Haskell package.
   libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
 
-  # Fix Darwin build.
-  halive = if pkgs.stdenv.isDarwin
-    then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit
-    else super.halive;
-
   # Heist's test suite requires system pandoc
   heist = overrideCabal super.heist (drv: {
     testToolDepends = [pkgs.pandoc];
   });
 
-  # the system-fileio tests use canonicalizePath, which fails in the sandbox
-  system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio;
-
-  # Prevents needing to add `security_tool` as a run-time dependency for
-  # everything using x509-system to give access to the `security` executable.
-  x509-system =
-    if pkgs.stdenv.hostPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
-    then
-      # darwin.security_tool is broken in Mojave (#45042)
-
-      # We will use the system provided security for now.
-      # Beware this WILL break in sandboxes!
-
-      # TODO(matthewbauer): If someone really needs this to work in sandboxes,
-      # I think we can add a propagatedImpureHost dep here, but I’m hoping to
-      # get a proper fix available soonish.
-      overrideCabal super.x509-system (drv: {
-        postPatch = (drv.postPatch or "") + ''
-          substituteInPlace System/X509/MacOS.hs --replace security /usr/bin/security
-        '';
-      })
-    else super.x509-system;
-
   # https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
   gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
   glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.buildHaskellPackages.gtk2hs-buildtools) pkgs.glib) ["fortify"];
@@ -266,12 +227,6 @@ self: super: builtins.intersectAttrs super {
   # /homeless-shelter. Disabled.
   purescript = dontCheck super.purescript;
 
-  # https://github.com/haskell-foundation/foundation/pull/412
-  foundation =
-    if pkgs.stdenv.isDarwin
-    then dontCheck super.foundation
-    else super.foundation;
-
   # Hardcoded include path
   poppler = overrideCabal super.poppler (drv: {
     postPatch = ''
@@ -283,23 +238,8 @@ self: super: builtins.intersectAttrs super {
   # Uses OpenGL in testing
   caramia = dontCheck super.caramia;
 
-  llvm-hs =
-    let llvmHsWithLlvm9 = super.llvm-hs.override { llvm-config = pkgs.llvm_9; };
-    in
-    if pkgs.stdenv.isDarwin
-    then
-      overrideCabal llvmHsWithLlvm9 (oldAttrs: {
-        # One test fails on darwin.
-        doCheck = false;
-        # llvm-hs's Setup.hs file tries to add the lib/ directory from LLVM8 to
-        # the DYLD_LIBRARY_PATH environment variable.  This messes up clang
-        # when called from GHC, probably because clang is version 7, but we are
-        # using LLVM8.
-        preCompileBuildDriver = oldAttrs.preCompileBuildDriver or "" + ''
-          substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()"
-        '';
-      })
-    else llvmHsWithLlvm9;
+  # requires llvm 9 specifically https://github.com/llvm-hs/llvm-hs/#building-from-source
+  llvm-hs = super.llvm-hs.override { llvm-config = pkgs.llvm_9; };
 
   # Needs help finding LLVM.
   spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
@@ -322,14 +262,6 @@ self: super: builtins.intersectAttrs super {
   # Patch to consider NIX_GHC just like xmonad does
   dyre = appendPatch super.dyre ./patches/dyre-nix.patch;
 
-  yesod-bin = if pkgs.stdenv.isDarwin
-    then addBuildDepend super.yesod-bin pkgs.darwin.apple_sdk.frameworks.Cocoa
-    else super.yesod-bin;
-
-  hmatrix = if pkgs.stdenv.isDarwin
-    then addBuildDepend super.hmatrix pkgs.darwin.apple_sdk.frameworks.Accelerate
-    else super.hmatrix;
-
   # https://github.com/edwinb/EpiVM/issues/13
   # https://github.com/edwinb/EpiVM/issues/14
   epic = addExtraLibraries (addBuildTool super.epic self.buildHaskellPackages.happy) [pkgs.boehmgc pkgs.gmp];
@@ -405,43 +337,8 @@ self: super: builtins.intersectAttrs super {
   # Looks like Avahi provides the missing library
   dnssd = super.dnssd.override { dns_sd = pkgs.avahi.override { withLibdnssdCompat = true; }; };
 
-  # Ensure the necessary frameworks are propagatedBuildInputs on darwin
-  OpenGLRaw = overrideCabal super.OpenGLRaw (drv: {
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            [ pkgs.darwin.apple_sdk.frameworks.OpenGL ];
-    preConfigure = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
-      frameworkPaths=($(for i in $nativeBuildInputs; do if [ -d "$i"/Library/Frameworks ]; then echo "-F$i/Library/Frameworks"; fi done))
-      frameworkPaths=$(IFS=, ; echo "''${frameworkPaths[@]}")
-      configureFlags+=$(if [ -n "$frameworkPaths" ]; then echo -n "--ghc-options=-optl=$frameworkPaths"; fi)
-    '';
-  });
-  GLURaw = overrideCabal super.GLURaw (drv: {
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            [ pkgs.darwin.apple_sdk.frameworks.OpenGL ];
-  });
-  bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
-    doCheck = false; # requires an active X11 display
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            (with pkgs.darwin.apple_sdk.frameworks;
-                             [ AGL Cocoa OpenGL IOKit Kernel CoreVideo
-                               pkgs.darwin.CF ]);
-  });
-  OpenCL = overrideCabal super.OpenCL (drv: {
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            [ pkgs.darwin.apple_sdk.frameworks.OpenCL ];
-  });
+  # requires an X11 display
+  bindings-GLFW = dontCheck super.bindings-GLFW;
 
   # requires an X11 display in test suite
   gi-gtk-declarative = dontCheck super.gi-gtk-declarative;
@@ -474,16 +371,8 @@ self: super: builtins.intersectAttrs super {
     testHaskellDepends = (drv.testHaskellDepends or []) ++ [ self.test-framework self.test-framework-hunit ];
   });
 
-  # cabal2nix likes to generate dependencies on hinotify when hfsevents is really required
-  # on darwin: https://github.com/NixOS/cabal2nix/issues/146.
-  hinotify = if pkgs.stdenv.isDarwin then self.hfsevents else super.hinotify;
-
-  # FSEvents API is very buggy and tests are unreliable. See
-  # http://openradar.appspot.com/10207999 and similar issues.
   # https://github.com/haskell-fswatch/hfsnotify/issues/62
-  fsnotify = if pkgs.stdenv.isDarwin
-    then addBuildDepend (dontCheck super.fsnotify) pkgs.darwin.apple_sdk.frameworks.Cocoa
-    else dontCheck super.fsnotify;
+  fsnotify = dontCheck super.fsnotify;
 
   hidapi = addExtraLibrary super.hidapi pkgs.udev;
 
@@ -844,21 +733,6 @@ self: super: builtins.intersectAttrs super {
       '' + (drv.postInstall or "");
     });
 
-  FractalArt = overrideCabal super.FractalArt (drv: {
-    librarySystemDepends = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isDarwin [
-      pkgs.darwin.libobjc
-      pkgs.darwin.apple_sdk.frameworks.AppKit
-    ] ++ (drv.librarySystemDepends or []);
-  });
-
-  arbtt = overrideCabal super.arbtt (drv: {
-    librarySystemDepends = pkgs.lib.optionals pkgs.stdenv.hostPlatform.isDarwin [
-      pkgs.darwin.apple_sdk.frameworks.Foundation
-      pkgs.darwin.apple_sdk.frameworks.Carbon
-      pkgs.darwin.apple_sdk.frameworks.IOKit
-    ] ++ (drv.librarySystemDepends or []);
-  });
-
   # set more accurate set of platforms instead of maintaining
   # an ever growing list of platforms to exclude via unsupported-platforms
   cpuid = overrideCabal super.cpuid {
@@ -867,4 +741,35 @@ self: super: builtins.intersectAttrs super {
 
   # Pass the correct libarchive into the package.
   streamly-archive = super.streamly-archive.override { archive = pkgs.libarchive; };
+
+  # passes the -msse2 flag which only works on x86 platforms
+  hsignal = overrideCabal super.hsignal {
+    platforms = pkgs.lib.platforms.x86;
+  };
+
+  hls-brittany-plugin = overrideCabal super.hls-brittany-plugin (drv: {
+    testToolDepends = [ pkgs.git ];
+    preCheck = ''
+      export HOME=$TMPDIR/home
+    '';
+  });
+  hls-class-plugin = overrideCabal super.hls-class-plugin (drv: {
+    testToolDepends = [ pkgs.git ];
+    preCheck = ''
+      export HOME=$TMPDIR/home
+    '';
+  });
+  # Tests have file permissions expections that don‘t work with the nix store.
+  hls-stylish-haskell-plugin = dontCheck super.hls-stylish-haskell-plugin;
+  hls-haddock-comments-plugin = overrideCabal super.hls-haddock-comments-plugin (drv: {
+    testToolDepends = [ pkgs.git ];
+    preCheck = ''
+      export HOME=$TMPDIR/home
+    '';
+  });
+  hls-eval-plugin = overrideCabal super.hls-eval-plugin (drv: {
+    preCheck = ''
+      export HOME=$TMPDIR/home
+    '';
+  });
 }
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index a4f0399cf3c..8392e751da2 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -7,6 +7,8 @@
 , nonHackagePackages ? import ./non-hackage-packages.nix
 , configurationCommon ? import ./configuration-common.nix
 , configurationNix ? import ./configuration-nix.nix
+, configurationArm ? import ./configuration-arm.nix
+, configurationDarwin ? import ./configuration-darwin.nix
 }:
 
 let
@@ -19,17 +21,24 @@ let
     inherit stdenv haskellLib ghc buildHaskellPackages extensible-self all-cabal-hashes;
   };
 
-  commonConfiguration = configurationCommon { inherit pkgs haskellLib; };
-  nixConfiguration = configurationNix { inherit pkgs haskellLib; };
-
-  extensible-self = makeExtensible
-    (extends overrides
-      (extends packageSetConfig
-        (extends compilerConfig
-          (extends commonConfiguration
-            (extends nixConfiguration
-              (extends nonHackagePackages
-                haskellPackages))))));
+  isArm = with stdenv.hostPlatform; isAarch64 || isAarch32;
+  platformConfigurations = lib.optionals isArm [
+    (configurationArm { inherit pkgs haskellLib; })
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    (configurationDarwin { inherit pkgs haskellLib; })
+  ];
+
+  extensions = lib.composeManyExtensions ([
+    nonHackagePackages
+    (configurationNix { inherit pkgs haskellLib; })
+    (configurationCommon { inherit pkgs haskellLib; })
+  ] ++ platformConfigurations ++ [
+    compilerConfig
+    packageSetConfig
+    overrides
+  ]);
+
+  extensible-self = makeExtensible (extends extensions haskellPackages);
 
 in
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 406493133c6..24849b1e5ba 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -20954,9 +20954,7 @@ self: {
        ];
        description = "Bindings to the VulkanMemoryAllocator library";
        license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
+       platforms = [ "aarch64-linux" "x86_64-linux" ];
      }) {};
 
   "WAVE" = callPackage
@@ -25718,20 +25716,20 @@ self: {
 
   "agda-unused" = callPackage
     ({ mkDerivation, aeson, Agda, base, containers, directory, filepath
-     , hspec, megaparsec, mtl, optparse-applicative, text
+     , hspec, mtl, optparse-applicative, text
      }:
      mkDerivation {
        pname = "agda-unused";
-       version = "0.1.0";
-       sha256 = "1g0iyv9x46ql8j9ggb6nw58274vqb6z850x26glaqcdwa3wvn1i1";
+       version = "0.2.0";
+       sha256 = "0fxrmcc0kn3jyjbij2fv72pw0r1l2rvg8wglj1i8d438jqpffigw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         Agda base containers directory filepath megaparsec mtl text
+         Agda base containers directory filepath mtl text
        ];
        executableHaskellDepends = [
-         aeson base directory filepath mtl optparse-applicative text
+         aeson base directory mtl optparse-applicative text
        ];
        testHaskellDepends = [ base containers filepath hspec text ];
        description = "Check for unused code in an Agda project";
@@ -33168,16 +33166,14 @@ self: {
 
   "armor" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , filepath, hspec, HUnit, lens, text
+     , filepath, hashable, hspec, HUnit, lens, text
      }:
      mkDerivation {
        pname = "armor";
-       version = "0.1";
-       sha256 = "0jmq6lhi1byhjzgkvnn4p481z8wik93angx7sf6cjfj5j0kqzv71";
-       revision = "4";
-       editedCabalFile = "1vnjq91pawr4r7parg2kxs01d47b3lp8jpsji270bbmimqa0nql9";
+       version = "0.2";
+       sha256 = "1flidqihfgb1vwikm3q4dyjdjzrc5z2955ph6h30q0dyv4707s94";
        libraryHaskellDepends = [
-         base bytestring containers directory filepath HUnit lens
+         base bytestring containers directory filepath hashable HUnit lens
        ];
        testHaskellDepends = [
          aeson base bytestring containers directory hspec HUnit lens text
@@ -47539,6 +47535,18 @@ self: {
        broken = true;
      }) {};
 
+  "bv-sized-lens" = callPackage
+    ({ mkDerivation, base, bv-sized, lens, parameterized-utils }:
+     mkDerivation {
+       pname = "bv-sized-lens";
+       version = "0.1.0.0";
+       sha256 = "1njwizsxpmlpb3vm460ciw2x7byfz4y0g8bhsnfiimmyn7yazdr6";
+       libraryHaskellDepends = [ base bv-sized lens parameterized-utils ];
+       description = "Well-typed lenses for bv-sized bitvectors";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "byline" = callPackage
     ({ mkDerivation, ansi-terminal, attoparsec, base, colour
      , exceptions, free, haskeline, mtl, optparse-applicative, relude
@@ -48415,6 +48423,17 @@ self: {
        broken = true;
      }) {};
 
+  "c-enum" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "c-enum";
+       version = "0.1.0.0";
+       sha256 = "02jxhscf8ibzqkhyvsgb04wxl3a02n2qipi3gmdppi6jffk2a1sj";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base template-haskell ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "c-io" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -50470,8 +50489,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.28.5";
-       sha256 = "09ja2imqhz7kr97fhfskj1g7s7q88yrpa0p2s1n55fwkn1f2d3bs";
+       version = "0.1.29.0";
+       sha256 = "05i8364x6d5kh4vimg8xp5cwskbzayk71kb6r4gg95xdi6vhgnjx";
        libraryHaskellDepends = [
          aeson async base bytestring colour concurrent-extra connection
          containers data-default-class data-flags deepseq deque df1 di-core
@@ -50494,8 +50513,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity-commands";
-       version = "0.1.0.0";
-       sha256 = "0l2x65w7inib5bdfw0gzffm3pdlsylnivnjc8y82x7fi6jha8jcp";
+       version = "0.1.1.0";
+       sha256 = "0sx0pcxh9f7r4nlhii5i3vwxpbhngzprp4h3yvp2xvkr8mp6pyk2";
        libraryHaskellDepends = [
          base generic-lens lens megaparsec polysemy polysemy-plugin text
          text-show unordered-containers
@@ -54261,27 +54280,38 @@ self: {
      }) {};
 
   "chiasma" = callPackage
-    ({ mkDerivation, base, bytestring, data-default-class, directory
-     , either, filepath, free, HTF, lens, mtl, parsec, posix-pty
-     , process, resourcet, split, transformers, typed-process, unix
-     , unliftio
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, composition
+     , composition-extra, conduit, conduit-extra, containers, cornea
+     , data-default, deepseq, directory, either, exceptions, filepath
+     , free, hedgehog, lens, mtl, parsec, parsers, posix-pty
+     , prettyprinter, prettyprinter-ansi-terminal, process, random
+     , relude, resourcet, split, stm-chans, stm-conduit, tasty
+     , tasty-hedgehog, text, transformers, typed-process, unix, unliftio
+     , unliftio-core, uuid
      }:
      mkDerivation {
        pname = "chiasma";
-       version = "0.1.0.0";
-       sha256 = "140p3qrrdh3im5qj43swl9cvljgyc39zy7ci5048j42h8x9q7glg";
-       libraryHaskellDepends = [
-         base bytestring data-default-class directory either filepath free
-         lens mtl parsec posix-pty process resourcet split transformers
-         typed-process unix unliftio
-       ];
-       testHaskellDepends = [
-         base bytestring data-default-class directory either filepath free
-         HTF lens mtl parsec posix-pty process resourcet split transformers
-         typed-process unix unliftio
+       version = "0.2.0.0";
+       sha256 = "11pbg9mlmp15hs2wdca0qyhbc94d91xkl75jlcaksla8l1qnnz9m";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring composition composition-extra
+         conduit conduit-extra containers cornea data-default deepseq
+         directory either exceptions filepath free lens mtl parsec parsers
+         posix-pty prettyprinter prettyprinter-ansi-terminal process random
+         relude resourcet split stm-chans stm-conduit text transformers
+         typed-process unix unliftio unliftio-core uuid
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bytestring composition composition-extra
+         conduit conduit-extra containers cornea data-default deepseq
+         directory either exceptions filepath free hedgehog lens mtl parsec
+         parsers posix-pty prettyprinter prettyprinter-ansi-terminal process
+         random relude resourcet split stm-chans stm-conduit tasty
+         tasty-hedgehog text transformers typed-process unix unliftio
+         unliftio-core uuid
        ];
        description = "tmux api";
-       license = lib.licenses.mit;
+       license = "BSD-2-Clause-Patent";
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -58185,8 +58215,8 @@ self: {
      }:
      mkDerivation {
        pname = "code-conjure";
-       version = "0.1.2";
-       sha256 = "14xgpax596wd66kan1nj043n9f4wwn34rr77hgj6wir9aygx9sla";
+       version = "0.2.2";
+       sha256 = "1rf9d6mwg965r4bnjxbcw2dzcf4fxqn9hnysxzyqxnyhrr8q4149";
        libraryHaskellDepends = [
          base express leancheck speculate template-haskell
        ];
@@ -64519,8 +64549,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.2.6.0";
-       sha256 = "1qyl7kcdqxfl2inx66n7pa1z2pqjxrz1bpg3jjknjj0kpw9rlhf3";
+       version = "0.2.7.1";
+       sha256 = "1bm75bdmcrjizmrspl52qqs4vq9hlyh7fjv5y5lfpkmqrs45045b";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
          exceptions filepath fsnotify hashable hourglass mtl prettyprinter
@@ -64616,25 +64646,24 @@ self: {
      }) {inherit (pkgs) rocksdb;};
 
   "cornea" = callPackage
-    ({ mkDerivation, base-noprelude, either, HTF, lens, lifted-base
-     , monad-control, mtl, relude, template-haskell, th-abstraction
-     , transformers
+    ({ mkDerivation, base, either, hedgehog, lens, lifted-base
+     , monad-control, mtl, relude, tasty, tasty-hedgehog
+     , template-haskell, th-abstraction, transformers
      }:
      mkDerivation {
        pname = "cornea";
-       version = "0.3.1.2";
-       sha256 = "04iika5r5w3347w87b8whwrxym5nzvgl5pr76fpxw78fwvi1nvzk";
+       version = "0.4.0.0";
+       sha256 = "0hm17g350gnklvgi5nsx03lgbx2zs9h4q11y2gi9zjnm6gv6gjrn";
        libraryHaskellDepends = [
-         base-noprelude either lens lifted-base monad-control mtl relude
+         base either lens lifted-base monad-control mtl relude
          template-haskell th-abstraction transformers
        ];
        testHaskellDepends = [
-         base-noprelude either HTF lens lifted-base monad-control mtl relude
-         template-haskell th-abstraction transformers
+         base either hedgehog lens lifted-base monad-control mtl relude
+         tasty tasty-hedgehog template-haskell th-abstraction transformers
        ];
        description = "classy optical monadic state";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
+       license = "BSD-2-Clause-Patent";
      }) {};
 
   "coroutine-enumerator" = callPackage
@@ -64721,7 +64750,7 @@ self: {
        description = "A modern, lightweight, complete client for CouchDB";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-     }) {inherit (pkgs) couchdb;};
+     }) {couchdb = null;};
 
   "couchdb-conduit" = callPackage
     ({ mkDerivation, aeson, attoparsec, attoparsec-conduit, base
@@ -78301,6 +78330,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "do-spaces" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring
+     , case-insensitive, conduit, conduit-extra, config-ini, containers
+     , cryptonite, exceptions, extra, filepath, generic-lens, hspec
+     , http-client-tls, http-conduit, http-types, memory, microlens
+     , mime-types, mtl, resourcet, text, time, transformers, xml-conduit
+     }:
+     mkDerivation {
+       pname = "do-spaces";
+       version = "0.1.0";
+       sha256 = "1xj0n2pmmwkm4ss5gvsbvw8m545w4890a3hhk1ns1vbbm06zmvsi";
+       libraryHaskellDepends = [
+         base base16-bytestring bytestring case-insensitive conduit
+         conduit-extra config-ini containers cryptonite exceptions extra
+         filepath generic-lens http-client-tls http-conduit http-types
+         memory microlens mime-types mtl text time transformers xml-conduit
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive conduit conduit-extra containers
+         generic-lens hspec http-client-tls http-conduit http-types
+         microlens mtl resourcet text time
+       ];
+       description = "DigitalOcean Spaces API bindings";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "dobutok" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -85923,6 +85978,8 @@ self: {
        pname = "esqueleto";
        version = "3.4.1.1";
        sha256 = "15355vc3ysqr4yd149xz7zm7iba7pb04p3yxgp1n6dxczwldjf43";
+       revision = "1";
+       editedCabalFile = "0rwj2cg7pkn4nwapyk9syb64f0qycq7kqwbpciwwq9xdviwcvqzk";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -85939,7 +85996,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_4_2_0" = callPackage
+  "esqueleto_3_4_2_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
      , conduit, containers, exceptions, hspec, monad-logger, mtl, mysql
      , mysql-simple, persistent, persistent-mysql, persistent-postgresql
@@ -85949,8 +86006,10 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.4.2.0";
-       sha256 = "1gmh96a0vqvxizgs2k66p06jhjcgqrm5phbvahs7b2iavaralpr3";
+       version = "3.4.2.1";
+       sha256 = "0yh2fgk5rjphszn2prww190nsvw84j68js7wnd6p5iwynrw6ahxh";
+       revision = "1";
+       editedCabalFile = "0nsm17spkhsykizmpr29x8zq16ha6j0325r08ms675jn574ni2g1";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -89100,17 +89159,17 @@ self: {
      }) {};
 
   "fake" = callPackage
-    ({ mkDerivation, base, containers, generics-sop, hspec, random
-     , text, time
+    ({ mkDerivation, base, containers, generics-sop, hspec, lens
+     , random, text, time
      }:
      mkDerivation {
        pname = "fake";
-       version = "0.1.1.3";
-       sha256 = "07ciaxbfvhajjdj5sidvy9cxpjfssjkxykrbgnghihrla78pwq1n";
+       version = "0.1.2";
+       sha256 = "03v224sag70w1ibymw1cmi3lwby25wl0254p2gzy7s330fmlbymr";
        libraryHaskellDepends = [
          base containers generics-sop random text time
        ];
-       testHaskellDepends = [ base hspec random text time ];
+       testHaskellDepends = [ base hspec lens random text time ];
        description = "Randomly generated fake data";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -101623,8 +101682,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-events";
-       version = "0.16.0";
-       sha256 = "0cr6aj4v9j2fadwhhifjlbg4anyc05phfmy3pvd9h7gn12a2ydr9";
+       version = "0.17.0";
+       sha256 = "059csl9j391iqbxaia9kawsksgbiy3ffdk9pqabb68gqrn0b7icc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -102874,69 +102933,6 @@ self: {
      }) {};
 
   "ghcide" = callPackage
-    ({ mkDerivation, aeson, array, async, base, base16-bytestring
-     , binary, bytestring, bytestring-encoding, case-insensitive
-     , containers, cryptohash-sha1, data-default, deepseq, dependent-map
-     , dependent-sum, Diff, directory, dlist, extra, filepath
-     , fingertree, fuzzy, ghc, ghc-boot, ghc-boot-th, ghc-check
-     , ghc-exactprint, ghc-paths, ghc-typelits-knownnat, gitrev, Glob
-     , haddock-library, hashable, heapsize, hie-bios, hie-compat, hiedb
-     , hls-plugin-api, hp2pretty, hslogger, implicit-hie
-     , implicit-hie-cradle, lens, lsp, lsp-test, lsp-types, mtl
-     , network-uri, opentelemetry, optparse-applicative, parallel
-     , prettyprinter, prettyprinter-ansi-terminal, process, QuickCheck
-     , quickcheck-instances, record-dot-preprocessor, record-hasfield
-     , regex-tdfa, retrie, rope-utf16-splay, safe, safe-exceptions
-     , shake, shake-bench, sorted-list, sqlite-simple, stm, syb, tasty
-     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
-     , tasty-rerun, text, time, transformers, unix, unliftio
-     , unliftio-core, unordered-containers, utf8-string, vector, yaml
-     }:
-     mkDerivation {
-       pname = "ghcide";
-       version = "1.0.0.0";
-       sha256 = "15hz49d68229bnp8g7q1ac60ryd4zbyc1rbxsfaq5lb586ps82k8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson array async base base16-bytestring binary bytestring
-         bytestring-encoding case-insensitive containers cryptohash-sha1
-         data-default deepseq dependent-map dependent-sum Diff directory
-         dlist extra filepath fingertree fuzzy ghc ghc-boot ghc-boot-th
-         ghc-check ghc-exactprint ghc-paths Glob haddock-library hashable
-         heapsize hie-bios hie-compat hiedb hls-plugin-api hslogger
-         implicit-hie-cradle lens lsp lsp-types mtl network-uri
-         opentelemetry parallel prettyprinter prettyprinter-ansi-terminal
-         regex-tdfa retrie rope-utf16-splay safe safe-exceptions shake
-         sorted-list sqlite-simple stm syb text time transformers unix
-         unliftio unliftio-core unordered-containers utf8-string vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring containers data-default directory extra
-         filepath ghc gitrev hashable heapsize hie-bios hiedb hls-plugin-api
-         lens lsp lsp-test lsp-types optparse-applicative process
-         safe-exceptions shake text unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base binary bytestring containers data-default directory
-         extra filepath ghc ghc-typelits-knownnat haddock-library
-         hls-plugin-api lens lsp lsp-test lsp-types network-uri
-         optparse-applicative process QuickCheck quickcheck-instances
-         record-dot-preprocessor record-hasfield rope-utf16-splay safe
-         safe-exceptions shake tasty tasty-expected-failure tasty-hunit
-         tasty-quickcheck tasty-rerun text
-       ];
-       testToolDepends = [ implicit-hie ];
-       benchmarkHaskellDepends = [
-         aeson base directory extra filepath optparse-applicative shake
-         shake-bench text yaml
-       ];
-       benchmarkToolDepends = [ hp2pretty implicit-hie ];
-       description = "The core of an IDE";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ghcide_1_2_0_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, async, base
      , base16-bytestring, binary, bytestring, bytestring-encoding
      , case-insensitive, containers, cryptohash-sha1, data-default
@@ -103000,7 +102996,6 @@ self: {
        benchmarkToolDepends = [ hp2pretty implicit-hie ];
        description = "The core of an IDE";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghcjs-ajax" = callPackage
@@ -115502,8 +115497,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "2.3.0";
-       sha256 = "03cz3inkkqbdnwwvsf7dhclp9svi8c0lpjmcp81ff9vxr1v6x73x";
+       version = "2.4.0";
+       sha256 = "1b24hc695v18gpj276wmzpbns6bfn0qjhj30nq6yiqbiq04md1h5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115675,8 +115670,8 @@ self: {
      }:
      mkDerivation {
        pname = "haggle";
-       version = "0.1.0.0";
-       sha256 = "0fpbmllp0p23c258gam7xm0dvwphw0zpmydmg9ygl4yl1kiav470";
+       version = "0.1.0.1";
+       sha256 = "1j598hcjw0p9iac4h91w47k4rh9k0h2r9gk3rrfkklvw84aznkrz";
        libraryHaskellDepends = [
          base containers deepseq hashable monad-primitive primitive ref-tf
          vector
@@ -118533,8 +118528,8 @@ self: {
      }:
      mkDerivation {
        pname = "hascard";
-       version = "0.5.0.1";
-       sha256 = "08j3bi6a04pkkf99ghw2h7z1bdisby0d3hyqv559a1pxwpbi7k22";
+       version = "0.5.0.2";
+       sha256 = "1sh4903x05fwci7nmlqd0f2wjjs5b9bqckmgrkjpnawcnsbby1ds";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -120074,53 +120069,49 @@ self: {
      }) {};
 
   "haskell-language-server" = callPackage
-    ({ mkDerivation, aeson, async, base, base16-bytestring, binary
-     , blaze-markup, brittany, bytestring, containers, cryptohash-sha1
-     , data-default, deepseq, directory, extra, filepath, floskell
-     , fourmolu, fuzzy, ghc, ghc-boot-th, ghc-paths, ghcide, gitrev
-     , hashable, hie-bios, hiedb, hls-class-plugin, hls-eval-plugin
-     , hls-explicit-imports-plugin, hls-haddock-comments-plugin
-     , hls-hlint-plugin, hls-plugin-api, hls-retrie-plugin
-     , hls-splice-plugin, hls-tactics-plugin, hslogger, hspec
-     , hspec-core, hspec-expectations, lens, lsp, lsp-test, megaparsec
-     , mtl, optparse-applicative, optparse-simple, ormolu, process
-     , regex-tdfa, safe-exceptions, shake, sqlite-simple, stm
-     , stylish-haskell, tasty, tasty-ant-xml, tasty-expected-failure
-     , tasty-golden, tasty-hunit, tasty-rerun, temporary, text
-     , transformers, unordered-containers, with-utf8, yaml
+    ({ mkDerivation, aeson, aeson-pretty, async, base
+     , base16-bytestring, binary, bytestring, containers
+     , cryptohash-sha1, data-default, deepseq, directory, extra
+     , filepath, floskell, fourmolu, fuzzy, ghc, ghc-boot-th, ghc-paths
+     , ghcide, gitrev, hashable, hie-bios, hiedb, hls-brittany-plugin
+     , hls-class-plugin, hls-eval-plugin, hls-explicit-imports-plugin
+     , hls-haddock-comments-plugin, hls-hlint-plugin, hls-plugin-api
+     , hls-retrie-plugin, hls-splice-plugin, hls-stylish-haskell-plugin
+     , hls-tactics-plugin, hls-test-utils, hslogger, hspec-expectations
+     , lens, lsp, lsp-test, lsp-types, mtl, optparse-applicative
+     , optparse-simple, ormolu, process, regex-tdfa, safe-exceptions
+     , shake, sqlite-simple, temporary, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "1.0.0.0";
-       sha256 = "0jchps7rwsbfq1fsyyf4jgxb4b11d8c3iaq2p4c5vz7vz2d6w1s3";
+       version = "1.1.0.0";
+       sha256 = "0zbr8qr097mjcsbgdkm6a8ala1ifdajmllr8basvrndn28zgi5cg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base base16-bytestring bytestring containers cryptohash-sha1
-         data-default directory extra filepath ghc ghcide gitrev hie-bios
-         hiedb hls-plugin-api hslogger lsp optparse-applicative
-         optparse-simple process safe-exceptions shake sqlite-simple text
-         unordered-containers
+         aeson-pretty async base base16-bytestring bytestring containers
+         cryptohash-sha1 data-default directory extra filepath ghc ghcide
+         gitrev hie-bios hiedb hls-plugin-api hslogger lsp
+         optparse-applicative optparse-simple process safe-exceptions shake
+         sqlite-simple text unordered-containers
        ];
        executableHaskellDepends = [
-         aeson async base base16-bytestring binary brittany bytestring
-         containers cryptohash-sha1 data-default deepseq directory extra
-         filepath floskell fourmolu fuzzy ghc ghc-boot-th ghc-paths ghcide
-         gitrev hashable hie-bios hiedb hls-class-plugin hls-eval-plugin
-         hls-explicit-imports-plugin hls-haddock-comments-plugin
-         hls-hlint-plugin hls-plugin-api hls-retrie-plugin hls-splice-plugin
+         aeson async base base16-bytestring binary bytestring containers
+         cryptohash-sha1 data-default deepseq directory extra filepath
+         floskell fourmolu fuzzy ghc ghc-boot-th ghc-paths ghcide gitrev
+         hashable hie-bios hiedb hls-brittany-plugin hls-class-plugin
+         hls-eval-plugin hls-explicit-imports-plugin
+         hls-haddock-comments-plugin hls-hlint-plugin hls-plugin-api
+         hls-retrie-plugin hls-splice-plugin hls-stylish-haskell-plugin
          hls-tactics-plugin hslogger lens lsp mtl optparse-applicative
          optparse-simple ormolu process regex-tdfa safe-exceptions shake
-         sqlite-simple stylish-haskell temporary text transformers
-         unordered-containers with-utf8
+         sqlite-simple temporary text transformers unordered-containers
        ];
        testHaskellDepends = [
-         aeson base blaze-markup bytestring containers data-default deepseq
-         directory extra filepath ghcide hie-bios hls-plugin-api hslogger
-         hspec hspec-core hspec-expectations lens lsp lsp-test megaparsec
-         process stm tasty tasty-ant-xml tasty-expected-failure tasty-golden
-         tasty-hunit tasty-rerun temporary text transformers
-         unordered-containers yaml
+         aeson base bytestring containers data-default directory extra
+         filepath ghcide hls-plugin-api hls-test-utils hspec-expectations
+         lens lsp-test lsp-types process text unordered-containers
        ];
        testToolDepends = [ ghcide ];
        description = "LSP server for GHC";
@@ -124763,29 +124754,31 @@ self: {
   "hcheckers" = callPackage
     ({ mkDerivation, aeson, array, base, binary, bits, bytes
      , bytestring, clock, concurrent-extra, containers, data-default
-     , directory, ekg, ekg-core, exceptions, fast-logger, filepath
-     , hashable, hashtables, heavy-logger, hsyslog, http-types
-     , megaparsec, microlens, monad-metrics, mtl, mwc-random, network
-     , optparse-applicative, psqueues, random, random-access-file
-     , random-shuffle, scotty, stm, stm-containers, store
-     , template-haskell, text, text-format-heavy, unix, unix-bytestring
-     , unordered-containers, vector, wai, warp, yaml
+     , directory, ekg, ekg-core, exceptions, fast-logger, filepath, Glob
+     , hashable, hashtables, heavy-logger, hsyslog, http-types, list-t
+     , megaparsec, microlens, modern-uri, monad-metrics, mtl, mwc-random
+     , network, optparse-applicative, psqueues, random
+     , random-access-file, random-shuffle, req, scotty, stm
+     , stm-containers, store, template-haskell, text, text-format-heavy
+     , unix, unix-bytestring, unordered-containers, vector, wai, warp
+     , yaml
      }:
      mkDerivation {
        pname = "hcheckers";
-       version = "0.1.0.1";
-       sha256 = "1l4cj7v4scnz5cq05294ym4gyv163ry09bpxp1vg1m1v88ww5i2w";
+       version = "0.1.0.2";
+       sha256 = "1v4hnqvi47kn10c1rjgsggxmajy7xnl462ghb2fs61ksbmrdi5b8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson array base binary bits bytes bytestring clock
          concurrent-extra containers data-default directory ekg ekg-core
-         exceptions fast-logger filepath hashable hashtables heavy-logger
-         hsyslog http-types megaparsec microlens monad-metrics mtl
-         mwc-random network optparse-applicative psqueues random
-         random-access-file random-shuffle scotty stm stm-containers store
-         template-haskell text text-format-heavy unix unix-bytestring
-         unordered-containers vector wai warp yaml
+         exceptions fast-logger filepath Glob hashable hashtables
+         heavy-logger hsyslog http-types list-t megaparsec microlens
+         modern-uri monad-metrics mtl mwc-random network
+         optparse-applicative psqueues random random-access-file
+         random-shuffle req scotty stm stm-containers store template-haskell
+         text text-format-heavy unix unix-bytestring unordered-containers
+         vector wai warp yaml
        ];
        description = "Implementation of checkers (\"draughts\") board game - server application";
        license = lib.licenses.bsd3;
@@ -130655,6 +130648,26 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "hkgr_0_3" = callPackage
+    ({ mkDerivation, base, bytestring, directory, extra, filepath
+     , simple-cabal, simple-cmd-args, typed-process, xdg-basedir
+     }:
+     mkDerivation {
+       pname = "hkgr";
+       version = "0.3";
+       sha256 = "1w8ww2dkskdfs0lh6wbn5byhnrf6mwih7n5yp81fr6awdc0k1qrm";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         base bytestring directory extra filepath simple-cabal
+         simple-cmd-args typed-process xdg-basedir
+       ];
+       description = "Simple Hackage release workflow for package maintainers";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hkt" = callPackage
     ({ mkDerivation, base, hspec, inspection-testing, protolude, text
      }:
@@ -131402,23 +131415,26 @@ self: {
        testHaskellDepends = [ base bytestring hls-test-utils text ];
        description = "Integration with the Brittany code formatter";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {hls-test-utils = null;};
+     }) {};
 
   "hls-class-plugin" = callPackage
-    ({ mkDerivation, aeson, base, containers, ghc, ghc-exactprint
-     , ghcide, hls-plugin-api, lens, lsp, shake, text, transformers
+    ({ mkDerivation, aeson, base, bytestring, containers, filepath, ghc
+     , ghc-exactprint, ghcide, hls-plugin-api, hls-test-utils, lens, lsp
+     , lsp-test, lsp-types, shake, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "hls-class-plugin";
-       version = "1.0.0.0";
-       sha256 = "103rswyrbs35q6mmv19bnj4cp4r1n5mx6aazcabfakh1cix0fn60";
+       version = "1.0.0.1";
+       sha256 = "0s9pkdcgvfb9qhj9qjy6bygdyshanczcn9apq3qcw8yznl1zqilc";
        libraryHaskellDepends = [
          aeson base containers ghc ghc-exactprint ghcide hls-plugin-api lens
          lsp shake text transformers unordered-containers
        ];
+       testHaskellDepends = [
+         base bytestring filepath hls-test-utils lens lsp-test lsp-types
+         text
+       ];
        description = "Class/instance management plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
@@ -131426,15 +131442,15 @@ self: {
   "hls-eval-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, Diff, directory
      , dlist, extra, filepath, ghc, ghc-boot-th, ghc-paths, ghcide
-     , hashable, hls-plugin-api, lens, lsp, lsp-types, megaparsec, mtl
-     , parser-combinators, pretty-simple, QuickCheck, safe-exceptions
-     , shake, temporary, text, time, transformers, unliftio
-     , unordered-containers
+     , hashable, hls-plugin-api, hls-test-utils, lens, lsp, lsp-test
+     , lsp-types, megaparsec, mtl, parser-combinators, pretty-simple
+     , QuickCheck, safe-exceptions, shake, temporary, text, time
+     , transformers, unliftio, unordered-containers
      }:
      mkDerivation {
        pname = "hls-eval-plugin";
-       version = "1.0.0.0";
-       sha256 = "0pslyhgvs6xrwijkyf4jdh873mnsb8iijmkbc9aq3dljdy080fdg";
+       version = "1.1.0.0";
+       sha256 = "138l49a8y0g7yk29xdjs0jv0xmz3y8lvig45g944spj3xi8snpfx";
        libraryHaskellDepends = [
          aeson base containers deepseq Diff directory dlist extra filepath
          ghc ghc-boot-th ghc-paths ghcide hashable hls-plugin-api lens lsp
@@ -131442,6 +131458,10 @@ self: {
          QuickCheck safe-exceptions shake temporary text time transformers
          unliftio unordered-containers
        ];
+       testHaskellDepends = [
+         aeson base directory extra filepath hls-test-utils lens lsp-test
+         lsp-types text
+       ];
        description = "Eval plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
@@ -131471,24 +131491,6 @@ self: {
      }:
      mkDerivation {
        pname = "hls-explicit-imports-plugin";
-       version = "1.0.0.0";
-       sha256 = "14j89l8pkxrffllg06fj6215xqdswrbndyv5xa22f0g00acmwi6w";
-       revision = "1";
-       editedCabalFile = "0gch9wkz1h4g06xc48jhvs06jji9d0npa2zrj2gv1cbf6hjs0s92";
-       libraryHaskellDepends = [
-         aeson base containers deepseq ghc ghcide hls-plugin-api lsp
-         lsp-types shake text unordered-containers
-       ];
-       description = "Explicit imports plugin for Haskell Language Server";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "hls-explicit-imports-plugin_1_0_0_1" = callPackage
-    ({ mkDerivation, aeson, base, containers, deepseq, ghc, ghcide
-     , hls-plugin-api, lsp, lsp-types, shake, text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "hls-explicit-imports-plugin";
        version = "1.0.0.1";
        sha256 = "1ygs667pkc3zn66yqz6ssrxifhrc906sddmcgjnkprk7zappk2nc";
        libraryHaskellDepends = [
@@ -131497,21 +131499,24 @@ self: {
        ];
        description = "Explicit imports plugin for Haskell Language Server";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hls-haddock-comments-plugin" = callPackage
-    ({ mkDerivation, base, containers, ghc, ghc-exactprint, ghcide
-     , hls-plugin-api, lsp-types, text, unordered-containers
+    ({ mkDerivation, base, bytestring, containers, filepath, ghc
+     , ghc-exactprint, ghcide, hls-plugin-api, hls-test-utils, lsp-types
+     , text, unordered-containers
      }:
      mkDerivation {
        pname = "hls-haddock-comments-plugin";
-       version = "1.0.0.0";
-       sha256 = "1azy3rrbdi465c65f603ycj14mz1cvc9h92rrf0b0frs90hs66r3";
+       version = "1.0.0.1";
+       sha256 = "1qny8y52myd3ic893wxapbqhfdcdbil8acky91lfcylr9141154i";
        libraryHaskellDepends = [
          base containers ghc ghc-exactprint ghcide hls-plugin-api lsp-types
          text unordered-containers
        ];
+       testHaskellDepends = [
+         base bytestring filepath hls-test-utils text
+       ];
        description = "Haddock comments plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
@@ -131525,8 +131530,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-hlint-plugin";
-       version = "1.0.0.1";
-       sha256 = "0hnfh6x8l20nrj54hpkkq2yj8xkgw15xcba27hagapam2yxi1xga";
+       version = "1.0.0.2";
+       sha256 = "1qi654azf4l24sc7zaimbxm7z59xfvdvn33fsa5d8y7910w17d73";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
          deepseq Diff directory extra filepath ghc ghc-exactprint ghcide
@@ -131545,25 +131550,6 @@ self: {
      }:
      mkDerivation {
        pname = "hls-plugin-api";
-       version = "1.0.0.0";
-       sha256 = "03pj0irgf9p84jn5kfd4cfyqk4xyfdf9pfrwqhb0c1ipnm4l7wal";
-       libraryHaskellDepends = [
-         aeson base containers data-default dependent-map dependent-sum Diff
-         dlist hashable hslogger lens lsp opentelemetry process regex-tdfa
-         shake text unix unordered-containers
-       ];
-       description = "Haskell Language Server API for plugin communication";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "hls-plugin-api_1_1_0_0" = callPackage
-    ({ mkDerivation, aeson, base, containers, data-default
-     , dependent-map, dependent-sum, Diff, dlist, hashable, hslogger
-     , lens, lsp, opentelemetry, process, regex-tdfa, shake, text, unix
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "hls-plugin-api";
        version = "1.1.0.0";
        sha256 = "1i18a5gxa409882zpviy4paldaq43j4z1zmgr9mag2mn64vplrxy";
        libraryHaskellDepends = [
@@ -131573,7 +131559,6 @@ self: {
        ];
        description = "Haskell Language Server API for plugin communication";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hls-retrie-plugin" = callPackage
@@ -131583,24 +131568,6 @@ self: {
      }:
      mkDerivation {
        pname = "hls-retrie-plugin";
-       version = "1.0.0.0";
-       sha256 = "1m4r6nxbq1lvjkl6g1i0lbxdx4zimw6g478alnqv8n208q6fiw26";
-       libraryHaskellDepends = [
-         aeson base containers deepseq directory extra ghc ghcide hashable
-         hls-plugin-api lsp lsp-types retrie safe-exceptions shake text
-         transformers unordered-containers
-       ];
-       description = "Retrie integration plugin for Haskell Language Server";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "hls-retrie-plugin_1_0_0_2" = callPackage
-    ({ mkDerivation, aeson, base, containers, deepseq, directory, extra
-     , ghc, ghcide, hashable, hls-plugin-api, lsp, lsp-types, retrie
-     , safe-exceptions, shake, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "hls-retrie-plugin";
        version = "1.0.0.2";
        sha256 = "0jw1q0dk5jl80wbyvi1a6vszj9x3s7d2bnsbnyycbh4zgl33agwb";
        libraryHaskellDepends = [
@@ -131610,64 +131577,99 @@ self: {
        ];
        description = "Retrie integration plugin for Haskell Language Server";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hls-splice-plugin" = callPackage
-    ({ mkDerivation, aeson, base, containers, dlist, extra, foldl, ghc
-     , ghc-exactprint, ghcide, hls-plugin-api, lens, lsp, retrie, shake
-     , syb, text, transformers, unliftio-core, unordered-containers
+    ({ mkDerivation, aeson, base, containers, directory, dlist, extra
+     , filepath, foldl, ghc, ghc-exactprint, ghcide, hls-plugin-api
+     , hls-test-utils, lens, lsp, retrie, shake, syb, text, transformers
+     , unliftio-core, unordered-containers
      }:
      mkDerivation {
        pname = "hls-splice-plugin";
-       version = "1.0.0.0";
-       sha256 = "1xm9ji64g89fn4b81gd5g0ijv88b2zhyn303hr3jxhydqpfcipjb";
+       version = "1.0.0.1";
+       sha256 = "0fyc2z1bh64plqf831f19nqkgkhryklgrrql2cn25jhfg55gf95q";
        libraryHaskellDepends = [
          aeson base containers dlist extra foldl ghc ghc-exactprint ghcide
          hls-plugin-api lens lsp retrie shake syb text transformers
          unliftio-core unordered-containers
        ];
+       testHaskellDepends = [
+         base directory extra filepath hls-test-utils text
+       ];
        description = "HLS Plugin to expand TemplateHaskell Splices and QuasiQuotes";
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-stylish-haskell-plugin" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, ghc
+     , ghc-boot-th, ghcide, hls-plugin-api, hls-test-utils, lsp-types
+     , mtl, stylish-haskell, text
+     }:
+     mkDerivation {
+       pname = "hls-stylish-haskell-plugin";
+       version = "1.0.0.0";
+       sha256 = "1f2banm7lbl2grqrm0d9dnhk5fimxqan3xlsl4hjyqgy42xqqai2";
+       libraryHaskellDepends = [
+         base directory filepath ghc ghc-boot-th ghcide hls-plugin-api
+         lsp-types mtl stylish-haskell text
+       ];
+       testHaskellDepends = [ base bytestring hls-test-utils text ];
+       description = "Integration with the Stylish Haskell code formatter";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hls-tactics-plugin" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, checkers, containers
-     , data-default, deepseq, directory, extra, filepath, fingertree
-     , generic-lens, ghc, ghc-boot-th, ghc-exactprint, ghc-source-gen
-     , ghcide, hie-bios, hls-plugin-api, hspec, hspec-discover
-     , hspec-expectations, lens, lsp, lsp-test, lsp-types, megaparsec
-     , mtl, QuickCheck, refinery, retrie, shake, syb, tasty
-     , tasty-ant-xml, tasty-expected-failure, tasty-golden, tasty-hunit
-     , tasty-rerun, text, transformers
+    ({ mkDerivation, aeson, base, containers, deepseq, directory, extra
+     , filepath, fingertree, generic-lens, ghc, ghc-boot-th
+     , ghc-exactprint, ghc-source-gen, ghcide, hls-plugin-api
+     , hls-test-utils, hspec, hspec-discover, hspec-expectations, lens
+     , lsp, lsp-types, mtl, QuickCheck, refinery, retrie, shake, syb
+     , tasty-hspec, tasty-hunit, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hls-tactics-plugin";
-       version = "1.0.0.0";
-       sha256 = "0cd6d3m3w1n7x22k5xndjl9r440s5nx6q2fg3wcmdsbd3s3pg1qa";
-       isLibrary = true;
-       isExecutable = true;
+       version = "1.1.0.0";
+       sha256 = "13qysl6dwrn15kn310r04g1yv7jj9xhar659lrc8h230c4khn2qv";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra filepath fingertree
          generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
          hls-plugin-api lens lsp mtl refinery retrie shake syb text
-         transformers
-       ];
-       executableHaskellDepends = [
-         base data-default ghcide hls-plugin-api shake
+         transformers unordered-containers
        ];
        testHaskellDepends = [
-         aeson base bytestring checkers containers data-default deepseq
-         directory filepath ghc ghcide hie-bios hls-plugin-api hspec
-         hspec-expectations lens lsp-test lsp-types megaparsec mtl
-         QuickCheck tasty tasty-ant-xml tasty-expected-failure tasty-golden
-         tasty-hunit tasty-rerun text
+         aeson base containers deepseq directory filepath ghc ghcide
+         hls-plugin-api hls-test-utils hspec hspec-expectations lens
+         lsp-types mtl QuickCheck tasty-hspec tasty-hunit text
        ];
        testToolDepends = [ hspec-discover ];
        description = "Wingman plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-test-utils" = callPackage
+    ({ mkDerivation, aeson, async, base, blaze-markup, bytestring
+     , containers, data-default, directory, extra, filepath, ghcide
+     , hls-plugin-api, hspec, hspec-core, lens, lsp, lsp-test, lsp-types
+     , shake, tasty, tasty-expected-failure, tasty-golden, tasty-hunit
+     , tasty-rerun, temporary, text, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-test-utils";
+       version = "1.0.0.0";
+       sha256 = "18n7vb9fa39jkgr0gvsrjfc0nh09w2xlniifb25bn6z3qc3w0h6i";
+       libraryHaskellDepends = [
+         aeson async base blaze-markup bytestring containers data-default
+         directory extra filepath ghcide hls-plugin-api hspec hspec-core
+         lens lsp lsp-test lsp-types shake tasty tasty-expected-failure
+         tasty-golden tasty-hunit tasty-rerun temporary text
+         unordered-containers
+       ];
+       description = "Utilities used in the tests of Haskell Language Server";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hlwm" = callPackage
     ({ mkDerivation, base, stm, transformers, unix, X11 }:
      mkDerivation {
@@ -138863,23 +138865,6 @@ self: {
      }) {};
 
   "hspec-golden" = callPackage
-    ({ mkDerivation, base, directory, hspec, hspec-core
-     , optparse-applicative, silently
-     }:
-     mkDerivation {
-       pname = "hspec-golden";
-       version = "0.1.0.3";
-       sha256 = "1d5ab34n0f1wk1q86qlb7x2b49abzzh08jh7j52nbrvnxld2j64l";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base directory hspec-core ];
-       executableHaskellDepends = [ base directory optparse-applicative ];
-       testHaskellDepends = [ base directory hspec hspec-core silently ];
-       description = "Golden tests for hspec";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-golden_0_2_0_0" = callPackage
     ({ mkDerivation, base, directory, filepath, hspec, hspec-core
      , optparse-applicative, silently
      }:
@@ -138894,7 +138879,6 @@ self: {
        testHaskellDepends = [ base directory hspec hspec-core silently ];
        description = "Golden tests for hspec";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-golden-aeson" = callPackage
@@ -147220,8 +147204,8 @@ self: {
      }:
      mkDerivation {
        pname = "imm";
-       version = "2.1.0.0";
-       sha256 = "01jpwxqp2c5ih9cw38w4j7x1dff0z7z1d43yx1rri83w8shpjbl3";
+       version = "2.1.1.0";
+       sha256 = "1w3kypakf8zqz8r44r9bx0z5v4wxvhnf446jzarawn9fg7yigcqn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -148704,6 +148688,8 @@ self: {
        pname = "inline-java";
        version = "0.10.0";
        sha256 = "0rs2rw21y0yc0h4c1rz25qblk39flkg19fwjz87s6l0ly1hvcrm5";
+       revision = "1";
+       editedCabalFile = "07qpgqy66zpmg1yz38y1w5gbbcc0nvidmlg2z4anj0k5rifzgdv6";
        libraryHaskellDepends = [
          base bytestring Cabal directory filepath ghc jni jvm language-java
          mtl process template-haskell temporary text
@@ -149767,8 +149753,8 @@ self: {
      }:
      mkDerivation {
        pname = "interval-algebra";
-       version = "0.5.0";
-       sha256 = "1zjqyhcdi058gkq8pyhwfnn2zlzj8iifsl2c1z2ngvmpgxivq0qc";
+       version = "0.6.2";
+       sha256 = "0rfx5li74s160i64rjzl1p8gjj3aqxc1hml2n0c1jrair7l1g2iy";
        libraryHaskellDepends = [
          base containers QuickCheck time witherable
        ];
@@ -150509,16 +150495,15 @@ self: {
      }) {};
 
   "ipa" = callPackage
-    ({ mkDerivation, attoparsec, base, hspec, text, unicode-transforms
+    ({ mkDerivation, attoparsec, base, hspec, template-haskell, text
+     , unicode-transforms
      }:
      mkDerivation {
        pname = "ipa";
-       version = "0.3";
-       sha256 = "0cm9ahqaf2kdqny6nmk9ff1h413v0iqbfsf6glrr5vkhmx60h9qm";
-       revision = "2";
-       editedCabalFile = "1jafvzz7vdbkcwywdhx49g2q1f0gah0bz921kia6lbi5jnyaail1";
+       version = "0.3.1";
+       sha256 = "1l658qnqfs63dwarmiaw7vf6v2xl8hhvzlb95w168rpa7wfkrh5n";
        libraryHaskellDepends = [
-         attoparsec base text unicode-transforms
+         attoparsec base template-haskell text unicode-transforms
        ];
        testHaskellDepends = [ base hspec text ];
        description = "Internal Phonetic Alphabet (IPA)";
@@ -150828,26 +150813,6 @@ self: {
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "1.1.2.0";
-       sha256 = "0gd7ww2cmnh7im0gicsj1617540kl97780860hzf8nkixn71hwqr";
-       libraryHaskellDepends = [
-         base bytestring conduit connection containers contravariant
-         exceptions irc-conduit irc-ctcp mtl network-conduit-tls old-locale
-         profunctors stm stm-chans text time tls transformers x509
-         x509-store x509-validation
-       ];
-       description = "An IRC client library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "irc-client_1_1_2_1" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, connection, containers
-     , contravariant, exceptions, irc-conduit, irc-ctcp, mtl
-     , network-conduit-tls, old-locale, profunctors, stm, stm-chans
-     , text, time, tls, transformers, x509, x509-store, x509-validation
-     }:
-     mkDerivation {
-       pname = "irc-client";
        version = "1.1.2.1";
        sha256 = "1zaa8na730m96flgiyzcwq95v2ianvflsw3abvdavf7xpq4s71ld";
        libraryHaskellDepends = [
@@ -150858,7 +150823,6 @@ self: {
        ];
        description = "An IRC client library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "irc-colors" = callPackage
@@ -153068,6 +153032,8 @@ self: {
        pname = "jni";
        version = "0.8.0";
        sha256 = "0m94p2zx877snh3imwcdnwa8ajfb76cg2rjgjx3pan508ham1h5i";
+       revision = "2";
+       editedCabalFile = "1ql65nfmd5mhn7y2xdifx240mk5my5z8w3pn85497hzk27qllybi";
        libraryHaskellDepends = [
          async base bytestring choice constraints containers deepseq
          inline-c singletons stm text
@@ -155052,6 +155018,8 @@ self: {
        pname = "jvm";
        version = "0.6.0";
        sha256 = "119davscv5mrw2mnlrklx8hbjrc7lhf5a9jphdnnxs6bywi8i2zm";
+       revision = "2";
+       editedCabalFile = "1p0p50w0zjf79a3p5wiwg1wfnsgvqf2n04ydpacrfwm96id667kp";
        libraryHaskellDepends = [
          base bytestring choice constraints distributed-closure exceptions
          jni singletons template-haskell text vector
@@ -155077,6 +155045,8 @@ self: {
        pname = "jvm-batching";
        version = "0.2.0";
        sha256 = "19z0db10y181n4adkz23cmly0q4zp953zh6f3r7rmxcd78758pbk";
+       revision = "1";
+       editedCabalFile = "1ni0gnww6r18dg2pm1hmdkfzaghq5ssirpp737i1c81ya1k95m2n";
        setupHaskellDepends = [ base Cabal inline-java ];
        libraryHaskellDepends = [
          base bytestring distributed-closure inline-java jni jvm singletons
@@ -155155,6 +155125,8 @@ self: {
        pname = "jvm-streaming";
        version = "0.4.0";
        sha256 = "0k8y6kvbymmjlr3bvgcws0z2hwdznyr3b3alkwsjag49lsgp21sd";
+       revision = "1";
+       editedCabalFile = "01f3j02qzqi7ls876vwzl2db3621xr7psmzm3cx9pk414bhj5f56";
        setupHaskellDepends = [ base Cabal inline-java jvm-batching ];
        libraryHaskellDepends = [
          base distributed-closure inline-java jni jvm jvm-batching
@@ -157431,6 +157403,18 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
+  "koji_0_0_2" = callPackage
+    ({ mkDerivation, base, haxr, mtl }:
+     mkDerivation {
+       pname = "koji";
+       version = "0.0.2";
+       sha256 = "1ypr552453r0b9s5xlsw0gllka2jaf9xwphlnx55fn05f17zh7qd";
+       libraryHaskellDepends = [ base haxr mtl ];
+       description = "Koji buildsystem XML-RPC API bindings";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "kontra-config" = callPackage
     ({ mkDerivation, base, bytestring, data-default, exceptions, text
      , transformers-base, unjson, utf8-string, yaml
@@ -159403,8 +159387,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "9.3.0";
-       sha256 = "1n9v0b6lwr528b6919y11a8d27mhsp0mm870rx0rjg9l5j4mnbvn";
+       version = "10.0.0";
+       sha256 = "0h2jq15niz77h2vpqyq7gblgbsrrvsr3qjw1cmjvr474zgzxmrv7";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -168671,36 +168655,6 @@ self: {
      }:
      mkDerivation {
        pname = "lsp";
-       version = "1.1.1.0";
-       sha256 = "04ndz4v1mwga13qndmnaaj145y5zqw7zv64px7ak26qvd1m26h9r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson async attoparsec base bytestring containers data-default
-         dependent-map directory filepath hashable hslogger lens lsp-types
-         mtl network-uri random scientific sorted-list stm text time
-         transformers unliftio-core unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers data-default directory filepath
-         hashable hspec lens network-uri QuickCheck quickcheck-instances
-         rope-utf16-splay sorted-list stm text unordered-containers
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell library for the Microsoft Language Server Protocol";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lsp_1_2_0_0" = callPackage
-    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
-     , containers, data-default, dependent-map, directory, filepath
-     , hashable, hslogger, hspec, hspec-discover, lens, lsp-types, mtl
-     , network-uri, QuickCheck, quickcheck-instances, random
-     , rope-utf16-splay, scientific, sorted-list, stm, text, time
-     , transformers, unliftio-core, unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "lsp";
        version = "1.2.0.0";
        sha256 = "0ca8s84xlh9kmi1lx47d6z3c8c827q30spmbxi1nl37dn35ib4b6";
        isLibrary = true;
@@ -168719,7 +168673,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell library for the Microsoft Language Server Protocol";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lsp-test" = callPackage
@@ -168749,34 +168702,6 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_13_0_0" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
-     , bytestring, conduit, conduit-parse, containers, data-default
-     , Diff, directory, filepath, Glob, hspec, lens, lsp-types, mtl
-     , parser-combinators, process, some, text, time, transformers, unix
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "lsp-test";
-       version = "0.13.0.0";
-       sha256 = "1xyxmzcd6r56jj1k11lz1g6yld5q3k6cgb0bsf45px120dsf1dpy";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal async base bytestring conduit
-         conduit-parse containers data-default Diff directory filepath Glob
-         lens lsp-types mtl parser-combinators process some text time
-         transformers unix unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base data-default directory filepath hspec lens lsp-types
-         text unordered-containers
-       ];
-       description = "Functional test framework for LSP servers";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "lsp-test_0_14_0_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
@@ -168814,29 +168739,6 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "1.1.0.0";
-       sha256 = "19lkdqwh9a5rsx5nby37v54zhwyja306z0dyslsmdmwqw92qxx54";
-       revision = "1";
-       editedCabalFile = "0iifws4r1h9v1mbsrmbvssvm0gmvzm9yh9h85izly0s51869bbq4";
-       libraryHaskellDepends = [
-         aeson base binary bytestring containers data-default deepseq
-         dependent-sum dependent-sum-template directory filepath hashable
-         hslogger lens network-uri rope-utf16-splay scientific some
-         template-haskell temporary text unordered-containers
-       ];
-       description = "Haskell library for the Microsoft Language Server Protocol, data types";
-       license = lib.licenses.mit;
-     }) {};
-
-  "lsp-types_1_2_0_0" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, containers
-     , data-default, deepseq, dependent-sum, dependent-sum-template
-     , directory, filepath, hashable, hslogger, lens, network-uri
-     , rope-utf16-splay, scientific, some, template-haskell, temporary
-     , text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "lsp-types";
        version = "1.2.0.0";
        sha256 = "1axl62yafkxh414dxr5i7pwqw0s3kkqphs7b259qk33vin3qayk3";
        libraryHaskellDepends = [
@@ -168847,7 +168749,6 @@ self: {
        ];
        description = "Haskell library for the Microsoft Language Server Protocol, data types";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lss" = callPackage
@@ -174677,13 +174578,20 @@ self: {
      }) {};
 
   "method" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, rio, transformers }:
+    ({ mkDerivation, base, containers, hspec, hspec-discover, rio
+     , template-haskell, th-abstraction, transformers
+     }:
      mkDerivation {
        pname = "method";
-       version = "0.3.1.0";
-       sha256 = "0a96av07vbh3mvyczh2jiziqb098q81jx6q0c5kgn7pmlxijw1ba";
-       libraryHaskellDepends = [ base rio transformers ];
-       testHaskellDepends = [ base hspec rio transformers ];
+       version = "0.4.0.0";
+       sha256 = "0ca7xfy5yb8d68l530q6h82843i5yvp9grr9r23s7rfbisbysfpb";
+       libraryHaskellDepends = [
+         base containers rio template-haskell th-abstraction transformers
+       ];
+       testHaskellDepends = [
+         base containers hspec rio template-haskell th-abstraction
+         transformers
+       ];
        testToolDepends = [ hspec-discover ];
        description = "rebindable methods for improving testability";
        license = lib.licenses.bsd3;
@@ -176804,6 +176712,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "mixed-types-num_0_5_0_0" = callPackage
+    ({ mkDerivation, base, collect-errors, hspec, hspec-smallcheck, mtl
+     , QuickCheck, smallcheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "mixed-types-num";
+       version = "0.5.0.0";
+       sha256 = "17jfrhlcc86qw0zg997hsd11dc97vrqfkylhwb5ii9ls14j5qxfl";
+       libraryHaskellDepends = [
+         base collect-errors hspec hspec-smallcheck mtl QuickCheck
+         smallcheck template-haskell
+       ];
+       testHaskellDepends = [
+         base collect-errors hspec hspec-smallcheck QuickCheck smallcheck
+       ];
+       description = "Alternative Prelude with numeric and logic expressions typed bottom-up";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "mixpanel-client" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring, hspec
      , hspec-discover, http-client, http-client-tls, markdown-unlit
@@ -195236,6 +195164,24 @@ self: {
        broken = true;
      }) {};
 
+  "pact-time" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal, clock
+     , Decimal, deepseq, microlens, mtl, tasty, tasty-hunit, text
+     , vector, vector-space
+     }:
+     mkDerivation {
+       pname = "pact-time";
+       version = "0.2.0.0";
+       sha256 = "04d8hd4hnbsjvzjjvnyabc68srhyp8k9459pp0y1sdc7z6c0qq1m";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring cereal clock Decimal deepseq
+         microlens mtl text vector vector-space
+       ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       description = "Time Library for Pact";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "padKONTROL" = callPackage
     ({ mkDerivation, base, containers, hmidi, minioperational
      , transformers
@@ -195994,40 +195940,6 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-plot";
-       version = "1.1.1";
-       sha256 = "10wwci7p3kphmjxlnpymbnx3cw2l3yfydm29l6k2vakz1pd7zdh0";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring containers data-default directory filepath hashable
-         lifted-async lifted-base mtl pandoc pandoc-types shakespeare
-         tagsoup template-haskell text typed-process yaml
-       ];
-       executableHaskellDepends = [
-         base containers directory filepath githash optparse-applicative
-         pandoc pandoc-types template-haskell text typed-process
-       ];
-       testHaskellDepends = [
-         base containers directory filepath hspec hspec-expectations
-         pandoc-types tasty tasty-hspec tasty-hunit text
-       ];
-       benchmarkHaskellDepends = [
-         base criterion pandoc-types template-haskell text
-       ];
-       description = "A Pandoc filter to include figures generated from code blocks using your plotting toolkit of choice";
-       license = lib.licenses.gpl2Plus;
-     }) {};
-
-  "pandoc-plot_1_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion
-     , data-default, directory, filepath, githash, hashable, hspec
-     , hspec-expectations, lifted-async, lifted-base, mtl
-     , optparse-applicative, pandoc, pandoc-types, shakespeare, tagsoup
-     , tasty, tasty-hspec, tasty-hunit, template-haskell, text
-     , typed-process, yaml
-     }:
-     mkDerivation {
-       pname = "pandoc-plot";
        version = "1.2.0";
        sha256 = "091283hcp3rin1rpg6b4lkh32svqr1gjxsa15id3qic7a7knx2r0";
        isLibrary = true;
@@ -196050,7 +195962,6 @@ self: {
        ];
        description = "A Pandoc filter to include figures generated from code blocks using your plotting toolkit of choice";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pandoc-pyplot" = callPackage
@@ -200431,32 +200342,36 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_12_1_1" = callPackage
+  "persistent_2_13_0_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, bytestring, conduit, containers, criterion, deepseq
      , deepseq-generics, fast-logger, file-embed, hspec, http-api-data
-     , monad-logger, mtl, path-pieces, QuickCheck, resource-pool
-     , resourcet, scientific, shakespeare, silently, template-haskell
-     , text, th-lift-instances, time, transformers, unliftio
-     , unliftio-core, unordered-containers, vector
+     , lift-type, monad-logger, mtl, path-pieces, QuickCheck
+     , quickcheck-instances, resource-pool, resourcet, scientific
+     , shakespeare, silently, template-haskell, text, th-lift-instances
+     , time, transformers, unliftio, unliftio-core, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.12.1.1";
-       sha256 = "00n463mvfnjpi7dz4i3lz379cf4gprsiv57j4jb7wh5a8xr2vfhz";
+       version = "2.13.0.0";
+       sha256 = "1addkfiaixk076qkdlhjmx97f8bgfmxwna9dv0h7hfvnq8v35bkf";
+       revision = "2";
+       editedCabalFile = "12ylw4rzrjlk2m0qfgqx481k0ifhv5i8z0vy70knjrkgx8d9sfvx";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
-         conduit containers fast-logger http-api-data monad-logger mtl
-         path-pieces resource-pool resourcet scientific silently
+         conduit containers fast-logger http-api-data lift-type monad-logger
+         mtl path-pieces resource-pool resourcet scientific silently
          template-haskell text th-lift-instances time transformers unliftio
          unliftio-core unordered-containers vector
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger hspec http-api-data monad-logger mtl
-         path-pieces QuickCheck resource-pool resourcet scientific
-         shakespeare silently template-haskell text th-lift-instances time
-         transformers unliftio unliftio-core unordered-containers vector
+         path-pieces QuickCheck quickcheck-instances resource-pool resourcet
+         scientific shakespeare silently template-haskell text
+         th-lift-instances time transformers unliftio unliftio-core
+         unordered-containers vector
        ];
        benchmarkHaskellDepends = [
          base criterion deepseq deepseq-generics file-embed template-haskell
@@ -200533,6 +200448,33 @@ self: {
        broken = true;
      }) {};
 
+  "persistent-discover" = callPackage
+    ({ mkDerivation, base, directory, dlist, file-embed, filepath
+     , hspec, hspec-discover, mtl, persistent, template-haskell
+     }:
+     mkDerivation {
+       pname = "persistent-discover";
+       version = "0.1.0.0";
+       sha256 = "1cpjbks5cmh2w3370xnmm29rk8j3xdxmry04fyi0aqyg5f91hrdi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base directory dlist file-embed filepath mtl persistent
+         template-haskell
+       ];
+       executableHaskellDepends = [
+         base directory dlist file-embed filepath mtl persistent
+         template-haskell
+       ];
+       testHaskellDepends = [
+         base directory dlist file-embed filepath hspec hspec-discover mtl
+         persistent template-haskell
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Persistent module discover utilities";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "persistent-documentation" = callPackage
     ({ mkDerivation, base, containers, hspec, hspec-discover, mtl
      , persistent, persistent-template, template-haskell, text
@@ -200649,8 +200591,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-migration";
-       version = "0.1.0";
-       sha256 = "025hrjm95klj4b7wqlzwkcwra5yj37ilirr06hxxw6d3g668rllm";
+       version = "0.2.0";
+       sha256 = "0xqzgfzxv8xskyaivar6mnb9qp9s3fq0lh17sajrxa59fi7h8xjw";
        libraryHaskellDepends = [
          base containers fgl mtl persistent text time unordered-containers
        ];
@@ -200677,6 +200619,8 @@ self: {
        pname = "persistent-mongoDB";
        version = "2.12.0.0";
        sha256 = "1s49d4c4kiqcblkap96wcrp3nc0179vpzbqp4fdibljq9ylzxmzg";
+       revision = "1";
+       editedCabalFile = "047riy3grn68jw99095qgqxvfs5bvxmcvmnz170nrqflrlr4l4dd";
        libraryHaskellDepends = [
          aeson base bson bytestring cereal conduit http-api-data mongoDB
          network path-pieces persistent resource-pool resourcet text time
@@ -200746,26 +200690,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "persistent-mysql_2_12_1_0" = callPackage
+  "persistent-mysql_2_13_0_0" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
-     , containers, fast-logger, hspec, HUnit, monad-logger, mysql
-     , mysql-simple, persistent, persistent-qq, persistent-test
-     , QuickCheck, quickcheck-instances, resource-pool, resourcet, text
-     , time, transformers, unliftio-core
+     , containers, fast-logger, hspec, http-api-data, HUnit
+     , monad-logger, mysql, mysql-simple, path-pieces, persistent
+     , persistent-qq, persistent-test, QuickCheck, quickcheck-instances
+     , resource-pool, resourcet, text, time, transformers, unliftio-core
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.12.1.0";
-       sha256 = "08494wc935gfr3007w2x9lvqcp8y2jvapgwjxz1l0mnl120vh8hw";
+       version = "2.13.0.0";
+       sha256 = "1lqd1j9r973081yzvvz9c65csqjd8bzapb4dayzwbhwjq2p0sxiz";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit containers monad-logger
          mysql mysql-simple persistent resource-pool resourcet text
          transformers unliftio-core
        ];
        testHaskellDepends = [
-         base bytestring containers fast-logger hspec HUnit monad-logger
-         mysql persistent persistent-qq persistent-test QuickCheck
-         quickcheck-instances resourcet text time transformers unliftio-core
+         aeson base bytestring containers fast-logger hspec http-api-data
+         HUnit monad-logger mysql path-pieces persistent persistent-qq
+         persistent-test QuickCheck quickcheck-instances resourcet text time
+         transformers unliftio-core
        ];
        description = "Backend for the persistent library using MySQL database server";
        license = lib.licenses.mit;
@@ -200891,20 +200836,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "persistent-postgresql_2_12_1_1" = callPackage
+  "persistent-postgresql_2_13_0_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , conduit, containers, fast-logger, hspec, hspec-expectations
-     , hspec-expectations-lifted, HUnit, monad-logger, mtl, persistent
-     , persistent-qq, persistent-test, postgresql-libpq
-     , postgresql-simple, QuickCheck, quickcheck-instances
-     , resource-pool, resourcet, string-conversions, text, time
-     , transformers, unliftio, unliftio-core, unordered-containers
-     , vector
+     , hspec-expectations-lifted, http-api-data, HUnit, monad-logger
+     , mtl, path-pieces, persistent, persistent-qq, persistent-test
+     , postgresql-libpq, postgresql-simple, QuickCheck
+     , quickcheck-instances, resource-pool, resourcet
+     , string-conversions, text, time, transformers, unliftio
+     , unliftio-core, unordered-containers, vector
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.12.1.1";
-       sha256 = "1zyh40490r3vjr5qyr8hp2ih1pjqjwbmwm1ashdm1b1n9y5ary53";
+       version = "2.13.0.0";
+       sha256 = "0a18h7ib01if2dspq8f3vwb02cwi74c12i0n3ax4aq6819qy12gb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -200915,10 +200860,10 @@ self: {
        ];
        testHaskellDepends = [
          aeson base bytestring containers fast-logger hspec
-         hspec-expectations hspec-expectations-lifted HUnit monad-logger
-         persistent persistent-qq persistent-test QuickCheck
-         quickcheck-instances resourcet text time transformers unliftio
-         unliftio-core unordered-containers vector
+         hspec-expectations hspec-expectations-lifted http-api-data HUnit
+         monad-logger path-pieces persistent persistent-qq persistent-test
+         QuickCheck quickcheck-instances resourcet text time transformers
+         unliftio unliftio-core unordered-containers vector
        ];
        description = "Backend for the persistent library using postgresql";
        license = lib.licenses.mit;
@@ -201007,8 +200952,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-redis";
-       version = "2.12.0.0";
-       sha256 = "0zibmgvlpkx4knh23jnz2vam1la6w57x2cibrdn17h0zd3s872p5";
+       version = "2.13.0.0";
+       sha256 = "1d43rlcx0islf7gn14kpxi922zaz6k5x6s4k4xc947l2r1zx40qs";
        libraryHaskellDepends = [
          aeson base binary bytestring hedis http-api-data mtl path-pieces
          persistent scientific text time transformers utf8-string
@@ -201114,7 +201059,7 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {inherit (pkgs) sqlite;};
 
-  "persistent-sqlite_2_12_0_0" = callPackage
+  "persistent-sqlite_2_13_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , exceptions, fast-logger, hspec, HUnit, microlens, microlens-th
      , monad-logger, mtl, persistent, persistent-test, QuickCheck
@@ -201124,8 +201069,10 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-sqlite";
-       version = "2.12.0.0";
-       sha256 = "0qwh2zrg1dqrv7i752jkqgqfxwjbdvkxmdgnzhcfzhgn6bq1018m";
+       version = "2.13.0.0";
+       sha256 = "1xbf22cnvhjs59wqml0n5flk1fhrhjw3flm3lnhh1nik3scfny0w";
+       revision = "1";
+       editedCabalFile = "0y21azb1cvaxwlypprh3wqxr0w0hchf3r509vqxvywqymckqc71i";
        configureFlags = [ "-fsystemlib" ];
        isLibrary = true;
        isExecutable = true;
@@ -201238,24 +201185,26 @@ self: {
        broken = true;
      }) {};
 
-  "persistent-test_2_12_0_0" = callPackage
+  "persistent-test_2_13_0_0" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, bytestring, conduit
-     , containers, exceptions, hspec, hspec-expectations, HUnit
-     , monad-control, monad-logger, mtl, path-pieces, persistent
+     , containers, exceptions, hspec, hspec-expectations, http-api-data
+     , HUnit, monad-control, monad-logger, mtl, path-pieces, persistent
      , QuickCheck, quickcheck-instances, random, resourcet, text, time
      , transformers, transformers-base, unliftio, unliftio-core
      , unordered-containers
      }:
      mkDerivation {
        pname = "persistent-test";
-       version = "2.12.0.0";
-       sha256 = "0vn6f8wmax68qg27ifw2sfr3d0zk12p6gaax5xshwmb5ypamrc50";
+       version = "2.13.0.0";
+       sha256 = "1fyahnnx9f3dg36kqviah5l9410d0x819dz3afxapcq27myccdw7";
+       revision = "1";
+       editedCabalFile = "16yzpsy11bcglipgcy0x8mcxlx7w00gfvnw5fhjkbj99lxdwwgm0";
        libraryHaskellDepends = [
          aeson base blaze-html bytestring conduit containers exceptions
-         hspec hspec-expectations HUnit monad-control monad-logger mtl
-         path-pieces persistent QuickCheck quickcheck-instances random
-         resourcet text time transformers transformers-base unliftio
-         unliftio-core unordered-containers
+         hspec hspec-expectations http-api-data HUnit monad-control
+         monad-logger mtl path-pieces persistent QuickCheck
+         quickcheck-instances random resourcet text time transformers
+         transformers-base unliftio unliftio-core unordered-containers
        ];
        description = "Tests for Persistent";
        license = lib.licenses.mit;
@@ -201661,8 +201610,8 @@ self: {
     ({ mkDerivation, base, containers, gu, pgf, pretty }:
      mkDerivation {
        pname = "pgf2";
-       version = "1.2.1";
-       sha256 = "10nbwhdirhlsh68f14z8y75wlbs9f9xcn8cbgkf47m74x71jqqb3";
+       version = "1.3.0";
+       sha256 = "1sd21p6f9m9l6xnf853v7lxj6j6sbsrd7i09y0w0lsysp86p8h7m";
        libraryHaskellDepends = [ base containers pretty ];
        librarySystemDepends = [ gu pgf ];
        description = "Bindings to the C version of the PGF runtime";
@@ -202065,8 +202014,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-phonetics-basics";
-       version = "0.5.1.0";
-       sha256 = "1pqc16llr1ar7z6lfbniinxx7q09qpamajmbl3d9njhk4pwdl6b8";
+       version = "0.6.1.0";
+       sha256 = "0pa55mkw70f20bw90qc8lballa89zgk6b185038i4p3piipsymrn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -202220,6 +202169,38 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "phonetic-languages-simplified-generalized-examples-common" = callPackage
+    ({ mkDerivation, base, heaps, phonetic-languages-phonetics-basics
+     , subG
+     }:
+     mkDerivation {
+       pname = "phonetic-languages-simplified-generalized-examples-common";
+       version = "0.1.0.1";
+       sha256 = "07rqfnz2rkx6rwfgrv97yiww2d1086av60pri5qcp5l44xwlqdy5";
+       libraryHaskellDepends = [
+         base heaps phonetic-languages-phonetics-basics subG
+       ];
+       description = "Some common code for phonetic languages generalized functionality";
+       license = lib.licenses.mit;
+     }) {};
+
+  "phonetic-languages-simplified-generalized-properties-array" = callPackage
+    ({ mkDerivation, base, phonetic-languages-phonetics-basics
+     , phonetic-languages-rhythmicity
+     , phonetic-languages-simplified-base
+     }:
+     mkDerivation {
+       pname = "phonetic-languages-simplified-generalized-properties-array";
+       version = "0.1.0.2";
+       sha256 = "1hm9yz0ibfrzmmm70qff0bsghiscigp9843i9nhk41yfxlrmbsp3";
+       libraryHaskellDepends = [
+         base phonetic-languages-phonetics-basics
+         phonetic-languages-rhythmicity phonetic-languages-simplified-base
+       ];
+       description = "Generalization of the functionality of the phonetic-languages-simplified-properties-array";
+       license = lib.licenses.mit;
+     }) {};
+
   "phonetic-languages-simplified-lists-examples" = callPackage
     ({ mkDerivation, base, heaps, mmsyn2, parallel
      , phonetic-languages-constraints, phonetic-languages-permutations
@@ -203152,6 +203133,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pipes_4_3_16" = callPackage
+    ({ mkDerivation, base, criterion, exceptions, mmorph, mtl
+     , optparse-applicative, QuickCheck, test-framework
+     , test-framework-quickcheck2, transformers, void
+     }:
+     mkDerivation {
+       pname = "pipes";
+       version = "4.3.16";
+       sha256 = "163lx5sf68zx5kik5h1fjsyckwr9shdsn5k2dsjq3mhg077nxqgl";
+       libraryHaskellDepends = [
+         base exceptions mmorph mtl transformers void
+       ];
+       testHaskellDepends = [
+         base mtl QuickCheck test-framework test-framework-quickcheck2
+         transformers
+       ];
+       benchmarkHaskellDepends = [
+         base criterion mtl optparse-applicative transformers
+       ];
+       description = "Compositional pipelines";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "pipes-aeson" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, pipes
      , pipes-attoparsec, pipes-bytestring, pipes-parse, transformers
@@ -213143,26 +213148,25 @@ self: {
 
   "publish" = callPackage
     ({ mkDerivation, base, bytestring, chronologique, core-data
-     , core-program, core-text, deepseq, directory, filepath, hinotify
-     , hspec, megaparsec, pandoc, pandoc-types, template-haskell, text
+     , core-program, core-text, deepseq, directory, filepath, hspec
+     , megaparsec, pandoc, pandoc-types, template-haskell, text
      , typed-process, unix, unordered-containers
      }:
      mkDerivation {
        pname = "publish";
-       version = "2.1.5";
-       sha256 = "1ncz9bijln0xmkmy5x6lv4w6xiqr08crgqiyb8cchc88dqacddhi";
+       version = "2.1.6";
+       sha256 = "1clb9sxrsskklzany9q5600v77qywdszgzxjxrvsihrirf0akry2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base bytestring chronologique core-data core-program core-text
-         deepseq directory filepath hinotify megaparsec pandoc pandoc-types
+         deepseq directory filepath megaparsec pandoc pandoc-types
          template-haskell text typed-process unix unordered-containers
        ];
        testHaskellDepends = [
          base bytestring chronologique core-data core-program core-text
-         deepseq directory filepath hinotify hspec megaparsec pandoc
-         pandoc-types template-haskell text typed-process unix
-         unordered-containers
+         deepseq directory filepath hspec megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        description = "Publishing tools for papers, books, and presentations";
        license = lib.licenses.mit;
@@ -233673,19 +233677,19 @@ self: {
   "servant-benchmark" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , case-insensitive, hspec, http-media, http-types, QuickCheck
-     , servant, text, yaml
+     , servant, text, utf8-string, yaml
      }:
      mkDerivation {
        pname = "servant-benchmark";
-       version = "0.1.1.1";
-       sha256 = "1rsj819kg17p31ky5ad28hydrkh39nsfwkq3f9zdkqm2j924idhx";
+       version = "0.1.2.0";
+       sha256 = "0lqqk410nx48g895pfxkbbk85b1ijs4bfl9zr2li2p7wwwc4gyi9";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive http-media
          http-types QuickCheck servant text yaml
        ];
        testHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive hspec
-         http-media http-types QuickCheck servant text yaml
+         http-media http-types QuickCheck servant text utf8-string yaml
        ];
        description = "Generate benchmark files from a Servant API";
        license = lib.licenses.bsd3;
@@ -244991,6 +244995,8 @@ self: {
        pname = "sparkle";
        version = "0.7.4";
        sha256 = "174rs21fgj43rq3nshzgff6mydi93n26nkcq9cadq0bzcasc2n3q";
+       revision = "1";
+       editedCabalFile = "1jwg12rmsa1il8y53ip535bjf02z7jnrnws1qi9y0xfpqblzmw6r";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal inline-java jvm-streaming ];
@@ -246573,6 +246579,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "squeather_0_8_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, hedgehog
+     , lifted-base, temporary, text
+     }:
+     mkDerivation {
+       pname = "squeather";
+       version = "0.8.0.0";
+       sha256 = "1pjiq97gq8rjp4v7cx2bhj7zcwkswc593fxdwqajssi1i39679r6";
+       libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [
+         base bytestring directory filepath hedgehog lifted-base temporary
+         text
+       ];
+       description = "Use databases with the version 3 series of the SQLite C library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "squeeze" = callPackage
     ({ mkDerivation, base, Cabal, data-default, directory, extra
      , factory, filepath, mtl, QuickCheck, random, toolshed
@@ -257125,6 +257149,21 @@ self: {
        license = lib.licenses.mpl20;
      }) {};
 
+  "tasty-inspection-testing" = callPackage
+    ({ mkDerivation, base, ghc, inspection-testing, tasty
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "tasty-inspection-testing";
+       version = "0.1";
+       sha256 = "18awafrclxg8lfw8gg4ndzfwwpaz8qmad23fi24rhpdj9c7xdyhw";
+       libraryHaskellDepends = [
+         base ghc inspection-testing tasty template-haskell
+       ];
+       description = "Inspection testing support for tasty";
+       license = lib.licenses.mit;
+     }) {};
+
   "tasty-integrate" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cmdargs, containers
      , deepseq, directory, either, haskell-src-exts
@@ -262949,6 +262988,26 @@ self: {
        broken = true;
      }) {};
 
+  "tikzsd" = callPackage
+    ({ mkDerivation, array, base, containers, lens, mtl, parsec
+     , transformers
+     }:
+     mkDerivation {
+       pname = "tikzsd";
+       version = "1.0.0";
+       sha256 = "1y2pxbmm22dmrvgsqv2gvy3nf8vh3ln5pinrfsbim8qk1qfayina";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers lens mtl parsec transformers
+       ];
+       executableHaskellDepends = [
+         array base containers lens mtl parsec transformers
+       ];
+       description = "A program for generating LaTeX code of string diagrams";
+       license = lib.licenses.mit;
+     }) {};
+
   "tile" = callPackage
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
@@ -267512,8 +267571,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "trivial-constraint";
-       version = "0.6.0.0";
-       sha256 = "0y0iyll7ml5qz271cqa0dc3w2j3w1d8jjaxwaf2flcidigws69z5";
+       version = "0.7.0.0";
+       sha256 = "0kyjifqfjf4lmrba4fb65m82s8qqv2nld9lj0qvh2qxc8bfw4hj7";
        libraryHaskellDepends = [ base ];
        description = "Constraints that any type, resp. no type fulfills";
        license = lib.licenses.gpl3Only;
@@ -271833,6 +271892,53 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "uniform-algebras" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "uniform-algebras";
+       version = "0.1.0";
+       sha256 = "19grz10hagzi8x9am59i6jifm1zjf31698k8r4l7bbhyww4w6p91";
+       libraryHaskellDepends = [ base ];
+       description = "Pointless functions and a simplistic zero and monoid";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
+  "uniform-error" = callPackage
+    ({ mkDerivation, base, monads-tf, safe, uniform-strings }:
+     mkDerivation {
+       pname = "uniform-error";
+       version = "0.1.0";
+       sha256 = "1ap8wrnh08yvv9hwd92mp1g5fz4g7l0aij1h0hfl3j7ijd028pmx";
+       libraryHaskellDepends = [ base monads-tf safe uniform-strings ];
+       description = "Handling errors in the uniform framework";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
+  "uniform-fileio" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, directory, exceptions
+     , filepath, HTF, monads-tf, path, path-io, pipes, pureMD5
+     , quickcheck-text, safe, test-invariant, text, uniform-algebras
+     , uniform-error, uniform-strings, uniform-time, unix, zlib
+     }:
+     mkDerivation {
+       pname = "uniform-fileio";
+       version = "0.1.0";
+       sha256 = "0rxhjn4qv2dbdycdfqblymyfj3wax586ar77zwdgkyld7v7s12ya";
+       libraryHaskellDepends = [
+         base bytestring deepseq directory exceptions filepath monads-tf
+         path path-io pipes pureMD5 safe text uniform-algebras uniform-error
+         uniform-strings uniform-time unix zlib
+       ];
+       testHaskellDepends = [
+         base bytestring deepseq directory exceptions filepath HTF monads-tf
+         path path-io pipes pureMD5 quickcheck-text safe test-invariant text
+         uniform-algebras uniform-error uniform-strings uniform-time unix
+         zlib
+       ];
+       description = "Uniform file handling operations";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
   "uniform-io" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, Cabal
      , data-default-class, interruptible, iproute, monad-control
@@ -271870,6 +271976,55 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "uniform-strings" = callPackage
+    ({ mkDerivation, base, bytestring, MissingH, monads-tf, network-uri
+     , pretty-show, safe, snap-core, split, text, text-icu
+     , uniform-algebras
+     }:
+     mkDerivation {
+       pname = "uniform-strings";
+       version = "0.1.0";
+       sha256 = "17w04fxx81gk02xl7ca64amc0hb06i77fbanhykp3qd70nd2k8ix";
+       libraryHaskellDepends = [
+         base bytestring MissingH monads-tf network-uri pretty-show safe
+         snap-core split text text-icu uniform-algebras
+       ];
+       description = "Manipulate and convert strings of characters uniformly and consistently";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
+  "uniform-time" = callPackage
+    ({ mkDerivation, base, convertible, monads-tf, time
+     , uniform-algebras, uniform-error, uniform-strings
+     }:
+     mkDerivation {
+       pname = "uniform-time";
+       version = "0.1.0";
+       sha256 = "08p40xl4zzswhax3i6j4ps0zy2m9qsbcpj4b00xvizc3g9fxnzsh";
+       libraryHaskellDepends = [
+         base convertible monads-tf time uniform-algebras uniform-error
+         uniform-strings
+       ];
+       description = "Time in the uniform framework";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
+  "uniformBase" = callPackage
+    ({ mkDerivation, base, uniform-algebras, uniform-error
+     , uniform-fileio, uniform-strings, uniform-time
+     }:
+     mkDerivation {
+       pname = "uniformBase";
+       version = "0.1.0";
+       sha256 = "1ya87jzfmzldd66rwxrccidkrpknqws5rslq9zdsjcdngn2w0sa9";
+       libraryHaskellDepends = [
+         base uniform-algebras uniform-error uniform-fileio uniform-strings
+         uniform-time
+       ];
+       description = "A uniform base to build apps on";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
   "union" = callPackage
     ({ mkDerivation, base, criterion, deepseq, hashable, lens
      , profunctors, tagged, vinyl
@@ -272849,6 +273004,32 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "unliftio_0_2_15" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, deepseq
+     , directory, filepath, gauge, hspec, process, QuickCheck, stm, time
+     , transformers, unix, unliftio-core
+     }:
+     mkDerivation {
+       pname = "unliftio";
+       version = "0.2.15";
+       sha256 = "08yclgvk6slaisqc08b8bblh4fl77qicj0w90l46q419ya3drixd";
+       libraryHaskellDepends = [
+         async base bytestring deepseq directory filepath process stm time
+         transformers unix unliftio-core
+       ];
+       testHaskellDepends = [
+         async base bytestring containers deepseq directory filepath hspec
+         process QuickCheck stm time transformers unix unliftio-core
+       ];
+       benchmarkHaskellDepends = [
+         async base bytestring deepseq directory filepath gauge process stm
+         time transformers unix unliftio-core
+       ];
+       description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "unliftio-core" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -274732,27 +274913,6 @@ self: {
      }:
      mkDerivation {
        pname = "uuid";
-       version = "1.3.14";
-       sha256 = "1msj296faldr9fiwjqi9ixx3xl638mg6ffk7axic14wf8b9zw73a";
-       libraryHaskellDepends = [
-         base binary bytestring cryptohash-md5 cryptohash-sha1 entropy
-         network-info random text time uuid-types
-       ];
-       testHaskellDepends = [
-         base bytestring QuickCheck random tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "uuid_1_3_15" = callPackage
-    ({ mkDerivation, base, binary, bytestring, cryptohash-md5
-     , cryptohash-sha1, entropy, network-info, QuickCheck, random, tasty
-     , tasty-hunit, tasty-quickcheck, text, time, uuid-types
-     }:
-     mkDerivation {
-       pname = "uuid";
        version = "1.3.15";
        sha256 = "0r05h16gd7fgfpq9iz43jcn9jzrgfa0gk4cv1xy0p4rli66rb1gq";
        libraryHaskellDepends = [
@@ -274765,7 +274925,6 @@ self: {
        ];
        description = "For creating, comparing, parsing and printing Universally Unique Identifiers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uuid-aeson" = callPackage
@@ -274865,26 +275024,6 @@ self: {
   "uuid-types" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, ghc-byteorder
      , hashable, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, text
-     }:
-     mkDerivation {
-       pname = "uuid-types";
-       version = "1.0.4";
-       sha256 = "01pc93z6in6g717mxkhl111qc842fz1c2z7ml6n5jhm7lg52ran2";
-       libraryHaskellDepends = [
-         base binary bytestring deepseq hashable random text
-       ];
-       testHaskellDepends = [
-         base binary bytestring ghc-byteorder QuickCheck tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       description = "Type definitions for Universally Unique Identifiers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "uuid-types_1_0_5" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, ghc-byteorder
-     , hashable, QuickCheck, random, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, text
      }:
      mkDerivation {
@@ -274901,7 +275040,6 @@ self: {
        ];
        description = "Type definitions for Universally Unique Identifiers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "uulib" = callPackage
@@ -279548,8 +279686,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-validation";
-       version = "0.1.0.0";
-       sha256 = "0cbp32j31xkmniml56gnh278g94zhhfc8xlp842n8lll5hh13bf4";
+       version = "0.1.0.2";
+       sha256 = "1qrkfy31slmlbiw9gkz96yd9q6mrw72rjyjl0a5pnjif5ps12vpq";
        libraryHaskellDepends = [
          aeson base bytestring containers filepath http-types
          insert-ordered-containers lens openapi3 text wai
@@ -289833,6 +289971,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-persistent_1_6_0_7" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
+     , persistent-sqlite, persistent-template, resource-pool, resourcet
+     , text, transformers, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-persistent";
+       version = "1.6.0.7";
+       sha256 = "102xmp7n08sk1g5rv31jpln2v9kqf1zsqsnmi83mnhmgggcbj1k4";
+       libraryHaskellDepends = [
+         base blaze-builder conduit persistent persistent-template
+         resource-pool resourcet transformers yesod-core
+       ];
+       testHaskellDepends = [
+         base blaze-builder conduit hspec persistent persistent-sqlite text
+         wai-extra yesod-core
+       ];
+       description = "Some helpers for using Persistent from Yesod";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-platform" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, asn1-encoding
      , asn1-parse, asn1-types, attoparsec-conduit, authenticate
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index 2641892672a..5d178e3b5a1 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -249,7 +249,7 @@ in package-set { inherit pkgs lib callPackage; } self // {
     # a cabal flag with '--flag=myflag'.
     developPackage =
       { root
-      , name ? builtins.baseNameOf root
+      , name ? if builtins.typeOf root == "path" then builtins.baseNameOf root else ""
       , source-overrides ? {}
       , overrides ? self: super: {}
       , modifier ? drv: drv
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 1c3389c24d1..a4ce43859ce 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -75,191 +75,197 @@ let
       _: v: builtins.length (v.meta.maintainers or []) > 0
     ) set);
 
-  jobs = mapTestOn {
-    haskellPackages = packagePlatforms pkgs.haskellPackages;
-    haskell.compiler = packagePlatforms pkgs.haskell.compiler;
+  recursiveUpdateMany = builtins.foldl' lib.recursiveUpdate {};
 
-    tests = let
-      testPlatforms = packagePlatforms pkgs.tests;
-    in {
-      haskell = testPlatforms.haskell;
-      writers = testPlatforms.writers;
-    };
+  jobs = recursiveUpdateMany [
+    (mapTestOn {
+      haskellPackages = packagePlatforms pkgs.haskellPackages;
+      haskell.compiler = packagePlatforms pkgs.haskell.compiler;
 
-    # top-level packages that depend on haskellPackages
-    inherit (pkgsPlatforms)
-      agda
-      arion
-      bench
-      bustle
-      blucontrol
-      cabal-install
-      cabal2nix
-      cachix
-      carp
-      cedille
-      client-ip-echo
-      darcs
-      dconf2nix
-      dhall
-      dhall-bash
-      dhall-docs
-      dhall-lsp-server
-      dhall-json
-      dhall-nix
-      dhall-text
-      diagrams-builder
-      elm2nix
-      fffuu
-      futhark
-      ghcid
-      git-annex
-      git-brunch
-      gitit
-      glirc
-      hadolint
-      haskell-ci
-      haskell-language-server
-      hasura-graphql-engine
-      hci
-      hercules-ci-agent
-      hinit
-      hedgewars
-      hledger
-      hledger-iadd
-      hledger-interest
-      hledger-ui
-      hledger-web
-      hlint
-      hpack
-      hyper-haskell
-      hyper-haskell-server-with-packages
-      icepeak
-      idris
-      ihaskell
-      jl
-      koka
-      krank
-      lambdabot
-      ldgallery
-      madlang
-      matterhorn
-      mueval
-      neuron-notes
-      niv
-      nix-delegate
-      nix-deploy
-      nix-diff
-      nix-linter
-      nix-output-monitor
-      nix-script
-      nix-tree
-      nixfmt
-      nota
-      ormolu
-      pandoc
-      pakcs
-      petrinizer
-      place-cursor-at
-      pinboard-notes-backup
-      pretty-simple
-      shake
-      shellcheck
-      sourceAndTags
-      spacecookie
-      spago
-      splot
-      stack
-      stack2nix
-      stutter
-      stylish-haskell
-      taffybar
-      tamarin-prover
-      taskell
-      termonad-with-packages
-      tldr-hs
-      tweet-hs
-      update-nix-fetchgit
-      uqm
-      uuagc
-      vaultenv
-      wstunnel
-      xmobar
-      xmonad-with-packages
-      yi
-      zsh-git-prompt
-      ;
+      tests = let
+        testPlatforms = packagePlatforms pkgs.tests;
+      in {
+        haskell = testPlatforms.haskell;
+        writers = testPlatforms.writers;
+      };
+
+      # top-level packages that depend on haskellPackages
+      inherit (pkgsPlatforms)
+        agda
+        arion
+        bench
+        bustle
+        blucontrol
+        cabal-install
+        cabal2nix
+        cachix
+        carp
+        cedille
+        client-ip-echo
+        darcs
+        dconf2nix
+        dhall
+        dhall-bash
+        dhall-docs
+        dhall-lsp-server
+        dhall-json
+        dhall-nix
+        dhall-text
+        diagrams-builder
+        elm2nix
+        fffuu
+        futhark
+        ghcid
+        git-annex
+        git-brunch
+        gitit
+        glirc
+        hadolint
+        haskell-ci
+        haskell-language-server
+        hasura-graphql-engine
+        hci
+        hercules-ci-agent
+        hinit
+        hedgewars
+        hledger
+        hledger-iadd
+        hledger-interest
+        hledger-ui
+        hledger-web
+        hlint
+        hpack
+        hyper-haskell
+        hyper-haskell-server-with-packages
+        icepeak
+        idris
+        ihaskell
+        jl
+        koka
+        krank
+        lambdabot
+        ldgallery
+        madlang
+        matterhorn
+        mueval
+        neuron-notes
+        niv
+        nix-delegate
+        nix-deploy
+        nix-diff
+        nix-linter
+        nix-output-monitor
+        nix-script
+        nix-tree
+        nixfmt
+        nota
+        ormolu
+        pandoc
+        pakcs
+        petrinizer
+        place-cursor-at
+        pinboard-notes-backup
+        pretty-simple
+        shake
+        shellcheck
+        sourceAndTags
+        spacecookie
+        spago
+        splot
+        stack
+        stack2nix
+        stutter
+        stylish-haskell
+        taffybar
+        tamarin-prover
+        taskell
+        termonad-with-packages
+        tldr-hs
+        tweet-hs
+        update-nix-fetchgit
+        uqm
+        uuagc
+        vaultenv
+        wstunnel
+        xmobar
+        xmonad-with-packages
+        yi
+        zsh-git-prompt
+        ;
 
-    elmPackages.elm = pkgsPlatforms.elmPackages.elm;
-  } // versionedCompilerJobs {
-    # Packages which should be checked on more than the
-    # default GHC version. This list can be used to test
-    # the state of the package set with newer compilers
-    # and to confirm that critical packages for the
-    # package sets (like Cabal, jailbreak-cabal) are
-    # working as expected.
-    cabal-install = all;
-    Cabal_3_4_0_0 = with compilerNames; [ ghc884 ghc8104 ];
-    funcmp = all;
-    haskell-language-server = all;
-    hoogle = all;
-    hsdns = all;
-    jailbreak-cabal = all;
-    language-nix = all;
-    nix-paths = all;
-    titlecase = all;
-  } // {
-    mergeable = pkgs.releaseTools.aggregate {
-      name = "haskell-updates-mergeable";
-      meta = {
-        description = ''
-          Critical haskell packages that should work at all times,
-          serves as minimum requirement for an update merge
-        '';
-        maintainers = lib.teams.haskell.members;
+      elmPackages.elm = pkgsPlatforms.elmPackages.elm;
+    })
+    (versionedCompilerJobs {
+      # Packages which should be checked on more than the
+      # default GHC version. This list can be used to test
+      # the state of the package set with newer compilers
+      # and to confirm that critical packages for the
+      # package sets (like Cabal, jailbreak-cabal) are
+      # working as expected.
+      cabal-install = all;
+      Cabal_3_4_0_0 = with compilerNames; [ ghc884 ghc8104 ];
+      funcmp = all;
+      haskell-language-server = all;
+      hoogle = all;
+      hsdns = all;
+      jailbreak-cabal = all;
+      language-nix = all;
+      nix-paths = all;
+      titlecase = all;
+    })
+    {
+      mergeable = pkgs.releaseTools.aggregate {
+        name = "haskell-updates-mergeable";
+        meta = {
+          description = ''
+            Critical haskell packages that should work at all times,
+            serves as minimum requirement for an update merge
+          '';
+          maintainers = lib.teams.haskell.members;
+        };
+        constituents = accumulateDerivations [
+          # haskell specific tests
+          jobs.tests.haskell
+          jobs.tests.writers # writeHaskell{,Bin}
+          # important top-level packages
+          jobs.cabal-install
+          jobs.cabal2nix
+          jobs.cachix
+          jobs.darcs
+          jobs.haskell-language-server
+          jobs.hledger
+          jobs.hledger-ui
+          jobs.hpack
+          jobs.niv
+          jobs.pandoc
+          jobs.stack
+          jobs.stylish-haskell
+          # important haskell (library) packages
+          jobs.haskellPackages.cabal-plan
+          jobs.haskellPackages.distribution-nixpkgs
+          jobs.haskellPackages.hackage-db
+          jobs.haskellPackages.policeman
+          jobs.haskellPackages.xmonad
+          jobs.haskellPackages.xmonad-contrib
+          # haskell packages maintained by @peti
+          # imported from the old hydra jobset
+          jobs.haskellPackages.hopenssl
+          jobs.haskellPackages.hsemail
+          jobs.haskellPackages.hsyslog
+        ];
       };
-      constituents = accumulateDerivations [
-        # haskell specific tests
-        jobs.tests.haskell
-        jobs.tests.writers # writeHaskell{,Bin}
-        # important top-level packages
-        jobs.cabal-install
-        jobs.cabal2nix
-        jobs.cachix
-        jobs.darcs
-        jobs.haskell-language-server
-        jobs.hledger
-        jobs.hledger-ui
-        jobs.hpack
-        jobs.niv
-        jobs.pandoc
-        jobs.stack
-        jobs.stylish-haskell
-        # important haskell (library) packages
-        jobs.haskellPackages.cabal-plan
-        jobs.haskellPackages.distribution-nixpkgs
-        jobs.haskellPackages.hackage-db
-        jobs.haskellPackages.policeman
-        jobs.haskellPackages.xmonad
-        jobs.haskellPackages.xmonad-contrib
-        # haskell packages maintained by @peti
-        # imported from the old hydra jobset
-        jobs.haskellPackages.hopenssl
-        jobs.haskellPackages.hsemail
-        jobs.haskellPackages.hsyslog
-      ];
-    };
-    maintained = pkgs.releaseTools.aggregate {
-      name = "maintained-haskell-packages";
-      meta = {
-        description = "Aggregate jobset of all haskell packages with a maintainer";
-        maintainers = lib.teams.haskell.members;
+      maintained = pkgs.releaseTools.aggregate {
+        name = "maintained-haskell-packages";
+        meta = {
+          description = "Aggregate jobset of all haskell packages with a maintainer";
+          maintainers = lib.teams.haskell.members;
+        };
+        constituents = accumulateDerivations
+          (builtins.map
+            (name: jobs.haskellPackages."${name}")
+            (maintainedPkgNames pkgs.haskellPackages));
       };
-      constituents = accumulateDerivations
-        (builtins.map
-          (name: jobs.haskellPackages."${name}")
-          (maintainedPkgNames pkgs.haskellPackages));
-    };
-  };
+    }
+  ];
 
 in jobs