summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-04-24 00:16:17 +0000
committerGitHub <noreply@github.com>2021-04-24 00:16:17 +0000
commit6e7c70d02d4f24dd840fd24a812895205c3a2f9b (patch)
treeffbed9ee289a0ad29b6e4bacd2d42043e70e1942
parent0d0e7ca7695a2d45cd53169d3a6ae423edf46b80 (diff)
parentc298ef8855f6ad629da5e09aab36ee673473316c (diff)
downloadnixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.tar
nixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.tar.gz
nixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.tar.bz2
nixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.tar.lz
nixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.tar.xz
nixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.tar.zst
nixpkgs-6e7c70d02d4f24dd840fd24a812895205c3a2f9b.zip
Merge master into staging-next
-rw-r--r--lib/systems/doubles.nix56
-rw-r--r--maintainers/maintainer-list.nix8
-rw-r--r--nixos/doc/manual/development/writing-nixos-tests.xml22
-rw-r--r--nixos/lib/test-driver/test-driver.py79
-rw-r--r--nixos/modules/services/monitoring/vnstat.nix28
-rw-r--r--nixos/modules/services/security/sshguard.nix32
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix15
-rw-r--r--nixos/tests/nextcloud/basic.nix2
-rw-r--r--pkgs/applications/audio/mympd/default.nix7
-rw-r--r--pkgs/applications/graphics/ImageMagick/6.x.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/default.nix87
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch9
-rw-r--r--pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch26
-rw-r--r--pkgs/data/documentation/scheme-manpages/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml122
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix34
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2154
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/lmdbxx/default.nix6
-rw-r--r--pkgs/development/libraries/mtxclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-picnic-api/default.nix34
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix41
-rw-r--r--pkgs/development/python-modules/sendgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/twitterapi/default.nix4
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix41
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/games/factorio/versions.json24
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/openttd/jgrpp.nix4
-rw-r--r--pkgs/misc/vim-plugins/generated.nix150
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names2
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix7
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/mautrix-signal/default.nix55
-rw-r--r--pkgs/servers/radicale/3.x.nix26
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix1
-rw-r--r--pkgs/tools/misc/neofetch/default.nix10
-rw-r--r--pkgs/tools/misc/tmux/default.nix10
-rw-r--r--pkgs/tools/networking/wstunnel/default.nix41
-rw-r--r--pkgs/tools/security/prs/default.nix15
-rw-r--r--pkgs/top-level/all-packages.nix7
-rw-r--r--pkgs/top-level/python-packages.nix4
54 files changed, 1704 insertions, 1567 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 8220bca249f..7ad40c8c62c 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -6,43 +6,51 @@ let
   inherit (lib.attrsets) matchAttrs;
 
   all = [
-    "aarch64-linux"
-    "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux"
+    # Cygwin
+    "i686-cygwin" "x86_64-cygwin"
 
-    "mipsel-linux"
+    # Darwin
+    "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
 
-    "i686-cygwin" "i686-freebsd" "i686-linux" "i686-netbsd" "i686-openbsd"
+    # FreeBSD
+    "i686-freebsd" "x86_64-freebsd"
 
-    "x86_64-cygwin" "x86_64-freebsd" "x86_64-linux"
-    "x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris"
+    # Genode
+    "aarch64-genode" "i686-genode" "x86_64-genode"
 
-    "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin"
+    # illumos
+    "x86_64-solaris"
 
-    "x86_64-windows" "i686-windows"
+    # JS
+    "js-ghcjs"
 
-    "wasm64-wasi" "wasm32-wasi"
+    # Linux
+    "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux"
+    "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux"
+    "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux"
 
-    "x86_64-redox"
+    # MMIXware
+    "mmix-mmixware"
 
-    "powerpc64-linux"
-    "powerpc64le-linux"
+    # NetBSD
+    "i686-netbsd" "x86_64-netbsd"
 
-    "riscv32-linux" "riscv64-linux"
+    # none
+    "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none"
+    "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none"
+    "x86_64-none"
 
-    "arm-none" "armv6l-none" "aarch64-none"
-    "avr-none"
-    "i686-none" "x86_64-none"
-    "powerpc-none"
-    "msp430-none"
-    "riscv64-none" "riscv32-none"
-    "vc4-none"
-    "or1k-none"
+    # OpenBSD
+    "i686-openbsd" "x86_64-openbsd"
 
-    "mmix-mmixware"
+    # Redox
+    "x86_64-redox"
 
-    "js-ghcjs"
+    # WASI
+    "wasm64-wasi" "wasm32-wasi"
 
-    "aarch64-genode" "i686-genode" "x86_64-genode"
+    # Windows
+    "x86_64-windows" "i686-windows"
   ];
 
   allParsed = map parse.mkSystemFromString all;
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index cdd854ddb33..8962995a357 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3008,13 +3008,13 @@
     name = "John Ericson";
   };
   erictapen = {
-    email = "justin.humm@posteo.de";
+    email = "kerstin@erictapen.name";
     github = "erictapen";
     githubId = 11532355;
-    name = "Justin Humm";
+    name = "Kerstin Humm";
     keys = [{
-      longkeyid = "rsa4096/0x438871E000AA178E";
-      fingerprint = "984E 4BAD 9127 4D0E AE47  FF03 4388 71E0 00AA 178E";
+      longkeyid = "rsa4096/0x40293358C7B9326B";
+      fingerprint = "F178 B4B4 6165 6D1B 7C15  B55D 4029 3358 C7B9 326B";
     }];
   };
   erikryb = {
diff --git a/nixos/doc/manual/development/writing-nixos-tests.xml b/nixos/doc/manual/development/writing-nixos-tests.xml
index 5f70f74d5d9..5a95436915f 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.xml
+++ b/nixos/doc/manual/development/writing-nixos-tests.xml
@@ -188,6 +188,25 @@ start_all()
    </varlistentry>
    <varlistentry>
     <term>
+     <methodname>get_screen_text_variants</methodname>
+    </term>
+    <listitem>
+     <para>
+      Return a list of different interpretations of what is currently visible
+      on the machine's screen using optical character recognition. The number
+      and order of the interpretations is not specified and is subject to
+      change, but if no exception is raised at least one will be returned.
+     </para>
+     <note>
+      <para>
+       This requires passing <option>enableOCR</option> to the test attribute
+       set.
+      </para>
+     </note>
+    </listitem>
+   </varlistentry>
+   <varlistentry>
+    <term>
      <methodname>get_screen_text</methodname>
     </term>
     <listitem>
@@ -350,7 +369,8 @@ start_all()
      <para>
       Wait until the supplied regular expressions matches the textual contents
       of the screen by using optical character recognition (see
-      <methodname>get_screen_text</methodname>).
+     <methodname>get_screen_text</methodname> and
+     <methodname>get_screen_text_variants</methodname>).
      </para>
      <note>
       <para>
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 96b75a49928..7800a49e410 100644
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -1,7 +1,7 @@
 #! /somewhere/python3
 from contextlib import contextmanager, _GeneratorContextManager
 from queue import Queue, Empty
-from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
+from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List, Iterable
 from xml.sax.saxutils import XMLGenerator
 import queue
 import io
@@ -205,6 +205,37 @@ class Logger:
         self.xml.endElement("nest")
 
 
+def _perform_ocr_on_screenshot(
+    screenshot_path: str, model_ids: Iterable[int]
+) -> List[str]:
+    if shutil.which("tesseract") is None:
+        raise Exception("OCR requested but enableOCR is false")
+
+    magick_args = (
+        "-filter Catrom -density 72 -resample 300 "
+        + "-contrast -normalize -despeckle -type grayscale "
+        + "-sharpen 1 -posterize 3 -negate -gamma 100 "
+        + "-blur 1x65535"
+    )
+
+    tess_args = f"-c debug_file=/dev/null --psm 11"
+
+    cmd = f"convert {magick_args} {screenshot_path} tiff:{screenshot_path}.tiff"
+    ret = subprocess.run(cmd, shell=True, capture_output=True)
+    if ret.returncode != 0:
+        raise Exception(f"TIFF conversion failed with exit code {ret.returncode}")
+
+    model_results = []
+    for model_id in model_ids:
+        cmd = f"tesseract {screenshot_path}.tiff - {tess_args} --oem {model_id}"
+        ret = subprocess.run(cmd, shell=True, capture_output=True)
+        if ret.returncode != 0:
+            raise Exception(f"OCR failed with exit code {ret.returncode}")
+        model_results.append(ret.stdout.decode("utf-8"))
+
+    return model_results
+
+
 class Machine:
     def __init__(self, args: Dict[str, Any]) -> None:
         if "name" in args:
@@ -637,43 +668,29 @@ class Machine:
         """Debugging: Dump the contents of the TTY<n>"""
         self.execute("fold -w 80 /dev/vcs{} | systemd-cat".format(tty))
 
-    def get_screen_text(self) -> str:
-        if shutil.which("tesseract") is None:
-            raise Exception("get_screen_text used but enableOCR is false")
-
-        magick_args = (
-            "-filter Catrom -density 72 -resample 300 "
-            + "-contrast -normalize -despeckle -type grayscale "
-            + "-sharpen 1 -posterize 3 -negate -gamma 100 "
-            + "-blur 1x65535"
-        )
-
-        tess_args = "-c debug_file=/dev/null --psm 11 --oem 2"
+    def _get_screen_text_variants(self, model_ids: Iterable[int]) -> List[str]:
+        with tempfile.TemporaryDirectory() as tmpdir:
+            screenshot_path = os.path.join(tmpdir, "ppm")
+            self.send_monitor_command(f"screendump {screenshot_path}")
+            return _perform_ocr_on_screenshot(screenshot_path, model_ids)
 
-        with self.nested("performing optical character recognition"):
-            with tempfile.NamedTemporaryFile() as tmpin:
-                self.send_monitor_command("screendump {}".format(tmpin.name))
-
-                cmd = "convert {} {} tiff:- | tesseract - - {}".format(
-                    magick_args, tmpin.name, tess_args
-                )
-                ret = subprocess.run(cmd, shell=True, capture_output=True)
-                if ret.returncode != 0:
-                    raise Exception(
-                        "OCR failed with exit code {}".format(ret.returncode)
-                    )
+    def get_screen_text_variants(self) -> List[str]:
+        return self._get_screen_text_variants([0, 1, 2])
 
-                return ret.stdout.decode("utf-8")
+    def get_screen_text(self) -> str:
+        return self._get_screen_text_variants([2])[0]
 
     def wait_for_text(self, regex: str) -> None:
         def screen_matches(last: bool) -> bool:
-            text = self.get_screen_text()
-            matches = re.search(regex, text) is not None
+            variants = self.get_screen_text_variants()
+            for text in variants:
+                if re.search(regex, text) is not None:
+                    return True
 
-            if last and not matches:
-                self.log("Last OCR attempt failed. Text was: {}".format(text))
+            if last:
+                self.log("Last OCR attempt failed. Text was: {}".format(variants))
 
-            return matches
+            return False
 
         with self.nested("waiting for {} to appear on screen".format(regex)):
             retry(screen_matches)
diff --git a/nixos/modules/services/monitoring/vnstat.nix b/nixos/modules/services/monitoring/vnstat.nix
index e9bedb704a4..5e19c399568 100644
--- a/nixos/modules/services/monitoring/vnstat.nix
+++ b/nixos/modules/services/monitoring/vnstat.nix
@@ -6,21 +6,21 @@ let
   cfg = config.services.vnstat;
 in {
   options.services.vnstat = {
-    enable = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to enable update of network usage statistics via vnstatd.
-      '';
-    };
+    enable = mkEnableOption "update of network usage statistics via vnstatd";
   };
 
   config = mkIf cfg.enable {
-    users.users.vnstatd = {
-      isSystemUser = true;
-      description = "vnstat daemon user";
-      home = "/var/lib/vnstat";
-      createHome = true;
+
+    environment.systemPackages = [ pkgs.vnstat ];
+
+    users = {
+      groups.vnstatd = {};
+
+      users.vnstatd = {
+        isSystemUser = true;
+        group = "vnstatd";
+        description = "vnstat daemon user";
+      };
     };
 
     systemd.services.vnstat = {
@@ -33,7 +33,6 @@ in {
         "man:vnstat(1)"
         "man:vnstat.conf(5)"
       ];
-      preStart = "chmod 755 /var/lib/vnstat";
       serviceConfig = {
         ExecStart = "${pkgs.vnstat}/bin/vnstatd -n";
         ExecReload = "${pkgs.procps}/bin/kill -HUP $MAINPID";
@@ -52,7 +51,10 @@ in {
         RestrictNamespaces = true;
 
         User = "vnstatd";
+        Group = "vnstatd";
       };
     };
   };
+
+  meta.maintainers = [ maintainers.evils ];
 }
diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix
index 033ff5ef4b5..53bd9efa5ac 100644
--- a/nixos/modules/services/security/sshguard.nix
+++ b/nixos/modules/services/security/sshguard.nix
@@ -5,6 +5,21 @@ with lib;
 let
   cfg = config.services.sshguard;
 
+  configFile = let
+    args = lib.concatStringsSep " " ([
+      "-afb"
+      "-p info"
+      "-o cat"
+      "-n1"
+    ] ++ (map (name: "-t ${escapeShellArg name}") cfg.services));
+    backend = if config.networking.nftables.enable
+      then "sshg-fw-nft-sets"
+      else "sshg-fw-ipset";
+  in pkgs.writeText "sshguard.conf" ''
+    BACKEND="${pkgs.sshguard}/libexec/${backend}"
+    LOGREADER="LANG=C ${pkgs.systemd}/bin/journalctl ${args}"
+  '';
+
 in {
 
   ###### interface
@@ -85,20 +100,7 @@ in {
 
   config = mkIf cfg.enable {
 
-    environment.etc."sshguard.conf".text = let
-      args = lib.concatStringsSep " " ([
-        "-afb"
-        "-p info"
-        "-o cat"
-        "-n1"
-      ] ++ (map (name: "-t ${escapeShellArg name}") cfg.services));
-      backend = if config.networking.nftables.enable
-        then "sshg-fw-nft-sets"
-        else "sshg-fw-ipset";
-    in ''
-      BACKEND="${pkgs.sshguard}/libexec/${backend}"
-      LOGREADER="LANG=C ${pkgs.systemd}/bin/journalctl ${args}"
-    '';
+    environment.etc."sshguard.conf".source = configFile;
 
     systemd.services.sshguard = {
       description = "SSHGuard brute-force attacks protection system";
@@ -107,6 +109,8 @@ in {
       after = [ "network.target" ];
       partOf = optional config.networking.firewall.enable "firewall.service";
 
+      restartTriggers = [ configFile ];
+
       path = with pkgs; if config.networking.nftables.enable
         then [ nftables iproute2 systemd ]
         else [ iptables ipset iproute2 systemd ];
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 58e8e5a0a8b..545deaa905f 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -10,7 +10,7 @@ let
     extensions = { enabled, all }:
       (with all;
         enabled
-        ++ optional (!cfg.disableImagemagick) imagick
+        ++ optional cfg.enableImagemagick imagick
         # Optionally enabled depending on caching settings
         ++ optional cfg.caching.apcu apcu
         ++ optional cfg.caching.redis redis
@@ -63,6 +63,9 @@ in {
       Further details about this can be found in the `Nextcloud`-section of the NixOS-manual
       (which can be openend e.g. by running `nixos-help`).
     '')
+    (mkRemovedOptionModule [ "services" "nextcloud" "disableImagemagick" ] ''
+      Use services.nextcloud.nginx.enableImagemagick instead.
+    '')
   ];
 
   options.services.nextcloud = {
@@ -303,16 +306,14 @@ in {
       };
     };
 
-    disableImagemagick = mkOption {
-      type = types.bool;
-      default = false;
-      description = ''
-        Whether to not load the ImageMagick module into PHP.
+    enableImagemagick = mkEnableOption ''
+        Whether to load the ImageMagick module into PHP.
         This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF).
         You may want to disable it for increased security. In that case, previews will still be available
         for some images (e.g. JPEG and PNG).
         See https://github.com/nextcloud/server/issues/13099
-      '';
+    '' // {
+      default = true;
     };
 
     caching = {
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index 5074b6cdafe..76f7f68dc96 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -51,7 +51,7 @@ in {
     nextcloudWithoutMagick = args@{ config, pkgs, lib, ... }:
       lib.mkMerge
       [ (nextcloud args)
-        { services.nextcloud.disableImagemagick = true; } ];
+        { services.nextcloud.enableImagemagick = false; } ];
   };
 
   testScript = { nodes, ... }: let
diff --git a/pkgs/applications/audio/mympd/default.nix b/pkgs/applications/audio/mympd/default.nix
index bd00a692b7f..03d0556326a 100644
--- a/pkgs/applications/audio/mympd/default.nix
+++ b/pkgs/applications/audio/mympd/default.nix
@@ -8,18 +8,18 @@
 , lua5_3
 , libid3tag
 , flac
-, mongoose
+, pcre
 }:
 
 stdenv.mkDerivation rec {
   pname = "mympd";
-  version = "6.10.0";
+  version = "7.0.2";
 
   src = fetchFromGitHub {
     owner = "jcorporation";
     repo = "myMPD";
     rev = "v${version}";
-    sha256 = "sha256-QGJti1tKKJlumLgABPmROplF0UVGMWMnyRXLb2cEieQ=";
+    sha256 = "sha256-2V3LbgnJfTIO71quZ+hfLnw/lNLYxXt19jw2Od6BVvM=";
   };
 
   nativeBuildInputs = [ pkg-config cmake ];
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     lua5_3
     libid3tag
     flac
+    pcre
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/ImageMagick/6.x.nix b/pkgs/applications/graphics/ImageMagick/6.x.nix
index de96650167f..c77e60950c9 100644
--- a/pkgs/applications/graphics/ImageMagick/6.x.nix
+++ b/pkgs/applications/graphics/ImageMagick/6.x.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "6.9.12-3";
+  version = "6.9.12-8";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick6";
     rev = version;
-    sha256 = "sha256-h9c0N9AcFVpNYpKl+95q1RVJWuacN4N4kbAJIKJp8Jc=";
+    sha256 = "sha256-ZFCmoZOdZ3jbM5S90zBNiMGJKFylMLO0r3DB25wu3MM=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 8cf7966703f..b2c665258cd 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.0.11-6";
+  version = "7.0.11-8";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    sha256 = "sha256-QClOS58l17KHeQXya+IKNx6nIkd6jCKp8uupRH7Fwnk=";
+    sha256 = "sha256-h9hoFXnxuLVQRVtEh83P7efz2KFLLqOXKD6nVJEhqiM=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
index f6bb7133d99..d866b643ef2 100644
--- a/pkgs/applications/misc/safeeyes/default.nix
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -1,16 +1,16 @@
 { lib, python3Packages, gobject-introspection, libappindicator-gtk3, libnotify, gtk3, gnome3, xprintidle-ng, wrapGAppsHook, gdk-pixbuf, shared-mime-info, librsvg
 }:
 
-let inherit (python3Packages) python buildPythonApplication fetchPypi;
+let inherit (python3Packages) python buildPythonApplication fetchPypi croniter;
 
 in buildPythonApplication rec {
   pname = "safeeyes";
-  version = "2.0.9";
+  version = "2.1.3";
   namePrefix = "";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13q06jv8hm0dynmr3g5pf1m4j3w9iabrpz1nhpl02f7x0d90whg2";
+    sha256 = "1b5w887hivmdrkm1ydbar4nmnks6grpbbpvxgf9j9s46msj03c9x";
   };
 
   buildInputs = [
@@ -30,6 +30,7 @@ in buildPythonApplication rec {
     xlib
     pygobject3
     dbus-python
+    croniter
 
     libappindicator-gtk3
     libnotify
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 6a83dcd91c8..31e7d4b2fdd 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -7,7 +7,7 @@
 , xdg-utils, yasm, nasm, minizip, libwebp
 , libusb1, pciutils, nss, re2
 
-, python2Packages, perl, pkg-config
+, python2Packages, python3Packages, perl, pkg-config
 , nspr, systemd, libkrb5
 , util-linux, alsaLib
 , bison, gperf
@@ -42,6 +42,16 @@ with lib;
 
 let
   jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+  # TODO: Python 3 support is incomplete and "python3 ../../build/util/python2_action.py"
+  # currently doesn't work due to mixed Python 2/3 dependencies:
+  pythonPackages = if chromiumVersionAtLeast "93"
+    then python3Packages
+    else python2Packages;
+  forcePython3Patch = (githubPatch
+    # Reland #8 of "Force Python 3 to be used in build."":
+    "a2d3c362802d9e6b62f895fcda75a3695b77b1b8"
+    "1r9spr2wmjk9x9l3m1gzn6692mlvbxdz0r5hlr5rfwiwr900rxi2"
+  );
 
   # The additional attributes for creating derivations based on the chromium
   # source tree.
@@ -127,9 +137,9 @@ let
 
     nativeBuildInputs = [
       llvmPackages.lldClang.bintools
-      ninja which python2Packages.python perl pkg-config
-      python2Packages.ply python2Packages.jinja2 nodejs
-      gnutar python2Packages.setuptools
+      ninja which pythonPackages.python perl pkg-config
+      pythonPackages.ply pythonPackages.jinja2 nodejs
+      gnutar pythonPackages.setuptools
     ];
 
     buildInputs = defaultDependencies ++ [
@@ -169,6 +179,8 @@ let
     postPatch = lib.optionalString (chromiumVersionAtLeast "91") ''
       # Required for patchShebangs (unsupported):
       chmod -x third_party/webgpu-cts/src/tools/deno
+    '' + optionalString (chromiumVersionAtLeast "92") ''
+      patch -p1 --reverse < ${forcePython3Patch}
     '' + ''
       # remove unused third-party
       for lib in ${toString gnSystemLibraries}; do
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 927f89c9493..b097864af43 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -7,7 +7,6 @@
 , lmdb
 , lmdbxx
 , libsecret
-, tweeny
 , mkDerivation
 , qtbase
 , qtkeychain
@@ -30,13 +29,13 @@
 
 mkDerivation rec {
   pname = "nheko";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "nheko";
     rev = "v${version}";
-    sha256 = "1v7k3ifzi05fdr06hmws1wkfl1bmhrnam3dbwahp086vkj0r8524";
+    sha256 = "sha256-w4l91/W6F1FL+Q37qWSjYRHv4vad/10fxdKwfNeEwgw=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +46,6 @@ mkDerivation rec {
 
   buildInputs = [
     nlohmann_json
-    tweeny
     mtxclient
     olm
     boost17x
diff --git a/pkgs/applications/networking/instant-messengers/signald/default.nix b/pkgs/applications/networking/instant-messengers/signald/default.nix
new file mode 100644
index 00000000000..593e63d32f5
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signald/default.nix
@@ -0,0 +1,87 @@
+{ lib, stdenv, fetchurl, fetchgit, jre, coreutils, gradle_6, git, perl
+, makeWrapper }:
+
+let
+  pname = "signald";
+
+  version = "0.13.1";
+
+  # This package uses the .git directory
+  src = fetchgit {
+    url = "https://gitlab.com/signald/signald";
+    rev = version;
+    sha256 = "1ilmg0i1kw2yc7m3hxw1bqdpl3i9wwbj8623qmz9cxhhavbcd5i7";
+    leaveDotGit = true;
+  };
+
+  buildConfigJar = fetchurl {
+    url = "https://dl.bintray.com/mfuerstenau/maven/gradle/plugin/de/fuerstenau/BuildConfigPlugin/1.1.8/BuildConfigPlugin-1.1.8.jar";
+    sha256 = "0y1f42y7ilm3ykgnm6s3ks54d71n8lsy5649xgd9ahv28lj05x9f";
+  };
+
+  patches = [ ./git-describe-always.patch ./gradle-plugin.patch ];
+
+  postPatch = ''
+    patchShebangs gradlew
+    sed -i -e 's|BuildConfig.jar|${buildConfigJar}|' build.gradle
+  '';
+
+  # fake build to pre-download deps into fixed-output derivation
+  deps = stdenv.mkDerivation {
+    name = "${pname}-deps";
+    inherit src version postPatch patches;
+    nativeBuildInputs = [ gradle_6 perl ];
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d)
+      gradle --no-daemon build
+    '';
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \
+        | sh
+    '';
+    # Don't move info to share/
+    forceShare = [ "dummy" ];
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "0w8ixp1l0ch1jc2dqzxdx3ljlh17hpgns2ba7qvj43nr4prl71l7";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit pname src version postPatch patches;
+
+  buildPhase = ''
+    export GRADLE_USER_HOME=$(mktemp -d)
+
+    # Use the local packages from -deps
+    sed -i -e 's|mavenCentral()|mavenLocal(); maven { url uri("${deps}") }|' build.gradle
+
+    gradle --offline --no-daemon distTar
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    tar xvf ./build/distributions/signald.tar --strip-components=1 --directory $out/
+    wrapProgram $out/bin/signald \
+      --prefix PATH : ${lib.makeBinPath [ coreutils ]} \
+      --set JAVA_HOME "${jre}"
+  '';
+
+  nativeBuildInputs = [ git gradle_6 makeWrapper ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Unofficial daemon for interacting with Signal";
+    longDescription = ''
+      Signald is a daemon that facilitates communication over Signal.  It is
+      unofficial, unapproved, and not nearly as secure as the real Signal
+      clients.
+    '';
+    homepage = "https://signald.org";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ expipiplus1 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch b/pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch
new file mode 100644
index 00000000000..2f4830e27dd
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signald/git-describe-always.patch
@@ -0,0 +1,9 @@
+diff --git a/version.sh b/version.sh
+index 7aeeb3c..060cba3 100755
+--- a/version.sh
++++ b/version.sh
+@@ -1,3 +1,3 @@
+ #!/bin/sh
+-VERSION=$(git describe --exact-match 2> /dev/null) || VERSION=$(git describe --abbrev=0)+git$(date +%Y-%m-%d)r$(git rev-parse --short=8 HEAD).$(git rev-list $(git describe --abbrev=0)..HEAD --count)
++VERSION=$(git describe --exact-match 2> /dev/null) || VERSION=$(git describe --always --abbrev=0)+git$(date +%Y-%m-%d)r$(git rev-parse --short=8 HEAD).$(git rev-list $(git describe --always --abbrev=0)..HEAD --count)
+ echo $VERSION
diff --git a/pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch b/pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch
new file mode 100644
index 00000000000..6952654758d
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signald/gradle-plugin.patch
@@ -0,0 +1,26 @@
+diff --git a/build.gradle b/build.gradle
+index 11d7a99..66805bb 100644
+--- a/build.gradle
++++ b/build.gradle
+@@ -3,9 +3,12 @@ import org.gradle.nativeplatform.platform.internal.OperatingSystemInternal
+ import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform
+ import org.xml.sax.SAXParseException
+ 
+-plugins {
+-   id 'de.fuerstenau.buildconfig' version '1.1.8'
++buildscript {
++  dependencies {
++    classpath files ("BuildConfig.jar")
++  }
+ }
++apply plugin: 'de.fuerstenau.buildconfig'
+ 
+ apply plugin: 'java'
+ apply plugin: 'application'
+@@ -185,4 +188,4 @@ task integrationTest(type: Test) {
+     testClassesDirs = sourceSets.integrationTest.output.classesDirs
+     classpath = sourceSets.integrationTest.runtimeClasspath
+     outputs.upToDateWhen { false }
+-}
+\ No newline at end of file
++}
diff --git a/pkgs/data/documentation/scheme-manpages/default.nix b/pkgs/data/documentation/scheme-manpages/default.nix
index e9fa1b7e4f4..900f28edc8d 100644
--- a/pkgs/data/documentation/scheme-manpages/default.nix
+++ b/pkgs/data/documentation/scheme-manpages/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "scheme-manpages-unstable";
-  version = "2021-01-17";
+  version = "2021-03-11";
 
   src = fetchFromGitHub {
     owner = "schemedoc";
     repo = "manpages";
-    rev = "817798ccca81424e797fda0e218d53a95f50ded7";
-    sha256 = "1amc0dmliz2a37pivlkx88jbc08ypfiwv3z477znx8khhc538glk";
+    rev = "d0163a4e29d29b2f0beb762be4095775134f5ef9";
+    sha256 = "0a8f7rq458c7985chwn1qb9yxcwyr0hl39r9vlvm5j687hy3igs2";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f313d65508d..552e35b9c36 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -85,7 +85,6 @@ self: super: {
   kademlia = dontCheck super.kademlia;
 
   # Tests require older versions of tasty.
-  cborg = (doJailbreak super.cborg).override { base16-bytestring = self.base16-bytestring_0_1_1_7; };
   hzk = dontCheck super.hzk;
   resolv = doJailbreak super.resolv;
   tdigest = doJailbreak super.tdigest;
@@ -326,6 +325,7 @@ self: super: {
   optional = dontCheck super.optional;
   orgmode-parse = dontCheck super.orgmode-parse;
   os-release = dontCheck super.os-release;
+  parameterized = dontCheck super.parameterized; # https://github.com/louispan/parameterized/issues/2
   persistent-redis = dontCheck super.persistent-redis;
   pipes-extra = dontCheck super.pipes-extra;
   pipes-websockets = dontCheck super.pipes-websockets;
@@ -1529,7 +1529,7 @@ self: super: {
 
   # 2020-12-05: http-client is fixed on too old version
   essence-of-live-coding-warp = doJailbreak (super.essence-of-live-coding-warp.override {
-    http-client = self.http-client_0_7_7;
+    http-client = self.http-client_0_7_8;
   });
 
   # 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
@@ -1780,4 +1780,11 @@ self: super: {
   # https://github.com/hasufell/lzma-static/issues/1
   lzma-static = doJailbreak super.lzma-static;
 
+  # Fix haddock errors: https://github.com/koalaman/shellcheck/issues/2216
+  ShellCheck = appendPatch super.ShellCheck (pkgs.fetchpatch {
+    url = "https://github.com/koalaman/shellcheck/commit/9e60b3ea841bcaf48780bfcfc2e44aa6563a62de.patch";
+    sha256 = "1vmg8mmmnph34x7y0mhkcd5nzky8f1rh10pird750xbkp9zlk099";
+    excludes = ["test/buildtest"];
+  });
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index f1b953553b8..3bf834c16da 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -101,7 +101,7 @@ default-package-overrides:
   - gi-secret < 0.0.13
   - gi-vte < 2.91.28
 
-  # Stackage Nightly 2021-04-06
+  # Stackage Nightly 2021-04-15
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
@@ -139,7 +139,7 @@ default-package-overrides:
   - alex-meta ==0.3.0.13
   - alg ==0.2.13.1
   - algebraic-graphs ==0.5
-  - Allure ==0.9.5.0
+  - Allure ==0.10.2.0
   - almost-fix ==0.0.2
   - alsa-core ==0.5.0.1
   - alsa-mixer ==0.3.0
@@ -327,7 +327,7 @@ default-package-overrides:
   - bazel-runfiles ==0.12
   - bbdb ==0.8
   - bcp47 ==0.2.0.3
-  - bcp47-orphans ==0.1.0.2
+  - bcp47-orphans ==0.1.0.3
   - bcrypt ==0.0.11
   - bech32 ==1.1.0
   - bech32-th ==1.0.2
@@ -391,7 +391,7 @@ default-package-overrides:
   - boundingboxes ==0.2.3
   - bower-json ==1.0.0.1
   - boxes ==0.1.5
-  - brick ==0.60.2
+  - brick ==0.61
   - broadcast-chan ==0.2.1.1
   - bsb-http-chunked ==0.0.0.4
   - bson ==0.4.0.1
@@ -451,8 +451,8 @@ default-package-overrides:
   - cassava-megaparsec ==2.0.2
   - cast ==0.1.0.2
   - category ==0.2.5.0
-  - cayley-client ==0.4.14
-  - cborg ==0.2.4.0
+  - cayley-client ==0.4.15
+  - cborg ==0.2.5.0
   - cborg-json ==0.2.2.0
   - cereal ==0.5.8.1
   - cereal-conduit ==0.8.0
@@ -528,13 +528,13 @@ default-package-overrides:
   - compiler-warnings ==0.1.0
   - composable-associations ==0.1.0.0
   - composable-associations-aeson ==0.1.0.1
-  - composite-aeson ==0.7.4.0
-  - composite-aeson-path ==0.7.4.0
-  - composite-aeson-refined ==0.7.4.0
-  - composite-base ==0.7.4.0
-  - composite-binary ==0.7.4.0
-  - composite-ekg ==0.7.4.0
-  - composite-hashable ==0.7.4.0
+  - composite-aeson ==0.7.5.0
+  - composite-aeson-path ==0.7.5.0
+  - composite-aeson-refined ==0.7.5.0
+  - composite-base ==0.7.5.0
+  - composite-binary ==0.7.5.0
+  - composite-ekg ==0.7.5.0
+  - composite-hashable ==0.7.5.0
   - composite-tuple ==0.1.2.0
   - composite-xstep ==0.1.0.0
   - composition ==1.0.2.2
@@ -681,7 +681,7 @@ default-package-overrides:
   - deferred-folds ==0.9.17
   - dejafu ==2.4.0.2
   - dense-linear-algebra ==0.1.0.0
-  - depq ==0.4.1.0
+  - depq ==0.4.2
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
   - derive-topdown ==0.0.2.2
@@ -710,7 +710,7 @@ default-package-overrides:
   - distributed-closure ==0.4.2.0
   - distribution-opensuse ==1.1.1
   - distributive ==0.6.2.1
-  - dl-fedora ==0.7.7
+  - dl-fedora ==0.8
   - dlist ==0.8.0.8
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
@@ -800,10 +800,10 @@ default-package-overrides:
   - errors-ext ==0.4.2
   - ersatz ==0.4.9
   - esqueleto ==3.4.1.1
-  - essence-of-live-coding ==0.2.4
-  - essence-of-live-coding-gloss ==0.2.4
-  - essence-of-live-coding-pulse ==0.2.4
-  - essence-of-live-coding-quickcheck ==0.2.4
+  - essence-of-live-coding ==0.2.5
+  - essence-of-live-coding-gloss ==0.2.5
+  - essence-of-live-coding-pulse ==0.2.5
+  - essence-of-live-coding-quickcheck ==0.2.5
   - etc ==0.4.1.0
   - eve ==0.1.9.0
   - eventful-core ==0.2.0
@@ -825,7 +825,7 @@ default-package-overrides:
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.1.0
-  - express ==0.1.3
+  - express ==0.1.4
   - extended-reals ==0.2.4.0
   - extensible-effects ==5.0.0.1
   - extensible-exceptions ==0.1.1.4
@@ -869,7 +869,7 @@ default-package-overrides:
   - first-class-patterns ==0.3.2.5
   - fitspec ==0.4.8
   - fixed ==0.3
-  - fixed-length ==0.2.2
+  - fixed-length ==0.2.2.1
   - fixed-vector ==1.2.0.0
   - fixed-vector-hetero ==0.6.1.0
   - fix-whitespace ==0.0.5
@@ -936,10 +936,10 @@ default-package-overrides:
   - generic-data-surgery ==0.3.0.0
   - generic-deriving ==1.13.1
   - generic-functor ==0.2.0.0
-  - generic-lens ==2.0.0.0
-  - generic-lens-core ==2.0.0.0
+  - generic-lens ==2.1.0.0
+  - generic-lens-core ==2.1.0.0
   - generic-monoid ==0.1.0.1
-  - generic-optics ==2.0.0.0
+  - generic-optics ==2.1.0.0
   - GenericPretty ==1.2.2
   - generic-random ==1.3.0.1
   - generics-eot ==0.4.0.1
@@ -978,7 +978,7 @@ default-package-overrides:
   - geojson ==4.0.2
   - getopt-generics ==0.13.0.4
   - ghc-byteorder ==4.11.0.0.10
-  - ghc-check ==0.5.0.3
+  - ghc-check ==0.5.0.4
   - ghc-core ==0.5.6
   - ghc-events ==0.16.0
   - ghc-exactprint ==0.6.4
@@ -1028,7 +1028,7 @@ default-package-overrides:
   - gitrev ==1.3.1
   - gi-xlib ==2.0.9
   - gl ==0.9
-  - glabrous ==2.0.2
+  - glabrous ==2.0.3
   - GLFW-b ==3.3.0.0
   - Glob ==0.10.1
   - gloss ==1.13.2.1
@@ -1130,7 +1130,7 @@ default-package-overrides:
   - hgrev ==0.2.6
   - hidapi ==0.1.7
   - hie-bios ==0.7.5
-  - hi-file-parser ==0.1.1.0
+  - hi-file-parser ==0.1.2.0
   - higher-leveldb ==0.6.0.0
   - highlighting-kate ==0.6.4
   - hinfo ==0.0.3.0
@@ -1187,7 +1187,7 @@ default-package-overrides:
   - hslua-module-path ==0.1.0.1
   - hslua-module-system ==0.2.2.1
   - hslua-module-text ==0.3.0.1
-  - HsOpenSSL ==0.11.6.1
+  - HsOpenSSL ==0.11.6.2
   - HsOpenSSL-x509-system ==0.1.0.4
   - hsp ==0.10.0
   - hspec ==2.7.9
@@ -1197,13 +1197,13 @@ default-package-overrides:
   - hspec-core ==2.7.9
   - hspec-discover ==2.7.9
   - hspec-expectations ==0.8.2
-  - hspec-expectations-json ==1.0.0.2
+  - 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-aeson ==0.7.0.0
   - hspec-hedgehog ==0.0.1.2
-  - hspec-junit-formatter ==1.0.0.1
+  - hspec-junit-formatter ==1.0.0.2
   - hspec-leancheck ==0.0.4
   - hspec-megaparsec ==2.2.0
   - hspec-meta ==2.7.8
@@ -1316,7 +1316,7 @@ default-package-overrides:
   - indexed ==0.1.3
   - indexed-containers ==0.1.0.2
   - indexed-list-literals ==0.2.1.3
-  - indexed-profunctors ==0.1
+  - indexed-profunctors ==0.1.1
   - indexed-traversable ==0.1.1
   - indexed-traversable-instances ==0.1
   - infer-license ==0.2.0
@@ -1332,6 +1332,7 @@ default-package-overrides:
   - insert-ordered-containers ==0.2.4
   - inspection-testing ==0.4.3.0
   - instance-control ==0.1.2.0
+  - int-cast ==0.2.0.0
   - integer-logarithms ==1.0.3.1
   - integer-roots ==1.0
   - integration ==0.2.1
@@ -1356,7 +1357,7 @@ default-package-overrides:
   - io-streams-haproxy ==1.0.1.0
   - ip6addr ==1.0.2
   - iproute ==1.7.11
-  - IPv6Addr ==2.0.1
+  - IPv6Addr ==2.0.2
   - ipynb ==0.1.0.1
   - ipython-kernel ==0.10.2.1
   - irc ==0.6.1.0
@@ -1369,13 +1370,12 @@ default-package-overrides:
   - iso639 ==0.1.0.3
   - iso8601-time ==0.1.5
   - iterable ==3.0
-  - it-has ==0.2.0.0
   - ixset-typed ==0.5
   - ixset-typed-binary-instance ==0.1.0.2
   - ixset-typed-conversions ==0.1.2.0
   - ixset-typed-hashable-instance ==0.1.0.2
   - ix-shapable ==0.1.0
-  - jack ==0.7.1.4
+  - jack ==0.7.2
   - jalaali ==1.0.0.0
   - jira-wiki-markup ==1.3.4
   - jose ==0.8.4
@@ -1416,13 +1416,13 @@ default-package-overrides:
   - l10n ==0.1.0.1
   - labels ==0.3.3
   - lackey ==1.0.14
-  - LambdaHack ==0.9.5.0
+  - LambdaHack ==0.10.2.0
   - lame ==0.2.0
   - language-avro ==0.1.3.1
   - language-bash ==0.9.2
   - language-c ==0.8.3
   - language-c-quote ==0.12.2.1
-  - language-docker ==9.1.3
+  - language-docker ==9.2.0
   - language-java ==0.2.9
   - language-javascript ==0.7.1.0
   - language-protobuf ==1.0.1
@@ -1591,7 +1591,7 @@ default-package-overrides:
   - mnist-idx ==0.1.2.8
   - mockery ==0.3.5
   - mock-time ==0.1.0
-  - mod ==0.1.2.1
+  - mod ==0.1.2.2
   - model ==0.5
   - modern-uri ==0.3.4.1
   - modular ==0.1.0.8
@@ -1617,7 +1617,7 @@ default-package-overrides:
   - monad-primitive ==0.1
   - monad-products ==4.0.1
   - MonadPrompt ==1.0.0.5
-  - MonadRandom ==0.5.2
+  - MonadRandom ==0.5.3
   - monad-resumption ==0.1.4.0
   - monad-skeleton ==0.1.5
   - monad-st ==0.2.4.1
@@ -1707,7 +1707,7 @@ default-package-overrides:
   - nonemptymap ==0.0.6.0
   - non-empty-sequence ==0.2.0.4
   - nonempty-vector ==0.2.1.0
-  - nonempty-zipper ==1.0.0.1
+  - nonempty-zipper ==1.0.0.2
   - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
@@ -1715,7 +1715,7 @@ default-package-overrides:
   - nqe ==0.6.3
   - nri-env-parser ==0.1.0.6
   - nri-observability ==0.1.0.1
-  - nri-prelude ==0.5.0.2
+  - nri-prelude ==0.5.0.3
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1961,8 +1961,8 @@ default-package-overrides:
   - QuickCheck ==2.14.2
   - quickcheck-arbitrary-adt ==0.3.1.0
   - quickcheck-assertions ==0.3.0
-  - quickcheck-classes ==0.6.4.0
-  - quickcheck-classes-base ==0.6.1.0
+  - quickcheck-classes ==0.6.5.0
+  - quickcheck-classes-base ==0.6.2.0
   - quickcheck-higherorder ==0.1.0.0
   - quickcheck-instances ==0.3.25.2
   - quickcheck-io ==0.2.0
@@ -2013,7 +2013,7 @@ default-package-overrides:
   - rebase ==1.6.1
   - record-dot-preprocessor ==0.2.10
   - record-hasfield ==1.0
-  - records-sop ==0.1.0.3
+  - records-sop ==0.1.1.0
   - record-wrangler ==0.1.1.0
   - recursion-schemes ==5.2.2.1
   - reducers ==3.12.3
@@ -2038,7 +2038,7 @@ default-package-overrides:
   - regex-posix ==0.96.0.0
   - regex-tdfa ==1.3.1.0
   - regex-with-pcre ==1.1.0.0
-  - registry ==0.2.0.2
+  - registry ==0.2.0.3
   - reinterpret-cast ==0.1.0
   - relapse ==1.0.0.0
   - relational-query ==0.12.2.3
@@ -2087,7 +2087,7 @@ default-package-overrides:
   - rvar ==0.2.0.6
   - safe ==0.3.19
   - safe-coloured-text ==0.0.0.0
-  - safecopy ==0.10.4.1
+  - safecopy ==0.10.4.2
   - safe-decimal ==0.2.0.0
   - safe-exceptions ==0.1.7.1
   - safe-foldable ==0.1.0.0
@@ -2248,9 +2248,9 @@ default-package-overrides:
   - sparse-tensor ==0.2.1.5
   - spatial-math ==0.5.0.1
   - special-values ==0.1.0.0
-  - speculate ==0.4.2
+  - speculate ==0.4.4
   - speedy-slice ==0.3.2
-  - Spintax ==0.3.5
+  - Spintax ==0.3.6
   - splice ==0.6.1.1
   - splint ==1.0.1.4
   - split ==0.2.3.4
@@ -2419,7 +2419,7 @@ default-package-overrides:
   - text-metrics ==0.3.0
   - text-postgresql ==0.0.3.1
   - text-printer ==0.5.0.1
-  - text-regex-replace ==0.1.1.3
+  - text-regex-replace ==0.1.1.4
   - text-region ==0.3.1.0
   - text-short ==0.1.3
   - text-show ==3.9
@@ -2457,9 +2457,9 @@ default-package-overrides:
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
   - th-test-utils ==1.1.0
-  - th-utilities ==0.2.4.2
+  - th-utilities ==0.2.4.3
   - thyme ==0.3.5.5
-  - tidal ==1.7.2
+  - tidal ==1.7.3
   - tile ==0.3.0.0
   - time-compat ==1.9.5
   - timeit ==2.0
@@ -2604,9 +2604,9 @@ default-package-overrides:
   - valor ==0.1.0.0
   - vault ==0.3.1.5
   - vec ==0.4
-  - vector ==0.12.2.0
+  - vector ==0.12.3.0
   - vector-algorithms ==0.8.0.4
-  - vector-binary-instances ==0.2.5.1
+  - vector-binary-instances ==0.2.5.2
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8.1
   - vector-bytes-instances ==0.1.1
@@ -2729,15 +2729,15 @@ default-package-overrides:
   - yesod ==1.6.1.0
   - yesod-auth ==1.6.10.2
   - yesod-auth-hashdb ==1.7.1.5
-  - yesod-auth-oauth2 ==0.6.2.3
+  - yesod-auth-oauth2 ==0.6.3.0
   - yesod-bin ==1.6.1
-  - yesod-core ==1.6.18.8
+  - yesod-core ==1.6.19.0
   - yesod-fb ==0.6.1
   - yesod-form ==1.6.7
   - yesod-gitrev ==0.2.1
   - yesod-markdown ==0.12.6.8
   - yesod-newsfeed ==1.7.0.0
-  - yesod-page-cursor ==2.0.0.5
+  - yesod-page-cursor ==2.0.0.6
   - yesod-paginator ==1.1.1.0
   - yesod-persistent ==1.6.0.6
   - yesod-sitemap ==1.6.0
@@ -5951,7 +5951,6 @@ broken-packages:
   - gw
   - gyah-bin
   - gym-http-api
-  - H
   - h-booru
   - h-gpgme
   - h-reversi
@@ -6838,6 +6837,7 @@ broken-packages:
   - hsdip
   - hsdns-cache
   - Hsed
+  - hsendxmpp
   - hsenv
   - HSet
   - hset
@@ -7193,7 +7193,6 @@ broken-packages:
   - inject-function
   - inline-asm
   - inline-java
-  - inline-r
   - inserts
   - inspector-wrecker
   - instana-haskell-trace-sdk
@@ -8693,6 +8692,8 @@ broken-packages:
   - opentelemetry-http-client
   - opentheory-char
   - opentok
+  - opentracing-jaeger
+  - opentracing-zipkin-v1
   - opentype
   - OpenVG
   - OpenVGRaw
@@ -8813,7 +8814,6 @@ broken-packages:
   - Paraiso
   - Parallel-Arrows-Eden
   - parallel-tasks
-  - parameterized
   - parameterized-utils
   - paranoia
   - parco
@@ -9818,6 +9818,7 @@ broken-packages:
   - safe-globals
   - safe-lazy-io
   - safe-length
+  - safe-numeric
   - safe-plugins
   - safe-printf
   - safecopy-migrate
@@ -10004,11 +10005,11 @@ broken-packages:
   - servant-db
   - servant-db-postgresql
   - servant-dhall
-  - servant-docs
   - servant-docs-simple
   - servant-ede
   - servant-ekg
   - servant-elm
+  - servant-event-stream
   - servant-examples
   - servant-fiat-content
   - servant-generate
@@ -10769,6 +10770,7 @@ broken-packages:
   - TaskMonad
   - tasty-auto
   - tasty-bdd
+  - tasty-checklist
   - tasty-fail-fast
   - tasty-grading-system
   - tasty-groundhog-converters
@@ -11574,6 +11576,7 @@ broken-packages:
   - whois
   - why3
   - wide-word
+  - wide-word-instances
   - WikimediaParser
   - wikipedia4epub
   - wild-bind-indicator
@@ -11637,7 +11640,6 @@ broken-packages:
   - wshterm
   - wsjtx-udp
   - wss-client
-  - wstunnel
   - wtk
   - wtk-gtk
   - wu-wei
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 066830814fd..ba00d200073 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -661,20 +661,26 @@ self: super: builtins.intersectAttrs super {
       # fine with newer versions.
       spagoWithOverrides = doJailbreak super.spago;
 
-      # This defines the version of the purescript-docs-search release we are using.
-      # This is defined in the src/Spago/Prelude.hs file in the spago source.
-      docsSearchVersion = "v0.0.10";
-
-      docsSearchAppJsFile = pkgs.fetchurl {
-        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/docs-search-app.js";
+      docsSearchApp_0_0_10 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/docs-search-app.js";
         sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5";
       };
 
-      purescriptDocsSearchFile = pkgs.fetchurl {
-        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/purescript-docs-search";
+      docsSearchApp_0_0_11 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.11/docs-search-app.js";
+        sha256 = "17qngsdxfg96cka1cgrl3zdrpal8ll6vyhhnazqm4hwj16ywjm02";
+      };
+
+      purescriptDocsSearch_0_0_10 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.10/purescript-docs-search";
         sha256 = "0wc1zyhli4m2yykc6i0crm048gyizxh7b81n8xc4yb7ibjqwhyj3";
       };
 
+      purescriptDocsSearch_0_0_11 = pkgs.fetchurl {
+        url = "https://github.com/purescript/purescript-docs-search/releases/download/v0.0.11/purescript-docs-search";
+        sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
+      };
+
       spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
         postUnpack = (drv.postUnpack or "") + ''
           # The source for spago is pulled directly from GitHub.  It uses a
@@ -695,13 +701,19 @@ self: super: builtins.intersectAttrs super {
           # However, they are not actually available in the spago source, so they
           # need to fetched with nix and put in the correct place.
           # https://github.com/spacchetti/spago/issues/510
-          cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
-          cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
+          cp ${docsSearchApp_0_0_10} "$sourceRoot/templates/docs-search-app-0.0.10.js"
+          cp ${docsSearchApp_0_0_11} "$sourceRoot/templates/docs-search-app-0.0.11.js"
+          cp ${purescriptDocsSearch_0_0_10} "$sourceRoot/templates/purescript-docs-search-0.0.10"
+          cp ${purescriptDocsSearch_0_0_11} "$sourceRoot/templates/purescript-docs-search-0.0.11"
 
           # For some weird reason, on Darwin, the open(2) call to embed these files
           # requires write permissions. The easiest resolution is just to permit that
           # (doesn't cause any harm on other systems).
-          chmod u+w "$sourceRoot/templates/docs-search-app.js" "$sourceRoot/templates/purescript-docs-search"
+          chmod u+w \
+            "$sourceRoot/templates/docs-search-app-0.0.10.js" \
+            "$sourceRoot/templates/purescript-docs-search-0.0.10" \
+            "$sourceRoot/templates/docs-search-app-0.0.11.js" \
+            "$sourceRoot/templates/purescript-docs-search-0.0.11"
         '';
       });
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index a4581a2a570..7869388c544 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -946,35 +946,6 @@ self: {
      }) {};
 
   "Allure" = callPackage
-    ({ mkDerivation, async, base, enummapset, filepath, ghc-compact
-     , LambdaHack, optparse-applicative, primitive, random
-     , template-haskell, text, transformers
-     }:
-     mkDerivation {
-       pname = "Allure";
-       version = "0.9.5.0";
-       sha256 = "0cl1r3rcbkj8q290l3q5xva7lkh444s49xz8bm8sbgrk0q3zx041";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         async base enummapset filepath ghc-compact LambdaHack
-         optparse-applicative primitive random template-haskell text
-         transformers
-       ];
-       executableHaskellDepends = [
-         async base filepath LambdaHack optparse-applicative
-       ];
-       testHaskellDepends = [
-         async base filepath LambdaHack optparse-applicative
-       ];
-       description = "Near-future Sci-Fi roguelike and tactical squad combat game";
-       license = lib.licenses.agpl3Plus;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "Allure_0_10_2_0" = callPackage
     ({ mkDerivation, async, base, containers, enummapset, file-embed
      , filepath, ghc-compact, hsini, LambdaHack, optparse-applicative
      , primitive, splitmix, tasty, tasty-hunit, template-haskell, text
@@ -7856,8 +7827,6 @@ self: {
        ];
        description = "The Haskell/R mixed programming environment";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "HABQT" = callPackage
@@ -10886,8 +10855,8 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.6.1";
-       sha256 = "0jmnmrhvm7rbspv0vw482i8wpmkzhnnwxswqwx75455w0mvdg62l";
+       version = "0.11.6.2";
+       sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -10896,12 +10865,12 @@ self: {
        license = lib.licenses.publicDomain;
      }) {inherit (pkgs) openssl;};
 
-  "HsOpenSSL_0_11_6_2" = callPackage
+  "HsOpenSSL_0_11_7" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.6.2";
-       sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y";
+       version = "0.11.7";
+       sha256 = "0kji758bi8agcjvpbb3hpppv55qm9g2r02mamiv568zwmlkkxsm3";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base bytestring network time ];
        librarySystemDepends = [ openssl ];
@@ -11292,24 +11261,6 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6Addr";
-       version = "2.0.1";
-       sha256 = "0gkk20ngbfrr64w5szjhvlwlmali4xcx36iqa714cbxy6lpqy5cl";
-       libraryHaskellDepends = [
-         aeson attoparsec base iproute network network-info random text
-       ];
-       testHaskellDepends = [
-         base HUnit test-framework test-framework-hunit text
-       ];
-       description = "Library to deal with IPv6 address text representations";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "IPv6Addr_2_0_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network
-     , network-info, random, test-framework, test-framework-hunit, text
-     }:
-     mkDerivation {
-       pname = "IPv6Addr";
        version = "2.0.2";
        sha256 = "0r712250lv8brgy3ysdyj41snl0qbsx9h0p853w8n1aif0fsnxkw";
        libraryHaskellDepends = [
@@ -11320,7 +11271,6 @@ self: {
        ];
        description = "Library to deal with IPv6 address text representations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "IPv6DB" = callPackage
@@ -12444,40 +12394,6 @@ self: {
 
   "LambdaHack" = callPackage
     ({ mkDerivation, assert-failure, async, base, base-compat, binary
-     , bytestring, containers, deepseq, directory, enummapset, filepath
-     , ghc-compact, ghc-prim, hashable, hsini, keys, miniutter
-     , optparse-applicative, pretty-show, primitive, random, sdl2
-     , sdl2-ttf, stm, template-haskell, text, time, transformers
-     , unordered-containers, vector, vector-binary-instances, zlib
-     }:
-     mkDerivation {
-       pname = "LambdaHack";
-       version = "0.9.5.0";
-       sha256 = "1y5345cmwl40p0risziyqlxfa8jv1rm9x6ivv85xhznrsmr0406h";
-       revision = "1";
-       editedCabalFile = "0qaqfyg7a50yibshq63718iyi4z1v017fzp7kbwrnwqmkmdqfa5a";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         assert-failure async base base-compat binary bytestring containers
-         deepseq directory enummapset filepath ghc-compact ghc-prim hashable
-         hsini keys miniutter optparse-applicative pretty-show primitive
-         random sdl2 sdl2-ttf stm template-haskell text time transformers
-         unordered-containers vector vector-binary-instances zlib
-       ];
-       executableHaskellDepends = [
-         async base filepath optparse-applicative
-       ];
-       testHaskellDepends = [ async base filepath optparse-applicative ];
-       description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "LambdaHack_0_10_2_0" = callPackage
-    ({ mkDerivation, assert-failure, async, base, base-compat, binary
      , bytestring, containers, deepseq, directory, enummapset
      , file-embed, filepath, ghc-compact, ghc-prim, hashable, hsini
      , int-cast, keys, miniutter, open-browser, optparse-applicative
@@ -13937,21 +13853,6 @@ self: {
      }:
      mkDerivation {
        pname = "MonadRandom";
-       version = "0.5.2";
-       sha256 = "1rjihspfdg2b9bwvbgj36ql595nbza8ddh1bmgz924xmddshcf30";
-       libraryHaskellDepends = [
-         base mtl primitive random transformers transformers-compat
-       ];
-       description = "Random-number generation monad";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "MonadRandom_0_5_3" = callPackage
-    ({ mkDerivation, base, mtl, primitive, random, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "MonadRandom";
        version = "0.5.3";
        sha256 = "17qaw1gg42p9v6f87dj5vih7l88lddbyd8880ananj8avanls617";
        libraryHaskellDepends = [
@@ -13959,7 +13860,6 @@ self: {
        ];
        description = "Random-number generation monad";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "MonadRandomLazy" = callPackage
@@ -14588,8 +14488,8 @@ self: {
      }:
      mkDerivation {
        pname = "Network-NineP";
-       version = "0.4.7";
-       sha256 = "08r15aacvdx739w1nn1bmr0n8ygfjhqnj12zk6zchw1d50x65mi2";
+       version = "0.4.7.1";
+       sha256 = "0gjscwrm4qjz662819g3l7i989ykxg3cka82kp23j5d2fy2sn2mc";
        libraryHaskellDepends = [
          async base binary bytestring containers convertible exceptions
          hslogger monad-loops monad-peel mstate mtl network network-bsd
@@ -18405,8 +18305,8 @@ self: {
      }:
      mkDerivation {
        pname = "ShellCheck";
-       version = "0.7.1";
-       sha256 = "06m4wh891nah3y0br4wh3adpsb16zawkb2ijgf1vcz61fznj6ps1";
+       version = "0.7.2";
+       sha256 = "0wl43njaq95l35y5mvipwp1db9vr551nz9wl0xy83j1x1kc38xgz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -19224,19 +19124,6 @@ self: {
     ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }:
      mkDerivation {
        pname = "Spintax";
-       version = "0.3.5";
-       sha256 = "1z5sv03h07bf8z6pzxsia9hgf879cmiqdajvx212dk47lysfnm8v";
-       libraryHaskellDepends = [
-         attoparsec base extra mtl mwc-random text
-       ];
-       description = "Random text generation based on spintax";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "Spintax_0_3_6" = callPackage
-    ({ mkDerivation, attoparsec, base, extra, mtl, mwc-random, text }:
-     mkDerivation {
-       pname = "Spintax";
        version = "0.3.6";
        sha256 = "000yprzvq72ia6wfk3hjarb8anx3wfm54rzpv8x7d2zf09pzxk6k";
        libraryHaskellDepends = [
@@ -19244,7 +19131,6 @@ self: {
        ];
        description = "Random text generation based on spintax";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Spock" = callPackage
@@ -22182,8 +22068,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-Data";
-       version = "0.7.4.0";
-       sha256 = "1v0n0f96d5g1j6xw7d8w225r9qk9snjdfz7snq8pnmpjcna374jf";
+       version = "0.8.1.0";
+       sha256 = "19w5g5flsjnhjpvnmw7s8b5jg5nlpg0md99zgp3by8gjyigappc7";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq ghc-prim
@@ -39363,27 +39249,6 @@ self: {
      }:
      mkDerivation {
        pname = "bcp47-orphans";
-       version = "0.1.0.2";
-       sha256 = "0rgr1p8dn54j432hfwg361dhsd4ngwvy3h8wx094m0kb6vjix9l6";
-       libraryHaskellDepends = [
-         base bcp47 cassava errors esqueleto hashable http-api-data
-         path-pieces persistent text
-       ];
-       testHaskellDepends = [
-         base bcp47 cassava hspec path-pieces persistent QuickCheck
-       ];
-       description = "BCP47 orphan instances";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "bcp47-orphans_0_1_0_3" = callPackage
-    ({ mkDerivation, base, bcp47, cassava, errors, esqueleto, hashable
-     , hspec, http-api-data, path-pieces, persistent, QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "bcp47-orphans";
        version = "0.1.0.3";
        sha256 = "1dm65nq49zqbc6kxkh2kmsracc9a7vlbq4mpq60jh2wxgvzcfghm";
        libraryHaskellDepends = [
@@ -40260,8 +40125,8 @@ self: {
      }:
      mkDerivation {
        pname = "betris";
-       version = "0.2.0.0";
-       sha256 = "0d8qiiabcca7l57lkmmz5pn11y0jbksv08bzisfab588sbxd9vqr";
+       version = "0.2.1.0";
+       sha256 = "1vpj20hvr2nf3i8a2ijlxmfa1zqv3xwfp8krz4zjznhgjrb1nfpj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44628,8 +44493,8 @@ self: {
      }:
      mkDerivation {
        pname = "blucontrol";
-       version = "0.2.1.1";
-       sha256 = "087bk9fxjgavrprba7ffyb91jv7ms8k7mlq9s5963lkpdf5636n7";
+       version = "0.3.0.0";
+       sha256 = "0xh1qxfmrfjdsprl5m748j5z9w0qmww8gkj8lhghfskdzxhy0qic";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44825,6 +44690,21 @@ self: {
        license = "GPL";
      }) {};
 
+  "boardgame" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "boardgame";
+       version = "0.0.0.1";
+       sha256 = "0azbr123zykvjya60s8q3vdpsg2xvy5wn9py0dsi4ih039s7jg64";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       description = "Modeling boardgames";
+       license = lib.licenses.mit;
+     }) {};
+
   "bogocopy" = callPackage
     ({ mkDerivation, base, directory, filemanip, filepath
      , optparse-applicative, shelly, text, transformers, unix
@@ -46034,34 +45914,6 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.60.2";
-       sha256 = "1fcpbm58fikqv94cl97p6bzhyq07kkp3zppylqwpil2qzfhvzb3i";
-       revision = "1";
-       editedCabalFile = "0jm3f0f9hyl6pn92d74shm33v93pyjj20x2axp5y9jgkf1ynnbc8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring config-ini containers contravariant data-clist
-         deepseq directory dlist exceptions filepath microlens microlens-mtl
-         microlens-th stm template-haskell text text-zipper transformers
-         unix vector vty word-wrap
-       ];
-       testHaskellDepends = [
-         base containers microlens QuickCheck vector
-       ];
-       description = "A declarative terminal user interface library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "brick_0_61" = callPackage
-    ({ mkDerivation, base, bytestring, config-ini, containers
-     , contravariant, data-clist, deepseq, directory, dlist, exceptions
-     , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
-     , template-haskell, text, text-zipper, transformers, unix, vector
-     , vty, word-wrap
-     }:
-     mkDerivation {
-       pname = "brick";
        version = "0.61";
        sha256 = "0cwrsndplgw5226cpdf7aad03jjidqh5wwwgm75anmya7c5lzl2d";
        isLibrary = true;
@@ -46077,7 +45929,6 @@ self: {
        ];
        description = "A declarative terminal user interface library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "brick-dropdownmenu" = callPackage
@@ -50565,8 +50416,8 @@ self: {
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.28.3";
-       sha256 = "0w7jcq6jplr31ljdvj9cqimg1xxz9pjnsdqkncdsiywa10ngww10";
+       version = "0.1.28.4";
+       sha256 = "07ibhr3xngpwl7pq9ykbf6pxzlp8yx49d0qrlhyn7hj5xbswkv3f";
        libraryHaskellDepends = [
          aeson async base bytestring colour concurrent-extra connection
          containers data-default-class data-flags deepseq deque df1 di-core
@@ -52605,27 +52456,6 @@ self: {
      }:
      mkDerivation {
        pname = "cayley-client";
-       version = "0.4.14";
-       sha256 = "1hczhvqqpx8kqg90h5qb2vjindn4crxmq6lwbj8ix45fnkijv4xg";
-       libraryHaskellDepends = [
-         aeson attoparsec base binary bytestring exceptions http-client
-         http-conduit lens lens-aeson mtl text transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson base hspec unordered-containers ];
-       description = "A Haskell client for the Cayley graph database";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "cayley-client_0_4_15" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, binary, bytestring
-     , exceptions, hspec, http-client, http-conduit, lens, lens-aeson
-     , mtl, text, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "cayley-client";
        version = "0.4.15";
        sha256 = "18kr88g4dlzg1ny0v3ql5yc07s0xsgbgszc69hf583d9c196lzib";
        libraryHaskellDepends = [
@@ -52705,30 +52535,6 @@ self: {
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.4.0";
-       sha256 = "0zrn75jx3lprdagl99r88jfhccalw783fn9jjk9zhy50zypkibil";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq ghc-prim half integer-gmp
-         primitive text
-       ];
-       testHaskellDepends = [
-         aeson array base base-orphans base16-bytestring base64-bytestring
-         bytestring deepseq half QuickCheck random scientific tasty
-         tasty-hunit tasty-quickcheck text vector
-       ];
-       description = "Concise Binary Object Representation (CBOR)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "cborg_0_2_5_0" = callPackage
-    ({ mkDerivation, aeson, array, base, base-orphans
-     , base16-bytestring, base64-bytestring, bytestring, containers
-     , deepseq, ghc-prim, half, integer-gmp, primitive, QuickCheck
-     , random, scientific, tasty, tasty-hunit, tasty-quickcheck, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "cborg";
        version = "0.2.5.0";
        sha256 = "08da498bpbnl5c919m45mjm7sr78nn6qs7xyl0smfgd06wwm65xf";
        libraryHaskellDepends = [
@@ -52742,7 +52548,6 @@ self: {
        ];
        description = "Concise Binary Object Representation (CBOR)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cborg-json" = callPackage
@@ -57282,8 +57087,8 @@ self: {
      }:
      mkDerivation {
        pname = "closed-intervals";
-       version = "0.1.0.0";
-       sha256 = "1k8kbqh6w7cj7qkmzvh47v9zrpf5y465lj6fzq7vk71bq0dy59vm";
+       version = "0.1.0.1";
+       sha256 = "19vmiwwzv9g4nl1mzkqc7r9bw67n9y7kk3v0jc2vc8yjzrmqgy7v";
        libraryHaskellDepends = [ base containers time ];
        testHaskellDepends = [
          base containers doctest-exitcode-stdio doctest-lib QuickCheck time
@@ -58501,8 +58306,8 @@ self: {
        pname = "codeworld-api";
        version = "0.7.0";
        sha256 = "1l1w4mrw4b2njz4kmfvd94mlwn776vryy1y9x9cb3r69fw5qy2f3";
-       revision = "3";
-       editedCabalFile = "0whbjs6j4fy4jk3bc1djx1bkxpsdyms3r3rf5167x0dhxnahwcgi";
+       revision = "4";
+       editedCabalFile = "06qa2djbzfdwlvgbr2k8667fipyrkdvp8a1vac75fla99pdwp7yi";
        libraryHaskellDepends = [
          aeson base base64-bytestring blank-canvas bytestring cereal
          cereal-text containers deepseq dependent-sum ghc-prim hashable
@@ -60470,33 +60275,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.7.4.0";
-       sha256 = "1k8m89cff8b3yc1af0l9vd13pav2hjy51gcadahn07zpwv1bszfj";
-       libraryHaskellDepends = [
-         aeson aeson-better-errors base composite-base containers
-         contravariant generic-deriving hashable lens mmorph mtl profunctors
-         scientific tagged template-haskell text time unordered-containers
-         vector vinyl
-       ];
-       testHaskellDepends = [
-         aeson aeson-better-errors aeson-qq base composite-base containers
-         contravariant generic-deriving hashable hspec lens mmorph mtl
-         profunctors QuickCheck scientific tagged template-haskell text time
-         unordered-containers vector vinyl
-       ];
-       description = "JSON for Vinyl records";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-aeson_0_7_5_0" = callPackage
-    ({ mkDerivation, aeson, aeson-better-errors, aeson-qq, base
-     , composite-base, containers, contravariant, generic-deriving
-     , hashable, hspec, lens, mmorph, mtl, profunctors, QuickCheck
-     , scientific, tagged, template-haskell, text, time
-     , unordered-containers, vector, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-aeson";
        version = "0.7.5.0";
        sha256 = "0cxsjk3zwkhwb3bgq2ji1mvvapcwxzg333z7zfdv9ba3xgw3ngq0";
        libraryHaskellDepends = [
@@ -60513,7 +60291,6 @@ self: {
        ];
        description = "JSON for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-cofree-list" = callPackage
@@ -60535,23 +60312,11 @@ self: {
     ({ mkDerivation, base, composite-aeson, path }:
      mkDerivation {
        pname = "composite-aeson-path";
-       version = "0.7.4.0";
-       sha256 = "08p988iq7y76px61dlj5jq35drmnrf4khi27wpqgh3pg9d96yihx";
-       libraryHaskellDepends = [ base composite-aeson path ];
-       description = "Formatting data for the path library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-aeson-path_0_7_5_0" = callPackage
-    ({ mkDerivation, base, composite-aeson, path }:
-     mkDerivation {
-       pname = "composite-aeson-path";
        version = "0.7.5.0";
        sha256 = "0b013jpdansx6fmxq1sf33975vvnajhs870a92i1lwd2k2wsj600";
        libraryHaskellDepends = [ base composite-aeson path ];
        description = "Formatting data for the path library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-refined" = callPackage
@@ -60560,21 +60325,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.7.4.0";
-       sha256 = "049lrm5iip5y3c9m9x4sjangaigdprj1553sw2vrcvnvn8xfq57s";
-       libraryHaskellDepends = [
-         aeson-better-errors base composite-aeson mtl refined
-       ];
-       description = "composite-aeson support for Refined from the refined package";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-aeson-refined_0_7_5_0" = callPackage
-    ({ mkDerivation, aeson-better-errors, base, composite-aeson, mtl
-     , refined
-     }:
-     mkDerivation {
-       pname = "composite-aeson-refined";
        version = "0.7.5.0";
        sha256 = "05iakig5cqy4zkfl1kvjf9ck7gw5m7bdlcwwnv0kc5znyj66fbif";
        libraryHaskellDepends = [
@@ -60582,7 +60332,6 @@ self: {
        ];
        description = "composite-aeson support for Refined from the refined package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-aeson-throw" = callPackage
@@ -60621,29 +60370,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.7.4.0";
-       sha256 = "1ml1y1zh8znvaqydwcnv8n69rzmx7zy2bpzr65gy79xbczz3dxwz";
-       libraryHaskellDepends = [
-         base deepseq exceptions lens monad-control mtl profunctors
-         template-haskell text transformers transformers-base unliftio-core
-         vinyl
-       ];
-       testHaskellDepends = [
-         base deepseq exceptions hspec lens monad-control mtl profunctors
-         QuickCheck template-haskell text transformers transformers-base
-         unliftio-core vinyl
-       ];
-       description = "Shared utilities for composite-* packages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-base_0_7_5_0" = callPackage
-    ({ mkDerivation, base, deepseq, exceptions, hspec, lens
-     , monad-control, mtl, profunctors, QuickCheck, template-haskell
-     , text, transformers, transformers-base, unliftio-core, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-base";
        version = "0.7.5.0";
        sha256 = "12qaxm20kn2cf6d19xargxfg8jrvb5ix0glm3ba0641plxlssqrq";
        libraryHaskellDepends = [
@@ -60658,30 +60384,17 @@ self: {
        ];
        description = "Shared utilities for composite-* packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-binary" = callPackage
     ({ mkDerivation, base, binary, composite-base }:
      mkDerivation {
        pname = "composite-binary";
-       version = "0.7.4.0";
-       sha256 = "07d88krkpplprnw57j4bqi71p8bmj0wz28yw41wgl2p5g2h7zccp";
-       libraryHaskellDepends = [ base binary composite-base ];
-       description = "Orphan binary instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-binary_0_7_5_0" = callPackage
-    ({ mkDerivation, base, binary, composite-base }:
-     mkDerivation {
-       pname = "composite-binary";
        version = "0.7.5.0";
        sha256 = "0pvmmb4m6ysgj468khmggvsgs5c0hjmcn46s0wam353abdw89i7m";
        libraryHaskellDepends = [ base binary composite-base ];
        description = "Orphan binary instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-ekg" = callPackage
@@ -60689,20 +60402,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.7.4.0";
-       sha256 = "0y8wnp6n1fvqfrkm1lqv8pdfq7a4k7gaxl3i9dh6xfzyamlghg82";
-       libraryHaskellDepends = [
-         base composite-base ekg-core lens text vinyl
-       ];
-       description = "EKG Metrics for Vinyl records";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-ekg_0_7_5_0" = callPackage
-    ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-ekg";
        version = "0.7.5.0";
        sha256 = "00a689laq9a2wyq33vvpw7l69wsw9g6d5jzmrsizwqld6a4wdicv";
        libraryHaskellDepends = [
@@ -60710,30 +60409,17 @@ self: {
        ];
        description = "EKG Metrics for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-hashable" = callPackage
     ({ mkDerivation, base, composite-base, hashable }:
      mkDerivation {
        pname = "composite-hashable";
-       version = "0.7.4.0";
-       sha256 = "0zwv6m9nzz0g3ngmfznxh6wmprhcgdbfxrsgylnr6990ppk0bmg1";
-       libraryHaskellDepends = [ base composite-base hashable ];
-       description = "Orphan hashable instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-hashable_0_7_5_0" = callPackage
-    ({ mkDerivation, base, composite-base, hashable }:
-     mkDerivation {
-       pname = "composite-hashable";
        version = "0.7.5.0";
        sha256 = "1s4bnlr08fb1sszys1frkxrjrsi61jpcldh126mcwzlf6wlvqvjn";
        libraryHaskellDepends = [ base composite-base hashable ];
        description = "Orphan hashable instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-opaleye" = callPackage
@@ -73636,22 +73322,6 @@ self: {
      }:
      mkDerivation {
        pname = "depq";
-       version = "0.4.1.0";
-       sha256 = "1rlbz9x34209zn44pn1xr9hnjv8ig47yq0p940wkblg55fy4lxcy";
-       libraryHaskellDepends = [
-         base containers deepseq psqueues QuickCheck
-       ];
-       testHaskellDepends = [ base containers hspec QuickCheck ];
-       description = "Double-ended priority queues";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "depq_0_4_2" = callPackage
-    ({ mkDerivation, base, containers, deepseq, hspec, psqueues
-     , QuickCheck
-     }:
-     mkDerivation {
-       pname = "depq";
        version = "0.4.2";
        sha256 = "18q953cr93qwjdblr06w8z4ryijzlz7j48hff4xwrdc3yrqk351l";
        libraryHaskellDepends = [
@@ -73660,7 +73330,6 @@ self: {
        testHaskellDepends = [ base containers hspec QuickCheck ];
        description = "Double-ended priority queues";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "deptrack-core" = callPackage
@@ -78247,8 +77916,8 @@ self: {
      }:
      mkDerivation {
        pname = "dl-fedora";
-       version = "0.7.7";
-       sha256 = "0m4rf0h2hzsd00cgn14w1n8pyrqrikwnf9d232lzwx6qx3nf2nqp";
+       version = "0.8";
+       sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -78263,21 +77932,22 @@ self: {
        broken = true;
      }) {};
 
-  "dl-fedora_0_8" = callPackage
+  "dl-fedora_0_9" = callPackage
     ({ mkDerivation, base, bytestring, directory, extra, filepath
-     , http-directory, http-types, optparse-applicative, regex-posix
-     , simple-cmd, simple-cmd-args, text, time, unix, xdg-userdirs
+     , http-client, http-client-tls, http-directory, http-types
+     , optparse-applicative, regex-posix, simple-cmd, simple-cmd-args
+     , text, time, unix, xdg-userdirs
      }:
      mkDerivation {
        pname = "dl-fedora";
-       version = "0.8";
-       sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr";
+       version = "0.9";
+       sha256 = "17khlv65irp1bdr7j0njlh1sgvr1nhi5xfvdiklhjr7vm6vhmipd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring directory extra filepath http-directory http-types
-         optparse-applicative regex-posix simple-cmd simple-cmd-args text
-         time unix xdg-userdirs
+         base bytestring directory extra filepath http-client
+         http-client-tls http-directory http-types optparse-applicative
+         regex-posix simple-cmd simple-cmd-args text time unix xdg-userdirs
        ];
        testHaskellDepends = [ base simple-cmd ];
        description = "Fedora image download tool";
@@ -78805,8 +78475,8 @@ self: {
      }:
      mkDerivation {
        pname = "docker";
-       version = "0.6.0.4";
-       sha256 = "07j1c526gazy0kw98iklac767jhslhx9mcnzjazmwqsgyj8n217f";
+       version = "0.6.0.5";
+       sha256 = "1y7vs9s17gwls8f223b4vkwvwflyxr7spslccr9izlf4cblj216d";
        libraryHaskellDepends = [
          aeson base blaze-builder bytestring conduit conduit-combinators
          conduit-extra containers data-default-class directory exceptions
@@ -80869,6 +80539,8 @@ self: {
        pname = "duckling";
        version = "0.2.0.0";
        sha256 = "0hr3dwfksi04is2wqykfx04da40sa85147fnfnmazw5czd20xwya";
+       revision = "1";
+       editedCabalFile = "19ml7s7p79y822b7bk9hlxg3c3p6gsklamzysv6pcdpf917cvgl4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -85671,15 +85343,19 @@ self: {
      }) {};
 
   "errata" = callPackage
-    ({ mkDerivation, base, containers, text }:
+    ({ mkDerivation, base, containers, hspec, hspec-discover
+     , hspec-golden, text
+     }:
      mkDerivation {
        pname = "errata";
-       version = "0.2.0.0";
-       sha256 = "14yg0zh7lawjdqpzw7qiwi0c41zqhbvijxxxba319mij5skmmr4k";
+       version = "0.3.0.0";
+       sha256 = "1m83lp3h2lxqkx0d17kplmwp0ngh3yn79k7yza4jkny0c4xv0ijy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers text ];
        executableHaskellDepends = [ base containers text ];
+       testHaskellDepends = [ base containers hspec hspec-golden text ];
+       testToolDepends = [ hspec-discover ];
        description = "Source code error pretty printing";
        license = lib.licenses.mit;
      }) {};
@@ -86224,30 +85900,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding";
-       version = "0.2.4";
-       sha256 = "04rbbq58ska6qldah0d7s8kdn5hkxka7bap7ca1wksbwbkph6qj1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers foreign-store syb time transformers vector-sized
-       ];
-       executableHaskellDepends = [ base transformers ];
-       testHaskellDepends = [
-         base containers mtl QuickCheck syb test-framework
-         test-framework-quickcheck2 transformers
-       ];
-       description = "General purpose live coding framework";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding_0_2_5" = callPackage
-    ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck
-     , syb, test-framework, test-framework-quickcheck2, time
-     , transformers, vector-sized
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding";
        version = "0.2.5";
        sha256 = "1ggb69h9fx8vdw6ijkisjyg6hbmi2wdvssil81xxapkj1yhgvvzr";
        isLibrary = true;
@@ -86262,7 +85914,6 @@ self: {
        ];
        description = "General purpose live coding framework";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -86272,22 +85923,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss";
-       version = "0.2.4";
-       sha256 = "11hnzax39g7yaqwaaxi3niipamd65mcrdi431fxrspkhgcm1nx2y";
-       libraryHaskellDepends = [
-         base essence-of-live-coding foreign-store gloss syb transformers
-       ];
-       description = "General purpose live coding framework - Gloss backend";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding-gloss_0_2_5" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
-     , syb, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-gloss";
        version = "0.2.5";
        sha256 = "1xa1m1ih625614zd1xn2qbz5hmx45gkv2ssksmwck8jxjbslpspv";
        libraryHaskellDepends = [
@@ -86295,7 +85930,6 @@ self: {
        ];
        description = "General purpose live coding framework - Gloss backend";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -86323,22 +85957,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-pulse";
-       version = "0.2.4";
-       sha256 = "0lhnq85bi22mwnw4fcg9hzr18mdifxlr833pwsc7ch401y2mf1kz";
-       libraryHaskellDepends = [
-         base essence-of-live-coding foreign-store pulse-simple transformers
-       ];
-       description = "General purpose live coding framework - pulse backend";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding-pulse_0_2_5" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, foreign-store
-     , pulse-simple, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-pulse";
        version = "0.2.5";
        sha256 = "0m2gjzsc6jw860kj5a1k6qrn0xs1zx4snsnq4d9gx1k3lrfqgh0q";
        libraryHaskellDepends = [
@@ -86346,7 +85964,6 @@ self: {
        ];
        description = "General purpose live coding framework - pulse backend";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -86374,23 +85991,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-quickcheck";
-       version = "0.2.4";
-       sha256 = "1ic2wvk4fc7jb6dkfy6fypmyw7hfbn79m51gn4z4c35ddhsfpngd";
-       libraryHaskellDepends = [
-         base boltzmann-samplers essence-of-live-coding QuickCheck syb
-         transformers
-       ];
-       description = "General purpose live coding framework - QuickCheck integration";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ turion ];
-     }) {};
-
-  "essence-of-live-coding-quickcheck_0_2_5" = callPackage
-    ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding
-     , QuickCheck, syb, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-quickcheck";
        version = "0.2.5";
        sha256 = "07qw6jyk1vbr85pj9shp9cgpav4g2bc11rnzav39n79jn1vp826m";
        libraryHaskellDepends = [
@@ -86399,7 +85999,6 @@ self: {
        ];
        description = "General purpose live coding framework - QuickCheck integration";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
@@ -88567,8 +88166,8 @@ self: {
     ({ mkDerivation, base, containers, fgl, mtl, transformers }:
      mkDerivation {
        pname = "exploring-interpreters";
-       version = "0.3.0.0";
-       sha256 = "0h39si80s4q4n6599qj95z19jy3yc0101pphm4apvalm6wmppgpz";
+       version = "0.3.1.0";
+       sha256 = "0765nfr65lphp768j3snzpqpz6f4nrmkvsb6ishflhnxnp99xgyz";
        libraryHaskellDepends = [ base containers fgl mtl transformers ];
        description = "A generic exploring interpreter for exploratory programming";
        license = lib.licenses.bsd3;
@@ -88600,19 +88199,6 @@ self: {
     ({ mkDerivation, base, leancheck, template-haskell }:
      mkDerivation {
        pname = "express";
-       version = "0.1.3";
-       sha256 = "09g7i6x553gv5jkhbn5ffsrxznx8g4b3fcn1gibwyh380pbss8x1";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base leancheck ];
-       benchmarkHaskellDepends = [ base leancheck ];
-       description = "Dynamically-typed expressions involving applications and variables";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "express_0_1_4" = callPackage
-    ({ mkDerivation, base, leancheck, template-haskell }:
-     mkDerivation {
-       pname = "express";
        version = "0.1.4";
        sha256 = "0rhrlynb950n2c79s3gz0vyd6b34crlhzlva0w91qbzn9dpfrays";
        libraryHaskellDepends = [ base template-haskell ];
@@ -88620,7 +88206,6 @@ self: {
        benchmarkHaskellDepends = [ base leancheck ];
        description = "Dynamically-typed expressions involving applications and variables";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "expression-parser" = callPackage
@@ -88774,12 +88359,12 @@ self: {
      }) {};
 
   "extended-containers" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck, transformers, vector }:
+    ({ mkDerivation, base, deepseq, hspec, primitive, QuickCheck }:
      mkDerivation {
        pname = "extended-containers";
-       version = "0.1.0.0";
-       sha256 = "04m3i90iljx36yc528yz6dcgcrfvzkvjvghqjp741mqvmixdjsip";
-       libraryHaskellDepends = [ base transformers vector ];
+       version = "0.1.1.0";
+       sha256 = "1fiwhfnwr8m0fnivfx4vmpdzmmglk82xc0x7djavz48mfsz1x459";
+       libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base hspec QuickCheck ];
        description = "Heap and Vector container types";
        license = lib.licenses.bsd3;
@@ -92425,6 +92010,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "finite-fields" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , QuickCheck, random, tasty, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "finite-fields";
+       version = "0.2";
+       sha256 = "158qc6q8ppisjxhipcvfjha8iklg0x6jpf0cb8wgsz2456wzm2s8";
+       setupHaskellDepends = [ base Cabal directory filepath ];
+       libraryHaskellDepends = [ base containers random vector ];
+       testHaskellDepends = [
+         base containers QuickCheck random tasty tasty-quickcheck
+       ];
+       description = "Arithmetic in finite fields";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "finite-typelits" = callPackage
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
@@ -92781,20 +92383,6 @@ self: {
      }:
      mkDerivation {
        pname = "fixed-length";
-       version = "0.2.2";
-       sha256 = "1bx46n11k9dpr5hhfhxiwdd5npaqf9xwvqvjd0nlbylfmsmgd14y";
-       libraryHaskellDepends = [
-         base non-empty storable-record tfp utility-ht
-       ];
-       description = "Lists with statically known length based on non-empty package";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-length_0_2_2_1" = callPackage
-    ({ mkDerivation, base, non-empty, storable-record, tfp, utility-ht
-     }:
-     mkDerivation {
-       pname = "fixed-length";
        version = "0.2.2.1";
        sha256 = "123iyy1id86h0j45jyc9jiz24hvjw7j3l57iv80b57gv4hd8a6q7";
        libraryHaskellDepends = [
@@ -92802,7 +92390,6 @@ self: {
        ];
        description = "Lists with statically known length based on non-empty package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-list" = callPackage
@@ -95072,8 +94659,8 @@ self: {
      }:
      mkDerivation {
        pname = "forex2ledger";
-       version = "1.0.0.0";
-       sha256 = "0rsaw9l3653kfp3hfszdyq7xqfmr38xwvlwk7mdr7sqhqs2xxbaq";
+       version = "1.0.0.1";
+       sha256 = "0v6adrl9c9vjpf4gm8x729qxq7yl84bfbiawmdpks2jzdckxvgdb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100044,24 +99631,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-lens";
-       version = "2.0.0.0";
-       sha256 = "0fh9095qiqlym0s6w0zkmybn7hyywgy964fhg95x0vprpmfya5mq";
-       libraryHaskellDepends = [
-         base generic-lens-core profunctors text
-       ];
-       testHaskellDepends = [
-         base doctest HUnit inspection-testing lens profunctors
-       ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-lens_2_1_0_0" = callPackage
-    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
-     , inspection-testing, lens, profunctors, text
-     }:
-     mkDerivation {
-       pname = "generic-lens";
        version = "2.1.0.0";
        sha256 = "1qxabrbzgd32i2fv40qw4f44akvfs1impjvcs5pqn409q9zz6kfd";
        libraryHaskellDepends = [
@@ -100072,30 +99641,17 @@ self: {
        ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-lens-core" = callPackage
     ({ mkDerivation, base, indexed-profunctors, text }:
      mkDerivation {
        pname = "generic-lens-core";
-       version = "2.0.0.0";
-       sha256 = "0h7fjh3zk8lkkmdj3w3wg72gbmnr8wz9wfm58ryvx0036l284qji";
-       libraryHaskellDepends = [ base indexed-profunctors text ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-lens-core_2_1_0_0" = callPackage
-    ({ mkDerivation, base, indexed-profunctors, text }:
-     mkDerivation {
-       pname = "generic-lens-core";
        version = "2.1.0.0";
        sha256 = "0ja72rn7f7a24bmgqb6rds1ic78jffy2dzrb7sx8gy3ld5mlg135";
        libraryHaskellDepends = [ base indexed-profunctors text ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-lens-labels" = callPackage
@@ -100189,24 +99745,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-optics";
-       version = "2.0.0.0";
-       sha256 = "17m72q0cjvagq1khiq8m495jhkpn2rqd6y1h9bxngp6l0k355nmw";
-       libraryHaskellDepends = [
-         base generic-lens-core optics-core text
-       ];
-       testHaskellDepends = [
-         base doctest HUnit inspection-testing optics-core
-       ];
-       description = "Generically derive traversals, lenses and prisms";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-optics_2_1_0_0" = callPackage
-    ({ mkDerivation, base, doctest, generic-lens-core, HUnit
-     , inspection-testing, optics-core, text
-     }:
-     mkDerivation {
-       pname = "generic-optics";
        version = "2.1.0.0";
        sha256 = "04szdpcaxiaw9n1cry020mcrcirypfq3qxwr7h8h34b2mffvnl25";
        libraryHaskellDepends = [
@@ -100217,7 +99755,6 @@ self: {
        ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-optics-lite" = callPackage
@@ -101797,23 +101334,6 @@ self: {
 
   "ghc-check" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
-     , ghc-paths, process, safe-exceptions, template-haskell
-     , transformers
-     }:
-     mkDerivation {
-       pname = "ghc-check";
-       version = "0.5.0.3";
-       sha256 = "0crhlqs296zsz7bhy3zqaqhglxg45i6z7d1iqj9v7nr9crimxyjn";
-       libraryHaskellDepends = [
-         base containers directory filepath ghc ghc-paths process
-         safe-exceptions template-haskell transformers
-       ];
-       description = "detect mismatches between compile-time and run-time versions of the ghc api";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ghc-check_0_5_0_4" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath, ghc
      , ghc-paths, process, safe-exceptions, template-haskell, th-compat
      , transformers
      }:
@@ -101827,7 +101347,6 @@ self: {
        ];
        description = "detect mismatches between compile-time and run-time versions of the ghc api";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-clippy-plugin" = callPackage
@@ -105324,6 +104843,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libsoup;};
 
+  "gi-vips" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
+     , gi-gobject, haskell-gi, haskell-gi-base, haskell-gi-overloading
+     , text, transformers, vips
+     }:
+     mkDerivation {
+       pname = "gi-vips";
+       version = "8.0.1";
+       sha256 = "1iq30mbyw638srpna9db1l039iz30zglxxfjysh0gmkrij4ky7kv";
+       setupHaskellDepends = [ base Cabal gi-glib gi-gobject haskell-gi ];
+       libraryHaskellDepends = [
+         base bytestring containers gi-glib gi-gobject haskell-gi
+         haskell-gi-base haskell-gi-overloading text transformers
+       ];
+       libraryPkgconfigDepends = [ vips ];
+       description = "libvips GObject bindings";
+       license = lib.licenses.lgpl21Only;
+     }) {inherit (pkgs) vips;};
+
   "gi-vte" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-atk
      , gi-gdk, gi-gio, gi-glib, gi-gobject, gi-gtk, gi-pango, haskell-gi
@@ -107044,26 +106582,6 @@ self: {
      }:
      mkDerivation {
        pname = "glabrous";
-       version = "2.0.2";
-       sha256 = "10aaa3aggn48imhqxkwyp0i0mar7fan29rwr6qkwli63v3m7fvgr";
-       libraryHaskellDepends = [
-         aeson aeson-pretty attoparsec base bytestring cereal cereal-text
-         either text unordered-containers
-       ];
-       testHaskellDepends = [
-         base directory either hspec text unordered-containers
-       ];
-       description = "A template DSL library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "glabrous_2_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
-     , cereal, cereal-text, directory, either, hspec, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "glabrous";
        version = "2.0.3";
        sha256 = "06bpazshc07rg1w06sl171k12mry708512hrdckqw7winwfrwwkh";
        libraryHaskellDepends = [
@@ -107075,7 +106593,6 @@ self: {
        ];
        description = "A template DSL library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "glade" = callPackage
@@ -107771,6 +107288,32 @@ self: {
        broken = true;
      }) {inherit (pkgs) glpk;};
 
+  "glsl" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
+     , directory, fgl, graphviz, hspec, hspec-discover, lens, linear
+     , QuickCheck, scientific, text, time, transformers, vector
+     }:
+     mkDerivation {
+       pname = "glsl";
+       version = "0.0.1.0";
+       sha256 = "1zq1dy6jzd41qz08xhwvbgy2g6zj90akb2145kh2h2906fyzr2wf";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         attoparsec base binary containers fgl graphviz lens linear
+         scientific text transformers
+       ];
+       executableHaskellDepends = [ base text time ];
+       testHaskellDepends = [
+         attoparsec base binary bytestring directory hspec QuickCheck text
+         vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Parser and optimizer for a small subset of GLSL";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "gltf-codec" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
      , directory, filepath, scientific, shower, text
@@ -112340,6 +111883,8 @@ self: {
        pname = "graphula-core";
        version = "2.0.0.1";
        sha256 = "0yl1x5dw70rds9fk7ijsyrksharjm2fhvbihybjbjpj89s1n1zir";
+       revision = "1";
+       editedCabalFile = "0wpbz938vqw60lzgw98pf83i2c09c5633kkh3xhn42zpbnw76ylj";
        libraryHaskellDepends = [
          base containers directory generics-eot HUnit mtl persistent
          QuickCheck random semigroups temporary text transformers unliftio
@@ -113270,8 +112815,8 @@ self: {
      }:
      mkDerivation {
        pname = "grpc-haskell";
-       version = "0.0.1.0";
-       sha256 = "1cl12g88wvml3s5jazcb4gi4zwf6fp28hc9jp1fj25qpbr14il5c";
+       version = "0.1.0";
+       sha256 = "1qqa4qn6ql8zvacaikd1a154ib7bah2h96fjfvd3hz6j79bbfqw4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -116036,8 +115581,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "2.1.0";
-       sha256 = "0hvn6kq6pasyh9mvnxn4crhg4fxmw7xrcfxa77wkxni8q1a94xxs";
+       version = "2.3.0";
+       sha256 = "03cz3inkkqbdnwwvsf7dhclp9svi8c0lpjmcp81ff9vxr1v6x73x";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119941,6 +119486,8 @@ self: {
        pname = "haskell-awk";
        version = "1.2";
        sha256 = "14jfw5s3xw7amwasw37mxfinzwvxd6pr64iypmy65z7bkx3l01cj";
+       revision = "1";
+       editedCabalFile = "1d6smaalvf66h0d9d1vq9q8ldxcvg11m05wg70cbsq3s2vh6iz4p";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -127394,16 +126941,16 @@ self: {
      , inline-c-cpp, katip, lens, lens-aeson, lifted-async, lifted-base
      , monad-control, mtl, network, network-uri, nix
      , optparse-applicative, process, process-extras, protolude
-     , safe-exceptions, servant, servant-auth-client, servant-client
-     , servant-client-core, stm, temporary, text, time, tomland
-     , transformers, transformers-base, unbounded-delays, unix, unliftio
-     , unliftio-core, unordered-containers, uuid, vector, websockets
-     , wuss
+     , safe-exceptions, scientific, servant, servant-auth-client
+     , servant-client, servant-client-core, stm, temporary, text, time
+     , tomland, transformers, transformers-base, unbounded-delays, unix
+     , unliftio, unliftio-core, unordered-containers, uuid, vector
+     , websockets, wuss
      }:
      mkDerivation {
        pname = "hercules-ci-agent";
-       version = "0.8.0";
-       sha256 = "1nwdi442ccm1x2isxdlh3rpcw627wjccdb4y40w2qna6dchx7v9z";
+       version = "0.8.1";
+       sha256 = "0f18mz2chwipjac7dc918hn54frrxqk6bvyjvzqq25agi5zh8h12";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127423,7 +126970,7 @@ self: {
          hostname http-client http-client-tls http-conduit inline-c
          inline-c-cpp katip lens lens-aeson lifted-async lifted-base
          monad-control mtl network network-uri optparse-applicative process
-         process-extras protolude safe-exceptions servant
+         process-extras protolude safe-exceptions scientific servant
          servant-auth-client servant-client servant-client-core stm
          temporary text time tomland transformers transformers-base unix
          unliftio unliftio-core unordered-containers uuid vector websockets
@@ -127452,8 +126999,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api";
-       version = "0.6.0.0";
-       sha256 = "11ha3jvwg501n9all4v5r057qr9m9qbmbrkiv5l04mrsi5pvhpw7";
+       version = "0.6.0.1";
+       sha256 = "1c9dvj9vv4rm0ndmgfm9s4qfpjbs2ly98r06bl0xv550anik7kqj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127484,8 +127031,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api-agent";
-       version = "0.3.0.0";
-       sha256 = "161ghlz5n6na4sviwyxxq78hj37yk89kri0367xx9dbsllgfc7g6";
+       version = "0.3.1.0";
+       sha256 = "0p1xlzwhaz6ycjzmadnlmr7fvz9iar9b7qzz867xxvix6p8w2nj6";
        libraryHaskellDepends = [
          aeson base base64-bytestring-type bytestring containers cookie
          deepseq exceptions hashable hercules-ci-api-core http-api-data
@@ -127540,8 +127087,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-cli";
-       version = "0.1.0";
-       sha256 = "1fcg1fd2jd0334nhwsipyf468a4kkdhbibyhhjyspqagswaanm9q";
+       version = "0.2.0";
+       sha256 = "0fxsx31b6m9hxcpymixmfpvj1k569kzbxd2jvm8kzda073hljsbm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127593,8 +127140,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-cnix-store";
-       version = "0.1.0.0";
-       sha256 = "1ni83x2453ii2xgq4ihhr41jbjhgga5dq5q8560f555fwrw10brz";
+       version = "0.1.1.0";
+       sha256 = "1lvlilhfkyx3i4fp0azjx4gm2iwm6hkjrg6kc5faifw7knfivinj";
        libraryHaskellDepends = [
          base bytestring conduit containers inline-c inline-c-cpp protolude
          unliftio-core
@@ -129244,20 +128791,6 @@ self: {
      }) {};
 
   "hi-file-parser" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hspec, rio, vector }:
-     mkDerivation {
-       pname = "hi-file-parser";
-       version = "0.1.1.0";
-       sha256 = "1wb79m6vx7dz4hrvyk2h1iv6q36g9hhywls5ygam7pmw9c4rs3sq";
-       revision = "2";
-       editedCabalFile = "1495j6ky44r660yr5szy2ln96rdhakh0fhnw749g2yyx5l0gwcrs";
-       libraryHaskellDepends = [ base binary bytestring rio vector ];
-       testHaskellDepends = [ base binary bytestring hspec rio vector ];
-       description = "Parser for GHC's hi files";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hi-file-parser_0_1_2_0" = callPackage
     ({ mkDerivation, base, binary, bytestring, hspec, mtl, rio, vector
      }:
      mkDerivation {
@@ -129270,7 +128803,6 @@ self: {
        ];
        description = "Parser for GHC's hi files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hi3status" = callPackage
@@ -129570,6 +129102,28 @@ self: {
        broken = true;
      }) {};
 
+  "hierarchical-env" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, method, microlens
+     , microlens-mtl, microlens-th, rio, template-haskell
+     , th-abstraction
+     }:
+     mkDerivation {
+       pname = "hierarchical-env";
+       version = "0.1.0.0";
+       sha256 = "0syx9i9z9j75wbqsrwl8nqhr025df6vmgb4p767sdb7dncpqkph9";
+       libraryHaskellDepends = [
+         base method microlens microlens-mtl microlens-th rio
+         template-haskell th-abstraction
+       ];
+       testHaskellDepends = [
+         base hspec method microlens microlens-mtl microlens-th rio
+         template-haskell th-abstraction
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "hierarchical environments for dependency injection";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hierarchical-exceptions" = callPackage
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
@@ -131855,6 +131409,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.2.0";
        sha256 = "1k4dsd4h3fv1ag753gwxvirfrj53ra4ik948pyacq31c16mz1l2p";
+       revision = "1";
+       editedCabalFile = "1ypb0197v5x6a5zkj7qqrr7lam3sxvvi3wbgk5imvdppq2rj7hqz";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers zstd
@@ -131871,10 +131427,10 @@ self: {
      }:
      mkDerivation {
        pname = "hlrdb-core";
-       version = "0.1.6.0";
-       sha256 = "13hb0657y5cqhbl2m27v28b6zl9mgcq17r983rds3l3bccn67ayv";
+       version = "0.1.6.1";
+       sha256 = "0sy87qz7v1x4rmqclfz2q8bnca2k7zyc7cgk67s80xhp4jsab90x";
        revision = "1";
-       editedCabalFile = "163scamdjq98zk039qv3r4xqz7hmixa136gfkifx757fy4nigdiy";
+       editedCabalFile = "1nyvgbpvr7l0b9cvnlavmc88aszvxfrdcj57grrs6dcd1d4lv7ss";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -136127,15 +135683,15 @@ self: {
      }:
      mkDerivation {
        pname = "hs-conllu";
-       version = "0.1.2";
-       sha256 = "1dvayafvf14gbir7cafhzlscqlffaws5ajilm5h520ji449jh2aa";
+       version = "0.1.5";
+       sha256 = "1azh4g5kdng8v729ldgblkmrdqrc501rgm9wwqx6gkqwwzn8w3r4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base containers directory filepath megaparsec void
        ];
        executableHaskellDepends = [
-         base containers directory filepath megaparsec
+         base containers directory filepath megaparsec void
        ];
        description = "Conllu validating parser and utils";
        license = lib.licenses.lgpl3Only;
@@ -138094,20 +137650,22 @@ self: {
 
   "hsendxmpp" = callPackage
     ({ mkDerivation, base, hslogger, pontarius-xmpp
-     , pontarius-xmpp-extras, string-class
+     , pontarius-xmpp-extras, string-class, text
      }:
      mkDerivation {
        pname = "hsendxmpp";
-       version = "0.1.2.4";
-       sha256 = "17dhhjbynr7afjibv6fys45m2al422b6q3z7ncfycpwp6541qifm";
+       version = "0.1.2.5";
+       sha256 = "0wyfcsc0vjyx87r5dv51frfligf4d7v0n1m7967vg4d6jkw2zxd9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base hslogger pontarius-xmpp pontarius-xmpp-extras string-class
+         text
        ];
        description = "sendxmpp clone, sending XMPP messages via CLI";
-       license = "unknown";
+       license = lib.licenses.agpl3Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hsenv" = callPackage
@@ -138406,8 +137964,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.17";
-       sha256 = "1ib8vxjsrg03i4fmcgwfkxwbr4dwyvk6xvhb0y6xydwjckfs0ldd";
+       version = "0.0.18";
+       sha256 = "1xqrmkr1r3ssv51aqikxhw39rgajswrvl3z0gb0xq2p3shynxi53";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139332,25 +138890,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-expectations-json";
-       version = "1.0.0.2";
-       sha256 = "1jv0mi0hdbxx75yygd3184kqpi50ysjp82vyr1di7dcz0ffyxhmb";
-       libraryHaskellDepends = [
-         aeson aeson-pretty base Diff HUnit scientific text
-         unordered-containers vector
-       ];
-       testHaskellDepends = [ aeson-qq base hspec ];
-       description = "Hspec expectations for JSON Values";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hspec-expectations-json_1_0_0_3" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
-     , HUnit, scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hspec-expectations-json";
        version = "1.0.0.3";
        sha256 = "06k2gk289v6xxzj5mp5nsz6ixqlh2z3zx8z1jlxza35pkzkv34x7";
        libraryHaskellDepends = [
@@ -139572,23 +139111,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.0.0.1";
-       sha256 = "146y4y3q047a5g8dif1vdjsn8jz6kafq0yzd7x5wpg7daccbxami";
-       libraryHaskellDepends = [
-         base conduit directory exceptions hashable hspec hspec-core
-         resourcet temporary text xml-conduit xml-types
-       ];
-       description = "A JUnit XML runner/formatter for hspec";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-junit-formatter_1_0_0_2" = callPackage
-    ({ mkDerivation, base, conduit, directory, exceptions, hashable
-     , hspec, hspec-core, resourcet, temporary, text, xml-conduit
-     , xml-types
-     }:
-     mkDerivation {
-       pname = "hspec-junit-formatter";
        version = "1.0.0.2";
        sha256 = "19mmzzjg041sqv22w66cls0mcypdamsqx43n00hnn2gqk0jkhhll";
        libraryHaskellDepends = [
@@ -139597,7 +139119,6 @@ self: {
        ];
        description = "A JUnit XML runner/formatter for hspec";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-laws" = callPackage
@@ -141695,7 +141216,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_7" = callPackage
+  "http-client_0_7_8" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
@@ -141705,8 +141226,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.7";
-       sha256 = "0sbjfxfnj5b594klc7h7zmw27gssrbcsacld9lw9p0bpmgx73lvn";
+       version = "0.7.8";
+       sha256 = "043ydfakl02cghmphzz9hj08hrfszqw96vjrb4cal7c7801szz0q";
        libraryHaskellDepends = [
          array base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
@@ -142326,8 +141847,8 @@ self: {
        pname = "http-media";
        version = "0.8.0.0";
        sha256 = "0lww5cxrc9jlvzsysjv99lca33i4rb7cll66p3c0rdpmvz8pk0ir";
-       revision = "4";
-       editedCabalFile = "0qg6x92i3w2q7zarr08kmicychkwskfi04xaxkqkg0cw6jnpnhhh";
+       revision = "5";
+       editedCabalFile = "0wf39pdag8a81ksk5xrgjzzzhav62vw2s77p43y7n3zkz5vynw7n";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers utf8-string
        ];
@@ -142458,19 +141979,23 @@ self: {
     ({ mkDerivation, async, base, blaze-builder, bytestring
      , bytestring-lexing, case-insensitive, conduit, conduit-extra
      , connection, hspec, http-client, http-conduit, http-types, mtl
-     , network, QuickCheck, random, resourcet, streaming-commons, text
-     , tls, transformers, vault, wai, wai-conduit, warp, warp-tls
+     , network, network-uri, QuickCheck, random, resourcet
+     , streaming-commons, text, tls, transformers, vault, wai
+     , wai-conduit, warp, warp-tls
      }:
      mkDerivation {
        pname = "http-proxy";
-       version = "0.1.1.0";
-       sha256 = "1nzihn2qxm066avzgill1nxa0174ggv54bacsn871a0ai7n03079";
+       version = "0.1.2.0";
+       sha256 = "17yn15hd0kn3r495awy5qmrxq8mgrby8h5b9q7vzm583yppi9dmn";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         async base blaze-builder bytestring bytestring-lexing
-         case-insensitive conduit conduit-extra http-client http-conduit
-         http-types mtl network resourcet streaming-commons text tls
-         transformers wai wai-conduit warp warp-tls
+         async base bytestring bytestring-lexing case-insensitive conduit
+         conduit-extra http-client http-conduit http-types mtl network
+         resourcet streaming-commons text tls transformers wai wai-conduit
+         warp warp-tls
        ];
+       executableHaskellDepends = [ base bytestring network-uri wai ];
        testHaskellDepends = [
          async base blaze-builder bytestring bytestring-lexing
          case-insensitive conduit conduit-extra connection hspec http-client
@@ -142746,7 +142271,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "http2_3_0_0" = callPackage
+  "http2_3_0_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, async, base
      , base16-bytestring, bytestring, case-insensitive, containers
      , cryptonite, directory, filepath, gauge, Glob, heaps, hspec
@@ -142757,8 +142282,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2";
-       version = "3.0.0";
-       sha256 = "17j4p2apyiiznkwdn9a8pdb43vcwbnpzyff2wqlzpbf9habb8idf";
+       version = "3.0.1";
+       sha256 = "1c1vhb2x23rlw7ciayz0rx6lpifjwrvpg88nspwa9w5nbjij2258";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -145516,8 +145041,8 @@ self: {
     ({ mkDerivation, base, containers, HUnit, random }:
      mkDerivation {
        pname = "hyahtzee";
-       version = "0.2";
-       sha256 = "0zv9ycgf9sii59q86s04m6krjyjgmrqaxz4lyvwa58b7a886wcmv";
+       version = "0.5";
+       sha256 = "0g9y155w072zdwfx241zs7wwi338kyabv6kdk5j180s85ya8ryxp";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base containers HUnit random ];
@@ -148765,23 +148290,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "indexed-profunctors";
-       version = "0.1";
-       sha256 = "0rdvj62rapkkj5zv5jyx2ynfwn2iszx1w2q08j9ik17zklqv9pri";
-       libraryHaskellDepends = [ base ];
-       description = "Utilities for indexed profunctors";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "indexed-profunctors_0_1_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "indexed-profunctors";
        version = "0.1.1";
        sha256 = "1cbccbvrx73drr1jf3yyw0rp1mcfv3jc1rvdcby5xxx4ja543fjs";
        libraryHaskellDepends = [ base ];
        description = "Utilities for indexed profunctors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "indexed-traversable" = callPackage
@@ -149417,8 +148930,6 @@ self: {
        ];
        description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) R;};
 
   "inliterate" = callPackage
@@ -149542,6 +149053,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "inspection-testing_0_4_4_0" = callPackage
+    ({ mkDerivation, base, containers, ghc, mtl, template-haskell
+     , transformers
+     }:
+     mkDerivation {
+       pname = "inspection-testing";
+       version = "0.4.4.0";
+       sha256 = "1zr7c7xpmnfwn2p84rqw69n1g91rdkh7d20awvj0s56nbdikgiyh";
+       libraryHaskellDepends = [
+         base containers ghc mtl template-haskell transformers
+       ];
+       testHaskellDepends = [ base ];
+       description = "GHC plugin to do inspection testing";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "inspector-wrecker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , connection, data-default, http-client, http-client-tls
@@ -150429,12 +149957,12 @@ self: {
      }) {};
 
   "interval-algebra" = callPackage
-    ({ mkDerivation, base, hspec, QuickCheck, time }:
+    ({ mkDerivation, base, hspec, QuickCheck, time, witherable }:
      mkDerivation {
        pname = "interval-algebra";
-       version = "0.1.2";
-       sha256 = "1nhpcrp7r6ba9mqwrfkx0zk7awdw24kh75ggq1wcif6mpir2khkx";
-       libraryHaskellDepends = [ base time ];
+       version = "0.3.3";
+       sha256 = "0njlirr5ymsdw27snixxf3c4dgj8grffqv94a1hz97k801a3axkh";
+       libraryHaskellDepends = [ base QuickCheck time witherable ];
        testHaskellDepends = [ base hspec QuickCheck time ];
        description = "An implementation of Allen's interval algebra for temporal logic";
        license = lib.licenses.bsd3;
@@ -152940,26 +152468,6 @@ self: {
      }:
      mkDerivation {
        pname = "jack";
-       version = "0.7.1.4";
-       sha256 = "018lsa5mgl7vb0hrd4jswa40d6w7alfq082brax8p832zf0v5bj2";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bytestring enumset event-list explicit-exception midi
-         non-negative semigroups transformers
-       ];
-       libraryPkgconfigDepends = [ libjack2 ];
-       description = "Bindings for the JACK Audio Connection Kit";
-       license = "GPL";
-     }) {inherit (pkgs) libjack2;};
-
-  "jack_0_7_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, enumset, event-list
-     , explicit-exception, libjack2, midi, non-negative, semigroups
-     , transformers
-     }:
-     mkDerivation {
-       pname = "jack";
        version = "0.7.2";
        sha256 = "0aa7nz8ybsw7s0nmf12kxnjm5z1afj88c97b1w17b7lvdwvfs3cx";
        isLibrary = true;
@@ -152971,7 +152479,6 @@ self: {
        libraryPkgconfigDepends = [ libjack2 ];
        description = "Bindings for the JACK Audio Connection Kit";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) libjack2;};
 
   "jack-bindings" = callPackage
@@ -158528,6 +158035,26 @@ self: {
        broken = true;
      }) {};
 
+  "kvitable" = callPackage
+    ({ mkDerivation, base, containers, html-parse, lucid, microlens
+     , pretty-show, prettyprinter, tasty, tasty-hunit, template-haskell
+     , text
+     }:
+     mkDerivation {
+       pname = "kvitable";
+       version = "1.0.0.0";
+       sha256 = "1p8myw0f32gb1cxzp63l4i7m6gz1l423pl40yp2jl7vfdp4kzjwz";
+       libraryHaskellDepends = [
+         base containers lucid microlens prettyprinter text
+       ];
+       testHaskellDepends = [
+         base html-parse microlens pretty-show tasty tasty-hunit
+         template-haskell text
+       ];
+       description = "Key/Value Indexed Table container and formatting library";
+       license = lib.licenses.isc;
+     }) {};
+
   "kyotocabinet" = callPackage
     ({ mkDerivation, base, bytestring, cereal, kyotocabinet }:
      mkDerivation {
@@ -160041,8 +159568,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "9.1.3";
-       sha256 = "00nr8fb981rkjzy2xhppvg9avsi377ww28d50rldm5wh7ax9s3w2";
+       version = "9.2.0";
+       sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -160055,15 +159582,15 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
-  "language-docker_9_2_0" = callPackage
+  "language-docker_9_3_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default-class
      , hspec, HUnit, megaparsec, prettyprinter, QuickCheck, split, text
      , time
      }:
      mkDerivation {
        pname = "language-docker";
-       version = "9.2.0";
-       sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds";
+       version = "9.3.0";
+       sha256 = "1n9v0b6lwr528b6919y11a8d27mhsp0mm870rx0rjg9l5j4mnbvn";
        libraryHaskellDepends = [
          base bytestring containers data-default-class megaparsec
          prettyprinter split text time
@@ -162089,6 +161616,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "leancheck_0_9_4" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "leancheck";
+       version = "0.9.4";
+       sha256 = "0w17ymj7k4sr9jwp9yrgh3l94l3kgjyxxnpxwj2sdqk8fvmjpkny";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "Enumerative property-based testing";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "leancheck-enum-instances" = callPackage
     ({ mkDerivation, base, enum-types, leancheck }:
      mkDerivation {
@@ -164667,6 +164207,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lift-type" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "lift-type";
+       version = "0.1.0.0";
+       sha256 = "0832xn7bfv1kwg02mmh6my11inljb066mci01b7p0xkcip1kmrhy";
+       revision = "1";
+       editedCabalFile = "1m89kzw7zrys8jjg7sbdpfq3bsqdvqr8bcszsnwvx0nmj1c6hciw";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base template-haskell ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "lifted-async" = callPackage
     ({ mkDerivation, async, base, constraints, deepseq, HUnit
      , lifted-base, monad-control, mtl, tasty, tasty-bench
@@ -171926,6 +171479,27 @@ self: {
        broken = true;
      }) {};
 
+  "mangrove" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, filepath
+     , HUnit, text, transformers, unordered-containers, utility-ht
+     , vector, willow
+     }:
+     mkDerivation {
+       pname = "mangrove";
+       version = "0.1.0.0";
+       sha256 = "0r9gpi79h676zal5r6x6kq8aszi83y035g32j55y0lkqsiww86ah";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring containers filepath text transformers
+         unordered-containers utility-ht vector willow
+       ];
+       testHaskellDepends = [
+         base bytestring filepath HUnit text utility-ht
+       ];
+       description = "A parser for web documents according to the HTML5 specification";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "manifold-random" = callPackage
     ({ mkDerivation, base, constrained-categories, linearmap-category
      , manifolds, random-fu, semigroups, vector-space
@@ -178033,29 +177607,6 @@ self: {
   "mod" = callPackage
     ({ mkDerivation, base, deepseq, integer-gmp, primitive
      , quickcheck-classes, quickcheck-classes-base, semirings, tasty
-     , tasty-quickcheck, time, vector
-     }:
-     mkDerivation {
-       pname = "mod";
-       version = "0.1.2.1";
-       sha256 = "0fjcjk9jxwc2d1fm3kzamh9gi3lwnl2g6kz3z2hd43dszkay1mn1";
-       revision = "2";
-       editedCabalFile = "0h4dff2r9q5619pfahdm4bb6xmsqvv5b6d0na1i2sg7zq58ac2bq";
-       libraryHaskellDepends = [
-         base deepseq integer-gmp primitive semirings vector
-       ];
-       testHaskellDepends = [
-         base primitive quickcheck-classes quickcheck-classes-base semirings
-         tasty tasty-quickcheck vector
-       ];
-       benchmarkHaskellDepends = [ base time ];
-       description = "Fast type-safe modular arithmetic";
-       license = lib.licenses.mit;
-     }) {};
-
-  "mod_0_1_2_2" = callPackage
-    ({ mkDerivation, base, deepseq, integer-gmp, primitive
-     , quickcheck-classes, quickcheck-classes-base, semirings, tasty
      , tasty-bench, tasty-quickcheck, vector
      }:
      mkDerivation {
@@ -178072,7 +177623,6 @@ self: {
        benchmarkHaskellDepends = [ base tasty-bench ];
        description = "Fast type-safe modular arithmetic";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "modbus-tcp" = callPackage
@@ -180442,8 +179992,8 @@ self: {
        pname = "monoidal-containers";
        version = "0.6.0.1";
        sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82";
-       revision = "2";
-       editedCabalFile = "1b98zf8c2mz7qrp24pyq6wqx5ljlckc7hyk62kiyj23svq7sxpzz";
+       revision = "4";
+       editedCabalFile = "1vi30clh5j3zzirbl4wch40vjds4p6sdmf1q1qadm4zzj7zahvpm";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -189768,25 +189318,12 @@ self: {
     ({ mkDerivation, base, comonad, deepseq, doctest, Glob, safe }:
      mkDerivation {
        pname = "nonempty-zipper";
-       version = "1.0.0.1";
-       sha256 = "17h070rciwbdk36n68dbin1yv2ybrb2vak9azimfv51z6b6a7b4w";
-       libraryHaskellDepends = [ base comonad deepseq safe ];
-       testHaskellDepends = [ base comonad deepseq doctest Glob safe ];
-       description = "A non-empty comonadic list zipper";
-       license = lib.licenses.mit;
-     }) {};
-
-  "nonempty-zipper_1_0_0_2" = callPackage
-    ({ mkDerivation, base, comonad, deepseq, doctest, Glob, safe }:
-     mkDerivation {
-       pname = "nonempty-zipper";
        version = "1.0.0.2";
        sha256 = "10fj56ry851npkhrkw9gb1sckhx764l2s2c5x83cnylxlg7cfijj";
        libraryHaskellDepends = [ base comonad deepseq safe ];
        testHaskellDepends = [ base comonad deepseq doctest Glob safe ];
        description = "A non-empty comonadic list zipper";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nonemptymap" = callPackage
@@ -190356,8 +189893,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-prelude";
-       version = "0.5.0.2";
-       sha256 = "1g96nf1nslynqywkqzb4x0k17v0fcw37jidrp7yzkmz16yhqxh1n";
+       version = "0.5.0.3";
+       sha256 = "0k4mhgyazjc74hwf2xgznhhkryqhdmsc2pv1v9d32706qkr796wn";
        libraryHaskellDepends = [
          aeson aeson-pretty async auto-update base bytestring containers
          directory exceptions filepath ghc hedgehog junit-xml pretty-diff
@@ -193049,6 +192586,43 @@ self: {
        broken = true;
      }) {};
 
+  "openapi3_3_1_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
+     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
+     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
+     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
+     , optics-th, QuickCheck, quickcheck-instances, scientific
+     , template-haskell, text, time, transformers, unordered-containers
+     , utf8-string, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "openapi3";
+       version = "3.1.0";
+       sha256 = "011754qyxxw5mn06hdmxalvsiff7a4x4k2yb2r6ylzr6zhyz818z";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat-batteries bytestring containers
+         cookie generics-sop hashable http-media insert-ordered-containers
+         lens mtl network optics-core optics-th QuickCheck scientific
+         template-haskell text time transformers unordered-containers
+         uuid-types vector
+       ];
+       executableHaskellDepends = [ aeson base lens text ];
+       testHaskellDepends = [
+         aeson base base-compat-batteries bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         quickcheck-instances template-haskell text time
+         unordered-containers utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "OpenAPI 3.0 data model";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "openapi3-code-generator" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, genvalidity, genvalidity-hspec, genvalidity-text
@@ -193888,6 +193462,120 @@ self: {
        broken = true;
      }) {};
 
+  "opentracing" = callPackage
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
+     , case-insensitive, clock, containers, http-types, iproute, lens
+     , mtl, mwc-random, network, safe-exceptions, semigroups, stm, text
+     , time, transformers, unordered-containers, uri-bytestring, vinyl
+     }:
+     mkDerivation {
+       pname = "opentracing";
+       version = "0.1.0.0";
+       sha256 = "0j791hv525mcskqmji3f9n8v803pailm8jrl336pxzdh3iacqvsl";
+       libraryHaskellDepends = [
+         aeson async base base64-bytestring bytestring case-insensitive
+         clock containers http-types iproute lens mtl mwc-random network
+         safe-exceptions semigroups stm text time transformers
+         unordered-containers uri-bytestring vinyl
+       ];
+       description = "OpenTracing for Haskell";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-http-client" = callPackage
+    ({ mkDerivation, base, http-client, lens, mtl, opentracing, text }:
+     mkDerivation {
+       pname = "opentracing-http-client";
+       version = "0.1.0.0";
+       sha256 = "1jzdnlk2cacmymjkcfx4n569n6gqy6kwzh9dxrgjnagwh3jqk7q3";
+       libraryHaskellDepends = [
+         base http-client lens mtl opentracing text
+       ];
+       description = "OpenTracing instrumentation of http-client";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-jaeger" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, hashable
+     , http-client, http-types, lens, mtl, network, opentracing
+     , QuickCheck, safe-exceptions, text, thrift, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "opentracing-jaeger";
+       version = "0.1.0.0";
+       sha256 = "1yr9vhbpqq12hj9blv3v1wc26n9qsp0g7pjngxh0k1zcv759s1k0";
+       libraryHaskellDepends = [
+         base bytestring exceptions hashable http-client http-types lens mtl
+         network opentracing QuickCheck safe-exceptions text thrift
+         unordered-containers vector
+       ];
+       description = "Jaeger backend for OpenTracing";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "opentracing-wai" = callPackage
+    ({ mkDerivation, base, lens, opentracing, text, wai }:
+     mkDerivation {
+       pname = "opentracing-wai";
+       version = "0.1.0.0";
+       sha256 = "1m68l4gxpyl81yhkd209kdgzydzyg632x8gl2jh3l4k83ysdg545";
+       libraryHaskellDepends = [ base lens opentracing text wai ];
+       description = "Middleware adding OpenTracing tracing for WAI applications";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-zipkin-common" = callPackage
+    ({ mkDerivation, aeson, base, opentracing, text }:
+     mkDerivation {
+       pname = "opentracing-zipkin-common";
+       version = "0.1.0.0";
+       sha256 = "00pg2k0v685gc4fmrcb464fapvpz8lw0249n6gmi2zkhpw8frnm0";
+       libraryHaskellDepends = [ aeson base opentracing text ];
+       description = "Zipkin OpenTracing Backend Commons";
+       license = lib.licenses.asl20;
+     }) {};
+
+  "opentracing-zipkin-v1" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, hashable
+     , http-client, http-types, iproute, lens, opentracing
+     , opentracing-zipkin-common, QuickCheck, text, thrift
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "opentracing-zipkin-v1";
+       version = "0.1.0.0";
+       sha256 = "0mw6x9jqh42ymn1a3maq47mw1mbzki5lv1axapqkhkx0w13824pp";
+       libraryHaskellDepends = [
+         base bytestring exceptions hashable http-client http-types iproute
+         lens opentracing opentracing-zipkin-common QuickCheck text thrift
+         unordered-containers vector
+       ];
+       description = "Zipkin V1 backend for OpenTracing";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "opentracing-zipkin-v2" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , exceptions, http-client, http-types, lens, opentracing
+     , opentracing-zipkin-common, text
+     }:
+     mkDerivation {
+       pname = "opentracing-zipkin-v2";
+       version = "0.1.0.0";
+       sha256 = "0rmrlx2g228p4ys95d4zqc0l56a62avsawq320g4n9i2g0hrl5n4";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring exceptions http-client
+         http-types lens opentracing opentracing-zipkin-common text
+       ];
+       description = "Zipkin V2 backend for OpenTracing";
+       license = lib.licenses.asl20;
+     }) {};
+
   "opentype" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, ghc
      , microlens, microlens-th, mtl, pretty-hex, time
@@ -196737,8 +196425,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.3.9";
-       sha256 = "1wl6jxpx181sx5w311c2h5kjpl5hjagbwfn68s6dbsbyp4p9sxjv";
+       version = "0.4.0";
+       sha256 = "0jy41qiqn6xj6ib20klv85jyr8vn633xqhxbx38zxs5dsq885laq";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -197566,8 +197254,6 @@ self: {
        testHaskellDepends = [ base data-diverse hspec transformers ];
        description = "Parameterized/indexed monoids and monads using only a single parameter type variable";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "parameterized-data" = callPackage
@@ -198835,10 +198521,8 @@ self: {
      }:
      mkDerivation {
        pname = "patch";
-       version = "0.0.3.2";
-       sha256 = "1b819d1iramxb0sf0zm4ry8mrd74y35iffbb6qys3a2xq1d382xa";
-       revision = "2";
-       editedCabalFile = "09v23qakrdjscwvzjarkssikkp7xmq9jbpp5hh1y857l02r3fz5c";
+       version = "0.0.4.0";
+       sha256 = "02hdhgk7wwcnq7aahbaqx5zzlha6mq6lj0mw57phj3ykmca0zggc";
        libraryHaskellDepends = [
          base constraints-extras containers dependent-map dependent-sum lens
          monoidal-containers semialign semigroupoids these transformers
@@ -200943,7 +200627,7 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_12_1_0" = callPackage
+  "persistent_2_12_1_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, bytestring, conduit, containers, criterion, deepseq
      , deepseq-generics, fast-logger, file-embed, hspec, http-api-data
@@ -200954,8 +200638,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.12.1.0";
-       sha256 = "06cqrvavjzp2iyvi69j6ga0pqy6265dwsg44h93k4qffhknlms1a";
+       version = "2.12.1.1";
+       sha256 = "00n463mvfnjpi7dz4i3lz379cf4gprsiv57j4jb7wh5a8xr2vfhz";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data monad-logger mtl
@@ -201403,19 +201087,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "persistent-postgresql_2_12_1_0" = callPackage
+  "persistent-postgresql_2_12_1_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , conduit, containers, fast-logger, hspec, hspec-expectations
-     , 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, 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
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.12.1.0";
-       sha256 = "18b4069x4jb7qxmrv0hck7r7v8192bkn4nmhl3wfidwn1vvsa9da";
+       version = "2.12.1.1";
+       sha256 = "1zyh40490r3vjr5qyr8hp2ih1pjqjwbmwm1ashdm1b1n9y5ary53";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201426,9 +201111,10 @@ self: {
        ];
        testHaskellDepends = [
          aeson base bytestring containers fast-logger hspec
-         hspec-expectations 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 HUnit monad-logger
+         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;
@@ -202569,6 +202255,17 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "phonetic-languages-phonetics-basics" = callPackage
+    ({ mkDerivation, base, mmsyn2-array, mmsyn5 }:
+     mkDerivation {
+       pname = "phonetic-languages-phonetics-basics";
+       version = "0.3.2.0";
+       sha256 = "0r4f69ky1y45h6fys1821z45ccg30h61yc68x16cf839awfri92l";
+       libraryHaskellDepends = [ base mmsyn2-array mmsyn5 ];
+       description = "A library for working with generalized phonetic languages usage";
+       license = lib.licenses.mit;
+     }) {};
+
   "phonetic-languages-plus" = callPackage
     ({ mkDerivation, base, bytestring, lists-flines, parallel
      , uniqueness-periods-vector-stats
@@ -202661,8 +202358,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.4.0.0";
-       sha256 = "03vin7gng1sqifyy0s83igmd41bxxwrp7ck9j7bxhnqq0qmg5d7n";
+       version = "0.4.1.0";
+       sha256 = "02z7c3ngcj4dz473j0ha05qh5wviiy4qp1mk3p4gidxrhkgbxhyc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -205041,6 +204738,28 @@ self: {
        broken = true;
      }) {};
 
+  "pkgtreediff_0_4_1" = callPackage
+    ({ mkDerivation, async, base, directory, extra, filepath, Glob
+     , http-client, http-client-tls, http-directory, koji, simple-cmd
+     , simple-cmd-args, text
+     }:
+     mkDerivation {
+       pname = "pkgtreediff";
+       version = "0.4.1";
+       sha256 = "0yj0wpwpryavy09264xh82kxi52gc5ipyrgwpxh3m9gv1264gip0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base text ];
+       executableHaskellDepends = [
+         async base directory extra filepath Glob http-client
+         http-client-tls http-directory koji simple-cmd simple-cmd-args text
+       ];
+       description = "Package tree diff tool";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "pktree" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -206907,8 +206626,9 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.3.1.1";
-       sha256 = "0xlhw9kf55fn26v068pxwajpl8dw7xcmrlkxk8ci55jans0blx9w";
+       version = "0.3.1.2";
+       sha256 = "1gzngz8mspq0n6hwhvqah8szjrhf65wigadrh3l863j2iswsxq2r";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers either hedgehog path path-io polysemy
          polysemy-plugin relude string-interpolate tasty tasty-hedgehog
@@ -212859,8 +212579,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto3-suite";
-       version = "0.4.0.2";
-       sha256 = "0mk1yhpq2q6jv7z3ipdq5dw5sij39y7lv5gaslzxkbvs2kan7d4m";
+       version = "0.4.1";
+       sha256 = "1zzw3kgxa875g0bpqi1zblw3q8h7lw53gcz4c8qjgkr2v1cr5nf3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -212915,6 +212635,31 @@ self: {
        broken = true;
      }) {};
 
+  "proto3-wire_1_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, deepseq
+     , doctest, ghc-prim, hashable, parameterized, primitive, QuickCheck
+     , safe, tasty, tasty-hunit, tasty-quickcheck, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "proto3-wire";
+       version = "1.2.1";
+       sha256 = "0i706y9j5iq5zyi86vkiybznp3b4h2x0flvq3jmr8mgpgahvh94r";
+       libraryHaskellDepends = [
+         base bytestring cereal containers deepseq ghc-prim hashable
+         parameterized primitive QuickCheck safe text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cereal doctest QuickCheck tasty tasty-hunit
+         tasty-quickcheck text transformers vector
+       ];
+       description = "A low-level implementation of the Protocol Buffers (version 3) wire format";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "protobuf" = callPackage
     ({ mkDerivation, base, base-orphans, bytestring, cereal, containers
      , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
@@ -214096,13 +213841,14 @@ self: {
      , ansi-terminal, ansi-wl-pprint, array, base, base-compat
      , blaze-html, bower-json, boxes, bytestring, Cabal, cborg
      , cheapskate, clock, containers, cryptonite, data-ordlist, deepseq
-     , directory, edit-distance, file-embed, filepath, fsnotify, gitrev
-     , Glob, happy, haskeline, hspec, hspec-discover, http-types, HUnit
-     , language-javascript, lifted-async, lifted-base, memory
-     , microlens-platform, monad-control, monad-logger, mtl, network
-     , optparse-applicative, parallel, parsec, pattern-arrows, process
-     , protolude, purescript-ast, purescript-cst, regex-base, regex-tdfa
-     , safe, semialign, semigroups, serialise, sourcemap, split, stm
+     , directory, dlist, edit-distance, exceptions, file-embed, filepath
+     , fsnotify, gitrev, Glob, happy, haskeline, hspec, hspec-discover
+     , http-types, HUnit, language-javascript, lifted-async, lifted-base
+     , memory, microlens, microlens-platform, monad-control
+     , monad-logger, mtl, network, optparse-applicative, parallel
+     , parsec, pattern-arrows, process, protolude, purescript-ast
+     , purescript-cst, regex-base, regex-tdfa, safe, scientific
+     , semialign, semigroups, serialise, sourcemap, split, stm
      , stringsearch, syb, tasty, tasty-golden, tasty-hspec
      , tasty-quickcheck, text, these, time, transformers
      , transformers-base, transformers-compat, unordered-containers
@@ -214110,34 +213856,36 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.14.0";
-       sha256 = "1bv68y91l6fyjidfp71djiv2lijn5d55j4szlg77yvsw164s6vk0";
+       version = "0.14.1";
+       sha256 = "0cqrasq0my2nsslpvy1mfhc2nqj2bfcilv8acd600bn9f6qgn4yv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal array base
          base-compat blaze-html bower-json boxes bytestring Cabal cborg
          cheapskate clock containers cryptonite data-ordlist deepseq
-         directory edit-distance file-embed filepath fsnotify Glob haskeline
-         language-javascript lifted-async lifted-base memory
-         microlens-platform monad-control monad-logger mtl parallel parsec
-         pattern-arrows process protolude purescript-ast purescript-cst
-         regex-tdfa safe semialign semigroups serialise sourcemap split stm
-         stringsearch syb text these time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector
+         directory dlist edit-distance file-embed filepath fsnotify Glob
+         haskeline language-javascript lifted-async lifted-base memory
+         microlens microlens-platform monad-control monad-logger mtl
+         parallel parsec pattern-arrows process protolude purescript-ast
+         purescript-cst regex-tdfa safe scientific semialign semigroups
+         serialise sourcemap split stm stringsearch syb text these time
+         transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector
        ];
        libraryToolDepends = [ happy ];
        executableHaskellDepends = [
          aeson aeson-better-errors aeson-pretty ansi-terminal ansi-wl-pprint
          array base base-compat blaze-html bower-json boxes bytestring Cabal
          cborg cheapskate clock containers cryptonite data-ordlist deepseq
-         directory edit-distance file-embed filepath fsnotify gitrev Glob
-         haskeline http-types language-javascript lifted-async lifted-base
-         memory microlens-platform monad-control monad-logger mtl network
-         optparse-applicative parallel parsec pattern-arrows process
-         protolude purescript-ast purescript-cst regex-tdfa safe semialign
-         semigroups serialise sourcemap split stm stringsearch syb text
-         these time transformers transformers-base transformers-compat
+         directory dlist edit-distance exceptions file-embed filepath
+         fsnotify gitrev Glob haskeline http-types language-javascript
+         lifted-async lifted-base memory microlens microlens-platform
+         monad-control monad-logger mtl network optparse-applicative
+         parallel parsec pattern-arrows process protolude purescript-ast
+         purescript-cst regex-tdfa safe scientific semialign semigroups
+         serialise sourcemap split stm stringsearch syb text these time
+         transformers transformers-base transformers-compat
          unordered-containers utf8-string vector wai wai-websockets warp
          websockets
        ];
@@ -214146,15 +213894,15 @@ self: {
          aeson aeson-better-errors aeson-pretty ansi-terminal array base
          base-compat blaze-html bower-json boxes bytestring Cabal cborg
          cheapskate clock containers cryptonite data-ordlist deepseq
-         directory edit-distance file-embed filepath fsnotify Glob haskeline
-         hspec hspec-discover HUnit language-javascript lifted-async
-         lifted-base memory microlens-platform monad-control monad-logger
-         mtl parallel parsec pattern-arrows process protolude purescript-ast
-         purescript-cst regex-base regex-tdfa safe semialign semigroups
-         serialise sourcemap split stm stringsearch syb tasty tasty-golden
-         tasty-hspec tasty-quickcheck text these time transformers
-         transformers-base transformers-compat unordered-containers
-         utf8-string vector
+         directory dlist edit-distance file-embed filepath fsnotify Glob
+         haskeline hspec HUnit language-javascript lifted-async lifted-base
+         memory microlens microlens-platform monad-control monad-logger mtl
+         parallel parsec pattern-arrows process protolude purescript-ast
+         purescript-cst regex-base regex-tdfa safe scientific semialign
+         semigroups serialise sourcemap split stm stringsearch syb tasty
+         tasty-golden tasty-hspec tasty-quickcheck text these time
+         transformers transformers-base transformers-compat
+         unordered-containers utf8-string vector
        ];
        testToolDepends = [ happy hspec-discover ];
        doCheck = false;
@@ -214171,8 +213919,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript-ast";
-       version = "0.1.0.0";
-       sha256 = "1zwwbdkc5mb3ckc2g15b18j9vp9bksyc1nrlg73w7w0fzqwnqb4g";
+       version = "0.1.1.0";
+       sha256 = "12zkkbpv1xxvx4d3rybng1kxvw6z5gjr45mfy9bpkmb3jqzl1xd2";
        libraryHaskellDepends = [
          aeson base base-compat bytestring containers deepseq filepath
          microlens mtl protolude scientific serialise text vector
@@ -214227,8 +213975,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript-cst";
-       version = "0.1.0.0";
-       sha256 = "1h4na5k0lz91i1f49axsgs7zqz6dqdxds5dg0g00wd4wmyd619cc";
+       version = "0.1.1.0";
+       sha256 = "05jqf9c0pakbjvr2zvybaxg9rfi87dadsx4srjlrw294r2sz969r";
        libraryHaskellDepends = [
          array base containers dlist purescript-ast scientific semigroups
          text
@@ -215790,29 +215538,6 @@ self: {
      }) {};
 
   "quickcheck-classes" = callPackage
-    ({ mkDerivation, aeson, base, base-orphans, bifunctors, containers
-     , contravariant, fail, primitive, primitive-addr, QuickCheck
-     , quickcheck-classes-base, semigroupoids, semigroups, semirings
-     , tagged, tasty, tasty-quickcheck, transformers, vector
-     }:
-     mkDerivation {
-       pname = "quickcheck-classes";
-       version = "0.6.4.0";
-       sha256 = "0qcxmkf9ig6jnfpd5slx2imzwmvvyqgvlif2940yzwam63m6anwg";
-       libraryHaskellDepends = [
-         aeson base base-orphans bifunctors containers contravariant fail
-         primitive primitive-addr QuickCheck quickcheck-classes-base
-         semigroupoids semigroups semirings tagged transformers vector
-       ];
-       testHaskellDepends = [
-         aeson base base-orphans containers primitive QuickCheck
-         semigroupoids tagged tasty tasty-quickcheck transformers vector
-       ];
-       description = "QuickCheck common typeclasses";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-classes_0_6_5_0" = callPackage
     ({ mkDerivation, aeson, base, base-orphans, containers, primitive
      , primitive-addr, QuickCheck, quickcheck-classes-base
      , semigroupoids, semirings, tagged, tasty, tasty-quickcheck
@@ -215832,26 +215557,9 @@ self: {
        ];
        description = "QuickCheck common typeclasses";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickcheck-classes-base" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, containers
-     , contravariant, fail, QuickCheck, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "quickcheck-classes-base";
-       version = "0.6.1.0";
-       sha256 = "0yzljsy74njmbav90hgraxhjx0l86zggakfw0j3k7maz9376jvax";
-       libraryHaskellDepends = [
-         base base-orphans bifunctors containers contravariant fail
-         QuickCheck tagged transformers
-       ];
-       description = "QuickCheck common typeclasses from `base`";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "quickcheck-classes-base_0_6_2_0" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, transformers }:
      mkDerivation {
        pname = "quickcheck-classes-base";
@@ -215862,7 +215570,6 @@ self: {
        ];
        description = "QuickCheck common typeclasses from `base`";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickcheck-combinators" = callPackage
@@ -220028,24 +219735,6 @@ self: {
      }:
      mkDerivation {
        pname = "records-sop";
-       version = "0.1.0.3";
-       sha256 = "120kb6z4si5wqkahbqxqhm3qb8xpc9ivwg293ymz8a4ri1hdr0a5";
-       revision = "1";
-       editedCabalFile = "0492a3cabdl5ccncc7lk7bvh55in4hzm345fl3xpidp9jx6mv1x4";
-       libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ];
-       testHaskellDepends = [
-         base deepseq generics-sop hspec should-not-typecheck
-       ];
-       description = "Record subtyping and record utilities with generics-sop";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "records-sop_0_1_1_0" = callPackage
-    ({ mkDerivation, base, deepseq, generics-sop, ghc-prim, hspec
-     , should-not-typecheck
-     }:
-     mkDerivation {
-       pname = "records-sop";
        version = "0.1.1.0";
        sha256 = "01h6brqrpk5yhddi0cx2a9cv2dvri81xzx5ny616nfgy4fn9pfdl";
        libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ];
@@ -220054,7 +219743,6 @@ self: {
        ];
        description = "Record subtyping and record utilities with generics-sop";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "records-th" = callPackage
@@ -222139,6 +221827,8 @@ self: {
        pname = "regex-tdfa-rc";
        version = "1.1.8.3";
        sha256 = "1vi11i23gkkjg6193ak90g55akj69bhahy542frkwb68haky4pp3";
+       revision = "2";
+       editedCabalFile = "04w0jdavczf8gilx6cr1cgpqydvrmiksrzc8j30ijwn9hsa149mh";
        libraryHaskellDepends = [
          array base bytestring containers ghc-prim mtl parsec regex-base
        ];
@@ -222481,35 +222171,6 @@ self: {
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.2.0.2";
-       sha256 = "1lq8r382xm1m5b7i0jfjaj3f1jr98rdvjpn0h77i4i0i1wy529c1";
-       libraryHaskellDepends = [
-         base containers exceptions hashable mmorph mtl protolude resourcet
-         semigroupoids semigroups template-haskell text transformers-base
-       ];
-       testHaskellDepends = [
-         async base bytestring containers directory exceptions generic-lens
-         hashable hedgehog io-memoize mmorph MonadRandom mtl multimap
-         protolude random resourcet semigroupoids semigroups tasty
-         tasty-discover tasty-hedgehog tasty-th template-haskell text
-         transformers-base universum
-       ];
-       testToolDepends = [ tasty-discover ];
-       description = "data structure for assembling components";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "registry_0_2_0_3" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, directory
-     , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph
-     , MonadRandom, mtl, multimap, protolude, random, resourcet
-     , semigroupoids, semigroups, tasty, tasty-discover, tasty-hedgehog
-     , tasty-th, template-haskell, text, transformers-base, universum
-     }:
-     mkDerivation {
-       pname = "registry";
        version = "0.2.0.3";
        sha256 = "1fhqcpbvz16yj93mhf7lx40i8a00mizj51m3nyazg785xhil9xbs";
        libraryHaskellDepends = [
@@ -224067,6 +223728,21 @@ self: {
        broken = true;
      }) {};
 
+  "request" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, http-client
+     , http-client-tls, http-types
+     }:
+     mkDerivation {
+       pname = "request";
+       version = "0.1.3.0";
+       sha256 = "07ypsdmf227m6j8gkl29621z7grbsgr0pmk3dglx9zlrmq0zbn8j";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive http-client http-client-tls
+         http-types
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "request-monad" = callPackage
     ({ mkDerivation, base, free, mtl, transformers }:
      mkDerivation {
@@ -228692,6 +228368,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "safe-numeric" = callPackage
+    ({ mkDerivation, base, containers, doctest, safe, wide-word }:
+     mkDerivation {
+       pname = "safe-numeric";
+       version = "0.1";
+       sha256 = "11y9p20cgfsg676a8jm5w7z2qc2y3hznwhniw054qcdnnf7dalwi";
+       libraryHaskellDepends = [ base safe wide-word ];
+       testHaskellDepends = [ base containers doctest ];
+       description = "Safe arithmetic operations";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "safe-plugins" = callPackage
     ({ mkDerivation, base, directory, filepath, haskell-src-exts
      , plugins, Unixutils
@@ -228753,29 +228443,6 @@ self: {
      }:
      mkDerivation {
        pname = "safecopy";
-       version = "0.10.4.1";
-       sha256 = "1p8kbf9js67zl2wr6y0605acy54xlpsih1zqkdy21cywz1kannbp";
-       libraryHaskellDepends = [
-         array base bytestring cereal containers generic-data old-time
-         template-haskell text time transformers vector
-       ];
-       testHaskellDepends = [
-         array base bytestring cereal containers HUnit lens lens-action
-         QuickCheck quickcheck-instances tasty tasty-quickcheck
-         template-haskell time vector
-       ];
-       description = "Binary serialization with version control";
-       license = lib.licenses.publicDomain;
-     }) {};
-
-  "safecopy_0_10_4_2" = callPackage
-    ({ mkDerivation, array, base, bytestring, cereal, containers
-     , generic-data, HUnit, lens, lens-action, old-time, QuickCheck
-     , quickcheck-instances, tasty, tasty-quickcheck, template-haskell
-     , text, time, transformers, vector
-     }:
-     mkDerivation {
-       pname = "safecopy";
        version = "0.10.4.2";
        sha256 = "0r2mf0p82gf8vnldx477b5ykrj1x7hyg13nqfn6gzb50japs6h3i";
        libraryHaskellDepends = [
@@ -228789,7 +228456,6 @@ self: {
        ];
        description = "Binary serialization with version control";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safecopy-migrate" = callPackage
@@ -230321,17 +229987,18 @@ self: {
      }) {};
 
   "scenegraph" = callPackage
-    ({ mkDerivation, array, base, containers, fgl, GLUT, haskell98
-     , hmatrix, mtl, old-time, OpenGL, process
+    ({ mkDerivation, base, data-default, fgl, graphviz, hspec
+     , hspec-discover, lens, linear, mtl, QuickCheck, text
      }:
      mkDerivation {
        pname = "scenegraph";
-       version = "0.1.0.2";
-       sha256 = "1l946h6sggg2n8ldx34v2sx4dyjqxd7i34wrsllz88iiy4qd90yw";
+       version = "0.2.0.0";
+       sha256 = "0nwaf1wpr8pqwwkxx0zpbkmvn4ww6v3xcv5w7krk02f985ajaq50";
        libraryHaskellDepends = [
-         array base containers fgl GLUT haskell98 hmatrix mtl old-time
-         OpenGL process
+         base data-default fgl graphviz lens linear mtl text
        ];
+       testHaskellDepends = [ base hspec lens linear QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        description = "Scene Graph";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -234470,8 +234137,6 @@ self: {
        ];
        description = "generate API docs for your servant webservice";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-docs-simple" = callPackage
@@ -234598,6 +234263,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "servant-event-stream" = callPackage
+    ({ mkDerivation, base, binary, http-media, lens, pipes
+     , servant-foreign, servant-js, servant-pipes, servant-server, text
+     , wai-extra
+     }:
+     mkDerivation {
+       pname = "servant-event-stream";
+       version = "0.2.1.0";
+       sha256 = "1bs4gjw7xaai5hxcv0dy7fmvx26ysmcqnaly5vriwkz45k1rhlj9";
+       revision = "2";
+       editedCabalFile = "1s6si9php8im45yh0r9slgw7sz8c0jk2i4c93a5qbjr0mzz9k2va";
+       libraryHaskellDepends = [
+         base binary http-media lens pipes servant-foreign servant-js
+         servant-pipes servant-server text wai-extra
+       ];
+       testHaskellDepends = [ base ];
+       description = "Servant support for Server-Sent events";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "servant-examples" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, either
      , http-types, js-jquery, lucid, random, servant, servant-client
@@ -235225,8 +234912,38 @@ self: {
        pname = "servant-openapi3";
        version = "2.0.1.1";
        sha256 = "1cyzyljmdfr3gigdszcpj1i7l698fnxpc9hr83mzspm6qcmbqmgf";
-       revision = "1";
-       editedCabalFile = "0j2b3zv5qk5xfi17jwwn456pqpf27aqgy6fmbyqvn8df83rcij5j";
+       revision = "2";
+       editedCabalFile = "0y214pgkfkysvdll15inf44psyqj7dmzcwp2vjynwdlywy2j0y16";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat bytestring hspec http-media
+         insert-ordered-containers lens openapi3 QuickCheck servant
+         singleton-bool text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat directory doctest filepath hspec lens
+         lens-aeson openapi3 QuickCheck servant template-haskell text time
+         utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API.";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "servant-openapi3_2_0_1_2" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
+     , Cabal, cabal-doctest, directory, doctest, filepath, hspec
+     , hspec-discover, http-media, insert-ordered-containers, lens
+     , lens-aeson, openapi3, QuickCheck, servant, singleton-bool
+     , template-haskell, text, time, unordered-containers, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "servant-openapi3";
+       version = "2.0.1.2";
+       sha256 = "1lqvycbv49x0i3adbsdlcl49n65wxfjzhiz9pj11hg4k0j952q5p";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -236064,6 +235781,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui_0_3_5_3_47_1" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, text
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui";
+       version = "0.3.5.3.47.1";
+       sha256 = "00bmkj87rnd9zmg54h3z8k9zgs5d17lcdn9gp006xixa6g494cms";
+       libraryHaskellDepends = [
+         aeson base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core text
+       ];
+       description = "Servant swagger ui";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-core" = callPackage
     ({ mkDerivation, base, blaze-markup, bytestring, http-media
      , servant, servant-blaze, servant-server, swagger2, text
@@ -236082,37 +235816,51 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui-core_0_3_5" = callPackage
+    ({ mkDerivation, aeson, base, blaze-markup, bytestring, http-media
+     , servant, servant-blaze, servant-server, text, transformers
+     , transformers-compat, wai-app-static
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-core";
+       version = "0.3.5";
+       sha256 = "0ckvrwrb3x39hfl2hixcj3fhibh0vqsh6y7n1lsm25yvzfrg02zd";
+       libraryHaskellDepends = [
+         aeson base blaze-markup bytestring http-media servant servant-blaze
+         servant-server text transformers transformers-compat wai-app-static
+       ];
+       description = "Servant swagger ui core components";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-jensoleg" = callPackage
-    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
-     , servant-server, servant-swagger-ui-core, swagger2, text
+    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, text
      }:
      mkDerivation {
        pname = "servant-swagger-ui-jensoleg";
-       version = "0.3.3";
-       sha256 = "02zwymqxq54xwc8wmzhbcfgx9plvk0n4kp1907sbl98mhh2frwrw";
-       revision = "4";
-       editedCabalFile = "19h7n1g847ly7addv03vzy5915n48xa0y7l88dzamy6ly1jrmdg2";
+       version = "0.3.4";
+       sha256 = "04s4syfmnjwa52xqm29x2sfi1ka6p7fpjff0pxry099rh0d59hkm";
        libraryHaskellDepends = [
-         base bytestring file-embed-lzma servant servant-server
-         servant-swagger-ui-core swagger2 text
+         aeson base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core text
        ];
        description = "Servant swagger ui: Jens-Ole Graulund theme";
        license = lib.licenses.bsd3;
      }) {};
 
   "servant-swagger-ui-redoc" = callPackage
-    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
-     , servant-server, servant-swagger-ui-core, swagger2, text
+    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, text
      }:
      mkDerivation {
        pname = "servant-swagger-ui-redoc";
-       version = "0.3.3.1.22.3";
-       sha256 = "0bzkrh1hf29vfa1r1sgifb9j2zcg6i43fal4abbx4lcqvf155pzv";
-       revision = "3";
-       editedCabalFile = "1csz8gzmrrjbjvr6kx4vmyp419i5vbzk84a01vh5zr6ncrpx5nf3";
+       version = "0.3.4.1.22.3";
+       sha256 = "0ln2sz7ffhddk4dqvczpxb5g8f6bic7sandn5zifpz2jg7lgzy0f";
        libraryHaskellDepends = [
-         base bytestring file-embed-lzma servant servant-server
-         servant-swagger-ui-core swagger2 text
+         aeson base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core text
        ];
        description = "Servant swagger ui: ReDoc theme";
        license = lib.licenses.bsd3;
@@ -245873,21 +245621,6 @@ self: {
     ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
      mkDerivation {
        pname = "speculate";
-       version = "0.4.2";
-       sha256 = "01ahb1g7f19qxf8lz9afxbf2inywrsqkawx784gx3af1wlzj61d9";
-       libraryHaskellDepends = [
-         base cmdargs containers express leancheck
-       ];
-       testHaskellDepends = [ base express leancheck ];
-       benchmarkHaskellDepends = [ base express leancheck ];
-       description = "discovery of properties about Haskell functions";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "speculate_0_4_4" = callPackage
-    ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
-     mkDerivation {
-       pname = "speculate";
        version = "0.4.4";
        sha256 = "0vmxi8rapbld7b3llw2v6fz1v6vqyv90rpbnzjdfa29kdza4m5sf";
        libraryHaskellDepends = [
@@ -245897,7 +245630,6 @@ self: {
        benchmarkHaskellDepends = [ base express leancheck ];
        description = "discovery of properties about Haskell functions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "speculation" = callPackage
@@ -247184,6 +246916,8 @@ self: {
        pname = "ssh-known-hosts";
        version = "0.2.0.0";
        sha256 = "1zhhqam6y5ckh6i145mr0irm17dmlam2k730rpqiyw4mwgmcp4qa";
+       revision = "1";
+       editedCabalFile = "09158vd54ybigqxqcimfnmmv256p4ypazwfly7a5q2pxqgzs6nj0";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -250146,6 +249880,55 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "store_0_7_11" = callPackage
+    ({ mkDerivation, array, async, base, base-orphans
+     , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
+     , clock, containers, contravariant, criterion, cryptohash, deepseq
+     , directory, filepath, free, ghc-prim, hashable, hspec
+     , hspec-smallcheck, integer-gmp, lifted-base, monad-control
+     , mono-traversable, nats, network, primitive, resourcet, safe
+     , smallcheck, store-core, syb, template-haskell, text, th-lift
+     , th-lift-instances, th-orphans, th-reify-many, th-utilities, time
+     , transformers, unordered-containers, vector
+     , vector-binary-instances, void, weigh
+     }:
+     mkDerivation {
+       pname = "store";
+       version = "0.7.11";
+       sha256 = "03i9gd18xqbfmj5kmiv4k4sw44gn6mn4faj71r2723abm3qwklwr";
+       libraryHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring containers contravariant cryptohash deepseq directory
+         filepath free ghc-prim hashable hspec hspec-smallcheck integer-gmp
+         lifted-base monad-control mono-traversable nats network primitive
+         resourcet safe smallcheck store-core syb template-haskell text
+         th-lift th-lift-instances th-orphans th-reify-many th-utilities
+         time transformers unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring clock containers contravariant cryptohash deepseq
+         directory filepath free ghc-prim hashable hspec hspec-smallcheck
+         integer-gmp lifted-base monad-control mono-traversable nats network
+         primitive resourcet safe smallcheck store-core syb template-haskell
+         text th-lift th-lift-instances th-orphans th-reify-many
+         th-utilities time transformers unordered-containers vector void
+       ];
+       benchmarkHaskellDepends = [
+         array async base base-orphans base64-bytestring bifunctors
+         bytestring cereal cereal-vector containers contravariant criterion
+         cryptohash deepseq directory filepath free ghc-prim hashable hspec
+         hspec-smallcheck integer-gmp lifted-base monad-control
+         mono-traversable nats network primitive resourcet safe smallcheck
+         store-core syb template-haskell text th-lift th-lift-instances
+         th-orphans th-reify-many th-utilities time transformers
+         unordered-containers vector vector-binary-instances void weigh
+       ];
+       description = "Fast binary serialization";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "store-core" = callPackage
     ({ mkDerivation, base, bytestring, ghc-prim, primitive, text
      , transformers
@@ -251304,6 +251087,60 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "strict-containers" = callPackage
+    ({ mkDerivation, array, base, base-orphans, binary, ChasingBottoms
+     , containers, deepseq, hashable, HUnit, indexed-traversable
+     , primitive, QuickCheck, random, strict, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , unordered-containers, vector, vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "strict-containers";
+       version = "0.1";
+       sha256 = "0rb5mhz1f1g79c7c85q6pnars7qs3qzyl2gsc48p9sd2739q5nzs";
+       libraryHaskellDepends = [
+         array base binary containers deepseq hashable indexed-traversable
+         primitive strict unordered-containers vector
+         vector-binary-instances
+       ];
+       testHaskellDepends = [
+         array base base-orphans ChasingBottoms containers deepseq hashable
+         HUnit primitive QuickCheck random tasty tasty-hunit
+         tasty-quickcheck template-haskell test-framework
+         test-framework-hunit test-framework-quickcheck2 transformers
+         unordered-containers vector
+       ];
+       description = "Strict containers";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "strict-containers-lens" = callPackage
+    ({ mkDerivation, base, hashable, lens, strict-containers }:
+     mkDerivation {
+       pname = "strict-containers-lens";
+       version = "0.1";
+       sha256 = "0162vqkwm9z1pyizvs76fbraw6z43w8j1k7ag25l9lv67gydl4c1";
+       libraryHaskellDepends = [ base hashable lens strict-containers ];
+       description = "Strict containers - Lens instances";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "strict-containers-serialise" = callPackage
+    ({ mkDerivation, base, cborg, hashable, serialise
+     , strict-containers
+     }:
+     mkDerivation {
+       pname = "strict-containers-serialise";
+       version = "0.1";
+       sha256 = "17hsb90awsrgp83nkzjyr51wz7z5v4fii862arqfjkjqm6scb4d3";
+       libraryHaskellDepends = [
+         base cborg hashable serialise strict-containers
+       ];
+       description = "Strict containers - Serialise instances";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "strict-data" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, doctest
      , exceptions, fail, hashable, HTF, monad-control, mtl, pretty
@@ -254057,8 +253894,8 @@ self: {
      }:
      mkDerivation {
        pname = "sws";
-       version = "0.5.0.0";
-       sha256 = "04x8jvac8aaifsyll63gwjg2j6y2ap24a92k2dxn8mdbx2i3zjyq";
+       version = "0.5.0.1";
+       sha256 = "1xgyv7mwrf9imx1ja2vwdhj6rv59pz50sf9ijlp5pjckqpacm40p";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -256130,6 +255967,8 @@ self: {
        pname = "tagged";
        version = "0.8.6.1";
        sha256 = "00kcc6lmj7v3xm2r3wzw5jja27m4alcw1wi8yiismd0bbzwzrq7m";
+       revision = "1";
+       editedCabalFile = "1rzqfw2pafxbnfpl1lizf9zldpxyy28g92x4jzq49miw9hr1xpsx";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -257186,6 +257025,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-checklist" = callPackage
+    ({ mkDerivation, base, exceptions, parameterized-utils, tasty
+     , tasty-expected-failure, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "tasty-checklist";
+       version = "1.0.0.0";
+       sha256 = "1ahy4nmkbqpfw38ny6w85q5whsidk3xyy8m6v6ndik2i8jjh8qr4";
+       libraryHaskellDepends = [
+         base exceptions parameterized-utils text
+       ];
+       testHaskellDepends = [
+         base parameterized-utils tasty tasty-expected-failure tasty-hunit
+         text
+       ];
+       description = "Check multiple items during a tasty test";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "tasty-dejafu" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
@@ -257769,20 +257629,21 @@ self: {
 
   "tasty-sugar" = callPackage
     ({ mkDerivation, base, directory, filemanip, filepath, hedgehog
-     , logict, optparse-applicative, pretty-show, prettyprinter
-     , raw-strings-qq, tagged, tasty, tasty-hedgehog, tasty-hunit
+     , kvitable, logict, microlens, optparse-applicative, pretty-show
+     , prettyprinter, raw-strings-qq, tagged, tasty, tasty-hedgehog
+     , tasty-hunit, text
      }:
      mkDerivation {
        pname = "tasty-sugar";
-       version = "1.1.0.0";
-       sha256 = "1v1ikl4jy02c0jlvm4di8ndm7fbyr8235ydppp953d7qb8yilsyp";
+       version = "1.1.1.0";
+       sha256 = "1x06s47k2rw7a78djzf0i2zxplbazah5c5mjmnmd9nr5yafw0fqv";
        libraryHaskellDepends = [
-         base directory filemanip filepath logict optparse-applicative
-         prettyprinter tagged tasty
+         base directory filemanip filepath kvitable logict microlens
+         optparse-applicative prettyprinter tagged tasty text
        ];
        testHaskellDepends = [
          base filepath hedgehog logict pretty-show prettyprinter
-         raw-strings-qq tasty tasty-hedgehog tasty-hunit
+         raw-strings-qq tasty tasty-hedgehog tasty-hunit text
        ];
        doHaddock = false;
        description = "Tests defined by Search Using Golden Answer References";
@@ -260021,8 +259882,8 @@ self: {
      }:
      mkDerivation {
        pname = "test-lib";
-       version = "0.2.2";
-       sha256 = "0bxrh7j10fadarg1kyrf8f0nmrmdfrgivxvv51xl9ykksrswhx2z";
+       version = "0.3";
+       sha256 = "15b3gsy03z3hqc0d2b7hjk3l79ykkcdhb5mrz453p8s4bgd8l6av";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -260546,6 +260407,8 @@ self: {
        pname = "text-ansi";
        version = "0.1.1";
        sha256 = "1vcrsg7v8n6znh1pd9kbm20bc6dg3zijd3xjdjljadf15vfkd5f6";
+       revision = "1";
+       editedCabalFile = "09s363h3lw4p8f73m7vw0d1cqnwmap9ndrfxd4qbzbra5xf58q38";
        libraryHaskellDepends = [ base text ];
        description = "Text styling for ANSI terminals";
        license = lib.licenses.bsd3;
@@ -261066,22 +260929,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-regex-replace";
-       version = "0.1.1.3";
-       sha256 = "0i0ifjxd24kfiljk3l0slxc8345d0rdb92ixxdzn04brs2fs5h53";
-       libraryHaskellDepends = [ attoparsec base text text-icu ];
-       testHaskellDepends = [
-         base hspec QuickCheck smallcheck text text-icu
-       ];
-       description = "Easy replacement when using text-icu regexes";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "text-regex-replace_0_1_1_4" = callPackage
-    ({ mkDerivation, attoparsec, base, hspec, QuickCheck, smallcheck
-     , text, text-icu
-     }:
-     mkDerivation {
-       pname = "text-regex-replace";
        version = "0.1.1.4";
        sha256 = "19n7zwnrm4da8ifhwlqwrx969pni0njj5f69j30gp71fi9ihjgsb";
        libraryHaskellDepends = [ attoparsec base text text-icu ];
@@ -261090,7 +260937,6 @@ self: {
        ];
        description = "Easy replacement when using text-icu regexes";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-region" = callPackage
@@ -262220,29 +262066,6 @@ self: {
      }:
      mkDerivation {
        pname = "th-utilities";
-       version = "0.2.4.2";
-       sha256 = "09rbs878gjhyg8n789p2c67lzxr4h1pg0zar47a7j8sg6ff5wcx2";
-       revision = "1";
-       editedCabalFile = "177hbrwcyalm6gbqq96b5xz974bxzch9g2mvffvksi1205z6v7dr";
-       libraryHaskellDepends = [
-         base bytestring containers directory filepath primitive syb
-         template-haskell text th-abstraction th-orphans
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory filepath hspec primitive syb
-         template-haskell text th-abstraction th-orphans vector
-       ];
-       description = "Collection of useful functions for use with Template Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "th-utilities_0_2_4_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , hspec, primitive, syb, template-haskell, text, th-abstraction
-     , th-orphans, vector
-     }:
-     mkDerivation {
-       pname = "th-utilities";
        version = "0.2.4.3";
        sha256 = "1krvn3xp7zicp6wqcgmgbgl2a894n677vxi6vhcna16cx03smic9";
        libraryHaskellDepends = [
@@ -262255,7 +262078,6 @@ self: {
        ];
        description = "Collection of useful functions for use with Template Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "thank-you-stars" = callPackage
@@ -263154,16 +262976,16 @@ self: {
   "tidal" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, network, parsec
-     , primitive, random, text, transformers, vector, weigh
+     , primitive, random, text, transformers, weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7.2";
-       sha256 = "15shxaazxik1bawgak16xhlvk708kv9al6i3518b3m3iap9sbw9p";
+       version = "1.7.3";
+       sha256 = "0z0brlicisn7xpwag20vdrq6ympczxcyd886pm6am5phmifkmfif";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
-         network parsec primitive random text transformers vector
+         network parsec primitive random text transformers
        ];
        testHaskellDepends = [
          base containers deepseq hosc microspec parsec
@@ -263173,15 +262995,15 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
-  "tidal_1_7_3" = callPackage
+  "tidal_1_7_4" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, clock, colour
      , containers, criterion, deepseq, hosc, microspec, network, parsec
      , primitive, random, text, transformers, weigh
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.7.3";
-       sha256 = "0z0brlicisn7xpwag20vdrq6ympczxcyd886pm6am5phmifkmfif";
+       version = "1.7.4";
+       sha256 = "080zncw6gp0dzwm9vd82c789v1x00nfzz8r1ldb4hl67v04jf8hi";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -264023,6 +263845,8 @@ self: {
        pname = "timer-wheel";
        version = "0.3.0";
        sha256 = "16v663mcsj0h17x4jriq50dps3m3f8wqcsm19kl48vrs7f4mp07s";
+       revision = "1";
+       editedCabalFile = "03wprm88wl6smfcq6dfr62l4igi8lfg6wkk65rsmyzxxkjzhc6f1";
        libraryHaskellDepends = [ atomic-primops base psqueues vector ];
        testHaskellDepends = [ base ];
        description = "A timer wheel";
@@ -272011,6 +271835,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "unicode-collation" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-lexing
+     , containers, filepath, parsec, QuickCheck, quickcheck-instances
+     , tasty, tasty-bench, tasty-hunit, template-haskell, text, text-icu
+     , th-lift-instances, unicode-transforms
+     }:
+     mkDerivation {
+       pname = "unicode-collation";
+       version = "0.1.2";
+       sha256 = "1q77rd3d2c1r5d35f0z1mhismc3rf8bg1dwfg32wvdd9hpszc52v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring bytestring-lexing containers filepath parsec
+         template-haskell text th-lift-instances unicode-transforms
+       ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit text ];
+       benchmarkHaskellDepends = [
+         base QuickCheck quickcheck-instances tasty-bench text text-icu
+       ];
+       description = "Haskell implementation of the Unicode Collation Algorithm";
+       license = lib.licenses.bsd2;
+     }) {};
+
   "unicode-general-category" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , file-embed, hspec, QuickCheck, text
@@ -272116,6 +271964,8 @@ self: {
        pname = "unicode-transforms";
        version = "0.3.7.1";
        sha256 = "1010sahi4mjzqmxqlj3w73rlymbl2370x5vizjqbx7mb86kxzx4f";
+       revision = "1";
+       editedCabalFile = "01kf1hanqcwc7vpkwq2rw5v2mn4nxx58l3v5hpk166jalmwqijaz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ghc-prim text ];
@@ -273142,6 +272992,19 @@ self: {
        license = "GPL";
      }) {};
 
+  "unlift" = callPackage
+    ({ mkDerivation, base, stm, transformers, transformers-base }:
+     mkDerivation {
+       pname = "unlift";
+       version = "0.0.0.0";
+       sha256 = "0xqn4252ncygmapfciwf6g2nzbavp8dmh4vds985nc0lq78wi7nj";
+       libraryHaskellDepends = [
+         base stm transformers transformers-base
+       ];
+       description = "Typeclass for monads that can be unlifted to arbitrary base monads";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "unlift-stm" = callPackage
     ({ mkDerivation, base, stm, transformers, unliftio, unliftio-core
      }:
@@ -276329,24 +276192,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector";
-       version = "0.12.2.0";
-       sha256 = "0l3bs8zvw1da9gzqkmavj9vrcxv8hdv9zfw1yqzk6nbqr220paqp";
-       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
-       testHaskellDepends = [
-         base base-orphans HUnit primitive QuickCheck random tasty
-         tasty-hunit tasty-quickcheck template-haskell transformers
-       ];
-       description = "Efficient Arrays";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "vector_0_12_3_0" = callPackage
-    ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
-     , primitive, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, transformers
-     }:
-     mkDerivation {
-       pname = "vector";
        version = "0.12.3.0";
        sha256 = "00xp86yad3yv4ja4q07gkmmcf7iwpcnzkkaf91zkx9nxb981iy0m";
        libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
@@ -276356,7 +276201,6 @@ self: {
        ];
        description = "Efficient Arrays";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-algorithms" = callPackage
@@ -276390,25 +276234,6 @@ self: {
      }) {};
 
   "vector-binary-instances" = callPackage
-    ({ mkDerivation, base, binary, bytestring, deepseq, gauge, tasty
-     , tasty-quickcheck, vector
-     }:
-     mkDerivation {
-       pname = "vector-binary-instances";
-       version = "0.2.5.1";
-       sha256 = "04n5cqm1v95pw1bp68l9drjkxqiy2vswxdq0fy1rqcgxisgvji9r";
-       revision = "2";
-       editedCabalFile = "0ia9i7q7jrk3ab3nq2368glr69vl6fwvh42zlwvdmxn4xd861qfx";
-       libraryHaskellDepends = [ base binary vector ];
-       testHaskellDepends = [ base binary tasty tasty-quickcheck vector ];
-       benchmarkHaskellDepends = [
-         base binary bytestring deepseq gauge vector
-       ];
-       description = "Instances of Data.Binary for vector";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "vector-binary-instances_0_2_5_2" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, tasty
      , tasty-bench, tasty-quickcheck, vector
      }:
@@ -276423,7 +276248,6 @@ self: {
        ];
        description = "Instances of Data.Binary for vector";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-buffer" = callPackage
@@ -280196,8 +280020,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-session-redis";
-       version = "0.1.0.0";
-       sha256 = "12l2r85xq8ryv6y660c20yfxa19n3rvkilmkb74bj1ch7jmm8d6n";
+       version = "0.1.0.1";
+       sha256 = "14n5996y8fpq19jfn5ahfliq4gk2ydi5l8zcq8agqqpg875hzzcw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -281058,8 +280882,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-inv-route";
-       version = "0.1.2.3";
-       sha256 = "1xk6f3z7pcn5bmr2259yvv9l9wbfyycb7990dffz4b802ahxf1xv";
+       version = "0.1.3.1";
+       sha256 = "1l10rgrhcqld8znw6akxjlsm1h8z76l9yxa4yik11lk2l0g9anb2";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers happstack-server
          hashable http-types invertible network-uri snap-core text
@@ -282664,6 +282488,19 @@ self: {
        broken = true;
      }) {};
 
+  "wide-word-instances" = callPackage
+    ({ mkDerivation, base, binary, serialise, wide-word }:
+     mkDerivation {
+       pname = "wide-word-instances";
+       version = "0.1";
+       sha256 = "0v4isbpq1b76j755dh412zdgm6njgk6n86kzxd8q5idknk38cj4b";
+       libraryHaskellDepends = [ base binary serialise wide-word ];
+       description = "Instances for wide-word";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "wigner-symbols" = callPackage
     ({ mkDerivation, base, bytestring, criterion, cryptonite, primitive
      , random, vector
@@ -282810,6 +282647,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "willow" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, filepath, hashable
+     , hedgehog, hedgehog-classes, HUnit, mtl, text, transformers
+     , unordered-containers, utility-ht, vector
+     }:
+     mkDerivation {
+       pname = "willow";
+       version = "0.1.0.0";
+       sha256 = "1p47k0dsri76z6vpg59la3jm0smvmbh3qz0i0k0kz8ilc2sa65kn";
+       revision = "1";
+       editedCabalFile = "0lybbskp6y4679qqbmz02w173mvhfry3gzj9cgfvq6dqccmfdndl";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base bytestring filepath hashable mtl text transformers
+         unordered-containers utility-ht vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring filepath hedgehog hedgehog-classes HUnit text
+         transformers unordered-containers
+       ];
+       description = "An implementation of the web Document Object Model, and its rendering";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "wilton-ffi" = callPackage
     ({ mkDerivation, aeson, base, bytestring, utf8-string }:
      mkDerivation {
@@ -283032,6 +282893,23 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "witch_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hspec
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "witch";
+       version = "0.2.0.0";
+       sha256 = "03rnpljng4vy913zm3cxnhlq3i8d5p57661wa1cwj46hkhy7rhj7";
+       libraryHaskellDepends = [
+         base bytestring containers template-haskell text
+       ];
+       testHaskellDepends = [ base bytestring containers hspec text ];
+       description = "Convert values from one type into another";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "with-index" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -284614,8 +284492,6 @@ self: {
        ];
        description = "Tunneling program over websocket protocol";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "wtk" = callPackage
@@ -289233,30 +289109,6 @@ self: {
   "yesod-auth-oauth2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
      , hoauth2, hspec, http-client, http-conduit, http-types, memory
-     , microlens, safe-exceptions, text, uri-bytestring, yesod-auth
-     , yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-auth-oauth2";
-       version = "0.6.2.3";
-       sha256 = "1vf4cfbqg4zx3rdihj1iajk6kmj9c8xk4s4n2n40yvz2rmbjy0yb";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring cryptonite errors hoauth2 http-client
-         http-conduit http-types memory microlens safe-exceptions text
-         uri-bytestring yesod-auth yesod-core
-       ];
-       testHaskellDepends = [ base hspec uri-bytestring ];
-       description = "OAuth 2.0 authentication plugins";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "yesod-auth-oauth2_0_6_3_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
-     , hoauth2, hspec, http-client, http-conduit, http-types, memory
      , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring
      , yesod-auth, yesod-core
      }:
@@ -289474,43 +289326,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.18.8";
-       sha256 = "1phqb74z5nqnx1xnbhnpimcdcrzm5dd474svzc5hp0ji3kp2xkri";
-       libraryHaskellDepends = [
-         aeson auto-update base blaze-html blaze-markup bytestring
-         case-insensitive cereal clientsession conduit conduit-extra
-         containers cookie deepseq fast-logger http-types memory
-         monad-logger mtl parsec path-pieces primitive random resourcet
-         shakespeare template-haskell text time transformers unix-compat
-         unliftio unordered-containers vector wai wai-extra wai-logger warp
-         word8
-       ];
-       testHaskellDepends = [
-         async base bytestring clientsession conduit conduit-extra
-         containers cookie hspec hspec-expectations http-types HUnit network
-         path-pieces random resourcet shakespeare streaming-commons
-         template-haskell text transformers unliftio wai wai-extra warp
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-html bytestring gauge shakespeare text
-       ];
-       description = "Creation of type-safe, RESTful web applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-core_1_6_19_0" = callPackage
-    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
-     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
-     , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
-     , gauge, hspec, hspec-expectations, http-types, HUnit, memory
-     , monad-logger, mtl, network, parsec, path-pieces, primitive
-     , random, resourcet, shakespeare, streaming-commons
-     , template-haskell, text, time, transformers, unix-compat, unliftio
-     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
-     , word8
-     }:
-     mkDerivation {
-       pname = "yesod-core";
        version = "1.6.19.0";
        sha256 = "00mqvq47jf4ljqwj20jn5326hrap5gbm5bqq2xkijfs4ymmyw6vd";
        libraryHaskellDepends = [
@@ -289533,7 +289348,6 @@ self: {
        ];
        description = "Creation of type-safe, RESTful web applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-crud" = callPackage
@@ -290184,32 +289998,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-page-cursor";
-       version = "2.0.0.5";
-       sha256 = "0jz5dhmvfggbyjkcxs7v4pc4jpcd759jfv77avzwr64xx2glk1yw";
-       libraryHaskellDepends = [
-         aeson base bytestring containers http-link-header network-uri text
-         unliftio yesod-core
-       ];
-       testHaskellDepends = [
-         aeson base bytestring hspec hspec-expectations-lifted
-         http-link-header http-types lens lens-aeson monad-logger mtl
-         persistent persistent-sqlite persistent-template scientific text
-         time unliftio unliftio-core wai-extra yesod yesod-core yesod-test
-       ];
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "yesod-page-cursor_2_0_0_6" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, hspec
-     , hspec-expectations-lifted, http-link-header, http-types, lens
-     , lens-aeson, monad-logger, mtl, network-uri, persistent
-     , persistent-sqlite, persistent-template, scientific, text, time
-     , unliftio, unliftio-core, wai-extra, yesod, yesod-core, yesod-test
-     }:
-     mkDerivation {
-       pname = "yesod-page-cursor";
        version = "2.0.0.6";
        sha256 = "0if4pwpzpr48cz1vixk234fdl4lj3895ma9ak8x917sc3cgp2kv1";
        libraryHaskellDepends = [
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index fa100f34607..651a42da0b1 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "21.1.1";
+  version = "21.1.2";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "0cdyrfyn05fadva8k02kp4nk14k274xfmhzwc0v7jijm1dw8v8rf";
+    sha256 = "0zs8l0q1q7xps3kxlch6jddxjiny8n8avdg1ghiwbkvgf76gb3as";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/lmdbxx/default.nix b/pkgs/development/libraries/lmdbxx/default.nix
index 9b1d320678a..2d037afbe21 100644
--- a/pkgs/development/libraries/lmdbxx/default.nix
+++ b/pkgs/development/libraries/lmdbxx/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lmdbxx";
-  version = "0.9.14.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    owner = "drycpp";
+    owner = "hoytech";
     repo = "lmdbxx";
     rev = version;
-    sha256 = "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6";
+    sha256 = "sha256-7CxQZdgHVvmof6wVR9Mzic6tg89XJT3Z1ICGRs7PZYo=";
   };
 
   buildInputs = [ lmdb ];
diff --git a/pkgs/development/libraries/mtxclient/default.nix b/pkgs/development/libraries/mtxclient/default.nix
index 761026440f7..05950bc6865 100644
--- a/pkgs/development/libraries/mtxclient/default.nix
+++ b/pkgs/development/libraries/mtxclient/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtxclient";
-  version = "0.4.1";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "mtxclient";
     rev = "v${version}";
-    sha256 = "1044zil3izhb3whhfjah7w0kg5mr3hys32cjffky681d3mb3wi5n";
+    sha256 = "sha256-UKroV1p7jYuNzCAFMsuUsYC/C9AZ1D4rhwpwuER39vc=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/python-modules/python-picnic-api/default.nix b/pkgs/development/python-modules/python-picnic-api/default.nix
new file mode 100644
index 00000000000..4ff18224d2d
--- /dev/null
+++ b/pkgs/development/python-modules/python-picnic-api/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "python-picnic-api";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1axqw4bs3wa9mdac35h7r25v3i5g7v55cvyy48c4sg31dxnr4wcp";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Project doesn't ship tests
+  # https://github.com/MikeBrink/python-picnic-api/issues/13
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "python_picnic_api"
+  ];
+
+  meta = with lib; {
+    description = "Python wrapper for the Picnic API";
+    homepage = "https://github.com/MikeBrink/python-picnic-api";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
new file mode 100644
index 00000000000..baf12741b87
--- /dev/null
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, xmltodict
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "rokuecp";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "ctalkington";
+    repo = "python-rokuecp";
+    rev = version;
+    sha256 = "02mbmwljcvqj3ksj2irdm8849lcxzwa6fycgjqb0i75cgidxpans";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    xmltodict
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "Asynchronous Python client for Roku (ECP)";
+    homepage = "https://github.com/ctalkington/python-rokuecp";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix
index 704549e987d..91198369101 100644
--- a/pkgs/development/python-modules/sendgrid/default.nix
+++ b/pkgs/development/python-modules/sendgrid/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.6.0";
+  version = "6.7.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "sendgrid-python";
     rev = version;
-    sha256 = "sha256-R9ASHDIGuPRh4yf0FAlpjUZ6QAakYs35EFSqAPc02Q8=";
+    sha256 = "sha256-Y0h5Aiu85/EWCmSc+eCtK6ZaPuu/LYZiwhXOx0XhfwQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 195bd720615..9044ce19b5d 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -21,14 +21,14 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.4.2";
+  version = "3.5.0";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "v${version}";
-    sha256 = "sha256-AbQqe6hCy6Ke5lwKHFWLJlXv7HdDApYYK++SPNQ2Nxg=";
+    sha256 = "sha256-5ZBaF/6p/eOWjAmo+IlF9zCb9xBr2bP6suPZblRogUg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twitterapi/default.nix b/pkgs/development/python-modules/twitterapi/default.nix
index 11f596e01d0..316709c2041 100644
--- a/pkgs/development/python-modules/twitterapi/default.nix
+++ b/pkgs/development/python-modules/twitterapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "twitterapi";
-  version = "2.7.1";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     owner = "geduldig";
     repo = "TwitterAPI";
     rev = "v${version}";
-    sha256 = "sha256-fLexFlnoh58b9q4mo9atGQmMttKytTfAYmaPj6xmPj8=";
+    sha256 = "sha256-kSL+zAWn/6itBu4T1OcIbg4k5Asatgz/dqzbnlcsqkg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index a181a674188..aefe3ed2b95 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.18.0";
+  version = "0.18.1";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8g8DrFvhecdPsfiw+uKnfJOrLQeuFUziK2Jl3xKmrf4=";
+    sha256 = "sha256-Zf7Od3v54LxMofm67XHeRM4Yeg1+KQLRhFl1BihAxGc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix
index 1f211cd2872..4728da51a64 100644
--- a/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "0.15.1";
+  version = "0.16.0";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-W/eZubJ/SNLBya1S6wLUwTwZCUD+wCQ5FAuNcSpl+9Y=";
+    sha256 = "sha256-/94/taeBI6xZ3uN/wfMnk/NPmk+j0+aaH8CAZBEsK10=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index e23894c42a0..33c47c7aed8 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.11.12";
+  version = "0.11.13";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "1mxj4mrq1zbvv25alnc3s36bhnnhghivgwp45a7m3cp1389ffcd1";
+    sha256 = "0v358n2vpa1l1a699zyq43yzb3lcxjp3k4acppx0ggva05qn9zd1";
   };
 
   vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index eca516bbeba..ed8da83e30a 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -1,22 +1,22 @@
 { mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
 , base, bower-json, bytestring, Cabal, containers, cryptonite
-, dhall, directory, either, exceptions, extra, fetchgit, file-embed
-, filepath, foldl, fsnotify, generic-lens, github, Glob, hpack
-, hspec, hspec-discover, hspec-megaparsec, http-client
-, http-conduit, http-types, lens-family-core, megaparsec, mtl
-, network-uri, open-browser, optparse-applicative, prettyprinter
-, process, QuickCheck, retry, rio, rio-orphans, safe, semver-range
-, lib, stm, stringsearch, tar, template-haskell, temporary, text
-, time, transformers, turtle, unliftio, unordered-containers
-, utf8-string, vector, versions, with-utf8, zlib
+, dhall, directory, either, extra, fetchgit, file-embed, filepath
+, foldl, fsnotify, generic-lens, Glob, hpack, hspec, hspec-discover
+, hspec-megaparsec, http-client, http-conduit, http-types
+, lens-family-core, lib, megaparsec, mtl, network-uri, open-browser
+, optparse-applicative, prettyprinter, process, QuickCheck, retry
+, rio, rio-orphans, safe, semver-range, stm, stringsearch
+, tar, template-haskell, temporary, text, time, transformers
+, turtle, unliftio, unordered-containers, utf8-string, versions
+, with-utf8, zlib
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.0";
+  version = "0.20.1";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "1n48p9ycry8bjnf9jlcfgyxsbgn5985l4vhbwlv46kbb41ddwi51";
-    rev = "7dfd2236aff92e5ae4f7a4dc336b50a7e14e4f44";
+    sha256 = "1j2yi6zz9m0k0298wllin39h244v8b2rx87yxxgdbjg77kn96vxg";
+    rev = "41ad739614f4f2c2356ac921308f9475a5a918f4";
     fetchSubmodules = true;
   };
   isLibrary = true;
@@ -24,16 +24,17 @@ mkDerivation {
   libraryHaskellDepends = [
     aeson aeson-pretty ansi-terminal async-pool base bower-json
     bytestring Cabal containers cryptonite dhall directory either
-    exceptions file-embed filepath foldl fsnotify generic-lens github
-    Glob http-client http-conduit http-types lens-family-core
-    megaparsec mtl network-uri open-browser optparse-applicative
-    prettyprinter process retry rio rio-orphans safe semver-range stm
-    stringsearch tar template-haskell temporary text time transformers
-    turtle unliftio unordered-containers utf8-string vector versions
-    with-utf8 zlib
+    file-embed filepath foldl fsnotify generic-lens Glob http-client
+    http-conduit http-types lens-family-core megaparsec mtl network-uri
+    open-browser optparse-applicative prettyprinter process retry rio
+    rio-orphans safe semver-range stm stringsearch tar template-haskell
+    temporary text time transformers turtle unliftio
+    unordered-containers utf8-string versions with-utf8 zlib
   ];
   libraryToolDepends = [ hpack ];
-  executableHaskellDepends = [ base text turtle with-utf8 ];
+  executableHaskellDepends = [
+    ansi-terminal base text turtle with-utf8
+  ];
   testHaskellDepends = [
     base containers directory extra hspec hspec-megaparsec megaparsec
     process QuickCheck temporary text turtle versions
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 4586477293b..9b645fb55e3 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -16,15 +16,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-h8dXGSu7DebzwZdc92A2d9xlYy6wD34phBUj5v5KuIc=";
+    sha256 = "sha256-FKhSFqFZhqzrXrJcBc0YBNHoUq0/1+ULZ9sE+LyNQTI=";
   };
-  cargoSha256 = "sha256-htxpaALOXFQpQ68YE4b0T0jhcCIONgUZwpMPCcSdcgs=";
+  cargoSha256 = "sha256-Pp322D7YtdpeNnKWcE78tvLh5nFNcrh9oGYX2eCiPzI=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index c8a441aaece..151836096ff 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -10,12 +10,12 @@
         "version": "1.1.32"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.30.tar.xz",
+        "name": "factorio_alpha_x64-1.1.32.tar.xz",
         "needsAuth": true,
-        "sha256": "14mcf9pj6s5ms2hl68n3r5jk1q5y2qzw88wiahsb5plkv9qyqyp6",
+        "sha256": "0ciz7y8xqlk9vg3akvflq1aabzgbqpazfnihyk4gsadk12b6a490",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.30/alpha/linux64",
-        "version": "1.1.30"
+        "url": "https://factorio.com/get-download/1.1.32/alpha/linux64",
+        "version": "1.1.32"
       }
     },
     "demo": {
@@ -28,12 +28,12 @@
         "version": "1.1.30"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.30.tar.xz",
+        "name": "factorio_demo_x64-1.1.32.tar.xz",
         "needsAuth": false,
-        "sha256": "1b3na8xn9lhlvrsd6hxr130nf9p81s26n25a4qdgkczz6waysgjv",
+        "sha256": "19zwl20hn8hh942avqri1kslf7dcqi9nim50vh4w5d0493srybfw",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.30/demo/linux64",
-        "version": "1.1.30"
+        "url": "https://factorio.com/get-download/1.1.32/demo/linux64",
+        "version": "1.1.32"
       }
     },
     "headless": {
@@ -46,12 +46,12 @@
         "version": "1.1.32"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.30.tar.xz",
+        "name": "factorio_headless_x64-1.1.32.tar.xz",
         "needsAuth": false,
-        "sha256": "1rac6d8v8swiw1nn2hl53rhjfhsyv98qg8hfnwhfqn76jgspspdl",
+        "sha256": "0dg98ycs7m8rm996pk0p1iajalpmiy30p0pwr9dw2chf1d887kvz",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.30/headless/linux64",
-        "version": "1.1.30"
+        "url": "https://factorio.com/get-download/1.1.32/headless/linux64",
+        "version": "1.1.32"
       }
     }
   }
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index a39b9cab359..34de043a658 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -29,11 +29,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "openttd";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "https://cdn.openttd.org/openttd-releases/${version}/${pname}-${version}-source.tar.xz";
-    sha256 = "sha256-XmUYTgc2i6Gvpi27PjWrrubE2mcw/0vJ60RH1TNjx6g=";
+    sha256 = "sha256-qZGeLkKbsI+in+jme6m8dckOnvb6ZCSOs0IjoyXUAKM=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/openttd/jgrpp.nix b/pkgs/games/openttd/jgrpp.nix
index 7f756dd10b7..3dcb621db4b 100644
--- a/pkgs/games/openttd/jgrpp.nix
+++ b/pkgs/games/openttd/jgrpp.nix
@@ -2,12 +2,12 @@
 
 openttd.overrideAttrs (oldAttrs: rec {
   pname = "openttd-jgrpp";
-  version = "0.40.5";
+  version = "0.41.0";
 
   src = fetchFromGitHub rec {
     owner = "JGRennison";
     repo = "OpenTTD-patches";
     rev = "jgrpp-${version}";
-    sha256 = "sha256-g1RmgVjefOrOVLTvFBiPEd19aLoFvB9yX/hMiKgGcGw=";
+    sha256 = "sha256-DrtxqXyeqA+X4iLTvTSPFDKDoLCyVd458+nJWc+9MF4=";
   };
 })
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index ba20377a7a0..5a5c66c538f 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -389,12 +389,12 @@ let
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "27fefd2ccd0b4c376afdc53e7bb4c6185518d1cd";
-      sha256 = "0l1j2n8v2dngyxym8k0b1gf0dn2cc2gbwy36rrv447zb51g1vlv5";
+      rev = "5b286768438921cbc77d6cfb4a7046ea45c8adfc";
+      sha256 = "1g5g1yqr78l620vr7vslx15j2f4dfg4bb8wwjgfqx0pw5lc982yc";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -533,12 +533,12 @@ let
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc-nvim";
-    version = "2021-04-20";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "19bfd9443708a769b2d1379af874f644ba9f1cd4";
-      sha256 = "0c9i25dsqhb1v6kcym424zmc5yn396wz6k9w71s1ja5q4p1jmxd8";
+      rev = "f9c4fc96fd08f13f549c4bc0eb56f2d91ca91919";
+      sha256 = "087nvvxfxrllnx2ggi8m088wgcrm1hd9c5mqfx37zmzfjqk78rw4";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -618,12 +618,12 @@ let
 
   compe-tabnine = buildVimPluginFrom2Nix {
     pname = "compe-tabnine";
-    version = "2021-04-21";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "compe-tabnine";
-      rev = "cb7f22500a6c3b7e3eda36db6ce9ffe5fb45d94c";
-      sha256 = "0lpy5h6171xjg6dinhv1m98p0qs0a3qrrhhg7vriicz3x4px73fb";
+      rev = "f6ace45ef5cbd8b274d7163a2931c11083d34d44";
+      sha256 = "0wjy38v3h5nqr2vw2ydhy2227cqkd8k14cnb3vr39xm5c0fc3ci5";
     };
     meta.homepage = "https://github.com/tzachar/compe-tabnine/";
   };
@@ -1244,12 +1244,12 @@ let
 
   dracula-vim = buildVimPluginFrom2Nix {
     pname = "dracula-vim";
-    version = "2021-04-15";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "e9efa96bf130496537c978c8ee150bed280f7b19";
-      sha256 = "0jzn6vax8ia9ha938jbs0wpm6wgz5m4vg6q3w8z562rq8kq70hcx";
+      rev = "d21059cd5960f4d0a5627fda82d29371772b247f";
+      sha256 = "0cbsiw0qkynm0glq8kidkbfxwy6lhn7rc6dvxflrrm62cl7yvw91";
     };
     meta.homepage = "https://github.com/dracula/vim/";
   };
@@ -1631,12 +1631,12 @@ let
 
   git-worktree-nvim = buildVimPluginFrom2Nix {
     pname = "git-worktree-nvim";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "git-worktree.nvim";
-      rev = "0ef6f419ba56154320a2547c92bf1ccb08631f9e";
-      sha256 = "1pr4p6akq2wivhqb116jrm72v4m1i649p624p3kb55frfxf5pynn";
+      rev = "34d1c630546dc21517cd2faad82e23f02f2860d1";
+      sha256 = "0ddz2z7plw320kgsddlfywsa202bl8sxr9jbvldhh0j34q5lgdja";
     };
     meta.homepage = "https://github.com/ThePrimeagen/git-worktree.nvim/";
   };
@@ -2088,12 +2088,12 @@ let
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-04-16";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "5b3984bbd411fae75933dcf21bfe2faeb6ec3b34";
-      sha256 = "1ynd3ricc3xja9b0wswg4dh1b09p8pnppf682bfkm5a5cqar7n5k";
+      rev = "d0bb06ffc40ff7c49dfa2548e007e9013eaeabb7";
+      sha256 = "0zj12xp8djy3zr360lg9pkydz92cgkjiz33n9v5s2wyx63gk0dq4";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
@@ -2314,6 +2314,18 @@ let
     meta.homepage = "https://github.com/tami5/lispdocs.nvim/";
   };
 
+  lsp-colors-nvim = buildVimPluginFrom2Nix {
+    pname = "lsp-colors-nvim";
+    version = "2021-04-23";
+    src = fetchFromGitHub {
+      owner = "folke";
+      repo = "lsp-colors.nvim";
+      rev = "525c57c1138ca5640547efb476758938aedba943";
+      sha256 = "0dxalh12ifsghksl423bbawq096k8fcl1cgmnvaw3f2x71fngfs6";
+    };
+    meta.homepage = "https://github.com/folke/lsp-colors.nvim/";
+  };
+
   lsp-status-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-status-nvim";
     version = "2021-04-09";
@@ -2364,12 +2376,12 @@ let
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine-nvim";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "hoob3rt";
       repo = "lualine.nvim";
-      rev = "2f17e432ee85420adcf8e0a4ebf6e638657c4253";
-      sha256 = "055pvfmmk8yzjajb9xx46mb5ixass3y1fsvx9p3nchsik1h3vsib";
+      rev = "e3a558bc1dfbda29cde5b356b975a8abaf3f41b2";
+      sha256 = "1qwrpyjfcn23z4lw5ln5gn4lh8y0rw68gbmyd62pdqazckqhasds";
     };
     meta.homepage = "https://github.com/hoob3rt/lualine.nvim/";
   };
@@ -2760,12 +2772,12 @@ let
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-04-21";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "e28c434c26f76f235087ca65ff8040ff834f9210";
-      sha256 = "0fdbyijlpbh845jfpp5xcc378j5m7h2yav6dwj00bvm1n79zy1wh";
+      rev = "a62ce86411048e1bed471d4c4ba5f56eb5b59c50";
+      sha256 = "1cnywkl21a8mw62bing202nw04y375968bggqraky1c57fpdq35j";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3036,24 +3048,36 @@ let
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "50a1c65caf42a0dfe3f63b3dfe1867eec5f4889d";
-      sha256 = "1rar4dkd0i277k71a0ydw3ipgbxjjg1hmhddwd993ihcwvk5d496";
+      rev = "41b3ed55c345b56190a282b125897dc99d2292d4";
+      sha256 = "1pjfani0g0wixsyxk8j0g4289jhnkbxl703fpdp9dls7c427pi8x";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
+  nvim-base16 = buildVimPluginFrom2Nix {
+    pname = "nvim-base16";
+    version = "2021-04-12";
+    src = fetchFromGitHub {
+      owner = "RRethy";
+      repo = "nvim-base16";
+      rev = "9d6649c01221680e5bb20ff9e2455280d9665de2";
+      sha256 = "18a974l753d92x3jyv5j0anri99hxzfw454lkz94amabbnc010p6";
+    };
+    meta.homepage = "https://github.com/RRethy/nvim-base16/";
+  };
+
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2021-04-17";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "20e19029c9d212d8eb43eb590ac7530077e13350";
-      sha256 = "097iplsdkkq72981nwfppj07d0fg0fzjglwlvpxq61w1jwscd8fj";
+      rev = "55135d23dc8da4f75a95f425283c0080ec5a8ac6";
+      sha256 = "162wa2hwq1i9v2xgdfvg1d4ab392m4jcw815cn9l3z4r10g9719p";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -3120,12 +3144,12 @@ let
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-04-18";
+    version = "2021-04-22";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "d646bbc4c820777c2b61dd73819eead1133b15f8";
-      sha256 = "1bnxpcyrzi71b4ia0p1v8g3qx204ja4g3yfydcppdiwqfkhm2688";
+      rev = "41f982b646b29059749bd588ba783cb99d8fc781";
+      sha256 = "0z2kl2iqs8vcb8l4r508ny3h7vl3vm1l6cjsl5bi1s7387pizxbl";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -3168,12 +3192,12 @@ let
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2021-04-21";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "3ad85775c081a8ab8ae8d1f2ecd1afc1bc1500d6";
-      sha256 = "0p55zms25kxlayjwy8i831c01fdja0k8y55iw3nx0p257fb06zbz";
+      rev = "2f8bd90f3b4fa7620c61f66bcddb965139eb176f";
+      sha256 = "1zsvr9pba62ngchfmab7yns64mlkdqclqv516c7h62fh82fyx23a";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -3216,12 +3240,12 @@ let
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "0840c91e25557a47ed559d2281b0b65fe33b271f";
-      sha256 = "1k34khp227g9xffnz0sr9bm6h3hnvi3g9csxynpdzd0s2sbjsfgk";
+      rev = "62977b6b2eeb20bd37703ebe4bc4b4c2ef006db2";
+      sha256 = "0niwaq3mc7x1zaf3qx9dp43607rnhq2nvyizkxb7j1yir8a8dk4x";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -3312,12 +3336,12 @@ let
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "e8e8c0f0f21ef5089bb305ded8ed81a16902baa7";
-      sha256 = "19lb10zk6mn09l4adg4xfqpsjbag52fjg9sr2ic8c6la1x8abzqk";
+      rev = "af3537fbe57a2a37ab2b620c9ecc487e31b4da64";
+      sha256 = "1z4k0a8gyz8ycd6wq8npg056l0axz3vj7pipxcpi1i9xa4kx3j6i";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -3348,12 +3372,12 @@ let
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2021-04-18";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "18cf678f6218ca40652b6d9017dad1b9e2899ba9";
-      sha256 = "0xawv5pjz0mv4pf06vn3pvl4k996jmw4nmawbizqlvladcc2hc1k";
+      rev = "522b26a8795994b719a921a03cfacb0d7dcabf78";
+      sha256 = "0ww1agq33l3jhbfwr5ri9m3ipr48kgwzlzxv96w43x6y29p61g2v";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
@@ -3913,12 +3937,12 @@ let
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools-nvim";
-    version = "2021-04-16";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "cd1b5632cc2b7981bd7bdb9e55701ae58942864f";
-      sha256 = "1jam4fnzg0nvj06d1vd9ryaan8fza7xc7fwdd7675bw828cs2fq8";
+      rev = "7d734e9b52fe54b6cd19435f0823d56dc2d17426";
+      sha256 = "181vq3p1f136qmb0qbd77khc04vrkdw8z9851car7lxs5m83wwp2";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -4467,12 +4491,12 @@ let
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "c6980a9acf8af836196508000c34dcb06b11137b";
-      sha256 = "0q2xqxn56gdll1pk6f9kkkfwrp1hlawqmfmj1rzp5aahm77jdx9x";
+      rev = "6fd1b3bd255a6ebc2e44cec367ff60ce8e6e6cab";
+      sha256 = "1qifrnd0fq9844vvxy9fdp90kkb094a04wcshbfdy4cv489cqfax";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -4996,12 +5020,12 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-04-15";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "07ab201a272fe8a848141a60adec3c0b837c0b37";
-      sha256 = "131fj6fmpgbx7hiql1ci60rnpfffkzww0yf6ag3sclvnw375ylx4";
+      rev = "0a87d08dbdb398b2bb644b5041f68396f0c92d5d";
+      sha256 = "1ihg44f3pn4v3naxlzd9gmhw7hzywv4zzc97i9smbcacg9xm6mna";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -5992,12 +6016,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-04-16";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "895e56daca03c441427f2adca291cb10ea4d7ca8";
-      sha256 = "139zdz0zsaqpwbscqzp61xilrvdjlvhrn985mfpgiwwrr6sa6gdr";
+      rev = "8f4a23e6639ff67c0efd7242870d4beed47b5d37";
+      sha256 = "0ss8qlxgidlf1ma6z3ma63lqgaynnbrj9fdbw38szwc823vdqiid";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -6112,12 +6136,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-04-20";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "3ec431eaefb75520cbcfed0b6d0d7999d7ea3805";
-      sha256 = "1h6lcxzm9njnyaxf9qjs4gspd5ag2dmqjjik947idxjs1435xjls";
+      rev = "87fd4bf57646f984b37de5041232047fa5fdee5a";
+      sha256 = "00clqf82731zz6r1h4vs15zy4dka549cbngr1j9w605k5m9hrrzs";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -8011,12 +8035,12 @@ let
 
   vim-startify = buildVimPluginFrom2Nix {
     pname = "vim-startify";
-    version = "2021-04-22";
+    version = "2021-04-23";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "3ffa62fbe781b3df20fafa3bd9d710dc99c16a8c";
-      sha256 = "0ysr07yy9fxgz8drn11hgcwns7d0minh4afrjxrz9lwcm7c994h4";
+      rev = "df0f1dbdc0689f6172bdd3b8685868aa93446c6f";
+      sha256 = "0idrzl2kgclalsxixrh21fkw6d2vd53apw47ajjlcsl94acy2139";
     };
     meta.homepage = "https://github.com/mhinz/vim-startify/";
   };
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index aef8958b55e..5421387e950 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -132,6 +132,7 @@ fiatjaf/neuron.vim
 fisadev/vim-isort
 flazz/vim-colorschemes
 floobits/floobits-neovim
+folke/lsp-colors.nvim@main
 freitass/todo.txt-vim
 frigoeu/psc-ide-vim
 fruit-in/brainfuck-vim
@@ -529,6 +530,7 @@ roxma/nvim-cm-racer
 roxma/nvim-completion-manager
 roxma/nvim-yarp
 roxma/vim-tmux-clipboard
+RRethy/nvim-base16
 RRethy/vim-hexokinase
 RRethy/vim-illuminate
 rstacruz/vim-closer
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix
index d7ee2182109..6d01bff3b3e 100644
--- a/pkgs/os-specific/bsd/netbsd/default.nix
+++ b/pkgs/os-specific/bsd/netbsd/default.nix
@@ -484,13 +484,6 @@ let
     '';
   };
 
-  libkern = mkDerivation {
-    path = "lib/libkern";
-    version = "8.0";
-    sha256 = "1wirqr9bms69n4b5sr32g1b1k41hcamm7c9n7i8c440m73r92yv4";
-    meta.platforms = lib.platforms.netbsd;
-  };
-
   column = mkDerivation {
     path = "usr.bin/column";
     version = "8.0";
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 845593e2665..adfd0cda819 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -210,9 +210,9 @@ in {
     kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.12";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2.1.0-rc3";
+    version = "2.1.0-rc4";
 
-    sha256 = "sha256-ARRUuyu07dWwEuXerTz9KBmclhlmsnnGucfBxxn0Zsw=";
+    sha256 = "sha256-eakOEA7LCJOYDsZH24Y5JbEd2wh1KfCN+qX3QxQZ4e8=";
 
     isUnstable = true;
   };
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 8a00c8b5f76..0e3191625d4 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -692,7 +692,7 @@
     "rituals_perfume_genie" = ps: with ps; [ pyrituals ];
     "rmvtransport" = ps: with ps; [ PyRMVtransport ];
     "rocketchat" = ps: with ps; [ ]; # missing inputs: rocketchat-API
-    "roku" = ps: with ps; [ ]; # missing inputs: rokuecp
+    "roku" = ps: with ps; [ rokuecp ];
     "roomba" = ps: with ps; [ roombapy ];
     "roon" = ps: with ps; [ ]; # missing inputs: roonapi
     "route53" = ps: with ps; [ boto3 ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 84762469776..a44b91d8455 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -299,6 +299,7 @@ in with py.pkgs; buildPythonApplication rec {
     "intent_script"
     "ipp"
     "kmtronic"
+    "knx"
     "kodi"
     "light"
     "litterrobot"
@@ -349,6 +350,7 @@ in with py.pkgs; buildPythonApplication rec {
     "rest_command"
     "rituals_perfume_genie"
     "rmvtransport"
+    "roku"
     "rss_feed_template"
     "ruckus_unleashed"
     "safe_mode"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 468c46b1269..b54ad76e8f7 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -12,11 +12,11 @@ let
 in
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.30.0";
+  version = "1.32.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ca69v479537bbj2hjliwk9zzy9fqqsf7fm188k6xxj0a37q9y41";
+    sha256 = "sha256-Biwj/zORBsU8XvpMMlSjR3Nqx0q1LqaSX/vX+UDeXI8=";
   };
 
   patches = [
diff --git a/pkgs/servers/mautrix-signal/default.nix b/pkgs/servers/mautrix-signal/default.nix
new file mode 100644
index 00000000000..2bf69a63061
--- /dev/null
+++ b/pkgs/servers/mautrix-signal/default.nix
@@ -0,0 +1,55 @@
+{ lib, python3Packages, fetchFromGitHub }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "mautrix-signal";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "tulir";
+    repo = "mautrix-signal";
+    rev = "v${version}";
+    sha256 = "11snsl7i407855h39g1fgk26hinnq0inr8sjrgd319li0d3jwzxl";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    CommonMark
+    aiohttp
+    asyncpg
+    attrs
+    mautrix
+    phonenumbers
+    pillow
+    prometheus_client
+    pycryptodome
+    python-olm
+    python_magic
+    qrcode
+    ruamel_yaml
+    unpaddedbase64
+    yarl
+  ];
+
+  doCheck = false;
+
+  postInstall = ''
+    mkdir -p $out/bin
+
+    # Make a little wrapper for running mautrix-signal with its dependencies
+    echo "$mautrixSignalScript" > $out/bin/mautrix-signal
+    echo "#!/bin/sh
+      exec python -m mautrix_signal \"$@\"
+    " > $out/bin/mautrix-signal
+    chmod +x $out/bin/mautrix-signal
+    wrapProgram $out/bin/mautrix-signal \
+      --set PATH ${python3Packages.python}/bin \
+      --set PYTHONPATH "$PYTHONPATH"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/tulir/mautrix-signal";
+    description = "A Matrix-Signal puppeting bridge";
+    license = licenses.agpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ expipiplus1 ];
+  };
+}
diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix
index bd781d869e9..25f4d4b69c0 100644
--- a/pkgs/servers/radicale/3.x.nix
+++ b/pkgs/servers/radicale/3.x.nix
@@ -1,14 +1,20 @@
-{ lib, python3 }:
+{ lib, python3, fetchFromGitHub, nixosTests }:
 
 python3.pkgs.buildPythonApplication rec {
-  pname = "Radicale";
+  pname = "radicale";
   version = "3.0.6";
 
-  src = python3.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "a9433d3df97135d9c02cec8dde4199444daf1b73ad161ded398d67b8e629fdc6";
+  src = fetchFromGitHub {
+    owner = "Kozea";
+    repo = "Radicale";
+    rev = version;
+    sha256 = "1xlsvrmx6jhi71j6j8z9sli5vwxasivzjyqf8zq8r0l5p7350clf";
   };
 
+  postPatch = ''
+    sed -i '/addopts/d' setup.cfg
+  '';
+
   propagatedBuildInputs = with python3.pkgs; [
     defusedxml
     passlib
@@ -18,14 +24,14 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   checkInputs = with python3.pkgs; [
-    pytestrunner
-    pytest
-    pytestcov
-    pytest-flake8
-    pytest-isort
+    pytestCheckHook
     waitress
   ];
 
+  passthru.tests = {
+    inherit (nixosTests) radicale;
+  };
+
   meta = with lib; {
     homepage = "https://www.radicale.org/3.0.html";
     description = "CalDAV and CardDAV server";
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index e923bb6132e..413fc9de185 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -161,6 +161,7 @@ in rec {
     preConfigure =''
       substituteInPlace src/common/module.c --replace "/sbin/modinfo"  "modinfo"
       substituteInPlace src/common/module.c --replace "/sbin/modprobe" "modprobe"
+      substituteInPlace src/common/module.c --replace "/bin/grep" "grep"
 
       # for pybind/rgw to find internal dep
       export LD_LIBRARY_PATH="$PWD/build/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index 30fd40a1080..d9287003084 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenvNoCC, fetchFromGitHub, bash, makeWrapper, pciutils }:
+{ lib, stdenvNoCC, fetchFromGitHub, bash, makeWrapper, pciutils, ueberzug }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "neofetch";
-  version = "7.1.0";
+  version = "unstable-2020-11-26";
 
   src = fetchFromGitHub {
     owner = "dylanaraps";
     repo = "neofetch";
-    rev = version;
-    sha256 = "0i7wpisipwzk0j62pzaigbiq42y1mn4sbraz4my2jlz6ahwf00kv";
+    rev = "6dd85d67fc0d4ede9248f2df31b2cd554cca6c2f";
+    sha256 = "sha256-PZjFF/K7bvPIjGVoGqaoR8pWE6Di/qJVKFNcIz7G8xE=";
   };
 
   strictDeps = true;
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/neofetch \
-      --prefix PATH : ${lib.makeBinPath [ pciutils ]}
+      --prefix PATH : ${lib.makeBinPath [ pciutils ueberzug ]}
   '';
 
   makeFlags = [
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 7fcd5322c2c..629cf548c26 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , pkg-config
 , bison
@@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
     sha256 = "0alq81h1rz1f0zsy8qb2dvsl47axpa86j4bplngwkph0ksqqgr3p";
   };
 
+  patches = [
+    # Fix cross-compilation
+    # https://github.com/tmux/tmux/pull/2651
+    (fetchpatch {
+      url = "https://github.com/tmux/tmux/commit/bb6242675ad0c7447daef148fffced882e5b4a61.patch";
+      sha256 = "1acr3xv3gqpq7qa2f8hw7c4f42hi444lfm1bz6wqj8f3yi320zjr";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
diff --git a/pkgs/tools/networking/wstunnel/default.nix b/pkgs/tools/networking/wstunnel/default.nix
deleted file mode 100644
index a851dcd4ead..00000000000
--- a/pkgs/tools/networking/wstunnel/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ mkDerivation, async, base, base64-bytestring, binary, bytestring
-, classy-prelude, cmdargs, connection, hslogger, mtl, network
-, network-conduit-tls, streaming-commons, text
-, unordered-containers, websockets
-, hspec, iproute
-, lib, fetchFromGitHub, fetchpatch
-}:
-
-mkDerivation rec {
-  pname = "wstunnel";
-  version = "unstable-2020-07-12";
-
-  src = fetchFromGitHub {
-    owner = "erebe";
-    repo = pname;
-    rev = "093a01fa3a34eee5efd8f827900e64eab9d16c05";
-    sha256 = "17p9kq0ssz05qzl6fyi5a5fjbpn4bxkkwibb9si3fhzrxc508b59";
-  };
-
-  isLibrary = false;
-  isExecutable = true;
-
-  libraryHaskellDepends = [
-    async base base64-bytestring binary bytestring classy-prelude
-    connection hslogger mtl network network-conduit-tls
-    streaming-commons text unordered-containers websockets
-    iproute
-  ];
-
-  executableHaskellDepends = [
-    base bytestring classy-prelude cmdargs hslogger text
-  ];
-
-  testHaskellDepends = [ base text hspec ];
-
-  homepage = "https://github.com/erebe/wstunnel";
-  description = "UDP and TCP tunnelling over WebSocket";
-  maintainers = with lib.maintainers; [ gebner ];
-  license = lib.licenses.bsd3;
-
-}
diff --git a/pkgs/tools/security/prs/default.nix b/pkgs/tools/security/prs/default.nix
index 2d96c89970e..854f28a8f4c 100644
--- a/pkgs/tools/security/prs/default.nix
+++ b/pkgs/tools/security/prs/default.nix
@@ -1,6 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitLab
+, installShellFiles
 , pkg-config
 , python3
 , dbus
@@ -12,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "prs";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "prs";
     rev = "v${version}";
-    sha256 = "sha256-1Jrgf5UW6k0x3q6kQIB6Q7moOhConEnUU9r+21W5Uu8=";
+    sha256 = "sha256-TPgS3gtSfCAtQyQCZ0HadxvmX6+dP/3SE/WumzzYUAw=";
   };
 
-  cargoSha256 = "sha256-N3pLW/OGeurrl+AlwdfbZ3T7WzEOAuyUMdIR164Xp7k=";
+  cargoSha256 = "sha256-djKtmQHBVXEfn91avJCsVJwEJIE3xL1umvoLAIyXSrw=";
 
   postPatch = ''
     # The GPGME backend is recommended
@@ -31,10 +32,16 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  nativeBuildInputs = [ gpgme pkg-config python3 ];
+  nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
 
   buildInputs = [ dbus glib gpgme gtk3 libxcb ];
 
+  postInstall = ''
+    for shell in bash fish zsh; do
+      installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout)
+    done
+  '';
+
   meta = with lib; {
     description = "Secure, fast & convenient password manager CLI using GPG and git to sync";
     homepage = "https://gitlab.com/timvisee/prs";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 07ca27a4712..a3cf074308e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6089,6 +6089,8 @@ in
 
   matrix-corporal = callPackage ../servers/matrix-corporal { };
 
+  mautrix-signal = recurseIntoAttrs (callPackage ../servers/mautrix-signal { });
+
   mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { });
 
   mautrix-whatsapp = callPackage ../servers/mautrix-whatsapp { };
@@ -8303,6 +8305,8 @@ in
 
   sigil = libsForQt5.callPackage ../applications/editors/sigil { };
 
+  signald = callPackage ../applications/networking/instant-messengers/signald { };
+
   signal-cli = callPackage ../applications/networking/instant-messengers/signal-cli { };
 
   signal-desktop = callPackage ../applications/networking/instant-messengers/signal-desktop { };
@@ -9312,8 +9316,7 @@ in
 
   wsmancli = callPackage ../tools/system/wsmancli {};
 
-  wstunnel = haskell.lib.justStaticExecutables
-    (haskellPackages.callPackage ../tools/networking/wstunnel {});
+  wstunnel = haskell.lib.justStaticExecutables haskellPackages.wstunnel;
 
   wolfebin = callPackage ../tools/networking/wolfebin {
     python = python2;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index bc1f49cb913..54f70628df3 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -6539,6 +6539,8 @@ in {
 
   python-periphery = callPackage ../development/python-modules/python-periphery { };
 
+  python-picnic-api = callPackage ../development/python-modules/python-picnic-api { };
+
   python-pipedrive = callPackage ../development/python-modules/python-pipedrive { };
 
   python-prctl = callPackage ../development/python-modules/python-prctl { };
@@ -7058,6 +7060,8 @@ in {
 
   roku = callPackage ../development/python-modules/roku { };
 
+  rokuecp = callPackage ../development/python-modules/rokuecp { };
+
   roman = callPackage ../development/python-modules/roman { };
 
   roombapy = callPackage ../development/python-modules/roombapy { };