From e18f6fb5f9a78b7d4336fe45e36440bf820c98d0 Mon Sep 17 00:00:00 2001
From: Default email <noreply+nixpkgs@lukegb.com>
Date: Wed, 11 Aug 2021 16:56:57 +0200
Subject: [PATCH] Project import generated by Copybara.

GitOrigin-RevId: 9df2cb074d72ea80ac9fd225b29060c8cf13dd39
---
 .../nixpkgs/maintainers/maintainer-list.nix   |  12 +
 .../from_md/release-notes/rl-2111.section.xml |  51 ++
 .../manual/release-notes/rl-2111.section.md   |  12 +
 .../nixpkgs/nixos/modules/misc/ids.nix        |   2 +-
 .../jenkins/default.nix                       |   2 +-
 .../modules/services/development/hoogle.nix   |   2 +-
 .../modules/services/misc/home-assistant.nix  |   2 +-
 .../nixos/modules/services/misc/uhub.nix      | 234 ++---
 .../modules/services/networking/i2pd.nix      |   4 +-
 .../modules/services/networking/shout.nix     |   2 +-
 .../modules/services/networking/syncplay.nix  |   2 +-
 .../modules/services/networking/zeronet.nix   |   4 +-
 .../modules/services/web-servers/minio.nix    |  10 +-
 third_party/nixpkgs/nixos/tests/all-tests.nix |   1 +
 third_party/nixpkgs/nixos/tests/cryptpad.nix  |  18 +
 .../applications/audio/cyanrip/default.nix    |  34 +
 .../pkgs/applications/blockchains/erigon.nix  |  34 +
 .../blockchains/turbo-geth/default.nix        |  30 -
 .../applications/editors/helix/default.nix    |   1 +
 .../editors/neovim/neovide/default.nix        |  29 +-
 .../applications/editors/vscode/generic.nix   |   2 +-
 .../editors/vscode/with-extensions.nix        |  26 +-
 .../applications/graphics/openimageio/2.x.nix |   4 +-
 .../applications/misc/archivebox/default.nix  |  56 ++
 .../pkgs/applications/misc/bklk/default.nix   |  29 +
 .../applications/misc/sweethome3d/default.nix |   4 +-
 .../applications/misc/sweethome3d/editors.nix |   4 +-
 .../networking/aether/default.nix             | 115 +++
 .../networking/cloudflared/default.nix        |   4 +-
 .../cluster/terraform-docs/default.nix        |   6 +-
 .../cluster/terraform-providers/default.nix   |   6 +-
 .../networking/irc/catgirl/default.nix        |   4 +-
 .../applications/office/foliate/default.nix   |   3 +-
 .../git-and-tools/glab/default.nix            |  16 +-
 .../radicle-upstream/default.nix              |  83 +-
 .../applications/video/obs-studio/default.nix |  22 +-
 .../nixpkgs/pkgs/data/misc/hackage/pin.json   |   8 +-
 .../desktops/gnome/core/mutter/default.nix    |   2 +-
 .../gnome/extensions/extensionRenames.nix     |   2 +
 .../pkgs/development/compilers/ghc/head.nix   |   6 +-
 .../compilers/llvm/10/compiler-rt/default.nix |   4 +-
 .../compilers/llvm/11/compiler-rt/default.nix |   4 +-
 .../compilers/llvm/12/compiler-rt/default.nix |   4 +-
 .../compilers/llvm/13/compiler-rt/default.nix |   4 +-
 .../compilers/llvm/5/compiler-rt/default.nix  |   4 +-
 .../compilers/llvm/6/compiler-rt/default.nix  |   4 +-
 .../compilers/llvm/7/compiler-rt/default.nix  |   4 +-
 .../compilers/llvm/8/compiler-rt/default.nix  |   4 +-
 .../compilers/llvm/9/compiler-rt/default.nix  |   4 +-
 .../llvm/git/compiler-rt/default.nix          |   4 +-
 .../haskell-modules/configuration-common.nix  |   5 +
 .../configuration-hackage2nix/broken.yaml     |   4 +
 .../configuration-hackage2nix/main.yaml       |   3 +
 .../transitive-broken.yaml                    |   8 +
 .../haskell-modules/hackage-packages.nix      | 664 ++++++++++++--
 .../libraries/aqbanking/sources.nix           |   6 +-
 .../development/libraries/libcef/default.nix  |  34 +-
 .../libraries/optparse-bash/default.nix       |  63 ++
 .../libraries/portmidi/default.nix            |   2 +-
 .../development/node-packages/default.nix     |  10 +
 .../node-packages/node-packages.json          |   2 +
 .../node-packages/node-packages.nix           | 621 ++++++++-----
 .../python-modules/ailment/default.nix        |   4 +-
 .../python-modules/aioambient/default.nix     |   4 +-
 .../python-modules/angr/default.nix           |   4 +-
 .../python-modules/angrop/default.nix         |   4 +-
 .../python-modules/archinfo/default.nix       |   4 +-
 .../python-modules/claripy/default.nix        |   4 +-
 .../python-modules/cle/default.nix            |   4 +-
 .../python-modules/dbutils/default.nix        |  12 +-
 .../python-modules/debugpy/default.nix        |  11 +-
 .../python-modules/env-canada/default.nix     |   6 +-
 .../python-modules/eth-typing/default.nix     |   4 +-
 .../python-modules/eventlet/default.nix       |   4 +-
 .../python-modules/exchangelib/default.nix    |  75 +-
 .../python-modules/fastapi/default.nix        |   4 +-
 .../python-modules/hass-nabucasa/default.nix  |   4 +-
 .../python-modules/opensimplex/default.nix    |   6 +-
 .../python-modules/phonenumbers/default.nix   |   4 +-
 .../python-modules/plugwise/default.nix       |   4 +-
 .../python-modules/pybotvac/default.nix       |   4 +-
 .../python-modules/pylutron/default.nix       |   4 +-
 .../python-modules/pymunk/default.nix         |   9 +-
 .../python-modules/pymupdf/default.nix        |   6 +-
 .../python-modules/pymupdf/nix-support.patch  |  17 +
 .../python-modules/pymyq/default.nix          |   5 +-
 .../python-modules/python-gitlab/default.nix  |   4 +-
 .../python-modules/pyuseragents/default.nix   |  28 +
 .../python-modules/pyvex/default.nix          |   4 +-
 .../python-modules/pywebpush/default.nix      |   6 +-
 .../python-modules/requests-cache/default.nix |   4 +-
 .../python-modules/rich/default.nix           |   4 +-
 .../python-modules/translatepy/default.nix    |  42 +
 .../transmission-rpc/default.nix              |   4 +-
 .../python-modules/typed-settings/default.nix |   4 +-
 .../websocket-client/default.nix              |  16 +-
 .../python-modules/yeelight/default.nix       |   4 +-
 .../python-modules/yfinance/default.nix       |   4 +-
 .../tools/analysis/sparse/default.nix         |   4 +-
 .../pkgs/development/tools/buf/default.nix    |  31 +-
 .../buf/skip_test_requiring_dotgit.patch      |  14 +
 .../development/tools/conftest/default.nix    |   6 +-
 .../pkgs/development/tools/doctl/default.nix  |   4 +-
 .../development/tools/misc/hydra/common.nix   |   2 +
 .../development/tools/misc/hydra/default.nix  |   6 +-
 .../pkgs/development/tools/pscale/default.nix |   6 +-
 .../tools/wasm-bindgen-cli/Cargo.lock         | 844 +++++++-----------
 .../tools/wasm-bindgen-cli/default.nix        |   8 +-
 .../pkgs/development/web/deno/default.nix     |   6 +-
 .../pkgs/development/web/deno/librusty_v8.nix |  10 +-
 .../pkgs/development/web/flyctl/default.nix   |   6 +-
 .../pkgs/games/antsimulator/default.nix       |  17 +-
 .../nixpkgs/pkgs/games/brutalmaze/default.nix |  30 +
 .../pkgs/games/crispy-doom/default.nix        |   4 +-
 .../pkgs/games/quake3/ioquake/default.nix     |   6 +-
 .../screensavers/betterlockscreen/default.nix |  25 +-
 .../pkgs/misc/vim-plugins/generated.nix       | 198 ++--
 .../pkgs/misc/vim-plugins/vim-plugin-names    |   1 +
 .../os-specific/linux/kernel/linux-lqx.nix    |   8 +-
 .../os-specific/linux/kernel/linux-xanmod.nix |   6 +
 .../os-specific/linux/kernel/linux-zen.nix    |   4 +-
 .../home-assistant/component-packages.nix     |   2 +-
 .../pkgs/servers/home-assistant/default.nix   |   4 +-
 .../pkgs/servers/home-assistant/frontend.nix  |   4 +-
 .../mod_auth_mellon/default.nix               |  10 +-
 .../mod_auth_mellon/fixdeps.patch             |  34 -
 .../nixpkgs/pkgs/servers/minio/default.nix    |   6 +-
 .../servers/monitoring/grafana/default.nix    |   6 +-
 .../pkgs/servers/mqtt/mosquitto/default.nix   |  14 +-
 .../nixpkgs/pkgs/servers/teleport/default.nix |  33 +-
 .../nixpkgs/pkgs/servers/uhub/default.nix     |  43 +-
 .../pkgs/servers/uhub/plugin-dir.patch        |  19 -
 .../web-apps/cryptpad/bower-packages.nix      |  24 +-
 .../servers/web-apps/cryptpad/default.nix     |  45 +-
 .../servers/web-apps/cryptpad/generate.sh     |  15 +-
 .../cryptpad/node-packages-generated.nix      |  98 +-
 .../web-apps/cryptpad/node-packages.json      |   2 +-
 .../nixpkgs/pkgs/servers/x11/xorg/default.nix |   6 +-
 .../pkgs/servers/x11/xorg/tarballs.list       |   2 +-
 .../pkgs/tools/admin/clair/default.nix        |   6 +-
 .../pkgs/tools/admin/exoscale-cli/default.nix |   4 +-
 .../admin/realvnc-vnc-viewer/default.nix      |  51 ++
 .../tools/backup/gphotos-sync/default.nix     |   6 +-
 .../tools/filesystems/duperemove/default.nix  |   4 +-
 .../pkgs/tools/filesystems/s3fs/default.nix   |   4 +-
 .../misc/ethminer/add-global-context.patch    |  25 +
 .../pkgs/tools/misc/ethminer/default.nix      |   5 +
 .../pkgs/tools/misc/geekbench/default.nix     |   4 +-
 .../nixpkgs/pkgs/tools/misc/mcfly/default.nix |   6 +-
 .../pkgs/tools/misc/remind/default.nix        |   4 +-
 .../tools/networking/findomain/default.nix    |   6 +-
 .../networking/telepresence2/default.nix      |   6 +-
 .../cargo-release/default.nix                 |   6 +-
 .../package-management/conda/default.nix      |   2 +
 .../nix-simple-deploy/default.nix             |   6 +-
 .../tools/package-management/nix/default.nix  |   6 +-
 .../pkgs/tools/security/dnspeep/Cargo.lock    | 660 ++++++++++++++
 .../pkgs/tools/security/dnspeep/default.nix   |  32 +
 .../pkgs/tools/security/dnsx/default.nix      |   6 +-
 .../pkgs/tools/security/doppler/default.nix   |   4 +-
 .../pkgs/tools/security/httpx/default.nix     |   6 +-
 .../pkgs/tools/security/opensc/default.nix    |   2 +-
 .../security/proxmark3/proxmark3-rrg.nix      |   4 +-
 .../virtualization/distrobuilder/default.nix  |   6 +-
 .../nixpkgs/pkgs/top-level/aliases.nix        |   1 +
 .../nixpkgs/pkgs/top-level/all-packages.nix   |  26 +-
 .../nixpkgs/pkgs/top-level/perl-packages.nix  |  74 ++
 .../pkgs/top-level/python-packages.nix        |   8 +-
 .../pkgs/top-level/release-haskell.nix        |   2 +-
 169 files changed, 3644 insertions(+), 1632 deletions(-)
 create mode 100644 third_party/nixpkgs/nixos/tests/cryptpad.nix
 create mode 100644 third_party/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix
 delete mode 100644 third_party/nixpkgs/pkgs/applications/blockchains/turbo-geth/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/applications/misc/archivebox/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/applications/misc/bklk/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/applications/networking/aether/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/development/python-modules/pymupdf/nix-support.patch
 create mode 100644 third_party/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch
 create mode 100644 third_party/nixpkgs/pkgs/games/brutalmaze/default.nix
 delete mode 100644 third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch
 delete mode 100644 third_party/nixpkgs/pkgs/servers/uhub/plugin-dir.patch
 create mode 100644 third_party/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
 create mode 100644 third_party/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch
 create mode 100644 third_party/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
 create mode 100644 third_party/nixpkgs/pkgs/tools/security/dnspeep/default.nix

diff --git a/third_party/nixpkgs/maintainers/maintainer-list.nix b/third_party/nixpkgs/maintainers/maintainer-list.nix
index 0096d15941..fdc0cd3c45 100644
--- a/third_party/nixpkgs/maintainers/maintainer-list.nix
+++ b/third_party/nixpkgs/maintainers/maintainer-list.nix
@@ -6722,6 +6722,12 @@
     githubId = 35892750;
     name = "Maxine Aubrey";
   };
+  maxhille = {
+    email = "mh@lambdasoup.com";
+    github = "maxhille";
+    githubId = 693447;
+    name = "Max Hille";
+  };
   maxhbr = {
     email = "nixos@maxhbr.dev";
     github = "maxhbr";
@@ -6977,6 +6983,12 @@
       fingerprint = "3DEE 1C55 6E1C 3DC5 54F5  875A 003F 2096 411B 5F92";
     }];
   };
+  michaeladler = {
+    email = "therisen06@gmail.com";
+    github = "michaeladler";
+    githubId = 1575834;
+    name = "Michael Adler";
+  };
   michaelpj = {
     email = "michaelpj@gmail.com";
     github = "michaelpj";
diff --git a/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 535c63dfd3..68d09a7781 100644
--- a/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/third_party/nixpkgs/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -182,6 +182,13 @@
           from 1.0.4 to 3.0.1
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The <literal>erigon</literal> ethereum node has moved to a new
+          database format in <literal>2021-05-04</literal>, and requires
+          a full resync
+        </para>
+      </listitem>
       <listitem>
         <para>
           <literal>services.geoip-updater</literal> was broken and has
@@ -661,6 +668,41 @@
           to use wildcards in the <literal>source</literal> argument.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The <literal>openrazer</literal> and
+          <literal>openrazer-daemon</literal> packages as well as the
+          <literal>hardware.openrazer</literal> module now require users
+          to be members of the <literal>openrazer</literal> group
+          instead of <literal>plugdev</literal>. With this change, users
+          no longer need be granted the entire set of
+          <literal>plugdev</literal> group permissions, which can
+          include permissions other than those required by
+          <literal>openrazer</literal>. This is desirable from a
+          security point of view. The setting
+          <link xlink:href="options.html#opt-services.hardware.openrazer.users"><literal>harware.openrazer.users</literal></link>
+          can be used to add users to the <literal>openrazer</literal>
+          group.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>yambar</literal> package has been split into
+          <literal>yambar</literal> and
+          <literal>yambar-wayland</literal>, corresponding to the xorg
+          and wayland backend respectively. Please switch to
+          <literal>yambar-wayland</literal> if you are on wayland.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>services.minio</literal> module gained an
+          additional option <literal>consoleAddress</literal>, that
+          configures the address and port the web UI is listening, it
+          defaults to <literal>:9001</literal>. To be able to access the
+          web UI this port needs to be opened in the firewall.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
@@ -830,6 +872,15 @@
           version of zfs.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          Nginx will use the value of
+          <literal>sslTrustedCertificate</literal> if provided for a
+          virtual host, even if <literal>enableACME</literal> is set.
+          This is useful for providers not using the same certificate to
+          sign OCSP responses and server certificates.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
index b03f2931be..d7c38056ef 100644
--- a/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/third_party/nixpkgs/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -57,6 +57,8 @@ pt-services.clipcat.enable).
 
 - The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
 
+- The `erigon` ethereum node has moved to a new database format in `2021-05-04`, and requires a full resync
+
 - `services.geoip-updater` was broken and has been replaced by [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
 
 - PHP 7.3 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 21.11 release.
@@ -169,6 +171,14 @@ pt-services.clipcat.enable).
 
 - `programs.neovim.runtime` switched to a `linkFarm` internally, making it impossible to use wildcards in the `source` argument.
 
+- The `openrazer` and `openrazer-daemon` packages as well as the `hardware.openrazer` module now require users to be members of the `openrazer` group instead of `plugdev`. With this change, users no longer need be granted the entire set of `plugdev` group permissions, which can include permissions other than those required by `openrazer`. This is desirable from a security point of view. The setting [`harware.openrazer.users`](options.html#opt-services.hardware.openrazer.users) can be used to add users to the `openrazer` group.
+
+- The `yambar` package has been split into `yambar` and `yambar-wayland`, corresponding to the xorg and wayland backend respectively. Please switch to `yambar-wayland` if you are on wayland.
+
+- The `services.minio` module gained an additional option `consoleAddress`, that
+configures the address and port the web UI is listening, it defaults to `:9001`.
+To be able to access the web UI this port needs to be opened in the firewall.
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 - The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
@@ -214,3 +224,5 @@ pt-services.clipcat.enable).
 - The [services.syncoid.enable](options.html#opt-services.syncoid.enable) module now properly drops ZFS permissions after usage. Before it delegated permissions to whole pools instead of datasets and didn't clean up after execution. You can manually look this up for your pools by running `zfs allow your-pool-name` and use `zfs unallow syncoid your-pool-name` to clean this up.
 
 - Zfs: `latestCompatibleLinuxPackages` is now exported on the zfs package. One can use `boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages;` to always track the latest compatible kernel with a given version of zfs.
+
+- Nginx will use the value of `sslTrustedCertificate` if provided for a virtual host, even if `enableACME` is set. This is useful for providers not using the same certificate to sign OCSP responses and server certificates.
diff --git a/third_party/nixpkgs/nixos/modules/misc/ids.nix b/third_party/nixpkgs/nixos/modules/misc/ids.nix
index c2e588bf00..c7ab3f313a 100644
--- a/third_party/nixpkgs/nixos/modules/misc/ids.nix
+++ b/third_party/nixpkgs/nixos/modules/misc/ids.nix
@@ -178,7 +178,7 @@ in
       radvd = 139;
       zookeeper = 140;
       dnsmasq = 141;
-      uhub = 142;
+      #uhub = 142; # unused
       yandexdisk = 143;
       mxisd = 144; # was once collectd
       consul = 145;
diff --git a/third_party/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix b/third_party/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
index 889688a268..98ef1e2c69 100644
--- a/third_party/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
+++ b/third_party/nixpkgs/nixos/modules/services/continuous-integration/jenkins/default.nix
@@ -61,7 +61,7 @@ in {
 
       port = mkOption {
         default = 8080;
-        type = types.int;
+        type = types.port;
         description = ''
           Specifies port number on which the jenkins HTTP interface listens.
           The default is 8080.
diff --git a/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix b/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix
index 6d6c88b9b2..a6693013b7 100644
--- a/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix
+++ b/third_party/nixpkgs/nixos/modules/services/development/hoogle.nix
@@ -17,7 +17,7 @@ in {
     enable = mkEnableOption "Haskell documentation server";
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 8080;
       description = ''
         Port number Hoogle will be listening to.
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix b/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix
index dcd825bba4..f1a1a88580 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/home-assistant.nix
@@ -78,7 +78,7 @@ in {
 
     port = mkOption {
       default = 8123;
-      type = types.int;
+      type = types.port;
       description = "The port on which to listen.";
     };
 
diff --git a/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix b/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix
index d1b3883102..da2613e6db 100644
--- a/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix
+++ b/third_party/nixpkgs/nixos/modules/services/misc/uhub.nix
@@ -3,178 +3,110 @@
 with lib;
 
 let
-
-  cfg = config.services.uhub;
-
-  uhubPkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
-
-  pluginConfig = ""
-  + optionalString cfg.plugins.authSqlite.enable ''
-    plugin ${uhubPkg.mod_auth_sqlite}/mod_auth_sqlite.so "file=${cfg.plugins.authSqlite.file}"
-  ''
-  + optionalString cfg.plugins.logging.enable ''
-    plugin ${uhubPkg.mod_logging}/mod_logging.so ${if cfg.plugins.logging.syslog then "syslog=true" else "file=${cfg.plugins.logging.file}"}
-  ''
-  + optionalString cfg.plugins.welcome.enable ''
-    plugin ${uhubPkg.mod_welcome}/mod_welcome.so "motd=${pkgs.writeText "motd.txt"  cfg.plugins.welcome.motd} rules=${pkgs.writeText "rules.txt" cfg.plugins.welcome.rules}"
-  ''
-  + optionalString cfg.plugins.history.enable ''
-    plugin ${uhubPkg.mod_chat_history}/mod_chat_history.so "history_max=${toString cfg.plugins.history.max} history_default=${toString cfg.plugins.history.default} history_connect=${toString cfg.plugins.history.connect}"
-  '';
-
-  uhubConfigFile = pkgs.writeText "uhub.conf" ''
-    file_acl=${pkgs.writeText "users.conf" cfg.aclConfig}
-    file_plugins=${pkgs.writeText "plugins.conf" pluginConfig}
-    server_bind_addr=${cfg.address}
-    server_port=${toString cfg.port}
-    ${lib.optionalString cfg.enableTLS "tls_enable=yes"}
-    ${cfg.hubConfig}
-  '';
-
-in
-
-{
+  settingsFormat = {
+    type = with lib.types; attrsOf (oneOf [ bool int str ]);
+    generate = name: attrs:
+      pkgs.writeText name (lib.strings.concatStringsSep "\n"
+        (lib.attrsets.mapAttrsToList
+          (key: value: "${key}=${builtins.toJSON value}") attrs));
+  };
+in {
   options = {
 
-    services.uhub = {
+    services.uhub = mkOption {
+      default = { };
+      description = "Uhub ADC hub instances";
+      type = types.attrsOf (types.submodule {
+        options = {
 
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to enable the uhub ADC hub.";
-      };
+          enable = mkEnableOption "hub instance" // { default = true; };
 
-      port = mkOption {
-        type = types.int;
-        default = 1511;
-        description = "TCP port to bind the hub to.";
-      };
-
-      address = mkOption {
-        type = types.str;
-        default = "any";
-        description = "Address to bind the hub to.";
-      };
-
-      enableTLS = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Whether to enable TLS support.";
-      };
-
-      hubConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Contents of uhub configuration file.";
-      };
-
-      aclConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Contents of user ACL configuration file.";
-      };
-
-      plugins = {
-
-        authSqlite = {
-          enable = mkOption {
+          enableTLS = mkOption {
             type = types.bool;
             default = false;
-            description = "Whether to enable the Sqlite authentication database plugin";
+            description = "Whether to enable TLS support.";
           };
-          file = mkOption {
-            type = types.path;
-            example = "/var/db/uhub-users";
-            description = "Path to user database. Use the uhub-passwd utility to create the database and add/remove users.";
-          };
-        };
 
-        logging = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable the logging plugin.";
-          };
-          file = mkOption {
-            type = types.str;
-            default = "";
-            description = "Path of log file.";
-          };
-          syslog = mkOption {
-            type = types.bool;
-            default = false;
-            description = "If true then the system log is used instead of writing to file.";
-          };
-        };
-
-        welcome = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable the welcome plugin.";
-          };
-          motd = mkOption {
-            default = "";
-            type = types.lines;
+          settings = mkOption {
+            inherit (settingsFormat) type;
             description = ''
-              Welcome message displayed to clients after connecting
-              and with the <literal>!motd</literal> command.
+              Configuration of uhub.
+              See https://www.uhub.org/doc/config.php for a list of options.
             '';
+            default = { };
+            example = {
+              server_bind_addr = "any";
+              server_port = 1511;
+              hub_name = "My Public Hub";
+              hub_description = "Yet another ADC hub";
+              max_users = 150;
+            };
           };
-          rules = mkOption {
-            default = "";
-            type = types.lines;
-            description = ''
-              Rules message, displayed to clients with the <literal>!rules</literal> command.
-            '';
-          };
-        };
 
-        history = {
-          enable = mkOption {
-            type = types.bool;
-            default = false;
-            description = "Whether to enable the history plugin.";
+          plugins = mkOption {
+            description = "Uhub plugin configuration.";
+            type = with types;
+              listOf (submodule {
+                options = {
+                  plugin = mkOption {
+                    type = path;
+                    example = literalExample
+                      "$${pkgs.uhub}/plugins/mod_auth_sqlite.so";
+                    description = "Path to plugin file.";
+                  };
+                  settings = mkOption {
+                    description = "Settings specific to this plugin.";
+                    type = with types; attrsOf str;
+                    example = { file = "/etc/uhub/users.db"; };
+                  };
+                };
+              });
+            default = [ ];
           };
-          max = mkOption {
-            type = types.int;
-            default = 200;
-            description = "The maximum number of messages to keep in history";
-          };
-          default = mkOption {
-            type = types.int;
-            default = 10;
-            description = "When !history is provided without arguments, then this default number of messages are returned.";
-          };
-          connect = mkOption {
-            type = types.int;
-            default = 5;
-            description = "The number of chat history messages to send when users connect (0 = do not send any history).";
-          };
-        };
 
-      };
+        };
+      });
     };
 
   };
 
-  config = mkIf cfg.enable {
+  config = let
+    hubs = lib.attrsets.filterAttrs (_: cfg: cfg.enable) config.services.uhub;
+  in {
 
-    users = {
-      users.uhub.uid = config.ids.uids.uhub;
-      groups.uhub.gid = config.ids.gids.uhub;
-    };
+    environment.etc = lib.attrsets.mapAttrs' (name: cfg:
+      let
+        settings' = cfg.settings // {
+          tls_enable = cfg.enableTLS;
+          file_plugins = pkgs.writeText "uhub-plugins.conf"
+            (lib.strings.concatStringsSep "\n" (map ({ plugin, settings }:
+              "plugin ${plugin} ${
+                toString
+                (lib.attrsets.mapAttrsToList (key: value: ''"${key}=${value}"'')
+                  settings)
+              }") cfg.plugins));
+        };
+      in {
+        name = "uhub/${name}.conf";
+        value.source = settingsFormat.generate "uhub-${name}.conf" settings';
+      }) hubs;
 
-    systemd.services.uhub = {
-      description = "high performance peer-to-peer hub for the ADC network";
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-      serviceConfig = {
-        Type = "notify";
-        ExecStart  = "${uhubPkg}/bin/uhub -c ${uhubConfigFile} -u uhub -g uhub -L";
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+    systemd.services = lib.attrsets.mapAttrs' (name: cfg: {
+      name = "uhub-${name}";
+      value = let pkg = pkgs.uhub.override { tlsSupport = cfg.enableTLS; };
+      in {
+        description = "high performance peer-to-peer hub for the ADC network";
+        after = [ "network.target" ];
+        wantedBy = [ "multi-user.target" ];
+        reloadIfChanged = true;
+        serviceConfig = {
+          Type = "notify";
+          ExecStart = "${pkg}/bin/uhub -c /etc/uhub/${name}.conf -L";
+          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          DynamicUser = true;
+        };
       };
-    };
+    }) hubs;
   };
 
 }
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix b/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix
index 93a21fd4c9..fba0d81700 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/i2pd.nix
@@ -32,9 +32,9 @@ let
       description = "Bind address for ${name} endpoint.";
     };
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = port;
-      description = "Bind port for ${name} endoint.";
+      description = "Bind port for ${name} endpoint.";
     };
   };
 
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/shout.nix b/third_party/nixpkgs/nixos/modules/services/networking/shout.nix
index a808a7f39d..405808491e 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/shout.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/shout.nix
@@ -41,7 +41,7 @@ in {
     };
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 9000;
       description = "TCP port to listen on for http connections.";
     };
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/syncplay.nix b/third_party/nixpkgs/nixos/modules/services/networking/syncplay.nix
index e3147c1050..27a16fb2e2 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/syncplay.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/syncplay.nix
@@ -21,7 +21,7 @@ in
       };
 
       port = mkOption {
-        type = types.int;
+        type = types.port;
         default = 8999;
         description = ''
           TCP port to bind to.
diff --git a/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix b/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix
index f354a9d42c..a34b2d8715 100644
--- a/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix
+++ b/third_party/nixpkgs/nixos/modules/services/networking/zeronet.nix
@@ -32,7 +32,7 @@ in with lib; {
     };
 
     port = mkOption {
-      type = types.int;
+      type = types.port;
       default = 43110;
       example = 43110;
       description = "Optional zeronet web UI port.";
@@ -41,7 +41,7 @@ in with lib; {
     fileserverPort = mkOption {
       # Not optional: when absent zeronet tries to write one to the
       # read-only config file and crashes
-      type = types.int;
+      type = types.port;
       default = 12261;
       example = 12261;
       description = "Zeronet fileserver port.";
diff --git a/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix b/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix
index d075449012..6b10afad49 100644
--- a/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix
+++ b/third_party/nixpkgs/nixos/modules/services/web-servers/minio.nix
@@ -19,7 +19,13 @@ in
     listenAddress = mkOption {
       default = ":9000";
       type = types.str;
-      description = "Listen on a specific IP address and port.";
+      description = "IP address and port of the server.";
+    };
+
+    consoleAddress = mkOption {
+      default = ":9001";
+      type = types.str;
+      description = "IP address and port of the web UI (console).";
     };
 
     dataDir = mkOption {
@@ -99,7 +105,7 @@ in
       after = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --config-dir=${cfg.configDir} ${toString cfg.dataDir}";
+        ExecStart = "${cfg.package}/bin/minio server --json --address ${cfg.listenAddress} --console-address ${cfg.consoleAddress} --config-dir=${cfg.configDir} ${toString cfg.dataDir}";
         Type = "simple";
         User = "minio";
         Group = "minio";
diff --git a/third_party/nixpkgs/nixos/tests/all-tests.nix b/third_party/nixpkgs/nixos/tests/all-tests.nix
index 30c1c77c6c..8369f60e7b 100644
--- a/third_party/nixpkgs/nixos/tests/all-tests.nix
+++ b/third_party/nixpkgs/nixos/tests/all-tests.nix
@@ -94,6 +94,7 @@ in
   cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
   custom-ca = handleTest ./custom-ca.nix {};
   croc = handleTest ./croc.nix {};
+  cryptpad = handleTest ./cryptpad.nix {};
   deluge = handleTest ./deluge.nix {};
   dendrite = handleTest ./dendrite.nix {};
   dhparams = handleTest ./dhparams.nix {};
diff --git a/third_party/nixpkgs/nixos/tests/cryptpad.nix b/third_party/nixpkgs/nixos/tests/cryptpad.nix
new file mode 100644
index 0000000000..895f291aba
--- /dev/null
+++ b/third_party/nixpkgs/nixos/tests/cryptpad.nix
@@ -0,0 +1,18 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+{
+  name = "cryptpad";
+  meta.maintainers = with maintainers; [ davhau ];
+
+  nodes.machine =
+    { pkgs, ... }:
+    { services.cryptpad.enable = true; };
+
+  testScript = ''
+    machine.wait_for_unit("cryptpad.service")
+    machine.wait_for_open_port("3000")
+    machine.succeed("curl -L --fail http://localhost:3000/sheet")
+  '';
+})
diff --git a/third_party/nixpkgs/pkgs/applications/audio/cyanrip/default.nix b/third_party/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
new file mode 100644
index 0000000000..3338fe40bf
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/audio/cyanrip/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, ffmpeg
+, libcdio
+, libcdio-paranoia
+, libmusicbrainz5
+, curl
+}:
+stdenv.mkDerivation rec {
+  pname = "cyanrip";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "cyanreg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lgb92sfpf4w3nj5vlj6j7931mj2q3cmcx1app9snf853jk9ahmw";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ ffmpeg libcdio libcdio-paranoia libmusicbrainz5 curl ];
+
+  meta = with lib; {
+    homepage = "https://github.com/cyanreg/cyanrip";
+    description = "Bule-ish CD ripper";
+    license = licenses.lgpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.zane ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix b/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix
new file mode 100644
index 0000000000..0d6a395b05
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/blockchains/erigon.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "erigon";
+  version = "2021.08.01";
+
+  src = fetchFromGitHub {
+    owner = "ledgerwatch";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-fjMkCCeQa/IHB4yXlL7Qi8J9wtZm90l3xIA72LeoW8M=";
+  };
+
+  vendorSha256 = "1vsgd19an592dblm9afasmh8cd0x2frw5pvnxkxd2fikhy2mibbs";
+  runVend = true;
+
+  # Build errors in mdbx when format hardening is enabled:
+  #   cc1: error: '-Wformat-security' ignored without '-Wformat' [-Werror=format-security]
+  hardeningDisable = [ "format" ];
+
+  subPackages = [
+    "cmd/erigon"
+    "cmd/evm"
+    "cmd/rpcdaemon"
+    "cmd/rlpdump"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/ledgerwatch/erigon/";
+    description = "Ethereum node implementation focused on scalability and modularity";
+    license = with licenses; [ lgpl3Plus gpl3Plus ];
+    maintainers = with maintainers; [ d-xo ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/blockchains/turbo-geth/default.nix b/third_party/nixpkgs/pkgs/applications/blockchains/turbo-geth/default.nix
deleted file mode 100644
index 58c0b45337..0000000000
--- a/third_party/nixpkgs/pkgs/applications/blockchains/turbo-geth/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, buildGoModule, fetchFromGitHub }:
-
-buildGoModule rec {
-  pname = "turbo-geth";
-  version = "2021.05.02";
-
-  src = fetchFromGitHub {
-    owner = "ledgerwatch";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-7sTRAAlKZOdwi/LRbIEDKWpBe1ol8pZfEf2KIC4s0xk=";
-  };
-
-  vendorSha256 = "1d0ahdb2b5v8nxq3kdxw151phnyv6habb8kr8qjaq3kyhcnyk6ng";
-  runVend = true;
-
-  subPackages = [
-    "cmd/tg"
-    "cmd/evm"
-    "cmd/rpcdaemon"
-    "cmd/rlpdump"
-  ];
-
-  meta = with lib; {
-    homepage = "https://github.com/ledgerwatch/turbo-geth/";
-    description = "Ethereum node and geth fork focused on scalability and modularity";
-    license = with licenses; [ lgpl3Plus gpl3Plus ];
-    maintainers = with maintainers; [ d-xo ];
-  };
-}
diff --git a/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix b/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix
index a36ff1cde4..315951b0e9 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/helix/default.nix
@@ -20,6 +20,7 @@ rustPlatform.buildRustPackage rec {
     description = "A post-modern modal text editor";
     homepage = "https://helix-editor.com";
     license = licenses.mpl20;
+    mainProgram = "hx";
     maintainers = with maintainers; [ yusdacra ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix b/third_party/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
index 55f75777be..7733f123ac 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/neovim/neovide/default.nix
@@ -3,13 +3,14 @@
 , lib
 , fetchFromGitHub
 , fetchgit
+, fetchurl
 , makeWrapper
 , pkg-config
 , python2
-, expat
 , openssl
 , SDL2
 , fontconfig
+, freetype
 , ninja
 , gn
 , llvmPackages
@@ -21,16 +22,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "neovide";
-  version = "unstable-2021-06-21";
+  version = "unstable-2021-08-08";
 
   src = fetchFromGitHub {
     owner = "Kethku";
     repo = "neovide";
-    rev = "4159c47ff4f30073b92b9d63fc6ab70e07b74b6d";
-    sha256 = "sha256-XwirJGXMGxc/NkpSeHBUc16ppvJ+H4ECnrOVu030Qfg=";
+    rev = "725f12cafd4a26babd0d6bbcbca9a99c181991ac";
+    sha256 = "sha256-ThMobWKe3wHhR15TmmKrI6Gp1wvGVfJ52MzibK0ubkc=";
   };
 
-  cargoSha256 = "sha256-WCk9kt81DtBwpEEdKH9gKQSVxAvH+vkyP2y24tU+vzY=";
+  cargoSha256 = "sha256-5lOGncnyA8DwetY5bU6k2KXNClFgp+xIBEeA0/iwGF0=";
 
   SKIA_SOURCE_DIR =
     let
@@ -38,8 +39,8 @@ rustPlatform.buildRustPackage rec {
         owner = "rust-skia";
         repo = "skia";
         # see rust-skia:skia-bindings/Cargo.toml#package.metadata skia
-        rev = "m90-0.38.3";
-        sha256 = "sha256-l8c4vfO1PELAT8bDyr/yQGZetZsaufAlJ6bBOXz7E1w=";
+        rev = "m91-0.39.4";
+        sha256 = "sha256-ovlR1vEZaQqawwth/UYVUSjFu+kTsywRpRClBaE1CEA=";
       };
       # The externals for skia are taken from skia/DEPS
       externals = lib.mapAttrs (n: v: fetchgit v) (lib.importJSON ./skia-externals.json);
@@ -79,10 +80,20 @@ rustPlatform.buildRustPackage rec {
   doCheck = false;
 
   buildInputs = [
-    expat
     openssl
     SDL2
-    fontconfig
+    (fontconfig.overrideAttrs (old: {
+      propagatedBuildInputs = [
+        # skia is not compatible with freetype 2.11.0
+        (freetype.overrideAttrs (old: rec {
+          version = "2.10.4";
+          src = fetchurl {
+            url = "mirror://savannah/${old.pname}/${old.pname}-${version}.tar.xz";
+            sha256 = "112pyy215chg7f7fmp2l9374chhhpihbh8wgpj5nj6avj3c59a46";
+          };
+        }))
+      ];
+    }))
   ];
 
   postFixup = ''
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix
index a7f9fb328f..7279d6bf60 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/generic.nix
@@ -22,7 +22,7 @@ let
     inherit pname version src sourceRoot;
 
     passthru = {
-      inherit executableName tests updateScript;
+      inherit executableName longName tests updateScript;
       fhs = fhs {};
       fhsWithPackages = f: fhs { additionalPkgs = f; };
     };
diff --git a/third_party/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix b/third_party/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix
index d2c91f155d..8f4e7f0042 100644
--- a/third_party/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix
+++ b/third_party/nixpkgs/pkgs/applications/editors/vscode/with-extensions.nix
@@ -1,4 +1,4 @@
-{ lib, runCommand, buildEnv, vscode, makeWrapper
+{ lib, stdenv, runCommand, buildEnv, vscode, makeWrapper
 , vscodeExtensions ? [] }:
 
 /*
@@ -42,8 +42,7 @@
 */
 
 let
-
-  inherit (vscode) executableName;
+  inherit (vscode) executableName longName;
   wrappedPkgVersion = lib.getVersion vscode;
   wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name;
 
@@ -52,6 +51,9 @@ let
     paths = vscodeExtensions;
   };
 
+  extensionsFlag = lib.optionalString (vscodeExtensions != []) ''
+    --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
+  '';
 in
 
 # When no extensions are requested, we simply redirect to the original
@@ -62,7 +64,17 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
   dontPatchELF = true;
   dontStrip = true;
   meta = vscode.meta;
-} ''
+} (if stdenv.isDarwin then ''
+  mkdir -p $out/bin/
+  mkdir -p "$out/Applications/${longName}.app/Contents/MacOS"
+
+  for path in PkgInfo Frameworks Resources _CodeSignature Info.plist; do
+    ln -s "${vscode}/Applications/${longName}.app/Contents/$path" "$out/Applications/${longName}.app/Contents/"
+  done
+
+  makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
+  makeWrapper "${vscode}/Applications/${longName}.app/Contents/MacOS/Electron" "$out/Applications/${longName}.app/Contents/MacOS/Electron" ${extensionsFlag}
+'' else ''
   mkdir -p "$out/bin"
   mkdir -p "$out/share/applications"
   mkdir -p "$out/share/pixmaps"
@@ -70,7 +82,5 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
   ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png"
   ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
   ln -sT "${vscode}/share/applications/${executableName}-url-handler.desktop" "$out/share/applications/${executableName}-url-handler.desktop"
-  makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${lib.optionalString (vscodeExtensions != []) ''
-    --add-flags "--extensions-dir ${combinedExtensionsDrv}/share/vscode/extensions"
-  ''}
-''
+  makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" ${extensionsFlag}
+'')
diff --git a/third_party/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix b/third_party/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
index 8c9639e3fd..17a811aa87 100644
--- a/third_party/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/third_party/nixpkgs/pkgs/applications/graphics/openimageio/2.x.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.2.12.0";
+  version = "2.2.17.0";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "16z8lnsqhljbfaarfwx9rc95p0a9wxf4p271j6kxdfknjb88p56i";
+    sha256 = "0jqpb1zci911wdm928addsljxx8zsh0gzbhv9vbw6man4wi93h6h";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/third_party/nixpkgs/pkgs/applications/misc/archivebox/default.nix b/third_party/nixpkgs/pkgs/applications/misc/archivebox/default.nix
new file mode 100644
index 0000000000..bd1a98ef9c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/archivebox/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonApplication
+, fetchPypi
+, requests
+, mypy-extensions
+, django_3
+, django_extensions
+, dateparser
+, youtube-dl
+, python-crontab
+, croniter
+, w3lib
+, ipython
+}:
+
+let
+  django_3' = django_3.overridePythonAttrs (old: rec {
+    pname = "Django";
+    version = "3.1.7";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "sha256-Ms55Lum2oMu+w0ASPiKayfdl3/jCpK6SR6FLK6OjZac=";
+    };
+  });
+in
+
+buildPythonApplication rec {
+  pname = "archivebox";
+  version = "0.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-zHty7lTra6yab9d0q3EqsPG3F+lrnZL6PjQAbL1A2NY=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    mypy-extensions
+    django_3'
+    django_extensions
+    dateparser
+    youtube-dl
+    python-crontab
+    croniter
+    w3lib
+    ipython
+  ];
+
+  meta = with lib; {
+    description = "Open source self-hosted web archiving";
+    homepage = "https://archivebox.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/bklk/default.nix b/third_party/nixpkgs/pkgs/applications/misc/bklk/default.nix
new file mode 100644
index 0000000000..86b596d395
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/misc/bklk/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation rec {
+  pname = "bklk";
+  version = "unstable-2020-12-29";
+
+  src = fetchFromGitHub {
+    owner = "Ruunyox";
+    repo = pname;
+    rev = "26f3420aa5726e152a745278ddb98dc99c0a935e";
+    sha256 = "sha256-R3H6tv6fzQG41Y2rui0K8fdQ/+Ywnc5hqTPFjktrhF8=";
+  };
+
+  buildInputs = [ ncurses ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bklk $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Ncurses Binary Clock";
+    longDescription = "bklk is a simple binary clock for your terminal.";
+    homepage = "https://github.com/Ruunyox/bklk";
+    license = licenses.mit;
+    maintainers = with maintainers; [ j0hax ];
+    platforms = platforms.all;
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix b/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
index 387177a8c4..bfe9af7684 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/default.nix
@@ -100,13 +100,13 @@ in {
 
   application = mkSweetHome3D rec {
     pname = lib.toLower module + "-application";
-    version = "6.5.2";
+    version = "6.6";
     module = "SweetHome3D";
     description = "Design and visualize your future home";
     license = lib.licenses.gpl2Plus;
     src = fetchurl {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "1j0xm2vmcxxjmf12k8rfnisq9hd7hqaiyxrfbrbjxis9iq3kycp3";
+      sha256 = "sha256-CnVXpmodmyoZdqmt7OgRyzuLeDhkPhrAS/CldFM8SQs=";
     };
     desktopName = "Sweet Home 3D";
     icons = {
diff --git a/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix b/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
index 783ea3e794..d6ea3fccfa 100644
--- a/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/third_party/nixpkgs/pkgs/applications/misc/sweethome3d/editors.nix
@@ -99,14 +99,14 @@ in {
   };
 
   furniture-editor = mkEditorProject rec {
-    version = "1.27";
+    version = "1.28";
     module = "FurnitureLibraryEditor";
     pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = lib.licenses.gpl2;
     src = fetchurl {
       url = "mirror://sourceforge/sweethome3d/${module}-${version}-src.zip";
-      sha256 = "1zxbcn9awgax8lalzkc05f5yfwbgnrayc17fkyv5i19j4qb3r2a0";
+      sha256 = "sha256-r5xJlUctUdcknJfm8rbz+bdzFhqgHsHpHwxEC4mItws=";
     };
     desktopName = "Sweet Home 3D - Furniture Library Editor";
   };
diff --git a/third_party/nixpkgs/pkgs/applications/networking/aether/default.nix b/third_party/nixpkgs/pkgs/applications/networking/aether/default.nix
new file mode 100644
index 0000000000..ddb137137c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/applications/networking/aether/default.nix
@@ -0,0 +1,115 @@
+{ autoPatchelfHook, makeDesktopItem, lib, stdenv, wrapGAppsHook
+, alsa-lib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig
+, freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
+, libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
+, mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
+, fetchurl, fetchFromGitHub, imagemagick, copyDesktopItems
+}:
+
+let
+  binaryName = "AetherP2P";
+in
+stdenv.mkDerivation rec {
+  pname = "aether";
+  version = "2.0.0-dev.15";
+
+  srcs = [
+    (fetchurl {
+      url = "https://static.getaether.net/Releases/Aether-${version}/2011262249.19338c93/linux/Aether-${version}%2B2011262249.19338c93.tar.gz";
+      sha256 = "1hi8w83zal3ciyzg2m62shkbyh6hj7gwsidg3dn88mhfy68himf7";
+      # % in the url / canonical filename causes an error
+      name = "aether-tarball.tar.gz";
+    })
+    (fetchFromGitHub {
+      owner = "aethereans";
+      repo = "aether-app";
+      rev = "53b6c8b2a9253cbf056ea3ebb077e0e08cbc5b1d";
+      sha256 = "1kgkzh7ih2q9dsckdkinh5dbzvr7gdykf8yz6h8pyhvzyjhk1v0r";
+    })
+  ];
+
+  sourceRoot = "Aether-${version}+2011262249.19338c93";
+
+  # there is no logo in the tarball so we grab it from github and convert it in the build phase
+  buildPhase = ''
+    convert ../source/aether-core/aether/client/src/app/ext_dep/images/Linux-Windows-App-Icon.png -resize 512x512 aether.png
+  '';
+
+  dontWrapGApps = true;
+
+  buildInputs = [
+    alsa-lib
+    cups
+    libdrm
+    libuuid
+    libXdamage
+    libX11
+    libXScrnSaver
+    libXtst
+    libxcb
+    libxshmfence
+    mesa
+    nss
+  ];
+
+  nativeBuildInputs = [
+    imagemagick
+    autoPatchelfHook
+    wrapGAppsHook
+    copyDesktopItems
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = binaryName;
+      icon = pname;
+      desktopName = "Aether";
+      genericName = meta.description;
+      categories = "Network;";
+      mimeType = "x-scheme-handler/aether";
+    })
+  ];
+
+  installPhase =
+  let
+    libPath = lib.makeLibraryPath [
+      libcxx systemd libpulseaudio libdrm mesa
+      stdenv.cc.cc alsa-lib atk at-spi2-atk at-spi2-core cairo cups dbus expat fontconfig freetype
+      gdk-pixbuf glib gtk3 libnotify libX11 libXcomposite libuuid
+      libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
+      libXtst nspr nss libxcb pango systemd libXScrnSaver
+      libappindicator-gtk3 libdbusmenu
+    ];
+  in
+  ''
+    mkdir -p $out/{bin,opt/${binaryName},share/icons/hicolor/512x512/apps}
+    mv * $out/opt/${binaryName}
+
+    chmod +x $out/opt/${binaryName}/${binaryName}
+    patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+        $out/opt/${binaryName}/${binaryName}
+
+    wrapProgram $out/opt/${binaryName}/${binaryName} \
+        "''${gappsWrapperArgs[@]}" \
+        --prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}" \
+        --prefix LD_LIBRARY_PATH : ${libPath}
+
+    ln -s $out/opt/${binaryName}/${binaryName} $out/bin/
+
+    ln -s $out/opt/${binaryName}/aether.png $out/share/icons/hicolor/512x512/apps/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Peer-to-peer ephemeral public communities";
+    homepage = "https://getaether.net/";
+    downloadPage = "https://getaether.net/download/";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ maxhille ];
+    # other platforms could be supported by building from source
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cloudflared/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
index 61e2063f2c..c036890aad 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2021.8.1";
+  version = "2021.8.2";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    sha256 = "sha256-92Uq7hSqfsiES6dSCw4cotfLJ8TLRRO6QPkwQ8iv124=";
+    sha256 = "sha256-5PMKVWBOWkUhmCSttbhu7UdS3dLqr0epJpQL1jfS31c=";
   };
 
   vendorSha256 = null;
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
index bc04d28350..44ceb3f162 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-docs/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "terraform-docs";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "terraform-docs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Jm0ySxn4GFW4iAH3tOIvclcDGJMKzH7m7fhWnAf4+gs=";
+    sha256 = "sha256-PzGlEEhootf2SCOy7+11aST7NMTNhNMQWeZO40mrMYQ=";
   };
 
-  vendorSha256 = "sha256-IzmAlthE6SVvGHj72wrY1/KLehOv8Ck9VaTv5jMpt48=";
+  vendorSha256 = "sha256-T/jgFPBUQMATX7DoWsDR/VFjka7Vxk7F4taE25cdnTk=";
 
   subPackages = [ "." ];
 
diff --git a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 3091c95749..48923330af 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -3,6 +3,7 @@
 , buildGoPackage
 , fetchFromGitHub
 , callPackage
+, config
 }:
 let
   list = lib.importJSON ./providers.json;
@@ -50,12 +51,13 @@ let
     cloudfoundry = callPackage ./cloudfoundry {};
     gandi = callPackage ./gandi {};
     hcloud = callPackage ./hcloud {};
-    kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
     libvirt = callPackage ./libvirt {};
     linuxbox = callPackage ./linuxbox {};
     lxd = callPackage ./lxd {};
     vpsadmin = callPackage ./vpsadmin {};
     vercel = callPackage ./vercel {};
-  };
+  } // (lib.optionalAttrs (config.allowAliases or false) {
+    kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
+  });
 in
   automated-providers // special-providers
diff --git a/third_party/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix b/third_party/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
index d2e8e93d85..1bc51def0c 100644
--- a/third_party/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/networking/irc/catgirl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "catgirl";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchurl {
     url = "https://git.causal.agency/catgirl/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "0svpd2nqsr55ac98vczyhihs6pvgw7chspf6bdlwl98gch39dxif";
+    sha256 = "182l7yryqm1ffxqgz3i4lcnzwzpbpm2qvadddmj0xc8dh8513s0w";
   };
 
   nativeBuildInputs = [ ctags pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/applications/office/foliate/default.nix b/third_party/nixpkgs/pkgs/applications/office/foliate/default.nix
index 8226e8e38c..bcd42b361b 100644
--- a/third_party/nixpkgs/pkgs/applications/office/foliate/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/office/foliate/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
 , webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
-, gobject-introspection }:
+, gobject-introspection, glib-networking }:
 
 stdenv.mkDerivation rec {
   pname = "foliate";
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gettext
     glib
+    glib-networking
     gjs
     gtk3
     webkitgtk
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
index f2a5e2368b..c06c70e267 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/glab/default.nix
@@ -2,20 +2,26 @@
 
 buildGoModule rec {
   pname = "glab";
-  version = "1.18.1";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "profclems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ahP5y5i0SMj2+mP4RYc7MLZGElX5eLgKwiVhBYGOX2g=";
+    sha256 = "sha256-MHNhl6lrBqHZ6M4fVOnSDxEcF6RqfWHWx5cvUhRXJKw=";
   };
 
-  vendorSha256 = "sha256-ssVmqcJ/DxUqAkHm9tn4RwWuKzTHvxoqJquXPIRy4b8=";
+  vendorSha256 = "sha256-9+WBKc8PI0v6bnkC+78Ygv/eocQ3D7+xBb8lcv16QTE=";
   runVend = true;
 
-  # Tests are trying to access /homeless-shelter
-  doCheck = false;
+  ldflags = [
+    "-X main.version=${version}"
+  ];
+
+  preCheck = ''
+    # failed to read configuration:  mkdir /homeless-shelter: permission denied
+    export HOME=$TMPDIR
+  '';
 
   subPackages = [ "cmd/glab" ];
 
diff --git a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index e91192d53d..8774e69e48 100644
--- a/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -1,16 +1,23 @@
-{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl }:
+{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl, undmg }:
 
 let
   pname = "radicle-upstream";
-  version = "0.2.3";
+  version = "0.2.9";
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
-    sha256 =  "sha256-SL6plXZ+o7JchY/t/1702FK57fVjxllHqB8ZOma/43c=";
+  srcs = {
+    x86_64-linux = fetchurl {
+      url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
+      sha256 = "sha256-chju3ZEFFLOzE9FakUK2izm/5ejELdL/iWMtM3bRpWY=";
+    };
+    x86_64-darwin = fetchurl {
+      url = "https://releases.radicle.xyz/radicle-upstream-${version}.dmg";
+      sha256 = "sha256-OOqe4diRcJWHHOa6jBpljPoA3FQOKlghMhKGQ242GnM=";
+    };
   };
+  src = srcs.${stdenv.hostPlatform.system};
 
-  contents = appimageTools.extractType2 { inherit name src; };
+  contents = appimageTools.extract { inherit name src; };
 
   git-remote-rad = stdenv.mkDerivation rec {
     pname = "git-remote-rad";
@@ -25,40 +32,56 @@ let
       cp ${contents}/resources/git-remote-rad $out/bin/git-remote-rad
     '';
   };
-in
 
-# FIXME: a dependency of the `proxy` component of radicle-upstream (radicle-macros
-# v0.1.0) uses unstable rust features, making a from source build impossible at
-# this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
-appimageTools.wrapType2 {
-  inherit name src;
+  # FIXME: a dependency of the `proxy` component of radicle-upstream (radicle-macros
+  # v0.1.0) uses unstable rust features, making a from source build impossible at
+  # this time. See this PR for discussion: https://github.com/NixOS/nixpkgs/pull/105674
+  linux = appimageTools.wrapType2 {
+    inherit name src meta;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
+    profile = ''
+      export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+    '';
 
-  extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/${pname}
+    extraInstallCommands = ''
+      mv $out/bin/${name} $out/bin/${pname}
 
-    # this automatically adds the git-remote-rad binary to the users `PATH` so
-    # they don't need to mess around with shell profiles...
-    ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
+      # this automatically adds the git-remote-rad binary to the users `PATH` so
+      # they don't need to mess around with shell profiles...
+      ln -s ${git-remote-rad}/bin/git-remote-rad $out/bin/git-remote-rad
 
-    # desktop item
-    install -m 444 -D ${contents}/${pname}.desktop $out/share/applications/${pname}.desktop
-    substituteInPlace $out/share/applications/${pname}.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+      # desktop item
+      install -m 444 -D ${contents}/${pname}.desktop $out/share/applications/${pname}.desktop
+      substituteInPlace $out/share/applications/${pname}.desktop \
+        --replace 'Exec=AppRun' 'Exec=${pname}'
 
-    # icon
-    install -m 444 -D ${contents}/${pname}.png \
-      $out/share/icons/hicolor/512x512/apps/${pname}.png
-  '';
+      # icon
+      install -m 444 -D ${contents}/${pname}.png \
+        $out/share/icons/hicolor/512x512/apps/${pname}.png
+    '';
+  };
+
+  darwin = stdenv.mkDerivation {
+    inherit pname version src meta;
+
+    nativeBuildInputs = [ undmg ];
+
+    sourceRoot = ".";
+
+    installPhase = ''
+      mkdir -p $out/Applications
+      cp -r *.app $out/Applications
+    '';
+  };
 
   meta = with lib; {
     description = "A decentralized app for code collaboration";
     homepage = "https://radicle.xyz/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ d-xo ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
-}
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/third_party/nixpkgs/pkgs/applications/video/obs-studio/default.nix b/third_party/nixpkgs/pkgs/applications/video/obs-studio/default.nix
index d7784279c3..82040203c4 100644
--- a/third_party/nixpkgs/pkgs/applications/video/obs-studio/default.nix
+++ b/third_party/nixpkgs/pkgs/applications/video/obs-studio/default.nix
@@ -1,4 +1,6 @@
-{ config, lib, stdenv
+{ config
+, lib
+, stdenv
 , mkDerivation
 , fetchFromGitHub
 , addOpenGLRunpath
@@ -41,7 +43,8 @@
 let
   inherit (lib) optional optionals;
 
-in mkDerivation rec {
+in
+mkDerivation rec {
   pname = "obs-studio";
   version = "27.0.0";
 
@@ -61,7 +64,13 @@ in mkDerivation rec {
     ./Change-product_version-to-user_agent_product.patch
   ];
 
-  nativeBuildInputs = [ addOpenGLRunpath cmake pkg-config ];
+  nativeBuildInputs = [
+    addOpenGLRunpath
+    cmake
+    pkg-config
+    makeWrapper
+  ]
+  ++ optional scriptingSupport swig;
 
   buildInputs = [
     curl
@@ -81,10 +90,9 @@ in mkDerivation rec {
     wayland
     x264
     libvlc
-    makeWrapper
     mbedtls
   ]
-  ++ optionals scriptingSupport [ luajit swig python3 ]
+  ++ optionals scriptingSupport [ luajit python3 ]
   ++ optional alsaSupport alsa-lib
   ++ optional pulseaudioSupport libpulseaudio
   ++ optional pipewireSupport pipewire;
@@ -132,7 +140,7 @@ in mkDerivation rec {
     '';
     homepage = "https://obsproject.com";
     maintainers = with maintainers; [ jb55 MP2E V ];
-    license = licenses.gpl2;
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    license = licenses.gpl2Plus;
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/data/misc/hackage/pin.json b/third_party/nixpkgs/pkgs/data/misc/hackage/pin.json
index 212c14e482..e474bb8171 100644
--- a/third_party/nixpkgs/pkgs/data/misc/hackage/pin.json
+++ b/third_party/nixpkgs/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "7818431b8d25dc7951cd7f50369741e9966d2dc8",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/7818431b8d25dc7951cd7f50369741e9966d2dc8.tar.gz",
-  "sha256": "1fssc5r0482i03rcyvagql06p41qmr8vnyw6501zhbprvz0y1sd4",
-  "msg": "Update from Hackage at 2021-08-04T07:53:53Z"
+  "commit": "8977803787241e1474bdbb35cbc704c57cce6fcd",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/8977803787241e1474bdbb35cbc704c57cce6fcd.tar.gz",
+  "sha256": "1ivdqlmpdqpa5m5cdwdk6l258nmnz9a6466y8xs19x0wkdx4b738",
+  "msg": "Update from Hackage at 2021-08-07T10:52:35Z"
 }
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix b/third_party/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
index 4ad082dabf..c4f29e14f5 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome/core/mutter/default.nix
@@ -134,7 +134,7 @@ let self = stdenv.mkDerivation rec {
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
   passthru = {
-    libdir = "${self}/lib/mutter-7";
+    libdir = "${self}/lib/mutter-8";
 
     tests = {
       libdirExists = runCommand "mutter-libdir-exists" {} ''
diff --git a/third_party/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix b/third_party/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 9df9799889..674720b4ee 100644
--- a/third_party/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/third_party/nixpkgs/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -13,6 +13,8 @@
   "lockkeys@vaina.lt" = "lock-keys";
   "lockkeys@fawtytoo" = "lock-keys-2";
 
+  "system-monitor@paradoxxx.zero.gmail.com" = "system-monitor"; # manually packaged
+  "System_Monitor@bghome.gmail.com" = "system-monitor-2";
 
 
   # ############################################################################
diff --git a/third_party/nixpkgs/pkgs/development/compilers/ghc/head.nix b/third_party/nixpkgs/pkgs/development/compilers/ghc/head.nix
index 2ea14b78cc..685497b303 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/ghc/head.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/ghc/head.nix
@@ -40,7 +40,7 @@
 , # Whether to build terminfo.
   enableTerminfo ? !stdenv.targetPlatform.isWindows
 
-, version ? "9.3.20210504"
+, version ? "9.3.20210806"
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
   ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@@ -152,8 +152,8 @@ stdenv.mkDerivation (rec {
 
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/ghc.git/";
-    rev = "049c3a83fbce67e58e70c727d89e8331608a4e04";
-    sha256 = "0dk7c9ywam9fj33lqzpwxhiwz017m58j6ixvc8b07kzp7kskaxq7";
+    rev = "5d651c78fed7e55b3b3cd21a04499d1a2f75204d";
+    sha256 = "1z9xg8jsqr9id985wxfhkjyb3kpyrmr7vjdqzfv42cpxynd483r8";
   };
 
   enableParallelBuilding = true;
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
index c48e2a8433..faba5d97b7 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/10/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1yjqjri753w0fzmxcyz687nvd97sbc9rsqrxzpq720na47hwh3fr";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
index 65b024e8cc..89b47df405 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/11/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0x1j8ngf1zj63wlnns9vlibafq48qcm72p4jpaxkmkb4qw0grwfy";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
 
   NIX_CFLAGS_COMPILE = [
     "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
index fdc134bdf4..16f58616aa 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1950rg294izdwkaasi7yjrmadc9mzdd5paf0q63jjcq2m3rdbj5l";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
index eb3446342b..9557f9d2d8 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/13/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, src, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, src, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   inherit src;
   sourceRoot = "source/compiler-rt";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
index dce7cde371..9f937ed140 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/5/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0ipd4jdxpczgr2w6lzrabymz6dhzj69ywmyybjjc1q397zgrvziy";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
index d97333bc50..7ee0943a88 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/6/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1fcr3jn24yr8lh36nc0c4ikli4744i2q9m1ik67p1jymwwaixkgl";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
index 87ebc3eff0..f6190b7991 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/7/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "1n48p8gjarihkws0i2bay5w9bdwyxyxxbpwyng7ba58jb30dlyq5";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
index a3ce09cba9..bbaae80373 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/8/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0dqqf8f930l8gag4d9qjgn1n0pj0nbv2anviqqhdi1rkhas8z0hi";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
index a3db5c0ad6..4dc75bd1c1 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/9/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, fetch, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   inherit version;
   src = fetch "compiler-rt" "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix b/third_party/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
index eb3446342b..9557f9d2d8 100644
--- a/third_party/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
+++ b/third_party/nixpkgs/pkgs/development/compilers/llvm/git/compiler-rt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, llvm_meta, version, src, cmake, python3, llvm, libcxxabi }:
+{ lib, stdenv, llvm_meta, version, src, cmake, python3, libllvm, libcxxabi }:
 
 let
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   inherit src;
   sourceRoot = "source/compiler-rt";
 
-  nativeBuildInputs = [ cmake python3 llvm.dev ];
+  nativeBuildInputs = [ cmake python3 libllvm.dev ];
   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
   NIX_CFLAGS_COMPILE = [
diff --git a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
index f5c05c0c71..6683dcc55b 100644
--- a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
+++ b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-common.nix
@@ -1937,4 +1937,9 @@ EOT
     sha256 = "0l15ccfdys100jf50s9rr4p0d0ikn53bkh7a9qlk9i0y0z5jc6x1";
   });
 
+  # Needs Cabal >= 3.4
+  chs-cabal = super.chs-cabal.override {
+    Cabal = self.Cabal_3_6_0_0;
+  };
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 7ab9fc76f8..11a78272fa 100644
--- a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -713,6 +713,8 @@ broken-packages:
   - combinatorial-problems
   - combinator-interactive
   - combobuffer
+  - comfort-array-shape
+  - comfort-fftw
   - Command
   - commander
   - Commando
@@ -2230,6 +2232,7 @@ broken-packages:
   - hscd
   - hs-cdb
   - hscdio
+  - hscim
   - hsclock
   - hScraper
   - hscuid
@@ -4034,6 +4037,7 @@ broken-packages:
   - robin
   - robots-txt
   - roc-cluster
+  - rocksdb-haskell
   - roku-api
   - rollbar
   - rollbar-client
diff --git a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index c476862fb0..67da108858 100644
--- a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -97,6 +97,7 @@ extra-packages:
   - Cabal == 2.2.*                      # required for jailbreak-cabal etc.
   - Cabal == 2.4.*                      # required for cabal-install etc.
   - Cabal == 3.2.*                      # required for cabal-install etc.
+  - Cabal == 3.4.*                      # required for cabal-install etc.
   - dependent-map == 0.2.4.0            # required by Hasura 1.3.1, 2020-08-20
   - dependent-sum == 0.4                # required by Hasura 1.3.1, 2020-08-20
   - dhall == 1.29.0                     # required for ats-pkg
@@ -236,6 +237,7 @@ package-maintainers:
     - stm-containers
     - streamly
     - taskwarrior
+    - witch
   pacien:
     - ldgallery-compiler
   peti:
@@ -372,6 +374,7 @@ unsupported-platforms:
   gtk-sni-tray:                                 [ x86_64-darwin ]
   haskell-snake:                                [ x86_64-darwin ]
   hcwiid:                                       [ x86_64-darwin ]
+  hevm:                                         [ aarch64-linux ] # depends on sbv, which is not supported on aarch64-linux
   HFuse:                                        [ x86_64-darwin ]
   hidapi:                                       [ x86_64-darwin ]
   hinotify-bytestring:                          [ x86_64-darwin ]
diff --git a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 3186c36990..fe7cf4b215 100644
--- a/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/third_party/nixpkgs/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -406,6 +406,7 @@ dont-distribute-packages:
  - algebra-driven-design
  - algebra-sql
  - algolia
+ - align-audio
  - alms
  - alpha
  - alsa-gui
@@ -1539,6 +1540,7 @@ dont-distribute-packages:
  - hmeap-utils
  - hmep
  - hmm-lapack
+ - hmm-lapack_0_4_1
  - hmt
  - hmt-diagrams
  - hnormalise
@@ -1888,6 +1890,8 @@ dont-distribute-packages:
  - lapack
  - lapack-carray
  - lapack-comfort-array
+ - lapack-comfort-array_0_0_1
+ - lapack_0_4
  - lat
  - latex-formulae-hakyll
  - latex-formulae-pandoc
@@ -1932,6 +1936,7 @@ dont-distribute-packages:
  - lighttpd-conf
  - lighttpd-conf-qq
  - linear-circuit
+ - linear-circuit_0_1_0_3
  - linearmap-category
  - linearscan-hoopl
  - linkchk
@@ -2010,6 +2015,7 @@ dont-distribute-packages:
  - magic-wormhole
  - magicbane
  - magico
+ - magico_0_0_2_2
  - mahoro
  - maid
  - mail-pool
@@ -2560,6 +2566,7 @@ dont-distribute-packages:
  - representable-tries
  - req-oauth2
  - resistor-cube
+ - resistor-cube_0_0_1_3
  - resource-pool-catchio
  - resource-simple
  - respond
@@ -3120,6 +3127,7 @@ dont-distribute-packages:
  - venzone
  - verdict-json
  - versioning-servant
+ - vessel
  - vflow-types
  - vformat-aeson
  - vformat-time
diff --git a/third_party/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix b/third_party/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
index 315edc5317..8042c63fbc 100644
--- a/third_party/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/third_party/nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2762,6 +2762,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "Cabal_3_6_0_0" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers
+     , deepseq, directory, filepath, mtl, parsec, pretty, process, text
+     , time, transformers, unix
+     }:
+     mkDerivation {
+       pname = "Cabal";
+       version = "3.6.0.0";
+       sha256 = "0xkyip9fm1k4cwjifqsh12xwi7za5lcbszqkl11gjyx6nxddzdhv";
+       setupHaskellDepends = [ mtl parsec ];
+       libraryHaskellDepends = [
+         array base binary bytestring containers deepseq directory filepath
+         mtl parsec pretty process text time transformers unix
+       ];
+       doCheck = false;
+       description = "A framework for packaging Haskell software";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "Cabal-ide-backend" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, Cabal, containers
      , deepseq, directory, extensible-exceptions, filepath, HUnit
@@ -25359,6 +25379,8 @@ self: {
        pname = "aeson-with";
        version = "0.1.2.0";
        sha256 = "0zj8jjsq26i6k8m3zfszpjxnnkar3gmvdw1adl9rxlgha2v5kfz8";
+       revision = "2";
+       editedCabalFile = "1li326p1vvgfs54pai7xswssj67j58prr40pqzhmlgs8v193q175";
        libraryHaskellDepends = [
          aeson base lens lens-aeson scientific text unordered-containers
          vector
@@ -26639,6 +26661,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "align-audio" = callPackage
+    ({ mkDerivation, base, comfort-array, comfort-fftw, containers
+     , netlib-ffi, numeric-prelude, optparse-applicative, shell-utility
+     , soxlib, storablevector, Stream, synthesizer-core, utility-ht
+     }:
+     mkDerivation {
+       pname = "align-audio";
+       version = "0.0";
+       sha256 = "0sa7q5fzkc0z4vzibs5l21pvrkil0swdpbl27qn30vb6giy3yh7a";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base comfort-array comfort-fftw containers netlib-ffi
+         numeric-prelude optparse-applicative shell-utility soxlib
+         storablevector Stream synthesizer-core utility-ht
+       ];
+       description = "Find relative time displacement of two recordings of the same music";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "align-text" = callPackage
     ({ mkDerivation, base, optparse-applicative, text }:
      mkDerivation {
@@ -31071,6 +31114,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "apecs_0_9_3" = callPackage
+    ({ mkDerivation, array, base, containers, criterion, exceptions
+     , linear, mtl, QuickCheck, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "apecs";
+       version = "0.9.3";
+       sha256 = "02qi63bj0prvmxi6ksw2cq0b7fvhcdv8fgbsjbv7vf51p4c6rbh7";
+       libraryHaskellDepends = [
+         array base containers exceptions mtl template-haskell vector
+       ];
+       testHaskellDepends = [ base containers linear QuickCheck vector ];
+       benchmarkHaskellDepends = [ base criterion linear ];
+       description = "Fast Entity-Component-System library for game programming";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "apecs-gloss" = callPackage
     ({ mkDerivation, apecs, apecs-physics, base, containers, gloss
      , linear
@@ -31119,8 +31180,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs-stm";
-       version = "0.1.4";
-       sha256 = "1x9bc3b0x7s7sphr4wzz4mnzz97n2rz3kn48rs889cvqa825dgr9";
+       version = "0.1.5";
+       sha256 = "10zfmc1zgmw5fkrrcs0mnsb2h44b0zfn2y7w1ld47skvmz580dxp";
        libraryHaskellDepends = [
          apecs base containers list-t stm stm-containers template-haskell
          vector
@@ -37087,6 +37148,8 @@ self: {
        pname = "aws-transcribe-ws";
        version = "0.0.1.0";
        sha256 = "151mlkgbb1lnhqwb4xwriqyj05fsz2dam3sr65j4zh476dmyv6bk";
+       revision = "1";
+       editedCabalFile = "032n5y32wq8pq8pky1qmjp34p7np72lkq89r7fr8fl8jl9hv6h26";
        libraryHaskellDepends = [
          aeson async base base16-bytestring binary bytestring crc
          cryptohash-sha256 lens stm text time websockets wuss
@@ -40587,7 +40650,7 @@ self: {
        license = lib.licenses.gpl2Plus;
      }) {};
 
-  "binary_0_8_8_0" = callPackage
+  "binary_0_8_9_0" = callPackage
     ({ mkDerivation, array, attoparsec, base, base-orphans, bytestring
      , Cabal, cereal, containers, criterion, deepseq, directory
      , filepath, generic-deriving, HUnit, mtl, QuickCheck, random
@@ -40596,8 +40659,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary";
-       version = "0.8.8.0";
-       sha256 = "01dwxak6j4499599r22c422js68gn6irxfa3hplzhn7rrx82r6h5";
+       version = "0.8.9.0";
+       sha256 = "0nv1jpa4c982ic1pqi9nb7n1rsj1vwbi733yim3j3vh5pn45cv2v";
        libraryHaskellDepends = [ array base bytestring containers ];
        testHaskellDepends = [
          array base base-orphans bytestring Cabal containers directory
@@ -43726,6 +43789,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "blas-comfort-array_0_0_0_3" = callPackage
+    ({ mkDerivation, base, blas-ffi, comfort-array
+     , netlib-comfort-array, netlib-ffi, storable-complex, transformers
+     }:
+     mkDerivation {
+       pname = "blas-comfort-array";
+       version = "0.0.0.3";
+       sha256 = "1g0bvag205ag520vlxv24cv63idjg6j8nwnadq9gbcibn4gvsisz";
+       libraryHaskellDepends = [
+         base blas-ffi comfort-array netlib-comfort-array netlib-ffi
+         storable-complex transformers
+       ];
+       description = "Auto-generated interface to Fortran BLAS via comfort-array";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "blas-ffi" = callPackage
     ({ mkDerivation, base, blas, netlib-ffi }:
      mkDerivation {
@@ -44605,6 +44685,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "bnb-staking-csvs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava, hedgehog, req
+     , scientific, tasty, tasty-hedgehog, tasty-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "bnb-staking-csvs";
+       version = "0.1.0.0";
+       sha256 = "0dy68qklr8zajcmw4zff921n35j99klgndpgpq0ra9k3g6n22gkn";
+       revision = "1";
+       editedCabalFile = "0pjrkqkjyq3hl14q7k9sx2xia06z06lv2i1sfs0vbcc3fh1s3wn1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cassava req scientific text time
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       description = "Generate CSV Exports of Your BNB Staking Rewards";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "bno055-haskell" = callPackage
     ({ mkDerivation, base, bytestring, cereal, h2c, mtl, resourcet }:
      mkDerivation {
@@ -54695,10 +54798,8 @@ self: {
     ({ mkDerivation, base, Cabal, chs-deps }:
      mkDerivation {
        pname = "chs-cabal";
-       version = "0.1.1.0";
-       sha256 = "0zan47md9zivzc1gd1j1g0200n8d0ffx4dcmkd9vriqjsdwhqvl5";
-       revision = "2";
-       editedCabalFile = "1axn8xmnrk42j1b8bxykbrqjy1ia0ajg27jirjb2gix1vvvpxb1d";
+       version = "0.1.1.1";
+       sha256 = "0fvf26394rpn9g4f3rp13bq8rrhzs9d95k7nbcpayzml2j9rsv3l";
        libraryHaskellDepends = [ base Cabal chs-deps ];
        description = "Cabal with c2hs dependencies";
        license = lib.licenses.bsd3;
@@ -58025,8 +58126,8 @@ self: {
      }:
      mkDerivation {
        pname = "code-conjure";
-       version = "0.4.0";
-       sha256 = "0f9v482xarv91d4bpffyjam4l16qq21z2q2vycpdjb5ximinwdv7";
+       version = "0.4.2";
+       sha256 = "1y8pg8siz4myia38bbyzaibargkjbsls57i9n79w0z63kqij6wn4";
        libraryHaskellDepends = [
          base express leancheck speculate template-haskell
        ];
@@ -59305,6 +59406,75 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "comfort-array_0_5_1" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, containers, deepseq
+     , doctest-exitcode-stdio, doctest-lib, guarded-allocation
+     , non-empty, prelude-compat, primitive, QuickCheck, semigroups
+     , storable-record, storablevector, tagged, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "comfort-array";
+       version = "0.5.1";
+       sha256 = "0kx4z07a15jrc3dzaxx1335j1wxkgkajmyiraf5wb18l3xyd36b4";
+       libraryHaskellDepends = [
+         base containers deepseq guarded-allocation non-empty prelude-compat
+         primitive QuickCheck semigroups storable-record storablevector
+         tagged transformers utility-ht
+       ];
+       testHaskellDepends = [
+         base ChasingBottoms containers doctest-exitcode-stdio doctest-lib
+         QuickCheck tagged
+       ];
+       description = "Arrays where the index type is a function of the shape type";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "comfort-array-shape" = callPackage
+    ({ mkDerivation, base, ChasingBottoms, comfort-array, containers
+     , doctest-exitcode-stdio, doctest-lib, fixed-length, non-empty
+     , QuickCheck, tagged, tfp, utility-ht
+     }:
+     mkDerivation {
+       pname = "comfort-array-shape";
+       version = "0.0";
+       sha256 = "0caw0d9566qi9difgprfg3g9yqfiks2ycqjbr7wx7xcplagqdcn7";
+       libraryHaskellDepends = [
+         base comfort-array fixed-length non-empty tfp utility-ht
+       ];
+       testHaskellDepends = [
+         base ChasingBottoms comfort-array containers doctest-exitcode-stdio
+         doctest-lib fixed-length QuickCheck tagged tfp
+       ];
+       doHaddock = false;
+       description = "Additional shape types for the comfort-array package";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "comfort-fftw" = callPackage
+    ({ mkDerivation, base, comfort-array, deepseq
+     , doctest-exitcode-stdio, doctest-lib, fftw-ffi, netlib-ffi
+     , non-empty, QuickCheck, storable-record
+     }:
+     mkDerivation {
+       pname = "comfort-fftw";
+       version = "0.0";
+       sha256 = "1g43fj1wmzdsfqz9axrq35bp2ad2900zcqvf9b2w57k3pl2cdk65";
+       libraryHaskellDepends = [
+         base comfort-array deepseq fftw-ffi netlib-ffi QuickCheck
+       ];
+       testHaskellDepends = [
+         base comfort-array deepseq doctest-exitcode-stdio doctest-lib
+         netlib-ffi non-empty QuickCheck storable-record
+       ];
+       description = "High-level interface to FFTW (Fast Fourier Transform) based on comfort-array";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "comfort-graph" = callPackage
     ({ mkDerivation, base, containers, QuickCheck, semigroups
      , transformers, utility-ht
@@ -59398,16 +59568,21 @@ self: {
      }) {};
 
   "commander-cli" = callPackage
-    ({ mkDerivation, base, bytestring, commandert, containers, mtl
-     , text, unordered-containers
+    ({ mkDerivation, base, bytestring, commandert, containers
+     , directory, mtl, process, text, unordered-containers
      }:
      mkDerivation {
        pname = "commander-cli";
-       version = "0.10.1.2";
-       sha256 = "0hkz657j9rpmda1rr4v7696216xxwjwpzgc5npg5ajhdk74w1vz0";
+       version = "0.10.2.0";
+       sha256 = "1cp7g04ag1pkcqlckpzxfq3x4vw7yd6v9vzhhp228pjc1f36iqgx";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base bytestring commandert containers mtl text unordered-containers
        ];
+       executableHaskellDepends = [
+         base commandert directory mtl process text
+       ];
        testHaskellDepends = [ base commandert text unordered-containers ];
        description = "A command line argument/option parser library";
        license = lib.licenses.mit;
@@ -59417,8 +59592,8 @@ self: {
     ({ mkDerivation, base, hspec, mtl }:
      mkDerivation {
        pname = "commandert";
-       version = "0.1.0.0";
-       sha256 = "0r4qkiw4jzqjkzcimpm6adwq56gj31sqrm0cjddhlwskjbp73g71";
+       version = "0.1.1.0";
+       sha256 = "0li8ja7j8386k5j7l6vczq3g74bnj0qrz4n4f1hkgf82sg333jxz";
        libraryHaskellDepends = [ base mtl ];
        testHaskellDepends = [ base hspec mtl ];
        description = "A monad for commanders";
@@ -60326,8 +60501,8 @@ self: {
        pname = "composite-dhall";
        version = "0.0.1.0";
        sha256 = "1hhy3incp4j8n0c8jyk12qi9zgxmwqpvb08zhc8rql855g88rpfq";
-       revision = "2";
-       editedCabalFile = "16ki1iii379yn1qwxs76qfjm4wvkysdm15b60m24v1gz1vkxidhi";
+       revision = "3";
+       editedCabalFile = "0c6mim2i1bzdnm19cglm01i6kf0yka8i5nwjl7wcczvqy27fqlrz";
        libraryHaskellDepends = [ base composite-base dhall lens text ];
        description = "Dhall instances for composite records";
        license = lib.licenses.mit;
@@ -102551,8 +102726,8 @@ self: {
     ({ mkDerivation, base, ghc, transformers }:
      mkDerivation {
        pname = "ghc-tcplugin-api";
-       version = "0.2.0.0";
-       sha256 = "0x58s2ip5p59vpx1x6lwdq46vxjfx6b28yzxjpd9pb148x787yfd";
+       version = "0.3.0.0";
+       sha256 = "129pcvbyp416gimqva8s368kq64sp17lsyxr2z6j6qbif2xl9pcy";
        libraryHaskellDepends = [ base ghc transformers ];
        description = "An API for type-checker plugins";
        license = lib.licenses.bsd3;
@@ -110301,23 +110476,24 @@ self: {
      }) {};
 
   "gotyno-hs" = callPackage
-    ({ mkDerivation, base, fsnotify, hspec, megaparsec
+    ({ mkDerivation, aeson, base, fsnotify, hspec, megaparsec
      , optparse-applicative, pretty-show, rio, text
      }:
      mkDerivation {
        pname = "gotyno-hs";
-       version = "1.0.2";
-       sha256 = "1jn6bi0c5ciqw8lsd331mww47mz5qy3bb3672gk00q4pvyl7idkr";
+       version = "1.1.0";
+       sha256 = "06iyihagbsxddn2lq26razb5q6j3g4mwb134lb62caw3r7iyxfd7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base fsnotify megaparsec pretty-show rio text
+         aeson base fsnotify megaparsec pretty-show rio text
        ];
        executableHaskellDepends = [
-         base fsnotify megaparsec optparse-applicative pretty-show rio text
+         aeson base fsnotify megaparsec optparse-applicative pretty-show rio
+         text
        ];
        testHaskellDepends = [
-         base fsnotify hspec megaparsec pretty-show rio text
+         aeson base fsnotify hspec megaparsec pretty-show rio text
        ];
        description = "A type definition compiler supporting multiple output languages";
        license = lib.licenses.bsd2;
@@ -126848,6 +127024,9 @@ self: {
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = lib.licenses.agpl3Only;
+       platforms = [
+         "armv7l-linux" "i686-linux" "x86_64-darwin" "x86_64-linux"
+       ];
      }) {inherit (pkgs) libff; inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
@@ -131862,6 +132041,34 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "hmm-lapack_0_4_1" = callPackage
+    ({ mkDerivation, base, comfort-array, comfort-array-shape
+     , containers, deepseq, doctest-exitcode-stdio, doctest-lib
+     , explicit-exception, fixed-length, lapack, lazy-csv, netlib-ffi
+     , non-empty, prelude-compat, QuickCheck, random, semigroups, tfp
+     , transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "hmm-lapack";
+       version = "0.4.1";
+       sha256 = "0m0axils10dr49b7ag8cnfnlwb9va6ng615hhbpqw81kir6avq6z";
+       libraryHaskellDepends = [
+         base comfort-array comfort-array-shape containers deepseq
+         explicit-exception fixed-length lapack lazy-csv netlib-ffi
+         non-empty prelude-compat random semigroups tfp transformers
+         utility-ht
+       ];
+       testHaskellDepends = [
+         base comfort-array comfort-array-shape containers deepseq
+         doctest-exitcode-stdio doctest-lib fixed-length lapack non-empty
+         QuickCheck random tfp utility-ht
+       ];
+       doHaddock = false;
+       description = "Hidden Markov Models using LAPACK primitives";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hmp3" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , directory, mersenne-random, ncurses, old-time, pcre-light
@@ -136985,6 +137192,56 @@ self: {
        license = lib.licenses.lgpl3Only;
      }) {};
 
+  "hscim" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, bytestring
+     , case-insensitive, email-validate, hashable, hedgehog, hspec
+     , hspec-discover, hspec-expectations, hspec-wai, http-api-data
+     , http-media, http-types, hw-hspec-hedgehog, list-t, microlens
+     , mmorph, mtl, network-uri, retry, scientific, servant
+     , servant-server, stm, stm-containers, string-conversions
+     , template-haskell, text, time, unordered-containers, uuid, wai
+     , wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "hscim";
+       version = "0.3.4";
+       sha256 = "0jyb630gsbiw7zy043mqh9i86nj19y0gn0mgs9hvh21h8xfp6xvj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-qq attoparsec base bytestring case-insensitive
+         email-validate hashable hedgehog hspec hspec-expectations hspec-wai
+         http-api-data http-media http-types hw-hspec-hedgehog list-t
+         microlens mmorph mtl network-uri retry scientific servant
+         servant-server stm stm-containers string-conversions
+         template-haskell text time unordered-containers uuid wai wai-extra
+         warp
+       ];
+       executableHaskellDepends = [
+         aeson aeson-qq attoparsec base bytestring case-insensitive
+         email-validate hashable hedgehog hspec hspec-expectations hspec-wai
+         http-api-data http-media http-types hw-hspec-hedgehog list-t
+         microlens mmorph mtl network-uri retry scientific servant
+         servant-server stm stm-containers string-conversions
+         template-haskell text time unordered-containers uuid wai wai-extra
+         warp
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq attoparsec base bytestring case-insensitive
+         email-validate hashable hedgehog hspec hspec-expectations hspec-wai
+         http-api-data http-media http-types hw-hspec-hedgehog list-t
+         microlens mmorph mtl network-uri retry scientific servant
+         servant-server stm stm-containers string-conversions
+         template-haskell text time unordered-containers uuid wai wai-extra
+         warp
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "hscim json schema and server implementation";
+       license = lib.licenses.agpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hsclock" = callPackage
     ({ mkDerivation, base, cairo, glib, gtk, old-time }:
      mkDerivation {
@@ -149397,6 +149654,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "interpolation_0_1_1_2" = callPackage
+    ({ mkDerivation, array, base, containers, doctest-exitcode-stdio
+     , doctest-lib, QuickCheck, utility-ht
+     }:
+     mkDerivation {
+       pname = "interpolation";
+       version = "0.1.1.2";
+       sha256 = "0y61hwm4xfa1wna4xk61c5p3b3z8i589lz6cxkk2pbaifydccxy0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base utility-ht ];
+       testHaskellDepends = [
+         array base containers doctest-exitcode-stdio doctest-lib QuickCheck
+         utility-ht
+       ];
+       description = "piecewise linear and cubic Hermite interpolation";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "interpolator" = callPackage
     ({ mkDerivation, aeson, base, containers, either, hspec
      , mono-traversable, mtl, product-profunctors, profunctors
@@ -156219,8 +156496,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.0.0";
-       sha256 = "05h4dp27sp23ihmr8hvflqr1bqyf590s607sxl9vc1k46k9hc179";
+       version = "0.1.0.1";
+       sha256 = "1hvrnyw1m03v36xyak514a4v0l2jrwz7mr5k3jqzdmab4srz887s";
        libraryHaskellDepends = [
          adjunctions base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin distributive foldl geomancy GLFW-b ktx-codec
@@ -156235,13 +156512,15 @@ self: {
      }) {};
 
   "keid-geometry" = callPackage
-    ({ mkDerivation, base, geomancy, keid-core, rio, rio-app, vulkan }:
+    ({ mkDerivation, base, geomancy, keid-core, mtl, rio, rio-app
+     , vector, vulkan
+     }:
      mkDerivation {
        pname = "keid-geometry";
-       version = "0.1.0.0";
-       sha256 = "1bhmxgbza1l9qr25g8ad31j70z1dmvsa5gd05fgpwha9liixahsc";
+       version = "0.1.0.1";
+       sha256 = "0cnvgkqcc4nqvsbm9h6kn1l3sgs7dlhcb7iq6z18ynwry8z510w0";
        libraryHaskellDepends = [
-         base geomancy keid-core rio rio-app vulkan
+         base geomancy keid-core mtl rio rio-app vector vulkan
        ];
        description = "Geometry primitives for Keid engine";
        license = lib.licenses.bsd3;
@@ -156251,19 +156530,19 @@ self: {
   "keid-render-basic" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, cryptohash-md5
      , derive-storable, derive-storable-plugin, foldl, geomancy, GLFW-b
-     , keid-core, neat-interpolation, resourcet, rio, rio-app, tagged
-     , text, unliftio, vector, vulkan, vulkan-utils
+     , keid-core, keid-geometry, neat-interpolation, resourcet, rio
+     , rio-app, tagged, text, unliftio, vector, vulkan, vulkan-utils
      , VulkanMemoryAllocator, zstd
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.0.0";
-       sha256 = "1rjvf5bxh3llfq1pd9hwy8laida9rhw4f49ca5hn69cnpchpngmy";
+       version = "0.1.1.0";
+       sha256 = "0j8474chg9qbknj71nd288h8r5652rk55vax7y5nzm5qznbirg1b";
        libraryHaskellDepends = [
          aeson base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin foldl geomancy GLFW-b keid-core
-         neat-interpolation resourcet rio rio-app tagged text unliftio
-         vector vulkan vulkan-utils VulkanMemoryAllocator zstd
+         keid-geometry neat-interpolation resourcet rio rio-app tagged text
+         unliftio vector vulkan vulkan-utils VulkanMemoryAllocator zstd
        ];
        description = "Basic rendering programs for Keid engine";
        license = lib.licenses.bsd3;
@@ -160116,6 +160395,37 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lapack_0_4" = callPackage
+    ({ mkDerivation, base, blas-ffi, blaze-html, boxes, ChasingBottoms
+     , comfort-array, comfort-array-shape, data-ref, deepseq
+     , doctest-exitcode-stdio, fixed-length, guarded-allocation, hyper
+     , lapack-ffi, lazyio, monoid-transformer, netlib-ffi, non-empty
+     , QuickCheck, quickcheck-transformer, random, semigroups, Stream
+     , tagged, text, tfp, transformers, unique-logic-tf, utility-ht
+     }:
+     mkDerivation {
+       pname = "lapack";
+       version = "0.4";
+       sha256 = "138vy9nxvqlv2lkgq5i9fkyf6140vw6pk60374vjcgv2h8hkkbqd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blas-ffi blaze-html boxes comfort-array comfort-array-shape
+         deepseq fixed-length guarded-allocation hyper lapack-ffi lazyio
+         netlib-ffi non-empty semigroups Stream tagged text tfp transformers
+         utility-ht
+       ];
+       testHaskellDepends = [
+         base ChasingBottoms comfort-array comfort-array-shape data-ref
+         doctest-exitcode-stdio monoid-transformer netlib-ffi non-empty
+         QuickCheck quickcheck-transformer random semigroups tfp
+         transformers unique-logic-tf utility-ht
+       ];
+       description = "Numerical Linear Algebra using LAPACK";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lapack-carray" = callPackage
     ({ mkDerivation, base, carray, lapack-ffi, netlib-carray
      , netlib-ffi, storable-complex, transformers
@@ -160150,6 +160460,23 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "lapack-comfort-array_0_0_1" = callPackage
+    ({ mkDerivation, base, comfort-array, lapack-ffi
+     , netlib-comfort-array, netlib-ffi, storable-complex, transformers
+     }:
+     mkDerivation {
+       pname = "lapack-comfort-array";
+       version = "0.0.1";
+       sha256 = "1p4vfw95qnd48cbizncb7b7fgzkxbv7r3rp3ffw6r11wymhm67q0";
+       libraryHaskellDepends = [
+         base comfort-array lapack-ffi netlib-comfort-array netlib-ffi
+         storable-complex transformers
+       ];
+       description = "Auto-generated interface to Fortran LAPACK via comfort-array";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lapack-ffi" = callPackage
     ({ mkDerivation, base, liblapack, netlib-ffi }:
      mkDerivation {
@@ -164383,6 +164710,28 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "linear-circuit_0_1_0_3" = callPackage
+    ({ mkDerivation, base, comfort-array, comfort-graph, containers
+     , lapack, netlib-ffi, non-empty, QuickCheck, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "linear-circuit";
+       version = "0.1.0.3";
+       sha256 = "0nffl1sq273ndfsnfhbblbxmnh53v0b8p6hgd3d3lbnypksh7bkk";
+       libraryHaskellDepends = [
+         base comfort-array comfort-graph containers lapack netlib-ffi
+         transformers utility-ht
+       ];
+       testHaskellDepends = [
+         base comfort-graph containers non-empty QuickCheck transformers
+         utility-ht
+       ];
+       description = "Compute resistance of linear electrical circuits";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "linear-code" = callPackage
     ({ mkDerivation, base, containers, data-default
      , ghc-typelits-knownnat, ghc-typelits-natnormalise, HaskellForMaths
@@ -168643,22 +168992,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "lsp-types_1_3_0_0" = callPackage
+  "lsp-types_1_3_0_1" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, containers
-     , data-default, deepseq, dependent-sum-template, Diff, directory
-     , dlist, filepath, hashable, hslogger, lens, mtl, network-uri
-     , rope-utf16-splay, scientific, some, template-haskell, temporary
-     , text, unordered-containers
+     , data-default, deepseq, dependent-sum, dependent-sum-template
+     , Diff, directory, dlist, filepath, hashable, hslogger, lens, mtl
+     , network-uri, rope-utf16-splay, scientific, some, template-haskell
+     , temporary, text, unordered-containers
      }:
      mkDerivation {
        pname = "lsp-types";
-       version = "1.3.0.0";
-       sha256 = "1v897kp5ian8cwpkh23fdn3f1ysk72vs2ks26b7v9mc7dca0x0sc";
+       version = "1.3.0.1";
+       sha256 = "05zgd99y7xnxnydisq5x24n1af2isar172p247hb5q0mp12hdd3z";
        libraryHaskellDepends = [
          aeson base binary bytestring containers data-default deepseq
-         dependent-sum-template Diff directory dlist filepath hashable
-         hslogger lens mtl network-uri rope-utf16-splay scientific some
-         template-haskell temporary text unordered-containers
+         dependent-sum dependent-sum-template Diff directory dlist filepath
+         hashable hslogger lens mtl network-uri rope-utf16-splay scientific
+         some template-haskell temporary text unordered-containers
        ];
        description = "Haskell library for the Microsoft Language Server Protocol, data types";
        license = lib.licenses.mit;
@@ -170218,6 +170567,24 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "magico_0_0_2_2" = callPackage
+    ({ mkDerivation, base, comfort-array, lapack, transformers
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "magico";
+       version = "0.0.2.2";
+       sha256 = "17mpxfw6y1swk0d8dksr71qvagrgmw38xj585dz0s0zwn4y73bzx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base comfort-array lapack transformers utility-ht
+       ];
+       description = "Compute solutions for Magico puzzle";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "magma" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, profunctors, semigroups
      }:
@@ -173617,6 +173984,8 @@ self: {
        pname = "megaparsec";
        version = "9.1.0";
        sha256 = "0rbs0nwr3ffhn10gl9sxqd2q8n6pn96ggf0dyz23myfskzar1fn1";
+       revision = "1";
+       editedCabalFile = "0aw0kvx744730h232rw23yh8ds07irc2ywv5i5iacgqyrh48mvzj";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -185844,6 +186213,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "netlib-comfort-array_0_0_0_2" = callPackage
+    ({ mkDerivation, base, comfort-array, netlib-ffi, transformers }:
+     mkDerivation {
+       pname = "netlib-comfort-array";
+       version = "0.0.0.2";
+       sha256 = "1mwgdll9m0ryy5y1385sx2asff98kqfkz4bif8s4i0dkrqalsfx4";
+       libraryHaskellDepends = [
+         base comfort-array netlib-ffi transformers
+       ];
+       description = "Helper modules for comfort-array wrappers to BLAS and LAPACK";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "netlib-ffi" = callPackage
     ({ mkDerivation, base, guarded-allocation, storable-complex
      , transformers
@@ -196473,8 +196856,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.4.4";
-       sha256 = "17kwyqwywnj694b30bs3da4pns73jp7pr2jxpc7zy261gmfqvpyz";
+       version = "0.4.5";
+       sha256 = "0r8pw2zy6yckizy9hrwg3kpg6f9v0dkj0fxw873sxpc4ccz5nkl0";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -198838,8 +199221,8 @@ self: {
        pname = "path-io";
        version = "1.6.3";
        sha256 = "1dnc48hf8x83p0jy05qi8j8gmfmsy50swnql9ssdv74lsryp615n";
-       revision = "1";
-       editedCabalFile = "0hzpwyxyj332mq09vgf06vfsga9b0q711fr52x3xswcmhvvsv60g";
+       revision = "3";
+       editedCabalFile = "0rsr9r2175lf7zcz2sns0mhxkvl21pm50sjidjq5v75nalrsw6rp";
        libraryHaskellDepends = [
          base containers directory dlist exceptions filepath path temporary
          time transformers unix-compat
@@ -202304,8 +202687,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "phonetic-languages-rhythmicity";
-       version = "0.5.1.0";
-       sha256 = "0ahgkbrh0rsi7ykz9mai1fsmb367a39nviwpqy71qf3gsz8znwyw";
+       version = "0.5.2.0";
+       sha256 = "05l2nj9rwz0cl3ig8ysi49jjhs7fngfww1rg10klrlg19whwf24j";
        libraryHaskellDepends = [ base ];
        description = "Allows to estimate the rhythmicity properties for the text";
        license = lib.licenses.mit;
@@ -206471,6 +206854,8 @@ self: {
        pname = "polysemy-extra";
        version = "0.2.0.0";
        sha256 = "0w8spy9l66ys1x9riwy8cwvywzqxkcbhzrqyia85jgl6mgp96zis";
+       revision = "1";
+       editedCabalFile = "0j44rqp13n5hxl0kx06hhliwmsqxl81jrcylsk7h8khjqmphgsn7";
        libraryHaskellDepends = [
          base containers polysemy polysemy-kvstore
        ];
@@ -206487,6 +206872,8 @@ self: {
        pname = "polysemy-fs";
        version = "0.1.0.0";
        sha256 = "16lf6a5ypf5injdl8aljrnrdrfz21b0rhcmypx5ngvw1k2mgh6zl";
+       revision = "1";
+       editedCabalFile = "0cbplvbx35q3h4ln9ldyk8yvx1c4sgbybbm02frf8nlp1khxji0w";
        libraryHaskellDepends = [
          base bytestring path polysemy rio temporary text unliftio-path
        ];
@@ -206582,6 +206969,8 @@ self: {
        pname = "polysemy-kvstore-jsonfile";
        version = "0.1.1.0";
        sha256 = "1aibvhr6fsz4d02rj74pa0hwhkqzmxbp64gxf5r3q6l67ij2faw3";
+       revision = "1";
+       editedCabalFile = "18yk8l7rca4nhgk0iw42smv9n43z467dpynl05qw97w9ip1gsxj5";
        libraryHaskellDepends = [
          aeson base containers exceptions extra path polysemy
          polysemy-kvstore unliftio-path
@@ -206667,6 +207056,8 @@ self: {
        pname = "polysemy-methodology";
        version = "0.2.1.0";
        sha256 = "17md6l5smy1ssn99kij6rnb42bx3fx8h49z85cm9sf41k6lb5k1g";
+       revision = "1";
+       editedCabalFile = "1sn9447cxpxmw1jkijbv2039xv3ya08mdgd7kmrwp8ljzj1922ni";
        libraryHaskellDepends = [
          base polysemy polysemy-kvstore polysemy-several
        ];
@@ -206683,6 +207074,8 @@ self: {
        pname = "polysemy-methodology-co-log";
        version = "0.1.0.0";
        sha256 = "1pvvb83lkpxqni6055y3s0ckjg50nd1jfivq1c8701zjv31ylbpa";
+       revision = "1";
+       editedCabalFile = "1b617fpgnzxykdhz2fp9syzzzhppi3cmkrwwfd1ar9jijqwfcdx4";
        libraryHaskellDepends = [
          base co-log-polysemy polysemy polysemy-methodology polysemy-plugin
        ];
@@ -206699,6 +207092,8 @@ self: {
        pname = "polysemy-methodology-composite";
        version = "0.1.4.0";
        sha256 = "014kfaxxi24n99gvrvf9c6c8cx8csbb9a8fbfb2md5g2d2q4v08g";
+       revision = "1";
+       editedCabalFile = "1vf5l2c3k370x0rl4js2hfrc0z434zzkgbkgnhjixbkbqcq2ig2p";
        libraryHaskellDepends = [
          base composite-base polysemy polysemy-extra polysemy-methodology
          polysemy-vinyl vinyl
@@ -206742,6 +207137,8 @@ self: {
        pname = "polysemy-path";
        version = "0.2.1.0";
        sha256 = "0smaai432vpqci9w7pyg443kcd1rpz7zpwww2wcxbyqszzllbhnr";
+       revision = "1";
+       editedCabalFile = "0x9b1zm804bnmjs0qbrx23s1mzgb6h9dqfchf8i3ri7x1sy24ibh";
        libraryHaskellDepends = [ base path polysemy polysemy-extra ];
        description = "Polysemy versions of Path functions";
        license = lib.licenses.mit;
@@ -206856,6 +207253,8 @@ self: {
        pname = "polysemy-several";
        version = "0.1.0.0";
        sha256 = "1mw6a6fz3879yqnpq6h0221i8b8f05j90b1zydhzr57nsbklxzps";
+       revision = "1";
+       editedCabalFile = "0d0632ayig8f66604ncad7y4gjlxsss9awlscxd5hsa2r49l4m7q";
        libraryHaskellDepends = [ base polysemy ];
        description = "Run several effects at once, taken from the polysemy-zoo";
        license = lib.licenses.mit;
@@ -206868,6 +207267,8 @@ self: {
        pname = "polysemy-socket";
        version = "0.0.2.0";
        sha256 = "0465sax3927cig1plbdyhifx1xipai68w01085mvslvd6am9mz6y";
+       revision = "1";
+       editedCabalFile = "05wxllpppxmzagf3zp80jm3vzdika9jcrd5bjvb7pasvxsg1rln4";
        libraryHaskellDepends = [ base bytestring polysemy socket ];
        description = "Socket effect for polysemy";
        license = lib.licenses.mit;
@@ -206929,6 +207330,8 @@ self: {
        pname = "polysemy-uncontrolled";
        version = "0.1.1.0";
        sha256 = "08q69sn1ac4xhpffiabayw2l5j1jy9iz1y37ww84kx32njas9c2b";
+       revision = "1";
+       editedCabalFile = "09j8fw0m1i0zp33v7pg3g2550blwajksvwbfnqq1slhmbyigd2jr";
        libraryHaskellDepends = [ base polysemy polysemy-methodology ];
        description = "Uncontrolled toy effect for polysemy";
        license = lib.licenses.mit;
@@ -206944,6 +207347,8 @@ self: {
        pname = "polysemy-video";
        version = "0.2.0.1";
        sha256 = "1lbjjq6q3i6v41ssqy69p4iwvybidrmxcxwjzddbxcrmymr0rmlc";
+       revision = "1";
+       editedCabalFile = "0bz6zb6zn1q4swj2szzrjakjm8qfmzasin6fgpz01g5m2payfc3c";
        libraryHaskellDepends = [
          base formatting path path-formatting polysemy
          simple-media-timestamp simple-media-timestamp-formatting text
@@ -206962,6 +207367,8 @@ self: {
        pname = "polysemy-vinyl";
        version = "0.1.5.0";
        sha256 = "06y91nv2fcis058gqv5hlpl5a6kmia5r9sc6npp6102lc19vkkc4";
+       revision = "1";
+       editedCabalFile = "13f289dxr03habyggn3vl7lzrl2r3a9r0y0bisrfmq48qaiv08n1";
        libraryHaskellDepends = [
          base polysemy polysemy-extra polysemy-several vinyl
        ];
@@ -223801,8 +224208,8 @@ self: {
        pname = "req";
        version = "3.9.1";
        sha256 = "0468ah4142jrqp5l3pw4izrw6f6kznisan888b30jhif4c6xncr0";
-       revision = "2";
-       editedCabalFile = "15mlnrkm3nbjvzpd81fs4bjk8yibk4cm2qcim5ymilas9zpiglm3";
+       revision = "3";
+       editedCabalFile = "0xx161kb3j1givixs489yhd6zgiscajbn6hdkf00pdkwqdy59k75";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -224134,6 +224541,20 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "resistor-cube_0_0_1_3" = callPackage
+    ({ mkDerivation, base, comfort-array, lapack }:
+     mkDerivation {
+       pname = "resistor-cube";
+       version = "0.0.1.3";
+       sha256 = "1i96s6x3xzs3jxk00fakfjk4jvfr700gfh56jgzqj4w49pdf09k4";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base comfort-array lapack ];
+       description = "Compute total resistance of a cube of resistors";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "resolv_0_1_1_2" = callPackage
     ({ mkDerivation, base, base16-bytestring, binary, bytestring
      , containers, directory, filepath, tasty, tasty-hunit
@@ -224328,6 +224749,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "resourcet_1_2_4_3" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, mtl
+     , primitive, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "resourcet";
+       version = "1.2.4.3";
+       sha256 = "0zrvnikw1a0r2j59k12fxikyrg0ki5a7xhqhjgfl9h6dqpz54h85";
+       libraryHaskellDepends = [
+         base containers exceptions mtl primitive transformers unliftio-core
+       ];
+       testHaskellDepends = [ base exceptions hspec transformers ];
+       description = "Deterministic allocation and freeing of scarce resources";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "resourcet-pool" = callPackage
     ({ mkDerivation, base, resource-pool, resourcet }:
      mkDerivation {
@@ -226410,6 +226848,8 @@ self: {
        ];
        description = "Haskell bindings to RocksDB";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) rocksdb;};
 
   "rocksdb-haskell-jprupp" = callPackage
@@ -237646,6 +238086,8 @@ self: {
        pname = "shake-cabal";
        version = "0.2.2.1";
        sha256 = "1vyz95qa5f6k0lqf24w60dmlszs1sv0sqv2p0sncn8ll7g785sx1";
+       revision = "1";
+       editedCabalFile = "04b9kd2jaim8qsgpji4xv7c9kmbfw089zla877qr67kvfwp6qy6m";
        libraryHaskellDepends = [
          base binary Cabal composition-prelude deepseq directory filepath
          hashable shake
@@ -237874,6 +238316,8 @@ self: {
        pname = "shake-plus";
        version = "0.3.4.0";
        sha256 = "0022npwhvzlpz6d6xl75kx0f7ydr8fqqcy04zkv70gwsv0gp5zbm";
+       revision = "1";
+       editedCabalFile = "1az2234agrza3qhsd400bw94qj3dcxjh3fi0aq24ihbm8yx1a21s";
        libraryHaskellDepends = [ base extra path rio shake ];
        description = "Re-export of Shake using well-typed paths and ReaderT";
        license = lib.licenses.mit;
@@ -244950,6 +245394,30 @@ self: {
        broken = true;
      }) {softfloat = null;};
 
+  "solana-staking-csvs" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cassava, cmdargs
+     , hedgehog, mtl, req, scientific, tasty, tasty-hedgehog
+     , tasty-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "solana-staking-csvs";
+       version = "0.1.0.0";
+       sha256 = "1rswlfanbkh6k3f8dnnlrh9wbk8qbi87c61bi30ndw7gndf3gyqj";
+       revision = "1";
+       editedCabalFile = "0n83h717zi900ph65imqi5z7va00nm492g911m25j0hgnrj0wd06";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cassava cmdargs mtl req scientific text time
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-hedgehog tasty-hunit
+       ];
+       description = "Generate CSV Exports of your Solana Staking Rewards";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "solar" = callPackage
     ({ mkDerivation, base, time }:
      mkDerivation {
@@ -245274,22 +245742,21 @@ self: {
      }) {};
 
   "sound-collage" = callPackage
-    ({ mkDerivation, array, base, carray, containers, fft, filepath
-     , numeric-prelude, optparse-applicative, pathtype, sample-frame
-     , shell-utility, soxlib, storablevector, storablevector-carray
+    ({ mkDerivation, base, comfort-array, comfort-fftw, containers
+     , filepath, numeric-prelude, optparse-applicative, pathtype
+     , sample-frame, shell-utility, soxlib, storablevector
      , synthesizer-core, temporary, transformers, utility-ht
      }:
      mkDerivation {
        pname = "sound-collage";
-       version = "0.2.0.2";
-       sha256 = "11rirlg25iawv4shwhvc4bcnzk4axvgk5n7yj05nnbpyx4s6r0pp";
+       version = "0.2.1";
+       sha256 = "09g63b3k0l30z3lxmcz0zpggqqhnr7m01wh2vpm5v561rbnl8rsi";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         array base carray containers fft filepath numeric-prelude
+         base comfort-array comfort-fftw containers filepath numeric-prelude
          optparse-applicative pathtype sample-frame shell-utility soxlib
-         storablevector storablevector-carray synthesizer-core temporary
-         transformers utility-ht
+         storablevector synthesizer-core temporary transformers utility-ht
        ];
        description = "Approximate a song from other pieces of sound";
        license = lib.licenses.bsd3;
@@ -246508,18 +246975,18 @@ self: {
      }) {};
 
   "split-record" = callPackage
-    ({ mkDerivation, base, numeric-prelude, soxlib, storablevector
-     , synthesizer-core, transformers, utility-ht
+    ({ mkDerivation, base, numeric-prelude, shell-utility, soxlib
+     , storablevector, synthesizer-core, transformers, utility-ht
      }:
      mkDerivation {
        pname = "split-record";
-       version = "0.1.1.3";
-       sha256 = "0ydsdf2pk8gzcqriqm6pv7him55qz62ycfqxjm8qhpy1k8i3ipqj";
+       version = "0.1.1.4";
+       sha256 = "0yjmyanwzxvz43ry5ypg9d65yp1yplpwczzwhxmy221nrm2wfch4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base numeric-prelude soxlib storablevector synthesizer-core
-         transformers utility-ht
+         base numeric-prelude shell-utility soxlib storablevector
+         synthesizer-core transformers utility-ht
        ];
        description = "Split a big audio file into pieces at positions of silence";
        license = lib.licenses.bsd3;
@@ -249777,8 +250244,8 @@ self: {
      }:
      mkDerivation {
        pname = "stm-actor";
-       version = "0.2.3.0";
-       sha256 = "0982wj1lnxs7jv35hrkjpp539x3nn5hrwm652i1xbvmmy4i2k41p";
+       version = "0.2.3.1";
+       sha256 = "1gl4hladndwbjdb02hcb5mdirm9gnz23ayclh0wws8xsq23dv2b4";
        libraryHaskellDepends = [
          base mtl stm stm-queue transformers unliftio-core
        ];
@@ -253415,12 +253882,12 @@ self: {
      }) {};
 
   "summer" = callPackage
-    ({ mkDerivation, base, vector }:
+    ({ mkDerivation, base, generics-sop, vector }:
      mkDerivation {
        pname = "summer";
-       version = "0.1.2.0";
-       sha256 = "1xcfw3f4y53a9jdj2a7jy32pp5pcvqsv78gblkjj1bxvsijwa4ab";
-       libraryHaskellDepends = [ base vector ];
+       version = "0.2.0.1";
+       sha256 = "0kxxvifs68gbmh7vdjfcsf1baiih646s9msvd5rh7hrbr8n14w5l";
+       libraryHaskellDepends = [ base generics-sop vector ];
        testHaskellDepends = [ base ];
        description = "An implementation of extensible products and sums";
        license = lib.licenses.mit;
@@ -255952,6 +256419,8 @@ self: {
        pname = "synthesizer-alsa";
        version = "0.5.0.5";
        sha256 = "09nf2c7nc5dbrd8nskmjrxz8fynnacbnml2wcf5p5qghq2dcd6ma";
+       revision = "1";
+       editedCabalFile = "0acwdxdi8wj63x6f3vcm366hm9liyjbm0czv4mwmm9ryrnc36sc6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -255981,6 +256450,8 @@ self: {
        pname = "synthesizer-core";
        version = "0.8.2.1";
        sha256 = "1sdvqabxlgiqqb3kppxwyvmkmvcqrmrzicbmcmy6mr5c4npjxffj";
+       revision = "1";
+       editedCabalFile = "1c3l83qrdn3nxpp0gsr06iz9praw37c2j9zjj15pxd8in73mb74a";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq event-list
          explicit-exception filepath non-empty non-negative numeric-prelude
@@ -257842,8 +258313,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskell";
-       version = "1.11.1";
-       sha256 = "1rznf0dw7wypb3al3g3k5r8w837p9dmkjzma5zwvhq5wnr9yppsg";
+       version = "1.11.2";
+       sha256 = "0ycv054gh28c5llyfjvsdbyq1w5jhj25b9zphj2kya0jnvpkmm81";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -259201,6 +259672,8 @@ self: {
        pname = "techlab";
        version = "0.1.1.0";
        sha256 = "1139slr5pd03zr7w6m3mw625wkfd9jw8slqddgmbawpbi2z20p80";
+       revision = "1";
+       editedCabalFile = "09y7yymfgvrj28d7k2a4lqkwrif0wr6pp028kzcsj2i4k9b4krdg";
        libraryHaskellDepends = [
          base chassis co-log-polysemy composite-base containers dhall
          formatting optics path-dhall-instance polysemy polysemy-extra
@@ -266583,8 +267056,8 @@ self: {
     ({ mkDerivation, base, filepath, hspec, profunctors, text }:
      mkDerivation {
        pname = "tophat";
-       version = "1.0.1.0";
-       sha256 = "0q00lrv02pmy5zgnqciwaj87hs7daraj6pvcz9hm93djk6cgs5fn";
+       version = "1.0.3.0";
+       sha256 = "07ph3jh84wq9373kzw5xv4gzk2wcq9dj5akw5a79lhzphl9py7w0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base profunctors text ];
@@ -278274,6 +278747,32 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vessel" = callPackage
+    ({ mkDerivation, aeson, aeson-gadt-th, base, bifunctors
+     , constraints, constraints-extras, containers, dependent-map
+     , dependent-monoidal-map, dependent-sum
+     , dependent-sum-aeson-orphans, dependent-sum-template, lens
+     , markdown-unlit, monoidal-containers, mtl, patch, reflex
+     , semialign, text, these, witherable
+     }:
+     mkDerivation {
+       pname = "vessel";
+       version = "0.1.0.0";
+       sha256 = "0j6i2xgb9yahyw5ab15gg5qy5dphkblkcn1p629dm800759njy1s";
+       libraryHaskellDepends = [
+         aeson aeson-gadt-th base bifunctors constraints constraints-extras
+         containers dependent-map dependent-monoidal-map dependent-sum
+         dependent-sum-aeson-orphans dependent-sum-template lens
+         markdown-unlit monoidal-containers mtl patch reflex semialign text
+         these witherable
+       ];
+       libraryToolDepends = [ markdown-unlit ];
+       doHaddock = false;
+       description = "Functor-parametric containers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vflow-types" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ip, json-alt
      , json-autotype, neat-interpolation, QuickCheck, quickcheck-classes
@@ -284090,6 +284589,7 @@ self: {
        ];
        description = "Convert values from one type into another";
        license = lib.licenses.isc;
+       maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
   "with-index" = callPackage
@@ -293509,6 +294009,8 @@ self: {
        pname = "zip";
        version = "1.7.1";
        sha256 = "0impiv9xsirbvnpnv1lh6lhnl8a4fqylpjif7niyjjbcvyxh4zqd";
+       revision = "1";
+       editedCabalFile = "0a8wj2bkg66mhiac2m71n39ynvvcx5ar79ak35fmn1is73z7c5xk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
diff --git a/third_party/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix b/third_party/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix
index a3c953b8a3..60f61324e6 100644
--- a/third_party/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix
+++ b/third_party/nixpkgs/pkgs/development/libraries/aqbanking/sources.nix
@@ -5,7 +5,7 @@
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "158";
-  aqbanking.version = "6.2.10";
-  aqbanking.sha256 = "13dbpi58mw09gnsza11pxy5c8j99r11nkyg2j53y4lqk47rmyhvq";
-  aqbanking.releaseId = "368";
+  aqbanking.version = "6.3.0";
+  aqbanking.sha256 = "1k2mhdnk0jc0inq1hmp74m3y7azxrjm8r07x5k1pp4ic0yi5vs50";
+  aqbanking.releaseId = "372";
 }
diff --git a/third_party/nixpkgs/pkgs/development/libraries/libcef/default.nix b/third_party/nixpkgs/pkgs/development/libraries/libcef/default.nix
index c3d6516a3d..85163daad0 100644
--- a/third_party/nixpkgs/pkgs/development/libraries/libcef/default.nix
+++ b/third_party/nixpkgs/pkgs/development/libraries/libcef/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, cmake
+{ lib
+, stdenv
+, fetchurl
+, cmake
 , glib
 , nss
 , nspr
@@ -52,18 +55,39 @@ let
     cups
     libxshmfence
   ];
-in stdenv.mkDerivation rec {
+  platforms = {
+    "aarch64-linux" = {
+      platformStr = "linuxarm64";
+      projectArch = "arm64";
+      sha256 = "1j93qawh9h6k2ic70i10npppv5f9dch961lc1wxwsi68daq8r081";
+    };
+    "i686-linux" = {
+      platformStr = "linux32";
+      projectArch = "x86";
+      sha256 = "0ki4zr8ih06kirgbpxbinv4baw3qvacx208q6qy1cvpfh6ll4fwb";
+    };
+    "x86_64-linux" = {
+      platformStr = "linux64";
+      projectArch = "x86_64";
+      sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
+    };
+  };
+
+  platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
+in
+stdenv.mkDerivation rec {
   pname = "cef-binary";
   version = "90.6.7";
   gitRevision = "19ba721";
   chromiumVersion = "90.0.4430.212";
 
   src = fetchurl {
-    url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_linux64_minimal.tar.bz2";
-    sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
+    url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
+    inherit (platformInfo) sha256;
   };
 
   nativeBuildInputs = [ cmake ];
+  cmakeFlags = "-DPROJECT_ARCH=${platformInfo.projectArch}";
   makeFlags = [ "libcef_dll_wrapper" ];
   dontStrip = true;
   dontPatchELF = true;
@@ -83,6 +107,6 @@ in stdenv.mkDerivation rec {
     homepage = "https://cef-builds.spotifycdn.com/index.html";
     maintainers = with maintainers; [ puffnfresh ];
     license = licenses.bsd3;
-    platforms = with platforms; linux;
+    platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix b/third_party/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix
new file mode 100644
index 0000000000..811458ed18
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/development/libraries/optparse-bash/default.nix
@@ -0,0 +1,63 @@
+{ stdenvNoCC
+, lib
+, fetchFromGitHub
+, bash
+, gnused
+, gawk
+, coreutils
+}:
+
+stdenvNoCC.mkDerivation {
+  pname = "optparse-bash-unstable";
+  version = "2021-06-13";
+
+  src = fetchFromGitHub {
+    owner = "nk412";
+    repo = "optparse";
+    rev = "d86ec17d15368e5b54eb2d47b001b0b61d68bbd0";
+    sha256 = "sha256-vs7Jo1+sV0tPse4Wu2xtzSX1IkahwLgO3e4Riz3uMmI=";
+  };
+
+  postPatch = ''
+    substituteInPlace optparse.bash \
+      --replace sed "${gnused}/bin/sed" \
+      --replace awk "${gawk}/bin/awk" \
+      --replace printf "${coreutils}/bin/printf"
+'';
+
+  dontBuild = true;
+
+  doCheck = true;
+
+  checkInputs = [ bash ];
+
+  # `#!/usr/bin/env` isn't okay for OfBorg
+  # Need external bash to run
+  checkPhase = ''
+    runHook preCheck
+    bash ./sample_head.sh -v --file README.md
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    mv optparse.bash $out/bin/
+    mkdir -p $out/share/doc/optparse-bash
+    mv README.md sample_head.sh $out/share/doc/optparse-bash/
+    runHook postInstall
+  '';
+
+  # As example code,
+  # sample_head.sh shows how users can use opt-parse in their script,
+  # and its shebang (`/usr/bin/env bash`) should not be patched.
+  dontPatchShebangs = true;
+
+  meta = with lib; {
+    description = "A BASH wrapper for getopts, for simple command-line argument parsing";
+    homepage = "https://github.com/nk412/optparse";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/development/libraries/portmidi/default.nix b/third_party/nixpkgs/pkgs/development/libraries/portmidi/default.nix
index 0fb9636bc2..bdc6a44f00 100644
--- a/third_party/nixpkgs/pkgs/development/libraries/portmidi/default.nix
+++ b/third_party/nixpkgs/pkgs/development/libraries/portmidi/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
-    ln -s libportmidi.${ext} "$out/lib/libporttime.${ext}"
+    ln -s libportmidi${ext} "$out/lib/libporttime${ext}"
   '';
 
   nativeBuildInputs = [ unzip cmake ];
diff --git a/third_party/nixpkgs/pkgs/development/node-packages/default.nix b/third_party/nixpkgs/pkgs/development/node-packages/default.nix
index fe1bdd6754..49a569deba 100644
--- a/third_party/nixpkgs/pkgs/development/node-packages/default.nix
+++ b/third_party/nixpkgs/pkgs/development/node-packages/default.nix
@@ -198,6 +198,16 @@ let
       '';
     };
 
+    node-gyp = super.node-gyp.override {
+      nativeBuildInputs = [ pkgs.makeWrapper ];
+      # Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org.
+      # This is important when build nodejs packages in sandbox.
+      postInstall = ''
+        wrapProgram "$out/bin/node-gyp" \
+          --set npm_config_nodedir ${nodejs}
+      '';
+    };
+
     node-inspector = super.node-inspector.override {
       buildInputs = [ self.node-pre-gyp ];
       meta.broken = since "10";
diff --git a/third_party/nixpkgs/pkgs/development/node-packages/node-packages.json b/third_party/nixpkgs/pkgs/development/node-packages/node-packages.json
index 95f6cb7ecf..2d97ed7c4e 100644
--- a/third_party/nixpkgs/pkgs/development/node-packages/node-packages.json
+++ b/third_party/nixpkgs/pkgs/development/node-packages/node-packages.json
@@ -26,6 +26,7 @@
 , "cdk8s-cli"
 , "cdktf-cli"
 , "clean-css-cli"
+, "clipboard-cli"
 , "clubhouse-cli"
 , "coc-clangd"
 , "coc-cmake"
@@ -276,6 +277,7 @@
 , "vscode-html-languageserver-bin"
 , "vscode-json-languageserver"
 , "vscode-json-languageserver-bin"
+, "vscode-langservers-extracted"
 , { "vscode-lldb-build-deps": "../../misc/vscode-extensions/vscode-lldb/build-deps" }
 , "vue-cli"
 , "vue-language-server"
diff --git a/third_party/nixpkgs/pkgs/development/node-packages/node-packages.nix b/third_party/nixpkgs/pkgs/development/node-packages/node-packages.nix
index 5bf9d0be05..4c0ec21eba 100644
--- a/third_party/nixpkgs/pkgs/development/node-packages/node-packages.nix
+++ b/third_party/nixpkgs/pkgs/development/node-packages/node-packages.nix
@@ -3136,22 +3136,22 @@ let
         sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
       };
     };
-    "@joplin/fork-htmlparser2-4.1.30" = {
+    "@joplin/fork-htmlparser2-4.1.31" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
-      version = "4.1.30";
+      version = "4.1.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.30.tgz";
-        sha512 = "zcuFx0Jxd+nmV+YRT2tjVjU6b1yB/pDxPE/PzBaiXzwLCpJrQKL7hUMsJiqfyyXbXwQkFRqu3pKVsBkuZjM0pw==";
+        url = "https://registry.npmjs.org/@joplin/fork-htmlparser2/-/fork-htmlparser2-4.1.31.tgz";
+        sha512 = "5v7vYawEQP+0wHjT3sXi5LgRiWWImbnNdsTf6mdKg+IeX9KCjYnc7aZRGdC+yQlEQbcIRpu8bKUQnh/WoaMG7g==";
       };
     };
-    "@joplin/fork-sax-1.2.34" = {
+    "@joplin/fork-sax-1.2.35" = {
       name = "_at_joplin_slash_fork-sax";
       packageName = "@joplin/fork-sax";
-      version = "1.2.34";
+      version = "1.2.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.34.tgz";
-        sha512 = "H+uKVcUvvRzzBkydbkTDF1w6SeTYzLSnAeUHCjEFG8zEZ2HlOxNt+418Iy74U00tbl2m4/uKPoXhjNz8wQhFGQ==";
+        url = "https://registry.npmjs.org/@joplin/fork-sax/-/fork-sax-1.2.35.tgz";
+        sha512 = "+0K4PbooQweodhTIaehh9QdC9g6SH7IpFzeNsv3Eh3T7LT985XJ1mZfXEjRI5pfWrRj9ibvxHcgvMzEQuXPM3g==";
       };
     };
     "@joplin/lib-2.1.1" = {
@@ -3181,22 +3181,22 @@ let
         sha512 = "XxmquKGZxlrjUorx924ogAACc39p22pzWp06DJX/eElU2kLZ/s+RC0EXAFj503EuDj/dd2voV+Tciz0wfCPc0Q==";
       };
     };
-    "@joplin/turndown-4.0.52" = {
+    "@joplin/turndown-4.0.53" = {
       name = "_at_joplin_slash_turndown";
       packageName = "@joplin/turndown";
-      version = "4.0.52";
+      version = "4.0.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.52.tgz";
-        sha512 = "e8F+si5xTer0OQlpSGKh2rSu7YnSCpkvh3n7N85x61Z2WvhV96RfXAhNvRahGdzF9WNVwJgudirapHDJ+zeO3A==";
+        url = "https://registry.npmjs.org/@joplin/turndown/-/turndown-4.0.53.tgz";
+        sha512 = "uYeROpicdZKWq2WLOuKTAsG5wEZu8cy/kjWRBIkuyql575NRzyONh9e4UtT6tiWmPWtuVNHmaBJJyIzAwstfLg==";
       };
     };
-    "@joplin/turndown-plugin-gfm-1.0.34" = {
+    "@joplin/turndown-plugin-gfm-1.0.35" = {
       name = "_at_joplin_slash_turndown-plugin-gfm";
       packageName = "@joplin/turndown-plugin-gfm";
-      version = "1.0.34";
+      version = "1.0.35";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.34.tgz";
-        sha512 = "0UZDcrMS/rViZZ50UPUpNy5qG8pWatyAWVSxZiKNmQ1+SJIwb6pzukGH25s3SxDmvW8lr7bQkBOn11hDxNFrug==";
+        url = "https://registry.npmjs.org/@joplin/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.35.tgz";
+        sha512 = "jMc8Cjq3K2szQGsi39yQpxMuR3JCCkIFWjQxKRlOW7JvbaTeMPuGqpEafuNqtn7qU6DoYF72p/glKmU8p2t3Dg==";
       };
     };
     "@josephg/resolvable-1.0.1" = {
@@ -4081,13 +4081,13 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-17.9.2" = {
+    "@netlify/build-17.10.0" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "17.9.2";
+      version = "17.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-17.9.2.tgz";
-        sha512 = "RbaHBWkbrwiXdLf73gjcjJAn7z3zsRqhXqaF2K9ycru7K7XIVG/BGEKztSD8IoAYR2DuY9KqmrlbPuiQg0IFFg==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-17.10.0.tgz";
+        sha512 = "3L0ps4b5u34Sj03a7tJMwGkuO+Tg2eXOFVdToINV3StgjB9lTU7fOEm0jCJOw9E9QFAVpemW0tRadofYY/Hzjg==";
       };
     };
     "@netlify/cache-utils-2.0.0" = {
@@ -4315,6 +4315,15 @@ let
         sha512 = "DkQemRkLTpAMvwwENRCQ9h5qJDaLrjEa+PpfEh0I64om4hTXVHcTd5+YMHW0wPr4OWABA7JAWlsFOVsZADFxfQ==";
       };
     };
+    "@netlify/zip-it-and-ship-it-4.17.0" = {
+      name = "_at_netlify_slash_zip-it-and-ship-it";
+      packageName = "@netlify/zip-it-and-ship-it";
+      version = "4.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.17.0.tgz";
+        sha512 = "xcumwEFH7m/cw/XEcmv3OB8U94J5zWVsMhjROdfUdT+BE5QU5InEggYS6HnDoTOMgGpVM+mY1vgBQzdgaC+NZw==";
+      };
+    };
     "@node-red/editor-api-2.0.5" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
@@ -4540,13 +4549,13 @@ let
         sha512 = "Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==";
       };
     };
-    "@oclif/core-0.5.28" = {
+    "@oclif/core-0.5.29" = {
       name = "_at_oclif_slash_core";
       packageName = "@oclif/core";
-      version = "0.5.28";
+      version = "0.5.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/core/-/core-0.5.28.tgz";
-        sha512 = "t9jaGLRP5yJKwiMIzKmzYyP1eRxltWAY02lduUDp3d6cE+Dt2pcIGd7KtsOImKUWv+ClLI7O/CVHnMkOfNJvYA==";
+        url = "https://registry.npmjs.org/@oclif/core/-/core-0.5.29.tgz";
+        sha512 = "v5MMxeTgEKbVcEl7D3jsTVL8Wy3lLTDj0KHX7cOmI751yfjdAOqy9frHQ6IXssxubDkBW6sXzbYN9Bw12zsBqg==";
       };
     };
     "@oclif/errors-1.3.5" = {
@@ -4675,13 +4684,22 @@ let
         sha512 = "SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==";
       };
     };
-    "@octokit/openapi-types-9.4.0" = {
+    "@octokit/openapi-types-9.5.0" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "9.4.0";
+      version = "9.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.4.0.tgz";
-        sha512 = "rKRkXikOJgDNImPl49IJuECLVXjj+t4qOXHhl8SBjMQCGGp1w4m5Ud/0kfdUx+zCpTvBN8vaOUDF4nnboZoOtQ==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.5.0.tgz";
+        sha512 = "AEq5uAZJCnrOuNUg91yDjkE3mXyMq2lSiJpOpDyzy1e2mT1CSpsu8Yf7DuabD7TmQi0UEC8o0YrDjeXgNoI54Q==";
+      };
+    };
+    "@octokit/openapi-types-9.6.0" = {
+      name = "_at_octokit_slash_openapi-types";
+      packageName = "@octokit/openapi-types";
+      version = "9.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.6.0.tgz";
+        sha512 = "L+8x7DpcNtHkMbTxxCxg3cozvHUNP46rOIzFwoMs0piWwQzAGNXqlIQO2GLvnKTWLUh99DkY+UyHVrP4jXlowg==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -4693,13 +4711,13 @@ let
         sha512 = "93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==";
       };
     };
-    "@octokit/plugin-paginate-rest-2.15.0" = {
+    "@octokit/plugin-paginate-rest-2.15.1" = {
       name = "_at_octokit_slash_plugin-paginate-rest";
       packageName = "@octokit/plugin-paginate-rest";
-      version = "2.15.0";
+      version = "2.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.0.tgz";
-        sha512 = "/vjcb0w6ggVRtsb8OJBcRR9oEm+fpdo8RJk45khaWw/W0c8rlB2TLCLyZt/knmC17NkX7T9XdyQeEY7OHLSV1g==";
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.1.tgz";
+        sha512 = "47r52KkhQDkmvUKZqXzA1lKvcyJEfYh3TKAIe5+EzMeyDM3d+/s5v11i2gTk8/n6No6DPi3k5Ind6wtDbo/AEg==";
       };
     };
     "@octokit/plugin-request-log-1.0.4" = {
@@ -4747,13 +4765,13 @@ let
         sha512 = "VrmrE8gjpuOoDAGjrQq2j9ZhOE6LxaqxaQg0yMrrEnnQZy2ZcAnr5qbVfKsMF0up/48PRV/VFS/2GSMhA7nTdA==";
       };
     };
-    "@octokit/types-6.24.0" = {
+    "@octokit/types-6.25.0" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.24.0";
+      version = "6.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.24.0.tgz";
-        sha512 = "MfEimJeQ8AV1T2nI5kOfHqsqPHaAnG0Dw3MVoHSEsEq6iLKx2N91o+k2uAgXhPYeSE76LVBqjgTShnFFgNwe0A==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.25.0.tgz";
+        sha512 = "bNvyQKfngvAd/08COlYIN54nRgxskmejgywodizQNyiKoXmWRAjKup2/LYwm+T9V0gsKH6tuld1gM0PzmOiB4Q==";
       };
     };
     "@open-policy-agent/opa-wasm-1.2.0" = {
@@ -11677,6 +11695,15 @@ let
         sha512 = "yDRLkPUiGvIXpccFd1PqOQZ1MJvYkh0RVBNWfquDoPonQuJ9QOCZoPrpe3VlB8IGMOODbVRSH1NRqPa12gNjBA==";
       };
     };
+    "aws-sdk-2.965.0" = {
+      name = "aws-sdk";
+      packageName = "aws-sdk";
+      version = "2.965.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.965.0.tgz";
+        sha512 = "jifeFsA6IEKXM65WI5gvBNSCXKw4n64Wf9Q7/8E7wZ5vzRbBGoHzGpyhK6ZBBRvE2YvNp/ykTWChO7RydkA+AQ==";
+      };
+    };
     "aws-sign2-0.6.0" = {
       name = "aws-sign2";
       packageName = "aws-sign2";
@@ -12874,15 +12901,6 @@ let
         sha512 = "vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==";
       };
     };
-    "bignumber.js-4.1.0" = {
-      name = "bignumber.js";
-      packageName = "bignumber.js";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz";
-        sha512 = "eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==";
-      };
-    };
     "bignumber.js-9.0.0" = {
       name = "bignumber.js";
       packageName = "bignumber.js";
@@ -13108,15 +13126,6 @@ let
         sha512 = "CYS3HRGgIlm7A6/zqGFd/KPSUIv4EoEQVQ8mWcvBEdlf0db1q3j/fj5W/PXJasBfsvN2jM0Tzw3w1C7HUoR/fg==";
       };
     };
-    "bitcoin-core-2.3.0" = {
-      name = "bitcoin-core";
-      packageName = "bitcoin-core";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bitcoin-core/-/bitcoin-core-2.3.0.tgz";
-        sha512 = "SMbw2kFu09iBajicODSE4pn/K0tOibWyqct71TlzR8cYUBk+u7rkhqGY7US2iYz0HmP851IW7F7eXfXvz09yXA==";
-      };
-    };
     "bitcoin-ops-1.4.1" = {
       name = "bitcoin-ops";
       packageName = "bitcoin-ops";
@@ -13648,13 +13657,13 @@ let
         sha512 = "yN5oZVmRCwe5aKwzRj6736nSmKDX7pLYwsXiCj/EYmo16hODaBiT4En5btW/jhBF/seV+XMx3aYwukYC3A49DA==";
       };
     };
-    "bootstrap-5.0.0-beta3" = {
+    "bootstrap-5.0.2" = {
       name = "bootstrap";
       packageName = "bootstrap";
-      version = "5.0.0-beta3";
+      version = "5.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.0-beta3.tgz";
-        sha512 = "0urccjfIOzhrb9qJysN8XW/DRw6rg3zH7qLeKIp4Zyl8+Ens4JWB0NC0cB5AhnSFPd2tftRggjwCMxablo6Tpg==";
+        url = "https://registry.npmjs.org/bootstrap/-/bootstrap-5.0.2.tgz";
+        sha512 = "1Ge963tyEQWJJ+8qtXFU6wgmAVj9gweEjibUdbmcCEYsn38tVwRk8107rk2vzt6cfQcRr3SlZ8aQBqaD8aqf+Q==";
       };
     };
     "bootstrap-vue-helper-json-1.1.1" = {
@@ -14161,6 +14170,16 @@ let
         sha512 = "66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==";
       };
     };
+    "btc-rpc-client-git://github.com/btc21/btc-rpc-client" = {
+      name = "bitcoin-core";
+      packageName = "bitcoin-core";
+      version = "3.0.0";
+      src = fetchgit {
+        url = "git://github.com/btc21/btc-rpc-client";
+        rev = "8ed164d9ea4964d5c059084f48818b1a14bf86c9";
+        sha256 = "963ea67486cf531755c04d655bcff31d24f64682debd05a6c0ef469fd1e09bbb";
+      };
+    };
     "btcp-0.1.5" = {
       name = "btcp";
       packageName = "btcp";
@@ -15538,6 +15557,15 @@ let
         sha512 = "+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==";
       };
     };
+    "chart.js-3.5.0" = {
+      name = "chart.js";
+      packageName = "chart.js";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.5.0.tgz";
+        sha512 = "J1a4EAb1Gi/KbhwDRmoovHTRuqT8qdF0kZ4XgwxpGethJHUdDrkqyPYwke0a+BuvSeUxPf8Cos6AX2AB8H8GLA==";
+      };
+    };
     "chartjs-color-2.4.1" = {
       name = "chartjs-color";
       packageName = "chartjs-color";
@@ -16915,6 +16943,15 @@ let
         sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==";
       };
     };
+    "colorette-1.3.0" = {
+      name = "colorette";
+      packageName = "colorette";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz";
+        sha512 = "ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==";
+      };
+    };
     "colornames-1.1.1" = {
       name = "colornames";
       packageName = "colornames";
@@ -20354,13 +20391,13 @@ let
         sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
       };
     };
-    "debugnyan-1.0.0" = {
+    "debugnyan-2.0.2" = {
       name = "debugnyan";
       packageName = "debugnyan";
-      version = "1.0.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debugnyan/-/debugnyan-1.0.0.tgz";
-        sha1 = "90386d5ebc2c63588f17f272be5c2a93b7665d83";
+        url = "https://registry.npmjs.org/debugnyan/-/debugnyan-2.0.2.tgz";
+        sha512 = "g4yO/Qc/bdu8JYCgC0L6RUTgGyQCH8fGJkDDicvd6G3k95glh96x9sIusgIdyjFRpWTH7xbnjhObOjYjJgRGQw==";
       };
     };
     "decache-4.4.0" = {
@@ -21443,13 +21480,13 @@ let
         sha512 = "Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==";
       };
     };
-    "diff2html-3.4.8" = {
+    "diff2html-3.4.9" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "3.4.8";
+      version = "3.4.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.8.tgz";
-        sha512 = "ZkZXowZdEGu756Ka8kfmz3bEcH4j0ENC3FCDyomJ6Fz63U+tRoaoG1Qnjoej7fYMNk45AE+vsvn+woKMvm4zMg==";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.9.tgz";
+        sha512 = "33x45h6Xgfasjt49e0ldfLnUdCjLjHIdablpAlrKnQyyG1RA7w+4cbp9+bUfNLxfFj584BookXqh5KJEt4+MLA==";
       };
     };
     "diff3-0.0.3" = {
@@ -22559,15 +22596,6 @@ let
         sha512 = "1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==";
       };
     };
-    "electron-to-chromium-1.3.800" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.3.800";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.800.tgz";
-        sha512 = "qagikPjZJSDWP85uWoxs32oK/xk/y3MhDZELfKRCWI7pBc0ZFlmjnXb+3+aNMaiqboeDJJa0v7CJd5cO1HKwEQ==";
-      };
-    };
     "electron-to-chromium-1.3.801" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
@@ -23677,15 +23705,6 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.15.2" = {
-      name = "eslint-plugin-vue";
-      packageName = "eslint-plugin-vue";
-      version = "7.15.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.15.2.tgz";
-        sha512 = "h5ws2GewwJ02HwnDo3WdPbc867MQieg9wrWgbpzh9ELBIiuy79EWK0zfyUxYzUWNd1EECCZ/8f50UCC7Hvbamw==";
-      };
-    };
     "eslint-plugin-vue-7.16.0" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
@@ -34128,15 +34147,6 @@ let
         sha512 = "+XiaSKCrauom9xazpWr7O8pAEEDrrW1qYJ6O0vHG4YKZxJYJN7md6qwAurk3iamwtyuIW/Io2XEnB6ZypAk3bw==";
       };
     };
-    "json-bigint-0.2.3" = {
-      name = "json-bigint";
-      packageName = "json-bigint";
-      version = "0.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-bigint/-/json-bigint-0.2.3.tgz";
-        sha1 = "118d7f6ff1d38659f19f94cf73e64a75a3f988a8";
-      };
-    };
     "json-bigint-1.0.0" = {
       name = "json-bigint";
       packageName = "json-bigint";
@@ -42483,13 +42493,13 @@ let
         sha512 = "dBljNubVsolJkgfXUAF3KrCAO+hi5AXz+cftGjfHT76PyVB9pFUbAgTrkjZmKciC/B/14kEV5Ds+SwonqyTMfg==";
       };
     };
-    "node-releases-1.1.73" = {
+    "node-releases-1.1.74" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.73";
+      version = "1.1.74";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz";
-        sha512 = "uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.74.tgz";
+        sha512 = "caJBVempXZPepZoZAPCWRTNxYQ+xtG/KAi4ozTA5A+nJ7IU+kLQCbqaUjb5Rwy14M9upBWiQ4NutcmW04LJSRw==";
       };
     };
     "node-source-walk-4.2.0" = {
@@ -64105,6 +64115,15 @@ let
         sha512 = "DTMa8QbVmujFPvD3NxoC5jjIXCyCG+cvn3hNzwQRhvhsk8LblNymBZBwzfcDdgEtqsi4O/2AB5HnMIRzxhzEzg==";
       };
     };
+    "vscode-css-languageservice-5.1.4" = {
+      name = "vscode-css-languageservice";
+      packageName = "vscode-css-languageservice";
+      version = "5.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.4.tgz";
+        sha512 = "fIJZJMXbaBsK0ifBb2RmSiLtzwn6NrZnKn7O+0ziIjwAY+rPvSK9St2qqQXFU3reZVRAt/I4GBp40dC/THcUDA==";
+      };
+    };
     "vscode-debugadapter-testsupport-1.48.0" = {
       name = "vscode-debugadapter-testsupport";
       packageName = "vscode-debugadapter-testsupport";
@@ -64159,6 +64178,15 @@ let
         sha512 = "UmC+GS0IqBeZnOAmdtQvaDzoH1c5/un+b7qALUziu/Y4SOPXso5dF+YkJeTqsde6YU2pLm78RtMDzl9BParwbw==";
       };
     };
+    "vscode-html-languageservice-4.0.7" = {
+      name = "vscode-html-languageservice";
+      packageName = "vscode-html-languageservice";
+      version = "4.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.0.7.tgz";
+        sha512 = "P5TQMYpgxAdLs+PwpC7Lm+0lXCyQAC6kZ41YuPYNHVooC4XO7Y2+ncHBcQJVK4C9LU2cTOAl0lzq4WAxuwRHYw==";
+      };
+    };
     "vscode-json-languageserver-1.3.4" = {
       name = "vscode-json-languageserver";
       packageName = "vscode-json-languageserver";
@@ -65023,13 +65051,13 @@ let
         sha512 = "68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==";
       };
     };
-    "webpack-5.49.0" = {
+    "webpack-5.50.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.49.0";
+      version = "5.50.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.49.0.tgz";
-        sha512 = "XarsANVf28A7Q3KPxSnX80EkCcuOer5hTOEJWJNvbskOZ+EK3pobHarGHceyUZMxpsTHBHhlV7hiQyLZzGosYw==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz";
+        sha512 = "hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -68655,7 +68683,7 @@ in
       sources."clone-1.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."commander-4.1.1"
       sources."concat-map-0.0.1"
@@ -68663,7 +68691,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.800"
+      sources."electron-to-chromium-1.3.801"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.8.2" // {
@@ -68764,7 +68792,7 @@ in
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.10.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."object-assign-4.1.1"
@@ -69250,7 +69278,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
@@ -69343,7 +69371,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.800"
+      sources."electron-to-chromium-1.3.801"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -69679,7 +69707,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -70360,14 +70388,14 @@ in
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."commander-8.1.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.2"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.3.800"
+      sources."electron-to-chromium-1.3.801"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -70413,7 +70441,7 @@ in
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
@@ -70497,11 +70525,11 @@ in
     dependencies = [
       sources."browserslist-4.16.7"
       sources."caniuse-lite-1.0.30001249"
-      sources."colorette-1.2.2"
-      sources."electron-to-chromium-1.3.800"
+      sources."colorette-1.3.0"
+      sources."electron-to-chromium-1.3.801"
       sources."escalade-3.1.1"
       sources."fraction.js-4.1.1"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-range-0.1.2"
       sources."postcss-value-parser-4.1.0"
     ];
@@ -72182,10 +72210,10 @@ in
   btc-rpc-explorer = nodeEnv.buildNodePackage {
     name = "btc-rpc-explorer";
     packageName = "btc-rpc-explorer";
-    version = "3.1.1";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/btc-rpc-explorer/-/btc-rpc-explorer-3.1.1.tgz";
-      sha512 = "QHoiW1H2P6Sx7L5IEvbZnnQsfy7eaibY/KS2UAX9VINXNdGS9RxqEdLOe9yTdcy5pzIFpQKIBspOnHcBOjVa8A==";
+      url = "https://registry.npmjs.org/btc-rpc-explorer/-/btc-rpc-explorer-3.2.0.tgz";
+      sha512 = "Va/hSa8+LRP4o6neRo+us8XttwcmLfwgNykeXhtY3xMu3/Y7I2e4EXb6Zd9jElMVI3teWH7eiyLff0KDjnYJdg==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -72222,19 +72250,18 @@ in
       sources."base64-js-1.5.1"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."bech32-1.1.4"
-      sources."bignumber.js-4.1.0"
+      sources."bech32-2.0.0"
+      sources."bignumber.js-9.0.1"
       sources."bindings-1.5.0"
       sources."bip174-2.0.1"
       sources."bip32-2.0.6"
       sources."bip66-1.1.5"
-      (sources."bitcoin-core-2.3.0" // {
+      sources."bitcoin-ops-1.4.1"
+      (sources."bitcoinjs-lib-5.2.0" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."bech32-1.1.4"
         ];
       })
-      sources."bitcoin-ops-1.4.1"
-      sources."bitcoinjs-lib-5.2.0"
       sources."bluebird-3.7.2"
       sources."bn.js-4.12.0"
       (sources."body-parser-1.19.0" // {
@@ -72242,11 +72269,12 @@ in
           sources."debug-2.6.9"
         ];
       })
-      sources."bootstrap-5.0.0-beta3"
+      sources."bootstrap-5.0.2"
       sources."brace-expansion-1.1.11"
       sources."brorand-1.1.0"
       sources."bs58-4.0.1"
       sources."bs58check-2.1.2"
+      sources."btc-rpc-client-git://github.com/btc21/btc-rpc-client"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -72261,6 +72289,7 @@ in
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."charenc-0.0.2"
+      sources."chart.js-3.5.0"
       sources."cipher-base-1.0.4"
       sources."cliui-5.0.0"
       sources."color-convert-1.9.3"
@@ -72297,7 +72326,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      (sources."debugnyan-1.0.0" // {
+      (sources."debugnyan-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
@@ -72315,7 +72344,7 @@ in
       sources."destroy-1.0.4"
       sources."dijkstrajs-1.0.2"
       sources."doctypes-1.1.0"
-      sources."dotenv-8.6.0"
+      sources."dotenv-10.0.0"
       sources."dtrace-provider-0.8.8"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
@@ -72405,7 +72434,7 @@ in
       sources."js-stringify-1.0.2"
       sources."js-tokens-4.0.0"
       sources."jsbn-0.1.1"
-      sources."json-bigint-0.2.3"
+      sources."json-bigint-1.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
@@ -73962,6 +73991,101 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  clipboard-cli = nodeEnv.buildNodePackage {
+    name = "clipboard-cli";
+    packageName = "clipboard-cli";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/clipboard-cli/-/clipboard-cli-2.0.1.tgz";
+      sha512 = "ze7ASsXpF2J27QMq5or4VZZcX9X+E8XtsvFXaRwdLBON0UjnXfIWykgIzffSmrdfHOw/8rAufyOE58+/OU1eGw==";
+    };
+    dependencies = [
+      sources."arch-2.2.0"
+      sources."array-find-index-1.0.2"
+      sources."arrify-1.0.1"
+      sources."camelcase-4.1.0"
+      sources."camelcase-keys-4.2.0"
+      sources."clipboardy-2.3.0"
+      sources."cross-spawn-6.0.5"
+      sources."currently-unhandled-0.4.1"
+      sources."decamelize-1.2.0"
+      (sources."decamelize-keys-1.1.0" // {
+        dependencies = [
+          sources."map-obj-1.0.1"
+        ];
+      })
+      sources."end-of-stream-1.4.4"
+      sources."error-ex-1.3.2"
+      sources."execa-1.0.0"
+      sources."find-up-2.1.0"
+      sources."function-bind-1.1.1"
+      sources."get-stdin-7.0.0"
+      sources."get-stream-4.1.0"
+      sources."graceful-fs-4.2.8"
+      sources."has-1.0.3"
+      sources."hosted-git-info-2.8.9"
+      sources."indent-string-3.2.0"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.5.0"
+      sources."is-docker-2.2.1"
+      sources."is-plain-obj-1.1.0"
+      sources."is-stream-1.1.0"
+      sources."is-wsl-2.2.0"
+      sources."isexe-2.0.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."load-json-file-4.0.0"
+      sources."locate-path-2.0.0"
+      sources."loud-rejection-1.6.0"
+      sources."map-obj-2.0.0"
+      sources."meow-5.0.0"
+      sources."minimist-options-3.0.2"
+      sources."nice-try-1.0.5"
+      sources."normalize-package-data-2.5.0"
+      sources."npm-run-path-2.0.2"
+      sources."once-1.4.0"
+      sources."p-finally-1.0.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parse-json-4.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.7"
+      sources."path-type-3.0.0"
+      sources."pify-3.0.0"
+      sources."pump-3.0.0"
+      sources."quick-lru-1.1.0"
+      sources."read-pkg-3.0.0"
+      sources."read-pkg-up-3.0.0"
+      sources."redent-2.0.0"
+      sources."resolve-1.20.0"
+      sources."semver-5.7.1"
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."signal-exit-3.0.3"
+      sources."spdx-correct-3.1.1"
+      sources."spdx-exceptions-2.3.0"
+      sources."spdx-expression-parse-3.0.1"
+      sources."spdx-license-ids-3.0.10"
+      sources."strip-bom-3.0.0"
+      sources."strip-eof-1.0.0"
+      sources."strip-indent-2.0.0"
+      sources."trim-newlines-2.0.0"
+      sources."validate-npm-package-license-3.0.4"
+      sources."which-1.3.1"
+      sources."wrappy-1.0.2"
+      sources."yargs-parser-10.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Access the system clipboard (copy/paste)";
+      homepage = "https://github.com/sindresorhus/clipboard-cli#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   clubhouse-cli = nodeEnv.buildNodePackage {
     name = "clubhouse-cli";
     packageName = "clubhouse-cli";
@@ -75879,7 +76003,7 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
       sources."cosmiconfig-7.0.0"
@@ -75998,7 +76122,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       (sources."normalize-package-data-3.0.2" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -76347,7 +76471,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.32.0"
-      (sources."eslint-plugin-vue-7.15.2" // {
+      (sources."eslint-plugin-vue-7.16.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -78938,7 +79062,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."combined-stream-1.0.8"
       sources."component-emitter-1.3.0"
       (sources."concat-stream-1.6.2" // {
@@ -79160,7 +79284,7 @@ in
       sources."napi-macros-2.0.0"
       sources."node-fetch-2.6.1"
       sources."node-gyp-build-4.2.3"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."normalize.css-8.0.1"
@@ -80468,7 +80592,7 @@ in
       sources."code-excerpt-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
       (sources."conf-7.1.2" // {
@@ -80591,7 +80715,7 @@ in
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-package-data-2.5.0"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
@@ -83324,7 +83448,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
@@ -84105,7 +84229,7 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
@@ -85215,7 +85339,7 @@ in
       sources."code-excerpt-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commondir-1.0.1"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
@@ -85297,7 +85421,7 @@ in
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.1"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       (sources."normalize-package-data-3.0.2" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -85456,7 +85580,7 @@ in
           sources."tslib-2.3.0"
         ];
       })
-      (sources."@oclif/core-0.5.28" // {
+      (sources."@oclif/core-0.5.29" // {
         dependencies = [
           sources."chalk-4.1.2"
           (sources."cli-ux-5.6.3" // {
@@ -88109,7 +88233,7 @@ in
       sources."collapse-white-space-1.0.6"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."combined-stream-1.0.8"
       sources."common-tags-1.8.0"
       sources."concat-map-0.0.1"
@@ -88403,7 +88527,7 @@ in
       sources."node-eta-0.9.0"
       sources."node-fetch-2.6.1"
       sources."node-object-hash-2.3.8"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
@@ -88685,14 +88809,14 @@ in
       sources."@octokit/core-3.5.1"
       sources."@octokit/endpoint-6.0.12"
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.4.0"
-      sources."@octokit/plugin-paginate-rest-2.15.0"
+      sources."@octokit/openapi-types-9.5.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
       sources."@octokit/plugin-request-log-1.0.4"
       sources."@octokit/plugin-rest-endpoint-methods-5.7.0"
       sources."@octokit/request-5.6.0"
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.9.0"
-      sources."@octokit/types-6.24.0"
+      sources."@octokit/types-6.25.0"
       sources."@types/normalize-package-data-2.4.1"
       sources."agent-base-4.3.0"
       sources."ansi-regex-2.1.1"
@@ -92660,8 +92784,8 @@ in
       sources."@babel/types-7.15.0"
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
-      sources."@joplin/fork-htmlparser2-4.1.30"
-      sources."@joplin/fork-sax-1.2.34"
+      sources."@joplin/fork-htmlparser2-4.1.31"
+      sources."@joplin/fork-sax-1.2.35"
       (sources."@joplin/lib-2.1.1" // {
         dependencies = [
           (sources."@joplin/renderer-1.8.2" // {
@@ -92678,13 +92802,13 @@ in
           sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
         ];
       })
-      (sources."@joplin/turndown-4.0.52" // {
+      (sources."@joplin/turndown-4.0.53" // {
         dependencies = [
           sources."css-2.2.4"
           sources."source-map-0.6.1"
         ];
       })
-      sources."@joplin/turndown-plugin-gfm-1.0.34"
+      sources."@joplin/turndown-plugin-gfm-1.0.35"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -92694,7 +92818,7 @@ in
           sources."tslib-2.3.0"
         ];
       })
-      (sources."@oclif/core-0.5.28" // {
+      (sources."@oclif/core-0.5.29" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -92779,7 +92903,7 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.964.0" // {
+      (sources."aws-sdk-2.965.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -92880,7 +93004,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."command-line-usage-4.1.0"
@@ -93426,7 +93550,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."nopt-4.0.3"
       sources."normalize-path-3.0.0"
       sources."npm-bundled-1.1.2"
@@ -94969,7 +95093,7 @@ in
           sources."tslib-2.3.0"
         ];
       })
-      (sources."@oclif/core-0.5.28" // {
+      (sources."@oclif/core-0.5.29" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -96384,9 +96508,9 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.4.0"
+      sources."@octokit/openapi-types-9.6.0"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
-      sources."@octokit/plugin-paginate-rest-2.15.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
       sources."@octokit/plugin-request-log-1.0.4"
       sources."@octokit/plugin-rest-endpoint-methods-5.7.0"
       (sources."@octokit/request-5.6.0" // {
@@ -96396,7 +96520,7 @@ in
       })
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.9.0"
-      sources."@octokit/types-6.24.0"
+      sources."@octokit/types-6.25.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
@@ -98276,7 +98400,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       (sources."combine-source-map-0.8.0" // {
         dependencies = [
@@ -98654,7 +98778,7 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -99666,7 +99790,7 @@ in
           sources."tslib-2.3.0"
         ];
       })
-      (sources."@oclif/core-0.5.28" // {
+      (sources."@oclif/core-0.5.29" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -99772,7 +99896,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."commander-8.1.0"
       sources."commondir-1.0.1"
@@ -100031,7 +100155,7 @@ in
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.1"
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -100246,10 +100370,10 @@ in
   mirakurun = nodeEnv.buildNodePackage {
     name = "mirakurun";
     packageName = "mirakurun";
-    version = "3.7.1";
+    version = "3.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.7.1.tgz";
-      sha512 = "1Igntd9BqPrUMMB2nhVSy2k6D/BzGx1yLC5GMHyyC7z2w+i27oDYuk7ZMfwBHMZS409F5desIOcDE6w3BFb1XA==";
+      url = "https://registry.npmjs.org/mirakurun/-/mirakurun-3.8.0.tgz";
+      sha512 = "uEJ8S5nMNq6MvtxnWso6jLkwfA62RVa0+E3+TbBTOthPeC0FagskjcA6KZb2xNuEkMFoeZUQcAZcMIY5mKkHgQ==";
     };
     dependencies = [
       sources."@fluentui/date-time-utilities-8.2.2"
@@ -100886,10 +101010,10 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "6.0.9";
+    version = "6.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-6.0.9.tgz";
-      sha512 = "eOZSTnEZO6bPMJWvsKxYgm0+lG3uv6anqEylomDEZEszfd8jXO8B5DIpGholtoCC9WKTeiE7XfizrdTXLFI3UQ==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-6.1.0.tgz";
+      sha512 = "1jNmgR6DA3aoMLVhEfuagYBzxHVqK7x6pLRY+4c5Atn3PJ/hX1SU56rBED6BRTNiPfGTuudPNXHjWj75MUpj/w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -101023,15 +101147,33 @@ in
       sources."@dabh/diagnostics-2.0.2"
       sources."@jest/types-24.9.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@netlify/build-17.9.2" // {
+      (sources."@netlify/build-17.10.0" // {
         dependencies = [
+          (sources."@netlify/zip-it-and-ship-it-4.17.0" // {
+            dependencies = [
+              sources."execa-5.1.1"
+              sources."locate-path-6.0.0"
+              sources."p-locate-5.0.0"
+              sources."pkg-dir-5.0.0"
+              sources."semver-7.3.5"
+              sources."yargs-16.2.0"
+            ];
+          })
           sources."ansi-styles-4.3.0"
           (sources."boxen-4.2.0" // {
             dependencies = [
               sources."chalk-3.0.0"
             ];
           })
-          sources."execa-3.4.0"
+          sources."cp-file-9.1.0"
+          (sources."execa-3.4.0" // {
+            dependencies = [
+              sources."get-stream-5.2.0"
+              sources."human-signals-1.1.1"
+            ];
+          })
+          sources."get-stream-6.0.1"
+          sources."human-signals-2.1.0"
           sources."is-plain-obj-2.1.0"
           sources."locate-path-5.0.0"
           sources."resolve-2.0.0-next.3"
@@ -101064,7 +101206,6 @@ in
       sources."@netlify/esbuild-0.13.6"
       (sources."@netlify/framework-info-5.8.0" // {
         dependencies = [
-          sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
         ];
       })
@@ -101096,6 +101237,7 @@ in
       (sources."@netlify/plugin-edge-handlers-1.11.22" // {
         dependencies = [
           sources."@types/node-14.17.9"
+          sources."typescript-4.3.5"
         ];
       })
       sources."@netlify/plugins-list-3.3.0"
@@ -101107,15 +101249,10 @@ in
       })
       (sources."@netlify/zip-it-and-ship-it-4.16.0" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."cliui-7.0.4"
           sources."cp-file-9.1.0"
           sources."pkg-dir-5.0.0"
           sources."resolve-2.0.0-next.3"
-          sources."wrap-ansi-7.0.0"
-          sources."y18n-5.0.8"
           sources."yargs-16.2.0"
-          sources."yargs-parser-20.2.9"
         ];
       })
       (sources."@nodelib/fs.scandir-2.1.5" // {
@@ -101166,10 +101303,9 @@ in
           sources."tslib-2.3.0"
         ];
       })
-      (sources."@oclif/core-0.5.28" // {
+      (sources."@oclif/core-0.5.29" // {
         dependencies = [
           sources."@nodelib/fs.stat-2.0.5"
-          sources."ansi-styles-4.3.0"
           sources."array-union-2.1.0"
           sources."braces-3.0.2"
           sources."clean-stack-3.0.1"
@@ -101188,15 +101324,12 @@ in
           sources."to-regex-range-5.0.1"
           sources."tslib-2.3.0"
           sources."universalify-2.0.0"
-          sources."wrap-ansi-7.0.0"
         ];
       })
       (sources."@oclif/errors-1.3.5" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
           sources."clean-stack-3.0.1"
           sources."escape-string-regexp-4.0.0"
-          sources."wrap-ansi-7.0.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
@@ -101243,8 +101376,8 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.4.0"
-      sources."@octokit/plugin-paginate-rest-2.15.0"
+      sources."@octokit/openapi-types-9.6.0"
+      sources."@octokit/plugin-paginate-rest-2.15.1"
       sources."@octokit/plugin-request-log-1.0.4"
       sources."@octokit/plugin-rest-endpoint-methods-5.7.0"
       (sources."@octokit/request-5.6.0" // {
@@ -101254,7 +101387,7 @@ in
       })
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.9.0"
-      sources."@octokit/types-6.24.0"
+      sources."@octokit/types-6.25.0"
       sources."@rollup/plugin-babel-5.3.0"
       (sources."@rollup/plugin-commonjs-18.1.0" // {
         dependencies = [
@@ -101408,10 +101541,8 @@ in
       })
       (sources."boxen-5.0.1" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
           sources."camelcase-6.2.0"
           sources."type-fest-0.20.2"
-          sources."wrap-ansi-7.0.0"
         ];
       })
       sources."brace-expansion-1.1.11"
@@ -101517,7 +101648,7 @@ in
         ];
       })
       sources."cli-width-2.2.1"
-      sources."cliui-6.0.0"
+      sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
       sources."code-point-at-1.1.0"
@@ -101531,7 +101662,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."colors-1.4.0"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
@@ -101673,11 +101804,7 @@ in
       sources."detective-sass-3.0.1"
       sources."detective-scss-2.0.1"
       sources."detective-stylus-1.0.0"
-      (sources."detective-typescript-7.0.0" // {
-        dependencies = [
-          sources."typescript-3.9.10"
-        ];
-      })
+      sources."detective-typescript-7.0.0"
       (sources."dir-glob-2.2.2" // {
         dependencies = [
           sources."path-type-3.0.0"
@@ -102148,7 +102275,6 @@ in
       })
       (sources."locate-path-6.0.0" // {
         dependencies = [
-          sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
         ];
       })
@@ -102276,7 +102402,7 @@ in
       sources."netlify-redirector-0.2.1"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.1"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."node-source-walk-4.2.0"
       (sources."node-version-alias-1.0.1" // {
         dependencies = [
@@ -102383,8 +102509,12 @@ in
       })
       sources."p-finally-2.0.1"
       sources."p-is-promise-1.1.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
+      sources."p-limit-3.1.0"
+      (sources."p-locate-4.1.0" // {
+        dependencies = [
+          sources."p-limit-2.3.0"
+        ];
+      })
       sources."p-map-4.0.0"
       sources."p-reduce-2.1.0"
       (sources."p-timeout-2.0.1" // {
@@ -102760,7 +102890,7 @@ in
       sources."type-fest-0.21.3"
       sources."type-is-1.6.18"
       sources."typedarray-to-buffer-3.1.5"
-      sources."typescript-4.3.5"
+      sources."typescript-3.9.10"
       sources."uid-safe-2.1.5"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-1.0.4"
@@ -102845,7 +102975,7 @@ in
         ];
       })
       sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-6.2.0" // {
+      (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
         ];
@@ -102854,15 +102984,20 @@ in
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-4.0.3"
+      sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       (sources."yargs-15.4.1" // {
         dependencies = [
+          sources."ansi-styles-4.3.0"
+          sources."cliui-6.0.0"
           sources."find-up-4.1.0"
           sources."locate-path-5.0.0"
+          sources."wrap-ansi-6.2.0"
+          sources."y18n-4.0.3"
+          sources."yargs-parser-18.1.3"
         ];
       })
-      sources."yargs-parser-18.1.3"
+      sources."yargs-parser-20.2.9"
       sources."yarn-1.22.11"
       sources."yauzl-2.10.0"
       sources."yocto-queue-0.1.0"
@@ -105589,7 +105724,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.20.3"
@@ -105976,7 +106111,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
@@ -107850,7 +107985,7 @@ in
       sha512 = "wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==";
     };
     dependencies = [
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."nanoid-3.1.23"
       sources."source-map-js-0.6.2"
     ];
@@ -107888,7 +108023,7 @@ in
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."dependency-graph-0.9.0"
       sources."dir-glob-3.0.1"
       sources."emoji-regex-8.0.0"
@@ -109204,7 +109339,7 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.6.0"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-4.1.1"
       sources."commondir-1.0.1"
       sources."component-bind-1.0.0"
@@ -109817,7 +109952,7 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
       (sources."normalize-url-2.0.1" // {
@@ -110824,7 +110959,7 @@ in
       sources."clsx-1.1.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."concat-map-0.0.1"
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
@@ -112111,7 +112246,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.964.0" // {
+      (sources."aws-sdk-2.965.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -115433,7 +115568,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.964.0" // {
+      (sources."aws-sdk-2.965.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -116288,7 +116423,7 @@ in
       sources."clone-regexp-2.2.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
       sources."cosmiconfig-7.0.0"
@@ -116406,7 +116541,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       (sources."normalize-package-data-3.0.2" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -119858,7 +119993,7 @@ in
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-5.0.0"
-      sources."diff2html-3.4.8"
+      sources."diff2html-3.4.9"
       sources."dnd-page-scroll-0.0.4"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
@@ -120953,6 +121088,50 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  vscode-langservers-extracted = nodeEnv.buildNodePackage {
+    name = "vscode-langservers-extracted";
+    packageName = "vscode-langservers-extracted";
+    version = "2.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-2.4.0.tgz";
+      sha512 = "dGTyYwuKd0miiTGG3ShL1u1MOni/iZLdY8GUyEf86jHIq2+P9h+El0IkXt8GsDGOAIty+DmhDOVZ/VTw2pjUEg==";
+    };
+    dependencies = [
+      sources."agent-base-4.3.0"
+      sources."debug-3.1.0"
+      sources."es6-promise-4.2.8"
+      sources."es6-promisify-5.0.0"
+      sources."http-proxy-agent-2.1.0"
+      sources."https-proxy-agent-2.2.4"
+      sources."jsonc-parser-3.0.0"
+      sources."ms-2.0.0"
+      (sources."request-light-0.4.0" // {
+        dependencies = [
+          sources."vscode-nls-4.1.2"
+        ];
+      })
+      sources."typescript-4.3.5"
+      sources."vscode-css-languageservice-5.1.4"
+      sources."vscode-html-languageservice-4.0.7"
+      sources."vscode-json-languageservice-4.1.6"
+      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-languageserver-7.0.0"
+      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-textdocument-1.0.1"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-nls-5.0.0"
+      sources."vscode-uri-3.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "HTML/CSS/JSON language servers extracted from [vscode](https://github.com/Microsoft/vscode).";
+      homepage = "https://github.com/hrsh7th/vscode-langservers-extracted#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps" = nodeEnv.buildNodePackage {
     name = "vscode-lldb";
     packageName = "vscode-lldb";
@@ -121032,7 +121211,7 @@ in
       sources."clone-deep-4.0.1"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-6.2.1"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
@@ -121153,7 +121332,7 @@ in
       sources."mute-stream-0.0.8"
       sources."nanoid-3.1.20"
       sources."neo-async-2.6.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."nth-check-2.0.0"
@@ -121260,7 +121439,7 @@ in
       sources."vscode-debugadapter-testsupport-1.48.0"
       sources."vscode-debugprotocol-1.48.0"
       sources."watchpack-2.2.0"
-      sources."webpack-5.49.0"
+      sources."webpack-5.50.0"
       (sources."webpack-cli-4.7.2" // {
         dependencies = [
           sources."commander-7.2.0"
@@ -122866,7 +123045,7 @@ in
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."columnify-1.5.4"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
@@ -123343,10 +123522,10 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.49.0";
+    version = "5.50.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.49.0.tgz";
-      sha512 = "XarsANVf28A7Q3KPxSnX80EkCcuOer5hTOEJWJNvbskOZ+EK3pobHarGHceyUZMxpsTHBHhlV7hiQyLZzGosYw==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.50.0.tgz";
+      sha512 = "hqxI7t/KVygs0WRv/kTgUW8Kl3YC81uyWQSo/7WUs5LsuRw0htH/fCwbVBGCuiX/t4s7qzjXFcf41O8Reiypag==";
     };
     dependencies = [
       sources."@types/eslint-7.28.0"
@@ -123379,7 +123558,7 @@ in
       sources."buffer-from-1.1.2"
       sources."caniuse-lite-1.0.30001249"
       sources."chrome-trace-event-1.0.3"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-2.20.3"
       sources."electron-to-chromium-1.3.801"
       sources."enhanced-resolve-5.8.2"
@@ -123406,7 +123585,7 @@ in
       sources."mime-db-1.49.0"
       sources."mime-types-2.1.32"
       sources."neo-async-2.6.2"
-      sources."node-releases-1.1.73"
+      sources."node-releases-1.1.74"
       sources."p-limit-3.1.0"
       sources."punycode-2.1.1"
       sources."randombytes-2.1.0"
@@ -123452,7 +123631,7 @@ in
       sources."@webpack-cli/info-1.3.0"
       sources."@webpack-cli/serve-1.5.1"
       sources."clone-deep-4.0.1"
-      sources."colorette-1.2.2"
+      sources."colorette-1.3.0"
       sources."commander-7.2.0"
       sources."cross-spawn-7.0.3"
       sources."envinfo-7.8.1"
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/ailment/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/ailment/default.nix
index 6c1ab2e8b2..a9ff8c6d18 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/ailment/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/ailment/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.0.9355";
+  version = "9.0.9438";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "102pixc5yy48ydmr3khvpfwm9bl33w07y8mpgjfrhp75qr5q4lrl";
+    sha256 = "sha256-V/0plNgApk8S/xdd0I8zeE7dqb0xBhqCVSDW7jGHpzo=";
   };
 
   propagatedBuildInputs = [ pyvex ];
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/aioambient/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
index 8d75a1b11e..16678c9f04 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/aioambient/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "aioambient";
-  version = "1.2.5";
+  version = "1.2.6";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "1v8xr69y9cajyrdfz8wdksz1hclh5cvgxppf9lpygwfj4q70wh88";
+    sha256 = "sha256-EppnuZP62YTFI3UJUzBUj2m5TvFh1WiDz9smHY7We60=";
   };
 
   nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/angr/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/angr/default.nix
index 4deb383f0a..d0805d0624 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/angr/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/angr/default.nix
@@ -43,14 +43,14 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.0.9355";
+  version = "9.0.9438";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0myk3xlvdw4szypivv6a90jw8cqdf1njjqxgqz5lqbx7fajqhrmy";
+    sha256 = "sha256-wbyuphcRw9FtVcwwQq8w0vaYZqWQ0nIyJPaZh+r8ROU=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/angrop/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/angrop/default.nix
index 1824a0d0e9..2ee8671c0e 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/angrop/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/angrop/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.0.9355";
+  version = "9.0.9438";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fs31yd8hhkrrx4gsq13fb5fqi86688pazpmsnsga7hznv60s2ks";
+    sha256 = "sha256-+6fWdl5IcQTygFQbqPSfWvpqdooFN5yeBgPIblOyZEU=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/archinfo/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
index d5d25b2c02..571e4e291c 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.9355";
+  version = "9.0.9438";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mjs3aba204dqr6k0kgs6h3qyqjq80vinc7awql14rmyad2xndmb";
+    sha256 = "sha256-C3ZBqCNzXcpeLmAPpXci2AA4D5A3cQC6rHPuf/BmT38=";
   };
 
   checkInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/claripy/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/claripy/default.nix
index c2b1fd903b..155b46d2c0 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/claripy/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/claripy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.0.9355";
+  version = "9.0.9438";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hmxkrzyhrc75z5d2ndf0z8icddrsd278lg640ihdjv1wabsa76w";
+    sha256 = "sha256-QgBdR2Xs3OscJ1PQ3fSwe0vqsKVSl2E7xf7JZ6B2FYA=";
   };
 
   # Use upstream z3 implementation
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/cle/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/cle/default.nix
index e65843c81a..b29be9078d 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/cle/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.0.9355";
+  version = "9.0.9438";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jqbqp82arrxyiisj96n9laxhwjlrd0vj4a9wa8lgxafi6zv4lc6";
+    sha256 = "sha256-BDhrKVnT1+zeEsQBM3qMDwcPJcePMPlAj/iL7M4GWtM=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/dbutils/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
index 294456cc85..fef630e868 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/dbutils/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
-  version = "2.0.1";
+  version = "2.0.2";
   pname = "dbutils";
 
   src = fetchPypi {
     inherit version;
     pname = "DBUtils";
-    sha256 = "sha256-Vw590TbBMRb+74vKGGCeP2a4ZoqcPV8hCdh0TERE2GE=";
+    sha256 = "1cc8zyd4lapzf9ny6c2jf1vysphlhr19m8miyvw5spbyq4pxpnsf";
   };
 
   checkInputs = [ pytestCheckHook ];
 
+  pythonImportsCheck = [ "dbutils" ];
+
   meta = with lib; {
     description = "Database connections for multi-threaded environments";
     homepage = "https://webwareforpython.github.io/DBUtils/";
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/debugpy/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
index 9e821bf2dd..35ac416d59 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/debugpy/default.nix
@@ -57,10 +57,11 @@ buildPythonPackage rec {
     cd src/debugpy/_vendored/pydevd/pydevd_attach_to_process
     rm *.so *.dylib *.dll *.exe *.pdb
     ${stdenv.cc}/bin/c++ linux_and_mac/attach.cpp -Ilinux_and_mac -fPIC -nostartfiles ${{
-      "x86_64-linux"  = "-shared -m64 -o attach_linux_amd64.so";
-      "i686-linux"    = "-shared -m32 -o attach_linux_x86.so";
-      "x86_64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch x86_64 -o attach_x86_64.dylib";
-      "i686-darwin"   = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch i386 -o attach_x86.dylib";
+      "x86_64-linux"   = "-shared -m64 -o attach_linux_amd64.so";
+      "i686-linux"     = "-shared -m32 -o attach_linux_x86.so";
+      "x86_64-darwin"  = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch x86_64 -o attach_x86_64.dylib";
+      "i686-darwin"    = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch i386 -o attach_x86.dylib";
+      "aarch64-darwin" = "-std=c++11 -lc -D_REENTRANT -dynamiclib -arch arm64 -o attach_arm64.dylib";
     }.${stdenv.hostPlatform.system}}
   )'';
 
@@ -95,6 +96,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/microsoft/debugpy";
     license = licenses.mit;
     maintainers = with maintainers; [ kira-bruneau ];
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" "aarch64-darwin" ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/env-canada/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
index 22894ab9f2..5ea8939282 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/env-canada/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , geopy
 , imageio
+, lxml
 , pillow
 , pytestCheckHook
 , python-dateutil
@@ -11,19 +12,20 @@
 
 buildPythonPackage rec {
   pname = "env-canada";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "michaeldavie";
     repo = "env_canada";
     rev = "v${version}";
-    sha256 = "0v1wmjvi05i6mjh6yxqigbf2spf7842198yp98f7h0nyfjmz96hn";
+    sha256 = "0dgw2mf760r1y0mq8bcvx6y3bcqpaf8p97rzf7pd0pbwvwrcsj3n";
   };
 
   propagatedBuildInputs = [
     aiohttp
     geopy
     imageio
+    lxml
     pillow
     python-dateutil
   ];
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
index 87aa914b59..66ff1ddc10 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/eth-typing/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "eth-typing";
-  version = "2.2.1";
+  version = "2.2.2";
 
   # Tests are missing from the PyPI source tarball so let's use GitHub
   # https://github.com/ethereum/eth-typing/issues/8
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0k9jydsclk81qpkvl7hpchwclm3c89gyzlk17480wcw90nkps9ap";
+    sha256 = "0rkvkacxla4y2blkkfdsq1ywnyqsvg8pwhvadznbag1bfzja4xhv";
   };
 
   # setuptools-markdown uses pypandoc which is broken at the moment
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/eventlet/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
index 28c7e9c6ee..87446ed95f 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/eventlet/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "eventlet";
-  version = "0.31.0";
+  version = "0.31.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b36ec2ecc003de87fc87b93197d77fea528aa0f9204a34fdf3b2f8d0f01e017b";
+    sha256 = "0xldgwjf9jkp28rn0pg0i32bg6m7pdh7dwgi0grcvqzs0iii5sdr";
   };
 
   propagatedBuildInputs = [ dnspython greenlet monotonic six ]
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
index c41b047908..c568583dd3 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/exchangelib/default.nix
@@ -1,40 +1,77 @@
-{ lib, fetchFromGitHub, buildPythonPackage,
-  pythonOlder,
-  lxml, tzlocal, python-dateutil, pygments, requests-kerberos,
-  defusedxml, cached-property, isodate, requests_ntlm, dnspython,
-  psutil, requests-mock, pyyaml,
-  oauthlib, requests_oauthlib, tzdata,
-  flake8, backports-zoneinfo
+{ lib
+, backports-datetime-fromisoformat
+, backports-zoneinfo
+, buildPythonPackage
+, cached-property
+, defusedxml
+, dnspython
+, fetchFromGitHub
+, flake8
+, isodate
+, lxml
+, oauthlib
+, psutil
+, pygments
+, python-dateutil
+, pythonOlder
+, pytz
+, pyyaml
+, requests
+, requests_ntlm
+, requests_oauthlib
+, requests-kerberos
+, requests-mock
+, tzdata
+, tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "exchangelib";
-  version = "4.4.0";
-  disabled = pythonOlder "3.5";
+  version = "4.5.0";
+  disabled = pythonOlder "3.6";
 
-  # tests are not present in the PyPI version
   src = fetchFromGitHub {
     owner = "ecederstrand";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d6hfbawp68x18ryxamkamf8kgc55xbrll89g3swrqnm2rrhzrqf";
+    sha256 = "sha256-MtWcqsbKls9I7Oj0UlJzWtHsNfAxk4+ojSgK50ljEfs=";
   };
 
-  checkInputs = [ psutil requests-mock pyyaml
-    flake8
-  ];
   propagatedBuildInputs = [
-    lxml tzlocal tzdata python-dateutil pygments requests-kerberos
-    defusedxml cached-property isodate requests_ntlm dnspython
-    oauthlib requests_oauthlib
+    cached-property
+    defusedxml
+    dnspython
+    isodate
+    lxml
+    oauthlib
+    pygments
+    requests
+    requests_ntlm
+    requests_oauthlib
+    requests-kerberos
+    tzdata
+    tzlocal
   ] ++ lib.optionals (pythonOlder "3.9") [
     backports-zoneinfo
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    backports-datetime-fromisoformat
   ];
 
+  checkInputs = [
+    flake8
+    psutil
+    python-dateutil
+    pytz
+    pyyaml
+    requests-mock
+  ];
+
+  pythonImportsCheck = [ "exchangelib" ];
+
   meta = with lib; {
     description = "Client for Microsoft Exchange Web Services (EWS)";
-    homepage    = "https://github.com/ecederstrand/exchangelib";
-    license     = licenses.bsd2;
+    homepage = "https://github.com/ecederstrand/exchangelib";
+    license = licenses.bsd2;
     maintainers = with maintainers; [ catern ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/fastapi/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
index 3b14560eb9..27cb4e4452 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/fastapi/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.67.0";
+  version = "0.68.0";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "tiangolo";
     repo = "fastapi";
     rev = version;
-    sha256 = "15zbalyib7ndcbxvf9prj0n9n6qb4bfzhmaacsjrvdmjzmqdjgw0";
+    sha256 = "00cjkc90h0qlca30g981zvwlxh2wc3rfipw25v667jdl9x5gxv9p";
   };
 
   postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
index 201337ef77..5565764596 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.44.0";
+  version = "0.45.1";
 
   src = fetchFromGitHub {
     owner = "nabucasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cfKuqkIgmbo7/kUIpJFbckyQ0uDrxXmdsI7qORX0PWc=";
+    sha256 = "sha256-ZDPlYoLAQLXiV+LUMdu/8v3TrG5/Zz4+r4PtThrLAas=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
index d95aa84696..6832266b87 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/opensimplex/default.nix
@@ -1,10 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, autopep8
 , nose
-, pycodestyle
-, twine
 }:
 
 buildPythonPackage rec {
@@ -18,10 +15,11 @@ buildPythonPackage rec {
     sha256 = "idF5JQGnAye6z3c3YU9rsHaebB3rlHJfA8vSpjDnFeM=";
   };
 
-  checkInputs = [ autopep8 nose pycodestyle twine ];
+  checkInputs = [ nose ];
   checkPhase = ''
     nosetests tests/
   '';
+  pythonImportsCheck = [ "opensimplex" ];
 
   meta = with lib; {
     description = "OpenSimplex Noise functions for 2D, 3D and 4D";
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
index 6d2a4cac36..28c509c6d1 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.28";
+  version = "8.12.29";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1g86bf791lr9ggrfgllah9liwa3bx917h9ffrdb01kjwdna4zsj2";
+    sha256 = "12h9l9kgviqvy7asax23ci12bwflpsf8c51ia7wg2k7dd56nlfcs";
   };
 
   checkInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/plugwise/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
index 3b37b236c4..ec6d9c41a0 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/plugwise/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.11.2";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = version;
-    sha256 = "sha256-ywVCa6PfyQ1SiejE2IYkf/IpQM0iDXJPpCm0vDtlrw8=";
+    sha256 = "sha256-fZ0mhsM7LroJgIyBO4eRzZaz2OQxa4Hhj1rNufHXvHI=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
index f115b2b5c6..7bf5296eb3 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pybotvac/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pybotvac";
-  version = "0.0.21";
+  version = "0.0.22";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hf692w44dmalv7hlcpwzbnr6xhvnmdv5nl1jcy2jhiwp89lkhzv";
+    sha256 = "sha256-hl8UmoVUbbHCSpCWdUTxoIlop5di+rUmGUQI9UWq3ik=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pylutron/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
index 4f1180ebee..4bf56d5e6e 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pylutron/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "pylutron";
-  version = "0.2.8";
+  version = "0.2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Jg2waoIxvBvX+hoAgt/yoM87XdShCHQOZXbsHG3b4cw=";
+    sha256 = "sha256-xy5XPNOrvdPZMCfa2MYA+xtUcFdGSurW5QYL6H7n2VI=";
   };
 
   # Project has no tests
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pymunk/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
index 92918efa8e..4ee22feed1 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pymunk/default.nix
@@ -1,9 +1,11 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , python
 , cffi
 , pytestCheckHook
+, ApplicationServices
 }:
 
 buildPythonPackage rec {
@@ -17,6 +19,9 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [ cffi ];
+  buildInputs = lib.optionals stdenv.isDarwin [
+    ApplicationServices
+  ];
 
   preBuild = ''
     ${python.interpreter} setup.py build_ext --inplace
@@ -26,11 +31,13 @@ buildPythonPackage rec {
   pytestFlagsArray = [
     "pymunk/tests"
   ];
+  pythonImportsCheck = [ "pymunk" ];
 
   meta = with lib; {
     description = "2d physics library";
     homepage = "https://www.pymunk.org";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.linux ++ [ "x86_64-darwin" ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
index ff7b9a4649..e749c467ab 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , mupdf
 , swig
 , freetype
@@ -26,10 +25,7 @@ buildPythonPackage rec {
   patches = [
     # Add NIX environment support.
     # Should be removed next pyMuPDF release.
-    (fetchpatch {
-      url = "https://github.com/pymupdf/PyMuPDF/commit/d9b2d42019e5705a1c6621ea0cdfa26da1ce9ad5.patch";
-      sha256 = "fc3f6ad88c8f3933ed9ab9d4db9ebec8bc30ed5113f6ca9d72080b56dfa52ad6";
-    })
+    ./nix-support.patch
   ];
 
   postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/nix-support.patch b/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/nix-support.patch
new file mode 100644
index 0000000000..e0a14337a8
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pymupdf/nix-support.patch
@@ -0,0 +1,17 @@
+--- a/setup.py
++++ b/setup.py
+@@ -36,10 +36,14 @@ LIBRARIES = {
+     "opensuse": OPENSUSE,
+     "fedora": FEDORA,
+     "alpine": ALPINE,
++    "nix": FEDORA,
+ }
+ 
+ 
+ def load_libraries():
++    if os.getenv("NIX_STORE"):
++        return LIBRARIES["nix"]
++
+     try:
+         import distro
+ 
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pymyq/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
index 71788db45c..9fffbab038 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pymyq/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymyq";
-  version = "3.0.4";
+  version = "3.1.0";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "arraylabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jeoFlLBjD81Bt6E75rk4U1Ach53KGy23QGx+A6X2rpg=";
+    sha256 = "0nrsivgd3andlq9c0p72x06mz1s4ihhibbphccrm5v1fmbzj09zp";
   };
 
   propagatedBuildInputs = [
@@ -27,6 +27,7 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "pymyq" ];
 
   meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
index 9d06569dfd..831ae6e396 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "2.9.0";
+  version = "2.10.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LFGxTN2aaAKDFaKw6IUl03YJZziPmfqlfeiQK0VGW+Y=";
+    sha256 = "sha256-N2s+mCOBzsc0RxxQKz2ixueFio300DyZNJnmp1k5UOY=";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
new file mode 100644
index 0000000000..ffa3a5302a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pyuseragents/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyuseragents";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "Animenosekai";
+    repo = "useragents";
+    rev = "v${version}";
+    sha256 = "D7Qs3vsfkRH2FDkbfakrR+FfWzQFiOCQM7q9AdJavyU=";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "test.py" ];
+  pythonImportsCheck = [ "pyuseragents" ];
+
+  meta = with lib; {
+    description = "Giving you a random User-Agent Header";
+    homepage = "https://github.com/Animenosekai/useragents";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ angustrau ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pyvex/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
index 9f681e22be..716afd52ca 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pyvex/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.0.9355";
+  version = "9.0.9438";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qnfi5z905lrzj8rf88prk5fz9cj0q2yag3xykv3gkmhs9fw3w0x";
+    sha256 = "sha256-L7Y80qWecmAP9aBuUh1YMBNhvLGPJUfj80mdEbhzC9Y=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
index a89e0b3789..c7c60d20f3 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/pywebpush/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "pywebpush";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "97ef000a685cd1f63d9d3553568508508904bfe419485df2b83b025d94e9ae54";
+    sha256 = "sha256-bDbhZ5JoIZ5pO6lA2yvyVMJAygJmTeECtyaa/DxUVzE=";
   };
 
   propagatedBuildInputs = [
@@ -36,6 +36,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [ "pywebpush" ];
+
   meta = with lib; {
     description = "Webpush Data encryption library for Python";
     homepage = "https://github.com/web-push-libs/pywebpush";
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
index ce1dfc366f..01b9d0fd09 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/requests-cache/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.7.2";
+  version = "0.7.3";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "reclosedev";
     repo = "requests-cache";
     rev = "v${version}";
-    sha256 = "055dfyjm8dqwr62v86lyvq4r04692gmvlgp86218vwvzgm7p3p2c";
+    sha256 = "sha256-QGh/ThI5bKE65luVHDSsr6RQq5RReugdZrVvR1R0pUU=";
   };
 
   nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/rich/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/rich/default.nix
index e939d3fc93..323bd8ba86 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/rich/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/rich/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "10.4.0";
+  version = "10.7.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "willmcgugan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0z01bvn8zx69simk26jv5ngvqv35fs7i0wbg1hjcd37lmv3v6261";
+    sha256 = "1drh08cmcn8dqi0mpfwscz3ljsv2s60kyhxy6iiw5si7rf717j4p";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/translatepy/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
new file mode 100644
index 0000000000..8428f0b06e
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/development/python-modules/translatepy/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, beautifulsoup4
+, pyuseragents
+, inquirer
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "translatepy";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "Animenosekai";
+    repo = "translate";
+    rev = "v${version}";
+    sha256 = "Rt6FvB4kZVaB/jxxqOHsnkReTFCCyiEaZf240n0zVZs=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    beautifulsoup4
+    pyuseragents
+    inquirer
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+  disabledTestPaths = [
+    # Requires network connection
+    "tests/test_translators.py"
+  ];
+  pythonImportsCheck = [ "translatepy" ];
+
+  meta = with lib; {
+    description = "A module grouping multiple translation APIs";
+    homepage = "https://github.com/Animenosekai/translate";
+    license = with licenses; [ agpl3Only ];
+    maintainers = with maintainers; [ angustrau ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
index 50e112583f..4918e69922 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/transmission-rpc/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "transmission-rpc";
-  version = "3.2.5";
+  version = "3.2.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "59598c9aa338703951686420fea292d9ba2d83d2a81361f16b64c2603c4ebb45";
+    sha256 = "1k4yyrbdqxp43zsmcg37a99x4s2kwsm7yyajf810y2wx61nq49d1";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
index 9791c2b046..47c98ad953 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/typed-settings/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "typed-settings";
-  version = "0.9.2";
+  version = "0.10.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "203c1c6ec73dd1eb0fecd4981b31f8e05042f0dda16443190ac9ade1113ff53d";
+    sha256 = "1fr6qkq3ldlp5i5l4b891w9ail9lfhaxlar3yij912slq5w0s8aw";
   };
 
   nativeBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
index ee09ceb105..4822922da3 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/websocket-client/default.nix
@@ -3,28 +3,34 @@
 , fetchPypi
 , pythonOlder
 , pytestCheckHook
-, pysocks
+, python-socks
 }:
 
 buildPythonPackage rec {
   pname = "websocket-client";
-  version = "1.1.0";
+  version = "1.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-to5JWdcEdo+iDjXJ1QjI3Cu8BB/Y0mfA1zRc/+KCRWg=";
+    sha256 = "sha256-dmW6bGRZibKLYWcIdKt1PmkpF56fyQVlrOasCQ9ZxVk=";
   };
 
-  checkInputs = [ pytestCheckHook pysocks ];
+  propagatedBuildInputs = [
+    python-socks
+   ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "websocket" ];
 
   meta = with lib; {
     description = "Websocket client for Python";
     homepage = "https://github.com/websocket-client/websocket-client";
+    changelog = "https://github.com/websocket-client/websocket-client/blob/v${version}/ChangeLog";
     license = licenses.lgpl21Plus;
     maintainers = with maintainers; [ fab ];
-    changelog = "https://github.com/websocket-client/websocket-client/blob/v${version}/ChangeLog";
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/yeelight/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
index 888708e799..dc10c3d581 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/yeelight/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.6.3";
+  version = "0.7.2";
   disabled = pythonOlder "3.4";
 
   src = fetchFromGitLab {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "v${version}";
-    sha256 = "sha256-71ncPGcqTRSldWVhJ2uZ2AEgkv1KO2i6UtAUTcJcru8=";
+    sha256 = "06pg5q50dw5a0h6jnln8419asi8nahzvlk0s65ymykqq0jxac31y";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/python-modules/yfinance/default.nix b/third_party/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
index 9a64572e38..7a7a005efe 100644
--- a/third_party/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
+++ b/third_party/nixpkgs/pkgs/development/python-modules/yfinance/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.1.61";
+  version = "0.1.63";
 
   # GitHub source releases aren't tagged
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+tc0rwweGFaBkrl7LBHdsff98PuupqovKh4nRP3hRJ0=";
+    sha256 = "0k1saz0wknxv31vpqcfyi35mzi68c75hlqpw8lf83xqw9zllydhi";
   };
 
   propagatedBuildInputs = [
diff --git a/third_party/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix b/third_party/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix
index 66b457f990..efbc464482 100644
--- a/third_party/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/analysis/sparse/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, pkg-config, libxml2, llvm }:
+{ fetchurl, lib, stdenv, pkg-config, libxml2, llvm, perl }:
 
 stdenv.mkDerivation rec {
   pname = "sparse";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libxml2 llvm ];
+  buildInputs = [ libxml2 llvm perl ];
   doCheck = true;
 
   meta = {
diff --git a/third_party/nixpkgs/pkgs/development/tools/buf/default.nix b/third_party/nixpkgs/pkgs/development/tools/buf/default.nix
index fb515841c7..230f5b09b9 100644
--- a/third_party/nixpkgs/pkgs/development/tools/buf/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/buf/default.nix
@@ -7,29 +7,32 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "0.46.0";
+  version = "0.49.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5mjk31HuPNO/RhmMhIm3dAZAED/Kk33ObjC8KbPKRxk=";
-    leaveDotGit = true; # Required by TestWorkspaceGit
+    sha256 = "sha256-xP2UbcHwimN09IXrGp3zhBLL74l/8YKotqBNRTITF18=";
   };
-  vendorSha256 = "sha256-K8UZDEhAvD292RCEDKfY9PdZGS389vLF3oukcBndUF4=";
+  vendorSha256 = "sha256-WgQSLe99CbOwJC8ewDcSq6PcBJdmiPRmvAonq8drQ1w=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
     ./skip_test_requiring_network.patch
+    # Skip TestWorkspaceGit which requires .git and commits.
+    ./skip_test_requiring_dotgit.patch
   ];
 
   nativeBuildInputs = [ protobuf ];
+  # Required for TestGitCloner
   checkInputs = [ git ];
 
   ldflags = [ "-s" "-w" ];
 
   preCheck = ''
-    export PATH=$PATH:$GOPATH/bin
+    # The tests need access to some of the built utilities
+    export PATH="$PATH:$GOPATH/bin"
     # To skip TestCloneBranchAndRefToBucket
     export CI=true
   '';
@@ -38,24 +41,32 @@ buildGoModule rec {
     runHook preInstall
 
     mkdir -p "$out/bin"
-    dir="$GOPATH/bin"
     # Only install required binaries, don't install testing binaries
-    for file in \
+    for FILE in \
       "buf" \
       "protoc-gen-buf-breaking" \
       "protoc-gen-buf-lint" \
       "protoc-gen-buf-check-breaking" \
       "protoc-gen-buf-check-lint"; do
-      cp "$dir/$file" "$out/bin/"
+      cp "$GOPATH/bin/$FILE" "$out/bin/"
     done
 
     runHook postInstall
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/buf --help
+    $out/bin/buf --version 2>&1 | grep "${version}"
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
-    description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
     homepage = "https://buf.build";
+    changelog = "https://github.com/bufbuild/buf/releases/tag/v${version}";
+    description = "Create consistent Protobuf APIs that preserve compatibility and comply with design best-practices";
     license = licenses.asl20;
-    maintainers = with maintainers; [ raboof ];
+    maintainers = with maintainers; [ raboof jk ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch b/third_party/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch
new file mode 100644
index 0000000000..c4a7803661
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/development/tools/buf/skip_test_requiring_dotgit.patch
@@ -0,0 +1,14 @@
+diff --git a/internal/buf/cmd/buf/workspace_test.go b/internal/buf/cmd/buf/workspace_test.go
+index e051690..8887837 100644
+--- a/internal/buf/cmd/buf/workspace_test.go
++++ b/internal/buf/cmd/buf/workspace_test.go
+@@ -335,6 +335,9 @@ func TestWorkspaceNestedArchive(t *testing.T) {
+ }
+ 
+ func TestWorkspaceGit(t *testing.T) {
++	// Requires .git directory which we do not retain due to
++	// `leaveDotGit` non-determinism
++	t.Skip()
+ 	// Directory paths specified as a git reference within a workspace.
+ 	t.Parallel()
+ 	testRunStdout(
diff --git a/third_party/nixpkgs/pkgs/development/tools/conftest/default.nix b/third_party/nixpkgs/pkgs/development/tools/conftest/default.nix
index 473196f9a9..1ba8cb0a9d 100644
--- a/third_party/nixpkgs/pkgs/development/tools/conftest/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/conftest/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.26.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "sha256-AIFZhe0N6FT06IrDVF2OVfSwmQVg62ZglOcnnDL9TK8=";
+    sha256 = "sha256-Yc/aejGLMbAqpIRTVQQ3lv7/oyr7tVAy41Gx6198Eos=";
   };
 
-  vendorSha256 = "sha256-7wj1n5ggYYrmMrDuQkbbJ2C1S1LHawkkj91owHDIwr0=";
+  vendorSha256 = "sha256-jI5bX6S2C0ckiiieVlaRNEsLS/5gGkC3o/xauDtCOjA=";
 
   doCheck = false;
 
diff --git a/third_party/nixpkgs/pkgs/development/tools/doctl/default.nix b/third_party/nixpkgs/pkgs/development/tools/doctl/default.nix
index 74cb56c201..f5c485e5b0 100644
--- a/third_party/nixpkgs/pkgs/development/tools/doctl/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.62.0";
+  version = "1.63.1";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-5YqGNuC1mmsIsEtnbgumaLuZGy3k6L9jZNbVwZln8WY=";
+    sha256 = "sha256-SSjTrCR5H+3nIKHKEfrQX917HjgpViS6H1RwmRe4coI=";
   };
 
   meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/development/tools/misc/hydra/common.nix b/third_party/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
index 5b1973c2b9..fd1896f24b 100644
--- a/third_party/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/misc/hydra/common.nix
@@ -26,6 +26,7 @@ let
         CatalystPluginAccessLog
         CatalystPluginAuthorizationRoles
         CatalystPluginCaptcha
+        CatalystPluginPrometheusTiny
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
         CatalystPluginSmartURI
@@ -59,6 +60,7 @@ let
         NetPrometheus
         NetStatsd
         PadWalker
+        PrometheusTinyShared
         Readonly
         SQLSplitStatement
         SetScalar
diff --git a/third_party/nixpkgs/pkgs/development/tools/misc/hydra/default.nix b/third_party/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
index a124b4a5c6..ac5600519b 100644
--- a/third_party/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/misc/hydra/default.nix
@@ -2,12 +2,12 @@
 
 {
   hydra-unstable = callPackage ./common.nix {
-    version = "2021-05-03";
+    version = "2021-08-11";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "hydra";
-      rev = "886e6f85e45a1f757e9b77d2a9e4539fbde29468";
-      sha256 = "t7Qb57Xjc0Ou+VDGC1N5u9AmeODW6MVOwKSrYRJq5f0=";
+      rev = "9bce425c3304173548d8e822029644bb51d35263";
+      sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
     };
     nix = nixUnstable;
 
diff --git a/third_party/nixpkgs/pkgs/development/tools/pscale/default.nix b/third_party/nixpkgs/pkgs/development/tools/pscale/default.nix
index 483a85db02..657b196501 100644
--- a/third_party/nixpkgs/pkgs/development/tools/pscale/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/pscale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.60.0";
+  version = "0.63.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-hrWSieWeVAg28f3Fh9mElr+mDh4v4T5JI1c3+Hrm7c0=";
+    sha256 = "sha256-LYVR8vcMS6ErYH4sGRi1JT9E4ElYe5mloc3C1TudzSE=";
   };
 
-  vendorSha256 = "sha256-h4YUQWmFYouEvHup8Pu6OqfHf1EoPszVFzklU9SbJZQ=";
+  vendorSha256 = "sha256-3LuzdvwLYSL7HaGbKDfrqBz2FV2yr6YUdI5kXXiIvbU=";
 
   meta = with lib; {
     homepage = "https://www.planetscale.com/";
diff --git a/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock b/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock
index 094c703b65..a51aef852d 100644
--- a/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock
+++ b/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/Cargo.lock
@@ -1,5 +1,7 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
+version = 3
+
 [[package]]
 name = "add"
 version = "0.1.0"
@@ -15,9 +17,9 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
 dependencies = [
  "memchr",
 ]
@@ -33,15 +35,9 @@ dependencies = [
 
 [[package]]
 name = "anyhow"
-version = "1.0.40"
+version = "1.0.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
-
-[[package]]
-name = "arrayref"
-version = "0.3.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486"
 
 [[package]]
 name = "arrayvec"
@@ -91,7 +87,7 @@ checksum = "2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc"
 dependencies = [
  "askama_escape",
  "humansize",
- "nom 6.1.2",
+ "nom 6.2.1",
  "num-traits 0.2.14",
  "percent-encoding",
  "proc-macro2",
@@ -103,13 +99,13 @@ dependencies = [
 
 [[package]]
 name = "assert_cmd"
-version = "1.0.5"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a88b6bd5df287567ffdf4ddf4d33060048e1068308e5f62d81c6f9824a045a48"
+checksum = "c98233c6673d8601ab23e77eb38f999c51100d46c5703b17288c57fddf3a1ffe"
 dependencies = [
  "bstr",
  "doc-comment",
- "predicates",
+ "predicates 2.0.1",
  "predicates-core",
  "predicates-tree",
  "wait-timeout",
@@ -126,18 +122,18 @@ dependencies = [
  "winapi",
 ]
 
-[[package]]
-name = "autocfg"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-
 [[package]]
 name = "autocfg"
 version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
 
+[[package]]
+name = "base-x"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
+
 [[package]]
 name = "base64"
 version = "0.9.3"
@@ -148,15 +144,6 @@ dependencies = [
  "safemem",
 ]
 
-[[package]]
-name = "base64"
-version = "0.10.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
-dependencies = [
- "byteorder",
-]
-
 [[package]]
 name = "base64"
 version = "0.13.0"
@@ -187,22 +174,11 @@ dependencies = [
  "wyz",
 ]
 
-[[package]]
-name = "blake2b_simd"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587"
-dependencies = [
- "arrayref",
- "arrayvec",
- "constant_time_eq",
-]
-
 [[package]]
 name = "bstr"
-version = "0.2.16"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279"
+checksum = "a40b47ad93e1a5404e6c18dec46b628214fee441c70f4ab5d6942142cc268a3d"
 dependencies = [
  "lazy_static",
  "memchr",
@@ -242,9 +218,9 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.68"
+version = "1.0.69"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787"
+checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
 
 [[package]]
 name = "cfg-if"
@@ -274,7 +250,7 @@ dependencies = [
  "libc",
  "num-integer",
  "num-traits 0.2.14",
- "time",
+ "time 0.1.43",
  "winapi",
 ]
 
@@ -308,15 +284,6 @@ dependencies = [
  "web-sys",
 ]
 
-[[package]]
-name = "cloudabi"
-version = "0.0.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-dependencies = [
- "bitflags 1.2.1",
-]
-
 [[package]]
 name = "color_quant"
 version = "1.1.0"
@@ -342,10 +309,10 @@ dependencies = [
 ]
 
 [[package]]
-name = "constant_time_eq"
-version = "0.1.5"
+name = "const_fn"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7"
 
 [[package]]
 name = "crossbeam-channel"
@@ -359,9 +326,9 @@ dependencies = [
 
 [[package]]
 name = "crossbeam-deque"
-version = "0.8.0"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
+checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
 dependencies = [
  "cfg-if 1.0.0",
  "crossbeam-epoch",
@@ -408,9 +375,9 @@ dependencies = [
 
 [[package]]
 name = "curl-sys"
-version = "0.4.44+curl-7.77.0"
+version = "0.4.45+curl-7.78.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b6d85e9322b193f117c966e79c2d6929ec08c02f339f950044aba12e20bbaf1"
+checksum = "de9e5a72b1c744eb5dd20b2be4d7eb84625070bb5c4ab9b347b70464ab1e62eb"
 dependencies = [
  "cc",
  "libc",
@@ -451,15 +418,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
 
 [[package]]
-name = "dirs"
-version = "1.0.5"
+name = "difflib"
+version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
+checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
+
+[[package]]
+name = "discard"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
 
 [[package]]
 name = "doc-comment"
@@ -504,13 +472,13 @@ dependencies = [
 
 [[package]]
 name = "env_logger"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "17392a012ea30ef05a610aa97dfb49496e71c9f676b27879922ea5bdf60d9d3f"
+checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
 dependencies = [
  "atty",
  "humantime",
- "log 0.4.14",
+ "log",
  "regex",
  "termcolor",
 ]
@@ -529,13 +497,13 @@ dependencies = [
 
 [[package]]
 name = "filetime"
-version = "0.2.14"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d34cfa13a63ae058bfa601fe9e313bbdb3746427c1459185464ce0fcf62e1e8"
+checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "redox_syscall 0.2.8",
+ "redox_syscall",
  "winapi",
 ]
 
@@ -573,12 +541,6 @@ dependencies = [
  "percent-encoding",
 ]
 
-[[package]]
-name = "fuchsia-cprng"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
 [[package]]
 name = "funty"
 version = "1.1.0"
@@ -587,9 +549,9 @@ checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
 
 [[package]]
 name = "futures"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27"
+checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -602,9 +564,9 @@ dependencies = [
 
 [[package]]
 name = "futures-channel"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2"
+checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -621,9 +583,9 @@ dependencies = [
 
 [[package]]
 name = "futures-core"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1"
+checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99"
 
 [[package]]
 name = "futures-core-preview"
@@ -633,9 +595,9 @@ checksum = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79"
+checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -644,9 +606,9 @@ dependencies = [
 
 [[package]]
 name = "futures-io"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1"
+checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582"
 
 [[package]]
 name = "futures-lite"
@@ -660,11 +622,11 @@ dependencies = [
 
 [[package]]
 name = "futures-macro"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121"
+checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "proc-macro-hack",
  "proc-macro2",
  "quote",
@@ -673,23 +635,23 @@ dependencies = [
 
 [[package]]
 name = "futures-sink"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282"
+checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53"
 
 [[package]]
 name = "futures-task"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae"
+checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2"
 
 [[package]]
 name = "futures-util"
-version = "0.3.15"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967"
+checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "futures-channel",
  "futures-core",
  "futures-io",
@@ -704,17 +666,6 @@ dependencies = [
  "slab",
 ]
 
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if 1.0.0",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
 [[package]]
 name = "getrandom"
 version = "0.2.3"
@@ -723,7 +674,7 @@ checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "wasi 0.10.2+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -746,6 +697,7 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 name = "guide-supported-types-examples"
 version = "0.1.0"
 dependencies = [
+ "js-sys",
  "wasm-bindgen",
 ]
 
@@ -767,9 +719,9 @@ dependencies = [
 
 [[package]]
 name = "hermit-abi"
-version = "0.1.18"
+version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
 dependencies = [
  "libc",
 ]
@@ -842,6 +794,15 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e7e0062d2dc2f17d2f13750d95316ae8a2ff909af0fda957084f5defd87c43bb"
 
+[[package]]
+name = "itertools"
+version = "0.10.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
+dependencies = [
+ "either",
+]
+
 [[package]]
 name = "itoa"
 version = "0.4.7"
@@ -859,7 +820,7 @@ dependencies = [
 
 [[package]]
 name = "js-sys"
-version = "0.3.51"
+version = "0.3.52"
 dependencies = [
  "wasm-bindgen",
  "wasm-bindgen-futures",
@@ -901,9 +862,9 @@ dependencies = [
 
 [[package]]
 name = "libc"
-version = "0.2.95"
+version = "0.2.99"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "789da6d93f1b866ffe175afc5322a4d76c038605a1c3319bb57b06967ca98a36"
+checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765"
 
 [[package]]
 name = "libz-sys"
@@ -917,15 +878,6 @@ dependencies = [
  "vcpkg",
 ]
 
-[[package]]
-name = "log"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
-dependencies = [
- "log 0.4.14",
-]
-
 [[package]]
 name = "log"
 version = "0.4.14"
@@ -949,9 +901,9 @@ checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 
 [[package]]
 name = "memchr"
-version = "2.4.0"
+version = "2.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
 
 [[package]]
 name = "memoffset"
@@ -959,43 +911,38 @@ version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
 ]
 
 [[package]]
 name = "mime"
-version = "0.2.6"
+version = "0.3.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
-dependencies = [
- "log 0.3.9",
-]
+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
 
 [[package]]
 name = "mime_guess"
-version = "1.8.8"
+version = "2.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "216929a5ee4dd316b1702eedf5e74548c123d370f47841ceaac38ca154690ca3"
+checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
 dependencies = [
  "mime",
- "phf",
- "phf_codegen",
  "unicase",
 ]
 
 [[package]]
 name = "multipart"
-version = "0.16.1"
+version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "136eed74cadb9edd2651ffba732b19a450316b680e4f48d6c79e905799e19d01"
+checksum = "00dec633863867f29cb39df64a397cdf4a6354708ddd7759f70c7fb51c5f9182"
 dependencies = [
  "buf_redux",
  "httparse",
- "log 0.4.14",
+ "log",
  "mime",
  "mime_guess",
  "quick-error",
- "rand 0.6.5",
+ "rand",
  "safemem",
  "tempfile",
  "twoway",
@@ -1015,20 +962,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
 dependencies = [
  "memchr",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
 name = "nom"
-version = "6.1.2"
+version = "6.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2"
+checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
 dependencies = [
  "bitvec",
  "funty",
  "lexical-core",
  "memchr",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
@@ -1043,7 +990,7 @@ version = "0.1.44"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "num-traits 0.2.14",
 ]
 
@@ -1053,7 +1000,7 @@ version = "0.1.42"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "num-integer",
  "num-traits 0.2.14",
 ]
@@ -1083,7 +1030,7 @@ version = "0.2.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
 ]
 
 [[package]]
@@ -1098,15 +1045,15 @@ dependencies = [
 
 [[package]]
 name = "once_cell"
-version = "1.7.2"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
 
 [[package]]
 name = "openssl"
-version = "0.10.34"
+version = "0.10.35"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d7830286ad6a3973c0f1d9b73738f69c76b739301d0229c4b96501695cbe4c8"
+checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885"
 dependencies = [
  "bitflags 1.2.1",
  "cfg-if 1.0.0",
@@ -1133,11 +1080,11 @@ dependencies = [
 
 [[package]]
 name = "openssl-sys"
-version = "0.9.63"
+version = "0.9.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6b0d6fb7d80f877617dfcb014e605e2b5ab2fb0afdf27935219bb6bd984cb98"
+checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "cc",
  "libc",
  "openssl-src",
@@ -1160,50 +1107,11 @@ dependencies = [
  "web-sys",
 ]
 
-[[package]]
-name = "phf"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-dependencies = [
- "phf_shared",
-]
-
-[[package]]
-name = "phf_codegen"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
-dependencies = [
- "phf_generator",
- "phf_shared",
-]
-
-[[package]]
-name = "phf_generator"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
-dependencies = [
- "phf_shared",
- "rand 0.6.5",
-]
-
-[[package]]
-name = "phf_shared"
-version = "0.7.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-dependencies = [
- "siphasher",
- "unicase",
-]
-
 [[package]]
 name = "pin-project-lite"
-version = "0.2.6"
+version = "0.2.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
+checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
 
 [[package]]
 name = "pin-utils"
@@ -1248,6 +1156,17 @@ dependencies = [
  "regex",
 ]
 
+[[package]]
+name = "predicates"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc3d91237f5de3bcd9d927e24d03b495adb6135097b001cea7403e2d573d00a9"
+dependencies = [
+ "difflib",
+ "itertools",
+ "predicates-core",
+]
+
 [[package]]
 name = "predicates-core"
 version = "1.0.2"
@@ -1256,9 +1175,9 @@ checksum = "57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451"
 
 [[package]]
 name = "predicates-tree"
-version = "1.0.2"
+version = "1.0.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "15f553275e5721409451eb85e15fd9a860a6e5ab4496eb215987502b5f5391f2"
+checksum = "d7dd0fd014130206c9352efbdc92be592751b2b9274dff685348341082c6ea3d"
 dependencies = [
  "predicates-core",
  "treeline",
@@ -1274,7 +1193,7 @@ dependencies = [
  "proc-macro2",
  "quote",
  "syn",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
@@ -1285,7 +1204,7 @@ checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
 dependencies = [
  "proc-macro2",
  "quote",
- "version_check 0.9.3",
+ "version_check",
 ]
 
 [[package]]
@@ -1302,9 +1221,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.27"
+version = "1.0.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038"
+checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
 dependencies = [
  "unicode-xid",
 ]
@@ -1332,189 +1251,42 @@ checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
 
 [[package]]
 name = "rand"
-version = "0.6.5"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-dependencies = [
- "autocfg 0.1.7",
- "libc",
- "rand_chacha 0.1.1",
- "rand_core 0.4.2",
- "rand_hc 0.1.0",
- "rand_isaac",
- "rand_jitter",
- "rand_os",
- "rand_pcg",
- "rand_xorshift",
- "winapi",
-]
-
-[[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom 0.1.16",
- "libc",
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
 dependencies = [
  "libc",
- "rand_chacha 0.3.0",
- "rand_core 0.6.2",
- "rand_hc 0.3.0",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
 ]
 
 [[package]]
 name = "rand_chacha"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
-dependencies = [
- "ppv-lite86",
- "rand_core 0.6.2",
-]
-
-[[package]]
-name = "rand_core"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
- "rand_core 0.4.2",
+ "ppv-lite86",
+ "rand_core",
 ]
 
 [[package]]
 name = "rand_core"
-version = "0.4.2"
+version = "0.6.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
 dependencies = [
- "getrandom 0.1.16",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
-dependencies = [
- "getrandom 0.2.3",
+ "getrandom",
 ]
 
 [[package]]
 name = "rand_hc"
-version = "0.1.0"
+version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
 dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core 0.5.1",
-]
-
-[[package]]
-name = "rand_hc"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
-dependencies = [
- "rand_core 0.6.2",
-]
-
-[[package]]
-name = "rand_isaac"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
-dependencies = [
- "rand_core 0.3.1",
-]
-
-[[package]]
-name = "rand_jitter"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
-dependencies = [
- "libc",
- "rand_core 0.4.2",
- "winapi",
-]
-
-[[package]]
-name = "rand_os"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
-dependencies = [
- "cloudabi",
- "fuchsia-cprng",
- "libc",
- "rand_core 0.4.2",
- "rdrand",
- "winapi",
-]
-
-[[package]]
-name = "rand_pcg"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
-dependencies = [
- "autocfg 0.1.7",
- "rand_core 0.4.2",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-dependencies = [
- "rand_core 0.3.1",
+ "rand_core",
 ]
 
 [[package]]
@@ -1523,7 +1295,7 @@ version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
 dependencies = [
- "autocfg 1.0.1",
+ "autocfg",
  "crossbeam-deque",
  "either",
  "rayon-core",
@@ -1567,46 +1339,20 @@ dependencies = [
  "serde_derive",
 ]
 
-[[package]]
-name = "rdrand"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
-dependencies = [
- "rand_core 0.3.1",
-]
-
 [[package]]
 name = "redox_syscall"
-version = "0.1.57"
+version = "0.2.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
-
-[[package]]
-name = "redox_syscall"
-version = "0.2.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
 dependencies = [
  "bitflags 1.2.1",
 ]
 
-[[package]]
-name = "redox_users"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d"
-dependencies = [
- "getrandom 0.1.16",
- "redox_syscall 0.1.57",
- "rust-argon2",
-]
-
 [[package]]
 name = "regex"
-version = "1.5.4"
+version = "1.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
+checksum = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759"
 dependencies = [
  "aho-corasick",
  "memchr",
@@ -1644,40 +1390,27 @@ dependencies = [
 
 [[package]]
 name = "rouille"
-version = "3.1.1"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0cfaebc11a52b7415f07e69f18f8240a0ea5eedf0dcb888c5fb7b432e7b4729b"
+checksum = "8263ea8c0988dbdd89e679d408eaa5505bb886677e997562646c2e2ba4d2e6db"
 dependencies = [
- "base64 0.10.1",
+ "base64 0.13.0",
  "chrono",
  "filetime",
  "multipart",
  "num_cpus",
  "percent-encoding",
- "rand 0.7.3",
+ "rand",
  "serde",
  "serde_derive",
  "serde_json",
  "sha1",
- "term",
  "threadpool",
- "time",
+ "time 0.2.27",
  "tiny_http",
  "url",
 ]
 
-[[package]]
-name = "rust-argon2"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb"
-dependencies = [
- "base64 0.13.0",
- "blake2b_simd",
- "constant_time_eq",
- "crossbeam-utils",
-]
-
 [[package]]
 name = "rust-duck-typed-interfaces"
 version = "0.1.0"
@@ -1687,9 +1420,18 @@ dependencies = [
 
 [[package]]
 name = "rustc-demangle"
-version = "0.1.19"
+version = "0.1.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "410f7acf3cb3a44527c5d9546bad4bf4e6c460915d5f9f2fc524498bfe8f70ce"
+checksum = "dead70b0b5e03e9c814bcb6b01e03e68f7c57a80aa48c72ec92152ab3e818d49"
+
+[[package]]
+name = "rustc_version"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+dependencies = [
+ "semver",
+]
 
 [[package]]
 name = "ryu"
@@ -1742,19 +1484,34 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
-name = "serde"
-version = "1.0.126"
+name = "semver"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03"
+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+dependencies = [
+ "semver-parser",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+[[package]]
+name = "serde"
+version = "1.0.127"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.126"
+version = "1.0.127"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43"
+checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1763,9 +1520,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.64"
+version = "1.0.66"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
+checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127"
 dependencies = [
  "itoa",
  "ryu",
@@ -1778,23 +1535,17 @@ version = "0.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
 
-[[package]]
-name = "siphasher"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-
 [[package]]
 name = "slab"
-version = "0.4.3"
+version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527"
+checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590"
 
 [[package]]
 name = "socket2"
-version = "0.4.0"
+version = "0.4.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2"
+checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad"
 dependencies = [
  "libc",
  "winapi",
@@ -1806,12 +1557,70 @@ version = "0.1.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
 
+[[package]]
+name = "standback"
+version = "0.2.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
+dependencies = [
+ "version_check",
+]
+
 [[package]]
 name = "static_assertions"
 version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
 
+[[package]]
+name = "stdweb"
+version = "0.4.20"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
+dependencies = [
+ "discard",
+ "rustc_version",
+ "stdweb-derive",
+ "stdweb-internal-macros",
+ "stdweb-internal-runtime",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "stdweb-derive"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-macros"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
+dependencies = [
+ "base-x",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "serde_derive",
+ "serde_json",
+ "sha1",
+ "syn",
+]
+
+[[package]]
+name = "stdweb-internal-runtime"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
+
 [[package]]
 name = "strsim"
 version = "0.8.0"
@@ -1826,9 +1635,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
 
 [[package]]
 name = "structopt"
-version = "0.3.21"
+version = "0.3.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5277acd7ee46e63e5168a80734c9f6ee81b1367a7d8772a2d765df2a3705d28c"
+checksum = "69b041cdcb67226aca307e6e7be44c8806423d83e018bd662360a93dabce4d71"
 dependencies = [
  "clap",
  "lazy_static",
@@ -1837,9 +1646,9 @@ dependencies = [
 
 [[package]]
 name = "structopt-derive"
-version = "0.4.14"
+version = "0.4.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ba9cdfda491b814720b6b06e0cac513d922fc407582032e8706e9f137976f90"
+checksum = "7813934aecf5f51a54775e00068c237de98489463968231a51746bbbc03f9c10"
 dependencies = [
  "heck",
  "proc-macro-error",
@@ -1850,9 +1659,9 @@ dependencies = [
 
 [[package]]
 name = "syn"
-version = "1.0.72"
+version = "1.0.74"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
+checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1873,23 +1682,12 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
- "rand 0.8.3",
- "redox_syscall 0.2.8",
+ "rand",
+ "redox_syscall",
  "remove_dir_all",
  "winapi",
 ]
 
-[[package]]
-name = "term"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
-dependencies = [
- "byteorder",
- "dirs",
- "winapi",
-]
-
 [[package]]
 name = "termcolor"
 version = "1.1.2"
@@ -1927,6 +1725,44 @@ dependencies = [
  "winapi",
 ]
 
+[[package]]
+name = "time"
+version = "0.2.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+dependencies = [
+ "const_fn",
+ "libc",
+ "standback",
+ "stdweb",
+ "time-macros",
+ "version_check",
+ "winapi",
+]
+
+[[package]]
+name = "time-macros"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
+dependencies = [
+ "proc-macro-hack",
+ "time-macros-impl",
+]
+
+[[package]]
+name = "time-macros-impl"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "standback",
+ "syn",
+]
+
 [[package]]
 name = "tiny_http"
 version = "0.8.2"
@@ -1936,15 +1772,15 @@ dependencies = [
  "ascii",
  "chrono",
  "chunked_transfer",
- "log 0.4.14",
+ "log",
  "url",
 ]
 
 [[package]]
 name = "tinyvec"
-version = "1.2.0"
+version = "1.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342"
+checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338"
 dependencies = [
  "tinyvec_macros",
 ]
@@ -1983,9 +1819,9 @@ checksum = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
 
 [[package]]
 name = "trybuild"
-version = "1.0.42"
+version = "1.0.43"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1768998d9a3b179411618e377dbb134c58a88cda284b0aa71c42c40660127d46"
+checksum = "c02c413315329fc96167f922b46fd0caa3a43f4697b7a7896b183c7142635832"
 dependencies = [
  "glob",
  "lazy_static",
@@ -2015,11 +1851,11 @@ dependencies = [
 
 [[package]]
 name = "unicase"
-version = "1.4.2"
+version = "2.6.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
 dependencies = [
- "version_check 0.1.5",
+ "version_check",
 ]
 
 [[package]]
@@ -2042,9 +1878,9 @@ dependencies = [
 
 [[package]]
 name = "unicode-segmentation"
-version = "1.7.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
+checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
 
 [[package]]
 name = "unicode-width"
@@ -2072,9 +1908,9 @@ dependencies = [
 
 [[package]]
 name = "vcpkg"
-version = "0.2.13"
+version = "0.2.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "025ce40a007e1907e58d5bc1a594def78e5573bb0b1160bc389634e8f12e4faa"
+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
 
 [[package]]
 name = "vec_map"
@@ -2082,12 +1918,6 @@ version = "0.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
 
-[[package]]
-name = "version_check"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-
 [[package]]
 name = "version_check"
 version = "0.9.3"
@@ -2112,7 +1942,7 @@ dependencies = [
  "anyhow",
  "id-arena",
  "leb128",
- "log 0.4.14",
+ "log",
  "rayon",
  "walrus-macro",
  "wasmparser 0.77.0",
@@ -2130,12 +1960,6 @@ dependencies = [
  "syn",
 ]
 
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
 [[package]]
 name = "wasi"
 version = "0.10.2+wasi-snapshot-preview1"
@@ -2144,7 +1968,7 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -2160,11 +1984,11 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "bumpalo",
  "lazy_static",
- "log 0.4.14",
+ "log",
  "proc-macro2",
  "quote",
  "syn",
@@ -2181,7 +2005,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-cli"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "assert_cmd",
@@ -2189,9 +2013,9 @@ dependencies = [
  "diff",
  "docopt",
  "env_logger",
- "log 0.4.14",
+ "log",
  "openssl",
- "predicates",
+ "predicates 1.0.8",
  "rayon",
  "rouille",
  "serde",
@@ -2209,11 +2033,11 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-cli-support"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "base64 0.9.3",
- "log 0.4.14",
+ "log",
  "rustc-demangle",
  "serde_json",
  "tempfile",
@@ -2231,7 +2055,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-externref-xform"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "rayon",
@@ -2243,7 +2067,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.24"
+version = "0.4.25"
 dependencies = [
  "cfg-if 1.0.0",
  "futures-channel-preview",
@@ -2257,7 +2081,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "quote",
  "trybuild",
@@ -2268,7 +2092,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2279,7 +2103,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-multi-value-xform"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "rayon",
@@ -2300,11 +2124,11 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.74"
+version = "0.2.75"
 
 [[package]]
 name = "wasm-bindgen-test"
-version = "0.3.24"
+version = "0.3.25"
 dependencies = [
  "console_error_panic_hook",
  "js-sys",
@@ -2330,7 +2154,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-test-macro"
-version = "0.3.24"
+version = "0.3.25"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2338,7 +2162,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-threads-xform"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "walrus",
@@ -2347,7 +2171,7 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-wasm-conventions"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "walrus",
@@ -2355,10 +2179,10 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-wasm-interpreter"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
- "log 0.4.14",
+ "log",
  "tempfile",
  "walrus",
  "wasm-bindgen-wasm-conventions",
@@ -2367,13 +2191,13 @@ dependencies = [
 
 [[package]]
 name = "wasm-bindgen-webidl"
-version = "0.2.74"
+version = "0.2.75"
 dependencies = [
  "anyhow",
  "env_logger",
  "heck",
  "lazy_static",
- "log 0.4.14",
+ "log",
  "proc-macro2",
  "quote",
  "sourcefile",
@@ -2431,18 +2255,18 @@ checksum = "b35c86d22e720a07d954ebbed772d01180501afe7d03d464f413bb5f8914a8d6"
 
 [[package]]
 name = "wasmparser"
-version = "0.78.2"
+version = "0.80.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65"
+checksum = "a5f71b80b8193e50910919e7d1bc956d2b4f42b1cb1fad84bacb59332c16f2cf"
 
 [[package]]
 name = "wasmprinter"
-version = "0.2.26"
+version = "0.2.28"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ccec894c70710c2e4669320a532cb2b9cfb97adb0429745642f8ce76916ed85"
+checksum = "b48e4f2999b9930e9b037e328357d7d2367e0d8ea6e534be90aeff60976c0452"
 dependencies = [
  "anyhow",
- "wasmparser 0.78.2",
+ "wasmparser 0.80.0",
 ]
 
 [[package]]
@@ -2456,25 +2280,25 @@ dependencies = [
 
 [[package]]
 name = "wast"
-version = "35.0.2"
+version = "37.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68"
+checksum = "9bc7b9a76845047ded00e031754ff410afee0d50fbdf62b55bdeecd245063d68"
 dependencies = [
  "leb128",
 ]
 
 [[package]]
 name = "wat"
-version = "1.0.37"
+version = "1.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ec280a739b69173e0ffd12c1658507996836ba4e992ed9bc1e5385a0bd72a02"
+checksum = "2ab2cc8d9a69d1ab28a41d9149bb06bb927aba8fc9d56625f8b597a564c83f50"
 dependencies = [
- "wast 35.0.2",
+ "wast 37.0.0",
 ]
 
 [[package]]
 name = "web-sys"
-version = "0.3.51"
+version = "0.3.52"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
diff --git a/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix b/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
index ef8affdf24..fba7c97939 100644
--- a/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/third_party/nixpkgs/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -11,7 +11,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.74";
+  version = "0.2.75";
 
   src =
     let
@@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
         owner = "rustwasm";
         repo = "wasm-bindgen";
         rev = version;
-        hash = "sha256-GsraYfWzUZjFpPpufTyXF0i2llBzjh04iTKio6m4NRA=";
+        hash = "sha256-eRAe6/v0Xrtd1d2k6p0WETZ2vkQkiDRZOds7y0DidY0=";
       };
     in
     runCommand "source" { } ''
@@ -31,14 +31,14 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoHash = "sha256-djeI7kSGRHMpXnsbVlM2CDek02u5tFAsyAdHwbKC0y8=";
+  cargoHash = "sha256-xZrGBRnsBQKvqGkZyU7FQCkx0dHt/hXlrVLSvGKx27k=";
   cargoBuildFlags = [ "-p" pname ];
 
   meta = with lib; {
     homepage = "https://rustwasm.github.io/docs/wasm-bindgen/";
     license = licenses.asl20;
     description = "Facilitating high-level interactions between wasm modules and JavaScript";
-    maintainers = with maintainers; [ ma27 rizary ];
+    maintainers = with maintainers; [ ma27 nitsky rizary ];
     platforms = platforms.unix;
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/web/deno/default.nix b/third_party/nixpkgs/pkgs/development/web/deno/default.nix
index 308cf7b8f5..a6c879f77f 100644
--- a/third_party/nixpkgs/pkgs/development/web/deno/default.nix
+++ b/third_party/nixpkgs/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.12.2";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xIFJv/roTD7sq7vCy4JDwe8gYDMuZd34vyjS08xeijI=";
+    sha256 = "sha256-iSL9YAcYdeZ9E5diAJG1oHzujPmfblOvheewOu9QIu8=";
   };
-  cargoSha256 = "sha256-aETAFh5yTE+ZonDC0ITdaZ2YN3/SpYROsXP47aNEICE=";
+  cargoSha256 = "sha256-1aibJwZ3o3bU5PWPVPBsRpjGo4JgOsNAgnPVAk1ZQHE=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/third_party/nixpkgs/pkgs/development/web/deno/librusty_v8.nix b/third_party/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
index a85d2bf76f..15c20cf4d7 100644
--- a/third_party/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
+++ b/third_party/nixpkgs/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.25.3";
+  version = "0.26.0";
   shas = {
-    x86_64-linux = "sha256-Z3lEJT3QVhP8PoDiM6Fw0sm5rXWvasBqASBO5tZA5zM=";
-    aarch64-linux = "sha256-pbcd1zV7IIEqCIp8vsRiO0KBGrOv52SvMZ4gthxuN/I=";
-    x86_64-darwin = "sha256-BwYdgd1kK8EQFfDc9RgtNvwvx7agt9hYNVmBGwHoqz0=";
-    aarch64-darwin = "sha256-/RHeNuR7VjhfwdjZXWMMX3UnweAjJblSCUq9eIwGvWc=";
+    x86_64-linux = "sha256-eYvfsgkLuV//4NmnxTNgB5vGoQ2JdSpXwF34d1kNxBw=";
+    aarch64-linux = "sha256-t+0/bJI4q2XElYz398aig/widJEOAascOmv4qnnKMQY=";
+    x86_64-darwin = "sha256-lYJcx5Oe/nuF3l5coH4WIMbBbiFMwxNWlIYojrdiJfI=";
+    aarch64-darwin = "sha256-5blisZ4Z/f68fZg7aDr5WK4MNvL5IRZZSJrvFb9N5oY=";
   };
 }
diff --git a/third_party/nixpkgs/pkgs/development/web/flyctl/default.nix b/third_party/nixpkgs/pkgs/development/web/flyctl/default.nix
index 8828b0222c..ccac1644b6 100644
--- a/third_party/nixpkgs/pkgs/development/web/flyctl/default.nix
+++ b/third_party/nixpkgs/pkgs/development/web/flyctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.229";
+  version = "0.0.230";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-mw+rTMFj41+T6lDe/MOQpmRcjt/gJhOCfaHcBkpjcsg=";
+    sha256 = "sha256-TI6pBtpUfI1vPsi+tq7FduFaZv9CvkAooqFmHCGslzI=";
   };
 
   preBuild = ''
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-NnHnSfm3XYiwgGn56GsthFKiflJvhYhjoxmm8ogm+Uc=";
+  vendorSha256 = "sha256-6t2aLSr78pEhrYI53OMQpfJqa65wQAxlz6+ksUtxzmI=";
 
   doCheck = false;
 
diff --git a/third_party/nixpkgs/pkgs/games/antsimulator/default.nix b/third_party/nixpkgs/pkgs/games/antsimulator/default.nix
index b43b91d5cb..bac481c88f 100644
--- a/third_party/nixpkgs/pkgs/games/antsimulator/default.nix
+++ b/third_party/nixpkgs/pkgs/games/antsimulator/default.nix
@@ -2,20 +2,31 @@
 
 stdenv.mkDerivation rec {
   pname = "antsimulator";
-  version = "1.2";
+  version = "3.1";
 
   src = fetchFromGitHub {
     owner = "johnBuffer";
     repo = "AntSimulator";
     rev = "v${version}";
-    sha256 = "0wz80971rf86kb7mcnxwrq75vriwhmyir5s5n3wzml12rzfnj5f1";
+    sha256 = "sha256-1KWoGbdjF8VI4th/ZjAzASgsLEuS3xiwObulzxQAppA=";
   };
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ sfml ];
 
+  postPatch = ''
+    substituteInPlace src/main.cpp \
+      --replace "res/" "$out/opt/antsimulator/"
+
+    substituteInPlace include/simulation/config.hpp \
+      --replace "res/" "$out/opt/antsimulator/"
+
+    substituteInPlace include/render/colony_renderer.hpp \
+      --replace "res/" "$out/opt/antsimulator/"
+  '';
+
   installPhase = ''
-    mkdir -p $out/bin
+    install -Dm644 -t $out/opt/antsimulator res/*
     install -Dm755 ./AntSimulator $out/bin/antsimulator
   '';
 
diff --git a/third_party/nixpkgs/pkgs/games/brutalmaze/default.nix b/third_party/nixpkgs/pkgs/games/brutalmaze/default.nix
new file mode 100644
index 0000000000..d9c904d99a
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/games/brutalmaze/default.nix
@@ -0,0 +1,30 @@
+{ lib, fetchFromSourcehut, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "brutalmaze";
+  version = "1.1.1";
+  format = "flit";
+  disabled = python3Packages.pythonOlder "3.7";
+
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1m105iq378mypj64syw59aldbm6bj4ma4ynhc50gafl656fabg4y";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    loca
+    palace
+    pygame
+  ];
+
+  doCheck = false; # there's no test
+
+  meta = with lib; {
+    description = "Minimalist thrilling shoot 'em up game";
+    homepage = "https://brutalmaze.rtfd.io";
+    license = licenses.agpl3Plus;
+    maintainers = [ maintainers.McSinyx ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/games/crispy-doom/default.nix b/third_party/nixpkgs/pkgs/games/crispy-doom/default.nix
index 04c0868510..987d0005d2 100644
--- a/third_party/nixpkgs/pkgs/games/crispy-doom/default.nix
+++ b/third_party/nixpkgs/pkgs/games/crispy-doom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crispy-doom";
-  version = "5.10.1";
+  version = "5.10.2";
 
   src = fetchFromGitHub {
     owner = "fabiangreffrath";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-5doytVxemqaXWXiqDSQUEAe71xmY0pOLASj/NJNyM5g=";
+    sha256 = "sha256-NUBodIojvlw46yLZ9Bn2pCpBwyVW8noOHQMM4uGmO3U=";
   };
 
   postPatch = ''
diff --git a/third_party/nixpkgs/pkgs/games/quake3/ioquake/default.nix b/third_party/nixpkgs/pkgs/games/quake3/ioquake/default.nix
index e006507a63..1ac8a41ca1 100644
--- a/third_party/nixpkgs/pkgs/games/quake3/ioquake/default.nix
+++ b/third_party/nixpkgs/pkgs/games/quake3/ioquake/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation {
   pname = "ioquake3-git";
-  version = "2020-12-26";
+  version = "2021-07-20";
 
   src = fetchFromGitHub {
     owner = "ioquake";
     repo = "ioq3";
-    rev = "05180e32dcfb9a4552e1b9652b56127248a9950c";
-    sha256 = "0hcxxa1ambpdwhg7nb5hvb32g49rl5p9dcflpzcv5cax9drn166i";
+    rev = "bc8737d707595aebd7cc11d6d5a5d65ede750f59";
+    sha256 = "1icrkaw6c5c5ndy886bn65lycwnxzxwvz0ndz4p9i6r716k11add";
   };
 
   nativeBuildInputs = [ which pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix b/third_party/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix
index 113c0f5d2e..e449de9ca2 100644
--- a/third_party/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix
+++ b/third_party/nixpkgs/pkgs/misc/screensavers/betterlockscreen/default.nix
@@ -3,7 +3,7 @@
 , makeWrapper
 , stdenv
 
-# Dependencies (@see https://github.com/pavanjadhaw/betterlockscreen/blob/master/shell.nix)
+  # Dependencies (@see https://github.com/pavanjadhaw/betterlockscreen/blob/master/shell.nix)
 , bc
 , coreutils
 , i3lock-color
@@ -19,31 +19,26 @@
 
 stdenv.mkDerivation rec {
   pname = "betterlockscreen";
-  version = "4.0.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "pavanjadhaw";
     repo = "betterlockscreen";
     rev = "v${version}";
-    sha256 = "1ha1yddrcmbsdljdg3gn7i42csbw8h3zgf4i3mcsmbz8nsvc2wdc";
+    sha256 = "sha256-eteuNEGc1BOlYgV7/hwe7z4zqqs/6EJzB88126U1jiU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
-  installPhase =
-    let
-      PATH =
-        lib.makeBinPath
-        [ bc coreutils i3lock-color gawk gnugrep gnused imagemagick procps xdpyinfo xrandr xset ];
-    in ''
-      runHook preInstall
+  installPhase = ''
+    runHook preInstall
 
-      mkdir -p $out/bin
-      cp betterlockscreen $out/bin/betterlockscreen
-      wrapProgram "$out/bin/betterlockscreen" --prefix PATH : "$out/bin:${PATH}"
+    mkdir -p $out/bin
+    cp betterlockscreen $out/bin/betterlockscreen
+    wrapProgram "$out/bin/betterlockscreen" --prefix PATH : "$out/bin:${lib.makeBinPath [ bc coreutils i3lock-color gawk gnugrep gnused imagemagick procps xdpyinfo xrandr xset ]}"
 
-      runHook preInstall
-    '';
+    runHook postInstall
+  '';
 
   meta = with lib; {
     description = "Fast and sweet looking lockscreen for linux systems with effects!";
diff --git a/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix b/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix
index be5a660f3c..9713d1e9cc 100644
--- a/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix
+++ b/third_party/nixpkgs/pkgs/misc/vim-plugins/generated.nix
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "cc34310a99ece2a1bb8d626f77436e53d43fa18b";
-      sha256 = "1gj2hg9qpkxnqks395a4rvgy40a7qg4q260xa8a8zymdf476h57f";
+      rev = "a099fe24b2e898c93c0aa4391e5a5631932684a6";
+      sha256 = "0gp764xcspvwmhqhjf8f94y2wxw32ids0zfy22r1z0s2zm85088r";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -281,12 +281,12 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar-nvim";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "877ef78049d44eee8ebf4d0e6ec541ca23e4ab49";
-      sha256 = "0m4yn8kkljn6m45ha7279wv7p9ppjyqrrpagmq92yrqnbfi87qa1";
+      rev = "e5a10501b34a1a6a6d9499a7caccc788e41093ec";
+      sha256 = "0l492f2kjzp521xwzihdiv8rhbmq2iql0qxhczk68nqy5lj2x7q0";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -363,6 +363,18 @@ final: prev:
     meta.homepage = "https://github.com/fruit-in/brainfuck-vim/";
   };
 
+  bufdelete-nvim = buildVimPluginFrom2Nix {
+    pname = "bufdelete-nvim";
+    version = "2021-07-24";
+    src = fetchFromGitHub {
+      owner = "famiu";
+      repo = "bufdelete.nvim";
+      rev = "f73ecffb790c9b1e356c5511ba6ae3b761331d8d";
+      sha256 = "0lyc49c909r74q0pvzx0fmyzl3lvspq590vgkld8b3r6vyp44m2c";
+    };
+    meta.homepage = "https://github.com/famiu/bufdelete.nvim/";
+  };
+
   bufexplorer = buildVimPluginFrom2Nix {
     pname = "bufexplorer";
     version = "2021-04-20";
@@ -425,12 +437,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "455cf79d081afec70973819160edf3bcf3c6fd85";
-      sha256 = "1kbda51padbi6qgykzwr1rf081p3154rs6zy7gzpzlhi9k61jqnh";
+      rev = "0ec533cd84ee16a420ea50941f5c06faa433ec0a";
+      sha256 = "1qxzg5yyz07d76msbbxyk1z1nn4p4si6p8cd00knla8mdyfg779p";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -798,12 +810,12 @@ final: prev:
 
   context_filetype-vim = buildVimPluginFrom2Nix {
     pname = "context_filetype-vim";
-    version = "2021-07-25";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "context_filetype.vim";
-      rev = "89496f3c110d907605319355ea9fc2a560827719";
-      sha256 = "09shjaxqr71nfq4yj15xkvkh204l7fjr7na0cyx3k3mflmldha8w";
+      rev = "28768168261bca161c3f2599e0ed63c96aab6dea";
+      sha256 = "1kyfl4xcx9brsnmqb19ibc2sai5zdrjd1vv7zn63halm2imdv2sj";
     };
     meta.homepage = "https://github.com/Shougo/context_filetype.vim/";
   };
@@ -978,12 +990,12 @@ final: prev:
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2021-07-15";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "6ccd2d35581f5c497b2fe3e6a9ecbbb494210d6e";
-      sha256 = "0fg8gv38xvsv7y739m1wix5a384zjn0hqnmkqiz244jxii1l0p8y";
+      rev = "d4bf081bc6bdf062097fddbbcf9c8fdf5b8fb101";
+      sha256 = "1sdkfij72z068h2fnhay1ppmf9my32jgzr1pf8liqs6647l90i1v";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1546,12 +1558,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern-vim";
-    version = "2021-08-01";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "ff74cd42ca7e76691e826dbdc7efe7ab683e9856";
-      sha256 = "0h7i45rwzf3b8xm1rbyly287769fq1xyvl51sa44nghdy6zhx7vi";
+      rev = "ed2e422f047eb2cc8afcfecea9464984cfa801a0";
+      sha256 = "0jr632pd274xhyji7b1l195i8avf20v4d9g8r4w1ryskirj1k3ry";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -2640,12 +2652,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed-nvim";
-    version = "2021-08-04";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "9a9a28e58cb00935486acf49fba8683e8b2de22a";
-      sha256 = "0m1y6lwr7gqwshmrr3yzvbbsbrva3h276cj2fnczgchqbix9jzvi";
+      rev = "ec36e68de3b73fd20a02d0cebbb9fd370c2ad532";
+      sha256 = "078b5ri8hg1vd15n7n8v90rpp4abp93sh2zvzn9ybdlk5wl5kn9g";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -2724,12 +2736,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature-nvim";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "dbd5f6a5116f74ccf89b2ea18d59b629397c7940";
-      sha256 = "1mmm5h14p7jgalvgl68m9gj0dfl1r29kf5z7h4vmzy07q3nm8xq3";
+      rev = "0381f3cb17f46c5e7a7277bb267d8f594da17430";
+      sha256 = "1px2m3v9z2gw60i0vjd984b2v434bdkndihsw51nmvxl3w2mbgii";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -2784,24 +2796,24 @@ final: prev:
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "f4a2f500afde3624e41557781117d7f50ccc7223";
-      sha256 = "08fflc2ky7zpb0wazim5v46fhqcm8sadpsvkjml544gv29yjx7f3";
+      rev = "86bee9cd7b66237730789e872b952759d2f5b3ac";
+      sha256 = "0ja7jlwlyjiw8imfqmd4m3i5xx6pkfh7sjm108g3k4fpp8xmpbl7";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush-nvim";
-    version = "2021-08-07";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "b665ea59600f91afe87b8665faec8155c09420f8";
-      sha256 = "0s6n2dsbvr4qr79g8bcil8r80q931m4w6wp7qf4y2lxasjmnnf5g";
+      rev = "08f64bcf46afc3a1116ef23c95822de914d14abe";
+      sha256 = "02m0kshj9q61dihhgckp801gh6r2jz1hw5s3vx46ha2zvzxbvf93";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -3516,12 +3528,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls-nvim";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "2f7407775d532b17c3a67a1d948ec910674cd8b0";
-      sha256 = "1jsrl0079jp0pfv4235b1ghhv911dlnrz0mshbbm8bby4jd3q3a4";
+      rev = "07fd5abcab09a370f8d15fc437f79becb121e025";
+      sha256 = "0p45wg4g28w6zlfz8cq9a5ypcsf0l6br98khf5gv81zfr4r7n68h";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -3564,12 +3576,12 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "50fec950de31edc84bb7799b6a692a187037c03b";
-      sha256 = "05gs9zws4g3y3nn5xyqd4j145f37j8ibax3lrash100jr2v7m8h6";
+      rev = "13820ff0af7dec102b15c68f7c8fcd94302099f7";
+      sha256 = "0b59ikp6z63mls64szk3bc7hzvmwrsb97k6b56vaylbx9g1wvlk6";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -3612,12 +3624,12 @@ final: prev:
 
   nvim-bufferline-lua = buildVimPluginFrom2Nix {
     pname = "nvim-bufferline-lua";
-    version = "2021-08-03";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "nvim-bufferline.lua";
-      rev = "3fb698aef5f48b660dacf8abd1bcdff6588dd2b8";
-      sha256 = "15zzjyzz53w79j8jn8bsbxgdgs6qfpxm9pp5xvkkah53g34wfqwd";
+      rev = "5c82307c64143ed2848e6ea1777ee51a40d3b978";
+      sha256 = "07nid4wnd18bd26pl9y79427jsm4k602qph8090rkwl3h9b14w9x";
     };
     meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
   };
@@ -3648,12 +3660,12 @@ final: prev:
 
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
-    version = "2021-07-23";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-compe";
-      rev = "73529ce61611c9ee3821e18ecc929c422416c462";
-      sha256 = "1r55z5abg7ha3xh84ypbbnc3fs7a1718zqmypc49f3wa6ln2rjxz";
+      rev = "8ed6999e005015251b6b05cb5c0bfe857785b1d4";
+      sha256 = "0921vgji6n5hcb3z2cppz2gfbkww71yn7wqvh3wvgrw041ird3af";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
   };
@@ -3792,12 +3804,12 @@ final: prev:
 
   nvim-lsputils = buildVimPluginFrom2Nix {
     pname = "nvim-lsputils";
-    version = "2021-05-27";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "RishabhRD";
       repo = "nvim-lsputils";
-      rev = "f34927f8ec777f4e91e14afc709de9da1cd70116";
-      sha256 = "1s1pvddgkdslh3r9p08r3xjdpi93d15i4k1jssh8apxzm37gw7lm";
+      rev = "ae2f20d6938bab234815e0bc69dae1a991307b99";
+      sha256 = "0ikim2zwrlc19bpshr1vzsk15wi5z7am59f4fi53rbh985jmncqr";
     };
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
@@ -3876,12 +3888,12 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2021-08-07";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "e5a534f51ba65e3a28742b640b6b4702726189a5";
-      sha256 = "1m4sal8wz7z05kvim2c08clzqcqvzfw7jz8dmyk41nllpg2kppqr";
+      rev = "6175d63eaecdc7d80105825f89a6c9864c4dd432";
+      sha256 = "0q716l729flcnqkjs98bgjlqpibm8jpknq9h3izcnas2h5bgrmjj";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
@@ -3900,12 +3912,12 @@ final: prev:
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2021-08-06";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "nvim-treesitter-context";
-      rev = "bcc0fa0eb585b5639fbc756c1463cdc8d31f33e6";
-      sha256 = "0ikdrsym0a2ik9rrsclp83gbj73r2chsbin7y54qy16dmii001gy";
+      rev = "9c71ace8af7bfbfef3beb25c648c8d41f72bd09a";
+      sha256 = "1jp4an8nni9m8528lza6vc0bj5pkmzfadzvqrgh6vi545ppmxihl";
     };
     meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
   };
@@ -4236,12 +4248,12 @@ final: prev:
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2021-08-03";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "d897b4d9fdbc51febd71a1f96c96001ae4fa6121";
-      sha256 = "0rgqby4aakqamiw3ykvzhn3vd2grjkzgfxrpzjjp1ipkd2qak8mb";
+      rev = "58a51d59999022fdc05a0b22428124b4f37c07ad";
+      sha256 = "0yxydnvbzzfpyx8y6pqsnkb030nirdh12q138iixqy7l3j9p5jr9";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -4273,24 +4285,24 @@ final: prev:
 
   popup-nvim = buildVimPluginFrom2Nix {
     pname = "popup-nvim";
-    version = "2021-05-08";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "popup.nvim";
-      rev = "5e3bece7b4b4905f4ec89bee74c09cfd8172a16a";
-      sha256 = "1k6rz652fjkzhjd8ljr0l6vfispanrlpq0r4aya4qswzxni4rxhg";
+      rev = "f91d80973f80025d4ed00380f2e06c669dfda49d";
+      sha256 = "1pp1d6kbx8yn4cg2zs8rynvvpa8y89ryr8rial9csg26v2z22z95";
     };
     meta.homepage = "https://github.com/nvim-lua/popup.nvim/";
   };
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence-nvim";
-    version = "2021-07-28";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "f2a0dd50c67a62cea144775a120c1246a645f5ed";
-      sha256 = "08di6dfzvn2jzr4ym2ikcf036ycm2pi4s4qwn36nfxyg3zbii71q";
+      rev = "77227a06ecf84037277318758a8026524aa736ab";
+      sha256 = "0x13p4pyby6g425cwm9b42qxknh1k27knf8hhn7jfgb4c5bdzk5a";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -4513,12 +4525,12 @@ final: prev:
 
   riv-vim = buildVimPluginFrom2Nix {
     pname = "riv-vim";
-    version = "2020-04-09";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "gu-fan";
       repo = "riv.vim";
-      rev = "e26c3e8dce4c1332e802cde84f83e61ec8a13986";
-      sha256 = "1da3iwrpy08rayrsf8v0ml4khlp9j5i4cffpv9j3iyalcbhk2m9g";
+      rev = "201ffc4e8dbfc3deeb26c6e278980f53d81d7f6a";
+      sha256 = "1drl291lq44hf7qx1g6l5ivqclfb6ih9lj5qy5cmv9w9b3svwlv4";
     };
     meta.homepage = "https://github.com/gu-fan/riv.vim/";
   };
@@ -4923,12 +4935,12 @@ final: prev:
 
   sql-nvim = buildVimPluginFrom2Nix {
     pname = "sql-nvim";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "tami5";
       repo = "sql.nvim";
-      rev = "58db9ca9d92618af78440e05bc5fc2dac9311fcd";
-      sha256 = "0wxgl7w2qp24ggq4z6s58jpw7cv1qlbxks7sc8vkfsyiyy5b89xl";
+      rev = "653b3dea6f2703dc450621df0589e3665a007656";
+      sha256 = "0ppn7mwv5n46dwhslrpdganrfikcz57v425c5az01nm16n57rp5i";
     };
     meta.homepage = "https://github.com/tami5/sql.nvim/";
   };
@@ -6138,12 +6150,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-08-07";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "dffb352d5f49792a4df5653d7adab07a1c688928";
-      sha256 = "1rqm6wsdpx5n6l4kkrxm8bw2837mm63b5n1igq1v4ji5zbjz6si2";
+      rev = "865b453825f309a204909f13b5afa98d36f7369f";
+      sha256 = "1zfbm81qnvz7rgi2awi29id5z0xr6qzv04pj0yaxyhyjmy7frjyk";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -6858,12 +6870,12 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-07-14";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "daf9389e827dd19d804ffaad19cc8b64e389da6c";
-      sha256 = "0kcjfi61md9n0fgnypamvqsc9k4mykr9wx978qna2xjb19vfkvad";
+      rev = "20618a61bc74f3f1a7fa165431b69685c01048c6";
+      sha256 = "1z7r3zvhr2zcspqxgwgqskf4w2vwmb3ymvk2kl5r0r3paf305jck";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -6918,12 +6930,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "55382eb722407daaebe1db1f7f7ed99d99302cf5";
-      sha256 = "0nxcv69sicgbsns6x0ld9z33mlg2kv3dggvln1i99a0ljxr4p8xm";
+      rev = "4adf054a3f6f6ecad303e3e90c169cdf37f6c0e9";
+      sha256 = "1vgv4im6bp7688cdwnfvkh5p1fl69bk83d2rsx733l6n45pczzfv";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -7038,12 +7050,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-08-02";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "2ee4f84fa9871ce666d89907d3a3985d5109647f";
-      sha256 = "1554919qfr22831hw708hfvi006izzd66ygkymxjc3lsgywp1rl8";
+      rev = "819cd8ff2006706b90f78da8fa4b5842b398bff9";
+      sha256 = "1k0kz8s0km9k5cc0wagfbbclc21rjw29rzbrmd042ldv53ssq8ad";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -7784,12 +7796,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2021-08-05";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "339ab52b488b2d9ced5dde5ebd734b95bc6500f3";
-      sha256 = "1191bdrlc2sxwfick7y82cvl2hsxai32sdspxpwskbigyzsd6xks";
+      rev = "f5127b339a9d776f220cc0393783c55def9d8ce0";
+      sha256 = "0svkpk46fvas5346af2cw2ga03mlwd3rn8pya41f9whybqxdrysg";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -8205,12 +8217,12 @@ final: prev:
 
   vim-oscyank = buildVimPluginFrom2Nix {
     pname = "vim-oscyank";
-    version = "2021-08-07";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "e2a6ec4fb91b38591445bdaa9972f54653dbcd49";
-      sha256 = "031xy0h9a55ijfq6ni237x4xl2ywbwm3ad0r0h05dj8g1352s1vr";
+      rev = "1189ef91c95f522159f9fd267a6bd1ea4b070195";
+      sha256 = "12smb5p5lw3gakz6qbbdi11wcbyh8hap70csi8j0crr31fgjmsyf";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -8949,12 +8961,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-08-04";
+    version = "2021-08-09";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "95c6f94bd5849e533542c2e375e3347c7faa1c58";
-      sha256 = "023p5x6h8jwsxv724r6dgy0hh0bi0j0jfq68klm0shl68q4g5awq";
+      rev = "75309fc96c49725cf9bbd7bc881b7b342a60aa9a";
+      sha256 = "1k5n73dz60ds9ahgrkiypk0srh1ys39ahipsxkmm2k94gzmh6hj7";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -9105,12 +9117,12 @@ final: prev:
 
   vim-swap = buildVimPluginFrom2Nix {
     pname = "vim-swap";
-    version = "2021-04-07";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-swap";
-      rev = "e75fb91c4940447758902f8cab95d13f8be84d0e";
-      sha256 = "0z8mlcjhp1r2v9hs69h6kpk7yfyi7c2y7ck096y5y0hbcwrarn6n";
+      rev = "9358bfdc5e377aa13e7c2c2dd8699ba32b0dcf83";
+      sha256 = "1vi0d4mp3npyv1hz4zyillrw4dpq71b1cqc2lwc4ks5b6g83pf27";
     };
     meta.homepage = "https://github.com/machakann/vim-swap/";
   };
@@ -9646,12 +9658,12 @@ final: prev:
 
   vim-xtabline = buildVimPluginFrom2Nix {
     pname = "vim-xtabline";
-    version = "2021-08-04";
+    version = "2021-08-08";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-xtabline";
-      rev = "dd1a4d7e05c79a48ef4f22400af2aff1b2e09ddd";
-      sha256 = "18sfwc36m7c901lfdk3f5mlx4bhk0vdg4qb54j4fr487hg89vnfc";
+      rev = "da2b4d1094e7771cf2de671ce64bd086da9e8d57";
+      sha256 = "0p48dzjvjb403dbn641h9p0jhip4dbd6w7r9zf73b3wbd2ym6y38";
     };
     meta.homepage = "https://github.com/mg979/vim-xtabline/";
   };
diff --git a/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names b/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
index 492080a89e..139df6fe6c 100644
--- a/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/third_party/nixpkgs/pkgs/misc/vim-plugins/vim-plugin-names
@@ -138,6 +138,7 @@ esneider/YUNOcommit.vim
 euclidianAce/BetterLua.vim
 euclio/vim-markdown-composer
 f-person/git-blame.nvim
+famiu/bufdelete.nvim
 famiu/feline.nvim
 farmergreg/vim-lastplace
 fatih/vim-go
diff --git a/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix b/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
index 23a6b0b2d3..dae6072aa7 100644
--- a/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
+++ b/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-lqx.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub, buildLinux, linux_zen, ... } @ args:
 
 let
-  version = "5.12.19";
-  suffix = "lqx2";
+  version = "5.13.9";
+  suffix = "lqx1";
 in
 
 buildLinux (args // {
@@ -14,11 +14,11 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-r2DvKLlm1a1VuJwC81tRuRwCd6H21T3MsBAC3b9TUbs=";
+    sha256 = "sha256-aAnwPw1qoGhUdWN/uaQa+5bi0DFZB/wDfNow7FgMMFE=";
   };
 
   extraMeta = {
-    branch = "5.12/master";
+    branch = "5.13/master";
     maintainers = with lib.maintainers; [ atemu ];
     description = linux_zen.meta.description + " (Same as linux_zen but less aggressive release schedule)";
   };
diff --git a/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 587266ec99..c2f94a8a03 100644
--- a/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -44,6 +44,12 @@ buildLinux (args // rec {
     ANDROID_BINDER_IPC = module;
     ANDROID_BINDERFS = module;
     ANDROID_BINDER_DEVICES = freeform "binder,hwbinder,vndbinder";
+
+    # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync.
+    # Futex2 interface compatible w/ latest Wine / Proton Fsync.
+    FUTEX = yes;
+    FUTEX2 = yes;
+    FUTEX_PI = yes;
   };
 
   extraMeta = {
diff --git a/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix b/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
index 2b91a25923..712f3f0889 100644
--- a/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/third_party/nixpkgs/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -1,7 +1,7 @@
 { lib, fetchFromGitHub, buildLinux, ... } @ args:
 
 let
-  version = "5.13.7";
+  version = "5.13.9";
   suffix = "zen1";
 in
 
@@ -14,7 +14,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${version}-${suffix}";
-    sha256 = "sha256-ZvB5Ejt9MXP4QK5cj9CGQgFJIfDV03IW5xcknCxDui0=";
+    sha256 = "sha256-RuY6ZIIKU56R+IGMtQDV6mIubGDqonRpsIdlrpAHFXM=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/third_party/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/third_party/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
index 717f83d548..6677be105b 100644
--- a/third_party/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
+++ b/third_party/nixpkgs/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2021.8.4";
+  version = "2021.8.5";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
diff --git a/third_party/nixpkgs/pkgs/servers/home-assistant/default.nix b/third_party/nixpkgs/pkgs/servers/home-assistant/default.nix
index 87dcd3f545..384766852c 100644
--- a/third_party/nixpkgs/pkgs/servers/home-assistant/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/home-assistant/default.nix
@@ -138,7 +138,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2021.8.4";
+  hassVersion = "2021.8.5";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -155,7 +155,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "0xnw6a1wfk0br0lyplhbp64fqbywa3ld3ggj0czyi1c0n8pqx7cq";
+    sha256 = "0alyr87vm0szljw1lgdsv7085rl0m9r16nwdprwskhcjlwllk1bh";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/third_party/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/third_party/nixpkgs/pkgs/servers/home-assistant/frontend.nix
index 72e48629a6..926cb48ce3 100644
--- a/third_party/nixpkgs/pkgs/servers/home-assistant/frontend.nix
+++ b/third_party/nixpkgs/pkgs/servers/home-assistant/frontend.nix
@@ -4,11 +4,11 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20210804.0";
+  version = "20210809.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0VCukSHI4PXAecxHc1DJSQ1GrErenNb0K4OhSIgkQbs=";
+    sha256 = "sha256-5NWNDhQ7XKK9/tC+SbpwOm2MSA2VGHLcE1ggyl6vPkc=";
   };
 
   # there is nothing to strip in this package
diff --git a/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix b/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
index c8cb13022e..8763591d05 100644
--- a/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/default.nix
@@ -3,19 +3,15 @@
 stdenv.mkDerivation rec {
 
   pname = "mod_auth_mellon";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "latchset";
     repo = "mod_auth_mellon";
     rev = "v${version}";
-    sha256 = "03bkvqkmqq72ff1a8cpvpcxngnlz1p6433y2fkkynpjfr19cna2s";
+    sha256 = "0alfa8hz09jdg29bi1mvhwyr2nl0nvss2a2kybrcjvdw1fx6vijn";
   };
 
-  patches = [
-    ./fixdeps.patch
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ apacheHttpd autoconf automake curl glib lasso libtool libxml2 libxslt openssl xmlsec ];
 
@@ -29,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/UNINETT/mod_auth_mellon";
+    homepage = "https://github.com/latchset/mod_auth_mellon";
     description = "An Apache module with a simple SAML 2.0 service provider";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch b/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch
deleted file mode 100644
index 4f814ad603..0000000000
--- a/third_party/nixpkgs/pkgs/servers/http/apache-modules/mod_auth_mellon/fixdeps.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index 1388c91..ab28982 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -42,7 +42,7 @@ DISTFILES=$(SRC) \
- all:	mod_auth_mellon.la
- 
- mod_auth_mellon.la: $(SRC) auth_mellon.h auth_mellon_compat.h
--	@APXS2@ -Wc,"-std=c99 @MELLON_CFLAGS@ @OPENSSL_CFLAGS@ @LASSO_CFLAGS@ @CURL_CFLAGS@ @GLIB_CFLAGS@ @CFLAGS@" -Wl,"@OPENSSL_LIBS@ @LASSO_LIBS@ @CURL_LIBS@ @GLIB_LIBS@" -Wc,-Wall -Wc,-g -c $(SRC)
-+	@APXS2@ -Wc,"-std=c99 @MELLON_CFLAGS@ @OPENSSL_CFLAGS@ @LASSO_CFLAGS@ @CURL_CFLAGS@ @GLIB_CFLAGS@ @CFLAGS@ @LIBXML2_CFLAGS@ @XMLSEC_CFLAGS@ @CFLAGS@" -Wl,"@OPENSSL_LIBS@ @LASSO_LIBS@ @CURL_LIBS@ @GLIB_LIBS@ @LIBXML2_LIBS@ @XMLSEC_LIBS@" -Wc,-Wall -Wc,-g -c $(SRC)
- 
- 
- # Building configure (for distribution)
-diff --git a/configure.ac b/configure.ac
-index 421b952..e62768e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -91,6 +91,16 @@ AC_SUBST(GLIB_LIBS)
- 
- AC_SUBST(MELLON_CFLAGS)
- 
-+#include <libxml/uri.h>
-+PKG_CHECK_MODULES(LIBXML2, libxml-2.0)
-+AC_SUBST(LIBXML2_CFLAGS)
-+AC_SUBST(LIBXML2_LIBS)
-+
-+#include <xmlsec/xmlenc.h>
-+PKG_CHECK_MODULES(XMLSEC, xmlsec1-openssl)
-+AC_SUBST(XMLSEC_CFLAGS)
-+AC_SUBST(XMLSEC_LIBS)
-+
- # Test to see if we can include lasso/utils.h
- # AC_CHECK_HEADER won't work correctly unless we specifiy the include directories
- # found in the LASSO_CFLAGS. Save and restore CFLAGS and CPPFLAGS.
diff --git a/third_party/nixpkgs/pkgs/servers/minio/default.nix b/third_party/nixpkgs/pkgs/servers/minio/default.nix
index 1651835e30..9f8ea6396a 100644
--- a/third_party/nixpkgs/pkgs/servers/minio/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/minio/default.nix
@@ -15,16 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2021-05-16T05-32-34Z";
+  version = "2021-08-05T22-01-19Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-+zanqJMYNg/1c20cMm+bqVsW8VquucxEK5NiFAqOmS0=";
+    sha256 = "0lslgma04nby03bibhzgl4hl7wxk91xk3c46ibv6p33pc1a8ywrv";
   };
 
-  vendorSha256 = "sha256-5aDD68nugFyWsySLEj7LXAdtFXFKWnqfz+5zF5wC2qw=";
+  vendorSha256 = "1dhawj4gzm017qgf678i5lb7s0djddvf4923ipgnzm8q463sywd6";
 
   doCheck = false;
 
diff --git a/third_party/nixpkgs/pkgs/servers/monitoring/grafana/default.nix b/third_party/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
index 226efe51f5..5648ea0129 100644
--- a/third_party/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "grafana";
-  version = "8.1.0";
+  version = "8.1.1";
 
   excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)";
 
@@ -10,12 +10,12 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-l7tVsxyUJ+WEPA3q3pcW3W74/2YlSgz84Au1A9a7s/E=";
+    sha256 = "sha256-dP0aBlp/956YyRGkIJTR9UtGBMTsSUBt9LYB5yIJvDU=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-OsjIK9NOU5XynzUOLyntTquH0UPwL/Eqw9XjaDsSO+g=";
+    sha256 = "sha256-kJHZmP+os+qmpdK2bm5FY7rdT0yyXrDYACn+U4xyUr8=";
   };
 
   vendorSha256 = "sha256-cfErlr7YS+8TVy0+XWDiA3h1lMoV3efdsjuH+yEcwXs=";
diff --git a/third_party/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix b/third_party/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
index 9e251e1bc2..984d211559 100644
--- a/third_party/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/mqtt/mosquitto/default.nix
@@ -12,19 +12,29 @@
 , openssl
 , withSystemd ? stdenv.isLinux
 , systemd
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "mosquitto";
-  version = "2.0.10";
+  version = "2.0.11";
 
   src = fetchFromGitHub {
     owner = "eclipse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "144vw7b9ja4lci4mplbxs048x9aixd9c3s7rg6wc1k31w099rb12";
+    sha256 = "1i0kkqhjxqahkhsl60s46zlywa87jakv7h4sr3fhi1v53vwpb9mg";
   };
 
+  patches = lib.optionals stdenv.isDarwin [
+    (fetchpatch {
+      name = "revert-cmake-shared-to-module.patch"; # See https://github.com/eclipse/mosquitto/issues/2277
+      url = "https://github.com/eclipse/mosquitto/commit/e21eaeca37196439b3e89bb8fd2eb1903ef94845.patch";
+      sha256 = "14syi2c1rks8sl2aw09my276w45yq1iasvzkqcrqwy4drdqrf069";
+      revert = true;
+    })
+  ];
+
   postPatch = ''
     for f in html manpage ; do
       substituteInPlace man/$f.xsl \
diff --git a/third_party/nixpkgs/pkgs/servers/teleport/default.nix b/third_party/nixpkgs/pkgs/servers/teleport/default.nix
index 57866388b4..fc5910a1ae 100644
--- a/third_party/nixpkgs/pkgs/servers/teleport/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/teleport/default.nix
@@ -4,26 +4,26 @@ let
   webassets = fetchFromGitHub {
     owner = "gravitational";
     repo = "webassets";
-    rev = "c63397375632f1a4323918dde78334472f3ffbb9";
-    sha256 = "sha256-6YKk0G3s+35PRsUBkKgu/tNoSSwjJ5bTn8DACF4gYr4=";
+    rev = "2891baa0de7283f61c08ff2fa4494e53f9d4afc1";
+    sha256 = "sha256-AvhCOLa+mgty9METlOCARlUOEDMAW6Kk1esSmBbVcok=";
   };
 in
-
 buildGoModule rec {
   pname = "teleport";
-  version = "6.2.8";
+  version = "7.0.0";
 
   # This repo has a private submodule "e" which fetchgit cannot handle without failing.
   src = fetchFromGitHub {
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "sha256-TVjdz97CUXBKCQh9bYrvtcH4StblBMsXiQ9Gix/NIm4=";
+    sha256 = "sha256-2GQ3IP5jfT6vSni5hfDex09wXrnUmTpcvH2S6zc399I=";
   };
 
   vendorSha256 = null;
 
   subPackages = [ "tool/tctl" "tool/teleport" "tool/tsh" ];
+  tags = [ "webassets_embed" ];
 
   nativeBuildInputs = [ zip makeWrapper ];
 
@@ -34,26 +34,15 @@ buildGoModule rec {
     ./test.patch
   ];
 
-  postBuild = ''
-    pushd .
-    mkdir -p build
-    echo "making webassets"
-    cp -r ${webassets}/* webassets/
-    make build/webassets.zip
-    cat build/webassets.zip >> $NIX_BUILD_TOP/go/bin/teleport
-    rm -fr build/webassets.zip
-    cd $NIX_BUILD_TOP/go/bin
-    zip -q -A teleport
-    popd
-  '';
-
-  # Do not strip the embedded web assets
-  dontStrip = true;
-
   # Reduce closure size for client machines
   outputs = [ "out" "client" ];
 
-  buildTargets = [ "full" ];
+  preBuild = ''
+    mkdir -p build
+    echo "making webassets"
+    cp -r ${webassets}/* webassets/
+    make lib/web/build/webassets.zip
+  '';
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/third_party/nixpkgs/pkgs/servers/uhub/default.nix b/third_party/nixpkgs/pkgs/servers/uhub/default.nix
index 4569ee675d..df76789f90 100644
--- a/third_party/nixpkgs/pkgs/servers/uhub/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/uhub/default.nix
@@ -1,52 +1,31 @@
-{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkg-config, systemd
-, tlsSupport ? false }:
+{ lib, stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkg-config
+, systemd, tlsSupport ? false }:
 
 assert tlsSupport -> openssl != null;
 
 stdenv.mkDerivation rec {
   pname = "uhub";
-  version = "0.5.0";
+  version = "unstable-2019-12-13";
 
   src = fetchFromGitHub {
     owner = "janvidar";
     repo = "uhub";
-    rev = version;
-    sha256 = "0zdbxfvw7apmfhqgsfkfp4pn9iflzwdn0zwvzymm5inswfc00pxg";
+    rev = "35d8088b447527f56609b85b444bd0b10cd67b5c";
+    hash = "sha256-CdTTf82opnpjd7I9TTY+JDEZSfdGFPE0bq/xsafwm/w=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ sqlite systemd ] ++ lib.optional tlsSupport openssl;
 
-  outputs = [ "out"
-    "mod_example"
-    "mod_welcome"
-    "mod_logging"
-    "mod_auth_simple"
-    "mod_auth_sqlite"
-    "mod_chat_history"
-    "mod_chat_only"
-    "mod_topic"
-    "mod_no_guest_downloads"
-  ];
-
-  patches = [
-    ./plugin-dir.patch
-    # fix aarch64 build: https://github.com/janvidar/uhub/issues/46
-    (fetchpatch {
-      url = "https://github.com/janvidar/uhub/pull/47.patch";
-      sha256 = "07yik6za89ar5bxm7m2183i7f6hfbawbxvd4vs02n1zr2fgfxmiq";
-    })
-
-    # Fixed compilation on systemd > 210
-    (fetchpatch {
-      url = "https://github.com/janvidar/uhub/commit/70f2a43f676cdda5961950a8d9a21e12d34993f8.diff";
-      sha256 = "1jp8fvw6f9jh0sdjml9mahkk6p6b96p6rzg2y601mnnbcdj8y8xp";
-    })
-  ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/lib/uhub/" "$out/plugins" \
+      --replace "/etc/uhub" "$TMPDIR"
+  '';
 
   cmakeFlags = [
     "-DSYSTEMD_SUPPORT=ON"
-    (if tlsSupport then "-DSSL_SUPPORT=ON" else "-DSSL_SUPPORT=OFF")
+    "-DSSL_SUPPORT=${if tlsSupport then "ON" else "OFF"}"
   ];
 
   meta = with lib; {
diff --git a/third_party/nixpkgs/pkgs/servers/uhub/plugin-dir.patch b/third_party/nixpkgs/pkgs/servers/uhub/plugin-dir.patch
deleted file mode 100644
index d29d600425..0000000000
--- a/third_party/nixpkgs/pkgs/servers/uhub/plugin-dir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -241,8 +241,14 @@
- 
- if (UNIX)
- 	install( TARGETS uhub uhub-passwd RUNTIME DESTINATION bin )
--	install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_history_sqlite mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL )
--	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL )
-+
-+    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
-+
-+    foreach( PLUGIN ${PLUGINS} )
-+        install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL )
-+    endforeach( PLUGIN )
-+
-+	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION doc/ OPTIONAL )
- endif()
- 
- 
diff --git a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
index be0c3ab72c..83c7074729 100644
--- a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
+++ b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/bower-packages.nix
@@ -1,42 +1,40 @@
 # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
 { fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "jquery" "2.1.0" "~2.1.0" "02kwvz93vzpv10qnp7s0dz3al0jh77awwrizb6wadsvgifxssnlr")
   (fetchbower "jquery" "2.2.4" "2.2.4" "0kaln93pzjlr4vqf2zvsm9dwgjkrii9xlsqg48hc1vs16cl109rn")
   (fetchbower "tweetnacl" "0.12.2" "0.12.2" "1lfzbfrdaly3zyzbcp1p53yhxlrx56k8x04q924kg7l52gblm65g")
   (fetchbower "components-font-awesome" "4.7.0" "^4.6.3" "1w27im6ayjrbgjqa0i49ml5d3wy4ld40h9b29hz9myv77bpx4lg1")
   (fetchbower "ckeditor" "4.14.0" "4.14.0" "0lw9q0k8c0jlxvf35vrccab9c3c8rgpc6x66czj9si8yy2lyliyp")
-  (fetchbower "codemirror" "5.56.0+components1" "^5.19.0" "0fv8rxw6dspyv4bl6p2aka57544f45527rallnhnm5scv77qnakm")
+  (fetchbower "codemirror" "5.61.1" "^5.19.0" "1abm1fcps86y2qm033wa96pd6ixf9w01vlhly5i51j0j94arnz4g")
   (fetchbower "requirejs" "2.3.5" "2.3.5" "05lyvgz914h2w08r24rk0vkk3yxmqrvlg7j3i5av9ffkg9lpzsli")
   (fetchbower "marked" "1.1.0" "1.1.0" "1sdgqw9iki9c1pfm4c5h6c956mchbip2jywjrcmrlb75k53flsjz")
   (fetchbower "rangy" "rangy-release#1.3.0" "rangy-release#~1.3.0" "13x3wci003p8jyv2ncir0k23bxckx99b3555r0zvgmlwycg7w0zv")
   (fetchbower "json.sortify" "2.1.0" "~2.1.0" "1rz9xz0gnm4ak31n10vhslqsw8fw493gjylwj8xsy3bxqq1ygpnh")
   (fetchbower "secure-fabric.js" "secure-v1.7.9" "secure-v1.7.9" "1l56mk7hbnsm9cdg5zdcmg95p7a9w96dq0bbl8fp11vs0awjil7a")
   (fetchbower "hyperjson" "1.4.0" "~1.4.0" "1n68ls3x4lyhg1yy8i4q3xkgh5xqpyakf45sny4x91mkr68x4bd9")
-  (fetchbower "chainpad-crypto" "0.2.4" "^0.2.0" "0sqqc2j0pc34ig6319n18i85j03hibqkhz3cbr70vbd8x43vfzby")
-  (fetchbower "chainpad-listmap" "0.9.0" "^0.9.0" "173yr5a6zxq7nb3fha6f1ajv2vy0mvqwmm949ww7ihvrhh7cd0f5")
-  (fetchbower "chainpad" "5.2.2" "^5.2.0" "1rmh039bqk11xnnh99sqrqksr4idly75y5q4f5wyl9cg4slsqrdp")
+  (fetchbower "chainpad-crypto" "0.2.6" "^0.2.0" "0h6ibv6gcym7mm080swdw4l6l159xjmxgqnahyxw3aydha5cj1z0")
+  (fetchbower "chainpad-listmap" "0.10.2" "^0.10.0" "03j3qws0icam4c0yqrz7f6maf1dxhlc56hc6csr2d9dx0wshd57s")
+  (fetchbower "chainpad" "5.2.4" "^5.2.0" "1f4nap0r8w50qpmjdfhhjhpz5xcl0n4zaxxnav1qaxi5j6dyg8h6")
   (fetchbower "file-saver" "1.3.1" "1.3.1" "065nzkvdiicxnw06z1sjz1sbp9nyis8z839hv6ng1fk25dc5kvkg")
   (fetchbower "alertifyjs" "1.0.11" "1.0.11" "0v7323bzq90k35shm3h6azj4wd9la3kbi1va1pw4qyvndkwma69l")
   (fetchbower "scrypt-async" "1.2.0" "1.2.0" "0d076ax708p9b8hcmk4f82j925nlnm0hmp0ni45ql37g7iirfpyv")
   (fetchbower "require-css" "0.1.10" "0.1.10" "106gz9i76v71q9zx2pnqkkj342m630lvssnw54023a0ljc0gqcwq")
   (fetchbower "less" "3.7.1" "3.7.1" "1n7ps4xlbrc9m63b3q62mg3p6i7d5hwchhpjshb0drzj5crvz556")
-  (fetchbower "bootstrap" "3.1.1" "~3.1.1" "06bhjwa8p7mzbpr3jkgydd804z1nwrkdql66h7jkfml99psv9811")
-  (fetchbower "bootstrap" "4.5.0" "^v4.0.0" "0cfdn6z8jwx6y8lbbq6xpkfhq2vra0i84nkj9ji2bil1fzgzi40f")
+  (fetchbower "bootstrap" "4.6.0" "^v4.0.0" "1pp2n88pkms25p7mbna7vxxl5mkpdn8nvnfzwcwpp6b0871njmr6")
   (fetchbower "diff-dom" "2.1.1" "2.1.1" "0nrn6xqlhp0p5ixjxdk8qg3939crkggh1l8swd20d7bsz186l5f1")
   (fetchbower "nthen" "0.1.7" "0.1.7" "03yap5ildigaw4rwxmxs37pcwhq415iham8w39zd56ka98gpfxa5")
   (fetchbower "open-sans-fontface" "1.4.2" "^1.4.2" "0ksav1fcq640fmdz49ra4prwsrrfj35y2p4shx1jh1j7zxd044nf")
-  (fetchbower "bootstrap-tokenfield" "0.12.1" "^0.12.1" "0ib1v5k8h360sp19yiy7q92rfaz2554fvwwg2ixmxn01ydqlprw6")
-  (fetchbower "localforage" "1.8.1" "^1.5.2" "0ci265385racnxvn4g1n672yaxi47msw6k042nxdb5vlpf5g327j")
+  (fetchbower "bootstrap-tokenfield" "0.12.1" "0.12.1" "1dh791s6ih8bf9ihck9n39h68c273jb3lg4mqk94bvqraz45fvwx")
+  (fetchbower "localforage" "1.9.0" "^1.5.2" "18ds5427gaschld5afwi128hqy8kysa1b1ckbrzbmqz8xnlshmc2")
   (fetchbower "html2canvas" "0.4.1" "^0.4.1" "0yg7y90nav068q0i5afc2c221zkddpf28hi0hwc46cawx4180c69")
   (fetchbower "croppie" "2.6.5" "^2.5.0" "1j1v5620zi13ad42r358i4ay891abwn6nz357484kgq2bgjj6ccx")
-  (fetchbower "sortablejs" "1.10.2" "^1.6.0" "10q4gyblhjy7w51clr0k9j7h722l4ybzn5535givwpmp6xagv11v")
+  (fetchbower "sortablejs" "1.14.0" "^1.6.0" "104d688lrbwxi3hnfr4q169850ffyfv1s8qnycqxhx0zfh3887m0")
   (fetchbower "saferphore" "0.0.1" "^0.0.1" "1wfr9wpbm3lswmvy2p0247ydb108h4qh5s286py89k871qh6jwdi")
-  (fetchbower "jszip" "Stuk/jszip#3.5.0" "Stuk/jszip#^3.1.5" "1ra19d82cq1hrnbw88l8c61bs12kpgxvbfiiwpfi8fhy0l8hcsvk")
+  (fetchbower "jszip" "Stuk/jszip#3.7.1" "Stuk/jszip#^3.1.5" "0lzq1zd2glvfh3wwj73c9sffas56ql5472yj1cwq3g7iva5iliwq")
   (fetchbower "requirejs-plugins" "1.0.3" "^1.0.3" "00s3sdz1ykygx5shldwhhhybwgw7c99vkqd94i5i5x0gl97ifxf5")
   (fetchbower "dragula.js" "3.7.2" "3.7.2" "0dbkmrl8bcxiplprmmp9fj96ri5nahb2ql8cc7zwawncv0drvlh0")
   (fetchbower "MathJax" "3.0.5" "3.0.5" "087a9av15qj43m8pr3b9g59ncmydhmg40m6dfzsac62ykianh2a0")
-  (fetchbower "chainpad-netflux" "0.11.2" "^0.11.0" "1dqfricbm6s8iv7w1bsx1700m5cpk5rk1f4spqv0fqyf6mdz366v")
-  (fetchbower "netflux-websocket" "0.1.20" "^0.1.20" "1xwqq7nw7fmhglndbplarkdzxfmkq831aqs8nm6qj0hz2ggbibhz")
+  (fetchbower "chainpad-netflux" "0.12.9" "^0.12.0" "1b2jkfl354gs9iy05i6db9g0hnngacxd2wdv59lc0icbmx62fpvi")
+  (fetchbower "netflux-websocket" "0.1.21" "^0.1.20" "13ia8cqipq1jnyzzxwf9yy91gzwnwb2g5kzb6l8id5gdr415q5yn")
   (fetchbower "es6-promise" "3.3.1" "^3.2.2" "0ai6z5admfs84fdx6663ips49kqgz4x68ays78cic0xfb7pp6vcz")
 ]; }
diff --git a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
index abd20d6449..3cb15c1e97 100644
--- a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/default.nix
@@ -2,6 +2,7 @@
 , pkgs
 , lib
 , buildBowerComponents
+, fetchbower
 , fetchurl
 , nodejs
 }:
@@ -12,30 +13,39 @@ let
     inherit (stdenv.hostPlatform) system;
   };
 
-  bowerPackages = buildBowerComponents {
+  bowerPackages = (buildBowerComponents {
     name = "${cryptpad.name}-bower-packages";
-    # this list had to be tweaked by hand:
-    # * add the second jquery ~2.1.0 entry
-    # * add the second bootstrap ~3.1.1 entry
     generated = ./bower-packages.nix;
     src = cryptpad.src;
-  };
+  }).overrideAttrs (old: {
+    bowerPackages = old.bowerPackages.override (old_: {
+      # add missing dependencies:
+      # Those dependencies are EOL and they are not installed by buildBowerComponents,
+      # but they are required, otherwise the resolver crashes.
+      # * add the second jquery ~2.1.0 entry
+      # * add the second bootstrap ~3.1.1 entry
+      paths = old_.paths ++ [
+        (fetchbower "jquery" "2.1.0" "~2.1.0" "02kwvz93vzpv10qnp7s0dz3al0jh77awwrizb6wadsvgifxssnlr")
+        (fetchbower "bootstrap" "3.1.1" "~3.1.1" "06bhjwa8p7mzbpr3jkgydd804z1nwrkdql66h7jkfml99psv9811")
+      ];
+    });
+  });
 
   # find an element in an attribute set
   findValue = pred: default: set:
     let
       list =
         lib.concatMap
-        (name:
-          let v = set.${name}; in
-          if pred name v then [v] else []
-        )
-        (lib.attrNames set)
-        ;
-    in
-      if list == [] then default
-      else lib.head list
+          (name:
+            let v = set.${name}; in
+            if pred name v then [ v ] else [ ]
+          )
+          (lib.attrNames set)
       ;
+    in
+    if list == [ ] then default
+    else lib.head list
+  ;
 
   # The cryptpad package attribute key changes for each release. Get it out
   # programatically instead.
@@ -43,7 +53,7 @@ let
     (k: v: v.packageName == "cryptpad")
     (throw "cryptpad not found")
     nodePackages
-    ;
+  ;
 
   combined = cryptpad.override {
     postInstall = ''
@@ -64,6 +74,9 @@ let
       EOF
       chmod +x $out/bin/cryptpad
     '';
+
+    meta.maintainers = with lib.maintainers; [ davhau ];
+
   };
 in
-  combined
+combined
diff --git a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh
index 697b5a74a0..925420c49a 100755
--- a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh
+++ b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/generate.sh
@@ -1,11 +1,18 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i bash  -I nixpkgs=../../../.. -p nodePackages.node2nix nodePackages.bower2nix
+#! nix-shell -i bash -I nixpkgs=../../../.. -p nodePackages.node2nix nix
+
+# This script is meant to be run in the current directory
+
+cryptpadSrc=$(nix eval '(import ../../../.. {}).cryptpad.src' --raw)
+echo "cryptpad src: $cryptpadSrc"
+
+nix-shell -I nixpkgs=../../../.. -p '(nodePackages.override { nodejs = nodejs-10_x; }).bower2nix' --run "bower2nix $cryptpadSrc/bower.json bower-packages.nix"
+
+
 set -euo pipefail
 
 node2nix --nodejs-12 \
      --input node-packages.json \
      --output node-packages-generated.nix \
      --composition node-packages.nix \
-     --node-env ../../../development/node-packages/node-env.nix \
-
-# TODO: bower2nix > bower-packages.nix
+     --node-env ../../../development/node-packages/node-env.nix
diff --git a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
index 47e64e9d91..cbc12d113c 100644
--- a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
+++ b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages-generated.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "@mcrowe/minibloom-0.2.0" = {
+      name = "_at_mcrowe_slash_minibloom";
+      packageName = "@mcrowe/minibloom";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@mcrowe/minibloom/-/minibloom-0.2.0.tgz";
+        sha1 = "1bed96aec18388198da37443899b2c3ff5948053";
+      };
+    };
     "accepts-1.3.7" = {
       name = "accepts";
       packageName = "accepts";
@@ -49,22 +58,22 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
-    "chainpad-crypto-0.2.5" = {
+    "chainpad-crypto-0.2.6" = {
       name = "chainpad-crypto";
       packageName = "chainpad-crypto";
-      version = "0.2.5";
+      version = "0.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chainpad-crypto/-/chainpad-crypto-0.2.5.tgz";
-        sha512 = "K9vRsAspuX+uU1goXPz0CawpLIaOHq+1JP3WfDLqaz67LbCX/MLIUt9aMcSeIJcwZ9uMpqnbMGRktyVPoz6MCA==";
+        url = "https://registry.npmjs.org/chainpad-crypto/-/chainpad-crypto-0.2.6.tgz";
+        sha512 = "yk7bBj22rs9PaX6LiqQxiw+Vj/afBStsNP1xP/B4Uh9a8iyJ7JrSZJ2Hj3d6fyqxJlBrMAX82Aj5PCZb5dzzHw==";
       };
     };
-    "chainpad-server-4.0.9" = {
+    "chainpad-server-5.1.0" = {
       name = "chainpad-server";
       packageName = "chainpad-server";
-      version = "4.0.9";
+      version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chainpad-server/-/chainpad-server-4.0.9.tgz";
-        sha512 = "8h1W41ktE05TM6LuXrklpW2TUxWeNyIDiRaQygKsXaA/7pyJxF7+AmPVS+xW0c31VkHjQDPiaMzPoxhcxXnIyA==";
+        url = "https://registry.npmjs.org/chainpad-server/-/chainpad-server-5.1.0.tgz";
+        sha512 = "BdjgOOLTXXo1EjQ7lURDe7oqsqfQISNvwhILfp3K3diY2K1hxpPLbjYzOSgxNOTADeOAff0xnInR5eUCESVWaQ==";
       };
     };
     "content-disposition-0.5.2" = {
@@ -184,13 +193,13 @@ let
         sha512 = "Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==";
       };
     };
-    "forwarded-0.1.2" = {
+    "forwarded-0.2.0" = {
       name = "forwarded";
       packageName = "forwarded";
-      version = "0.1.2";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
-        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz";
+        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     };
     "fresh-0.5.2" = {
@@ -229,13 +238,13 @@ let
         sha512 = "+CEb+GDCM7tkOS2wdMKTn9vU7DgnKUTuDlehkNJKNSovdCOVxs14OfKCk4cvSaR3za4gj+OBdl9opPN9xrJ0zA==";
       };
     };
-    "graceful-fs-4.2.4" = {
+    "graceful-fs-4.2.8" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.4";
+      version = "4.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
       };
     };
     "http-errors-1.6.3" = {
@@ -337,22 +346,22 @@ let
         sha512 = "KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==";
       };
     };
-    "mime-db-1.45.0" = {
+    "mime-db-1.49.0" = {
       name = "mime-db";
       packageName = "mime-db";
-      version = "1.45.0";
+      version = "1.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz";
-        sha512 = "CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==";
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz";
+        sha512 = "CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==";
       };
     };
-    "mime-types-2.1.28" = {
+    "mime-types-2.1.32" = {
       name = "mime-types";
       packageName = "mime-types";
-      version = "2.1.28";
+      version = "2.1.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz";
-        sha512 = "0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==";
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz";
+        sha512 = "hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==";
       };
     };
     "ms-2.0.0" = {
@@ -373,13 +382,13 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
-    "netflux-websocket-0.1.20" = {
+    "netflux-websocket-0.1.21" = {
       name = "netflux-websocket";
       packageName = "netflux-websocket";
-      version = "0.1.20";
+      version = "0.1.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netflux-websocket/-/netflux-websocket-0.1.20.tgz";
-        sha512 = "svFkw4ol4gmkcXKnx5kF/8tR9mmtTCDzUlLy4mSlcNl/4iWlbDmgwp/+aJ3nqtv8fg12m+DAFGX2+fbC0//dcg==";
+        url = "https://registry.npmjs.org/netflux-websocket/-/netflux-websocket-0.1.21.tgz";
+        sha512 = "Zjl5lefg8urC0a0T7YCPGiUgRsISZBsTZl1STylmQz8Bq4ohcZ8cP3r6VoCpeVcvJ1Y/e3ZCXPxndWlNP9Jfug==";
       };
     };
     "nthen-0.1.8" = {
@@ -418,13 +427,13 @@ let
         sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
       };
     };
-    "proxy-addr-2.0.6" = {
+    "proxy-addr-2.0.7" = {
       name = "proxy-addr";
       packageName = "proxy-addr";
-      version = "2.0.6";
+      version = "2.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz";
-        sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==";
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
       };
     };
     "pull-stream-3.6.14" = {
@@ -647,27 +656,28 @@ let
   };
 in
 {
-  "cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#3.20.1" = nodeEnv.buildNodePackage {
+  "cryptpad-git+https://github.com/xwiki-labs/cryptpad.git#4.9.0" = nodeEnv.buildNodePackage {
     name = "cryptpad";
     packageName = "cryptpad";
-    version = "3.20.1";
+    version = "4.9.0";
     src = fetchgit {
       url = "https://github.com/xwiki-labs/cryptpad.git";
-      rev = "9bc27d7d0d50d17c345bd545a45341a05293c558";
-      sha256 = "4a1fc833b38b2097741500cef38c6b04f5b752c21736e95eb492c33012016332";
+      rev = "b1281fb4abd14e9758d58df4801e0a00eda7bc44";
+      sha256 = "ed2d0e2520645fccdada7fa5f25bb878c0ee0e61d6c81a98c18906c12750578c";
     };
     dependencies = [
+      sources."@mcrowe/minibloom-0.2.0"
       sources."accepts-1.3.7"
       sources."array-flatten-1.1.1"
       sources."async-limiter-1.0.1"
       sources."body-parser-1.18.3"
       sources."bytes-3.0.0"
-      (sources."chainpad-crypto-0.2.5" // {
+      (sources."chainpad-crypto-0.2.6" // {
         dependencies = [
           sources."tweetnacl-git+https://github.com/dchest/tweetnacl-js.git#v0.12.2"
         ];
       })
-      sources."chainpad-server-4.0.9"
+      sources."chainpad-server-5.1.0"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
       sources."cookie-0.3.1"
@@ -681,12 +691,12 @@ in
       sources."etag-1.8.1"
       sources."express-4.16.4"
       sources."finalhandler-1.1.1"
-      sources."forwarded-0.1.2"
+      sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-extra-7.0.1"
       sources."gar-1.0.4"
       sources."get-folder-size-2.0.1"
-      sources."graceful-fs-4.2.4"
+      sources."graceful-fs-4.2.8"
       sources."http-errors-1.6.3"
       sources."iconv-lite-0.4.23"
       sources."inherits-2.0.3"
@@ -698,16 +708,16 @@ in
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."mime-1.4.1"
-      sources."mime-db-1.45.0"
-      sources."mime-types-2.1.28"
+      sources."mime-db-1.49.0"
+      sources."mime-types-2.1.32"
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
-      sources."netflux-websocket-0.1.20"
+      sources."netflux-websocket-0.1.21"
       sources."nthen-0.1.8"
       sources."on-finished-2.3.0"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
-      sources."proxy-addr-2.0.6"
+      sources."proxy-addr-2.0.7"
       sources."pull-stream-3.6.14"
       sources."qs-6.5.2"
       sources."range-parser-1.2.1"
diff --git a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
index 07e02a1a0a..fde63614a4 100644
--- a/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
+++ b/third_party/nixpkgs/pkgs/servers/web-apps/cryptpad/node-packages.json
@@ -1,3 +1,3 @@
 [
-  { "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#3.20.1" }
+  { "cryptpad": "git+https://github.com/xwiki-labs/cryptpad.git#4.9.0" }
 ]
diff --git a/third_party/nixpkgs/pkgs/servers/x11/xorg/default.nix b/third_party/nixpkgs/pkgs/servers/x11/xorg/default.nix
index 2999d4a99a..81f813aae9 100644
--- a/third_party/nixpkgs/pkgs/servers/x11/xorg/default.nix
+++ b/third_party/nixpkgs/pkgs/servers/x11/xorg/default.nix
@@ -3177,11 +3177,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xrdb = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXmu, xorgproto }: stdenv.mkDerivation {
     pname = "xrdb";
-    version = "1.2.0";
+    version = "1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xrdb-1.2.0.tar.bz2";
-      sha256 = "0ik9gh6363c47pr0dp7q22nfs8vmavjg2v4bsr0604ppl77nafpj";
+      url = "mirror://xorg/individual/app/xrdb-1.2.1.tar.bz2";
+      sha256 = "1d78prd8sfszq2rwwlb32ksph4fymf988lp75aj8iysg44f06pag";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/third_party/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
index 11adba2533..0f6ab40ed9 100644
--- a/third_party/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
+++ b/third_party/nixpkgs/pkgs/servers/x11/xorg/tarballs.list
@@ -62,7 +62,7 @@ mirror://xorg/individual/app/xmore-1.0.3.tar.bz2
 mirror://xorg/individual/app/xpr-1.0.5.tar.bz2
 mirror://xorg/individual/app/xprop-1.2.5.tar.bz2
 mirror://xorg/individual/app/xrandr-1.5.1.tar.xz
-mirror://xorg/individual/app/xrdb-1.2.0.tar.bz2
+mirror://xorg/individual/app/xrdb-1.2.1.tar.bz2
 mirror://xorg/individual/app/xrefresh-1.0.6.tar.bz2
 mirror://xorg/individual/app/xset-1.2.4.tar.bz2
 mirror://xorg/individual/app/xsetroot-1.1.2.tar.bz2
diff --git a/third_party/nixpkgs/pkgs/tools/admin/clair/default.nix b/third_party/nixpkgs/pkgs/tools/admin/clair/default.nix
index b0765d852c..836f9082d2 100644
--- a/third_party/nixpkgs/pkgs/tools/admin/clair/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/admin/clair/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clair";
-  version = "4.1.2";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "quay";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eeNJ6oQayPBOHKsFrr2JbdLSv3R7N1xW3lV4LgVpUI4=";
+    sha256 = "sha256-PVR7QMndjfCNVo9U3lnArpRBxLfmOH8iEdFub7hZyio=";
   };
 
-  vendorSha256 = "sha256-79+j/+X9DQBpUvZuyQCSaoy1f4UnkERh54zmo4AhGwc=";
+  vendorSha256 = "sha256-npskCUVxNTgI8egVU1id02xHFfTizOb7kBUNfOLdbOc=";
 
   doCheck = false;
 
diff --git a/third_party/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix b/third_party/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
index 7ad3045196..9025217434 100644
--- a/third_party/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.39.0";
+  version = "1.40.0";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-tCvncpD89OYTWW83pScSZqpoxoactARAZDRfEoPaqsc=";
+    sha256 = "sha256-zhVG9mtkW0avMTtSnJ36qkxuy4SiiAENrKZqE5mXvaA=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/third_party/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/third_party/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
new file mode 100644
index 0000000000..690c215471
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -0,0 +1,51 @@
+{ lib, stdenv, fetchurl, autoPatchelfHook, rpmextract, libX11, libXext }:
+
+stdenv.mkDerivation rec {
+  pname = "realvnc-vnc-viewer";
+  version = "6.21.406";
+
+  src = {
+    "x86_64-linux" = fetchurl {
+      url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
+      sha256 = "0rnizzanaykqg1vfy56p8abc4fmgpbibj54j4c1v81zsj3kmahka";
+    };
+    "i686-linux" = fetchurl {
+      url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm";
+      sha256 = "1rlxfiqymi1licn2spyiqa00kiwzhdr0pkh7vv3ai6gb9f6phk31";
+    };
+  }.${stdenv.system};
+
+  nativeBuildInputs = [ autoPatchelfHook rpmextract ];
+  buildInputs = [ libX11 libXext ];
+
+  unpackPhase = ''
+    rpmextract $src
+  '';
+
+  postPatch = ''
+    substituteInPlace ./usr/share/applications/realvnc-vncviewer.desktop \
+      --replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
+    substituteInPlace ./usr/share/mimelnk/application/realvnc-vncviewer-mime.desktop \
+      --replace /usr/share/icons/hicolor/48x48/apps/vncviewer48x48.png vncviewer48x48.png
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mv usr $out
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "VNC remote desktop client software by RealVNC";
+    homepage = "https://www.realvnc.com/en/connect/download/viewer/";
+    license = {
+      fullName = "VNC Connect End User License Agreement";
+      url = "https://static.realvnc.com/media/documents/LICENSE-4.0a_en.pdf";
+      free = false;
+    };
+    maintainers = with maintainers; [ angustrau ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix b/third_party/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
index e7cd29e1a8..cce9c5b77b 100644
--- a/third_party/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/backup/gphotos-sync/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, python3Packages }:
+{ lib, fetchFromGitHub, python3Packages, ffmpeg }:
 
 python3Packages.buildPythonApplication rec {
   pname = "gphotos-sync";
@@ -19,10 +19,14 @@ python3Packages.buildPythonApplication rec {
     pyyaml
     requests_oauthlib
   ];
+
+  buildInputs = [ ffmpeg ];
+
   checkInputs = with python3Packages; [
     pytestCheckHook
     mock
   ];
+
   checkPhase = ''
     export HOME=$(mktemp -d)
 
diff --git a/third_party/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix b/third_party/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
index bbc346d46f..98e652a05f 100644
--- a/third_party/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/filesystems/duperemove/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duperemove";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "markfasheh";
     repo = "duperemove";
     rev = "v${version}";
-    sha256 = "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9";
+    sha256 = "sha256-WjUM52IqMDvBzeGHo7p4JcvMO5iPWPVOr8GJ3RSsnUs=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/third_party/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix b/third_party/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix
index 95b5b6ab34..e0755a1eea 100644
--- a/third_party/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/filesystems/s3fs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s3fs-fuse";
-  version = "1.89";
+  version = "1.90";
 
   src = fetchFromGitHub {
     owner  = "s3fs-fuse";
     repo   = "s3fs-fuse";
     rev    = "v${version}";
-    sha256 = "sha256-Agb0tq7B98Ioe0G/XEZCYcFQKnMuYXX9x0yg4Gvu3/k=";
+    sha256 = "sha256-tcoINdkPfIdO0VMQ5tdpKcslpvvgVhaJiDFnS/ix0sc=";
   };
 
   buildInputs = [ curl openssl libxml2 fuse ];
diff --git a/third_party/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch b/third_party/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch
new file mode 100644
index 0000000000..f0891e5a27
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/tools/misc/ethminer/add-global-context.patch
@@ -0,0 +1,25 @@
+diff --git a/libethcore/CMakeLists.txt b/libethcore/CMakeLists.txt
+index 1a53de8..832e926 100644
+--- a/libethcore/CMakeLists.txt
++++ b/libethcore/CMakeLists.txt
+@@ -7,7 +7,7 @@ set(SOURCES
+ include_directories(BEFORE ..)
+ 
+ add_library(ethcore ${SOURCES})
+-target_link_libraries(ethcore PUBLIC devcore ethash::ethash PRIVATE hwmon)
++target_link_libraries(ethcore PUBLIC devcore ethash::ethash ethash-global-context PRIVATE hwmon)
+ 
+ if(ETHASHCL)
+ 	target_link_libraries(ethcore PRIVATE ethash-cl)
+diff --git a/libethcore/EthashAux.h b/libethcore/EthashAux.h
+index d9aadc7..fe5c6cf 100644
+--- a/libethcore/EthashAux.h
++++ b/libethcore/EthashAux.h
+@@ -22,6 +22,7 @@
+ #include <libdevcore/Worker.h>
+ 
+ #include <ethash/ethash.hpp>
++#include <ethash/global_context.hpp>
+ 
+ namespace dev
+ {
diff --git a/third_party/nixpkgs/pkgs/tools/misc/ethminer/default.nix b/third_party/nixpkgs/pkgs/tools/misc/ethminer/default.nix
index 675147bc5d..e159622bc8 100644
--- a/third_party/nixpkgs/pkgs/tools/misc/ethminer/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/misc/ethminer/default.nix
@@ -64,6 +64,11 @@ stdenv.mkDerivation rec {
     cudatoolkit
   ];
 
+  patches = [
+    # global context library is separated from libethash
+    ./add-global-context.patch
+  ];
+
   preConfigure = ''
     sed -i 's/_lib_static//' libpoolprotocols/CMakeLists.txt
   '';
diff --git a/third_party/nixpkgs/pkgs/tools/misc/geekbench/default.nix b/third_party/nixpkgs/pkgs/tools/misc/geekbench/default.nix
index b5d884dbac..5ccdf2e2fe 100644
--- a/third_party/nixpkgs/pkgs/tools/misc/geekbench/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.4.0";
+  version = "5.4.1";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "sha256-/FhOZ6WCaQQOzsLH3iZTnwzmwUcdsskgASJFZupSIY0=";
+    sha256 = "sha256-0Pg9bHQwWElW4B3oRco5F2FsaEeLC0ZXx7J+hl7dc3Y=";
   };
 
   dontConfigure = true;
diff --git a/third_party/nixpkgs/pkgs/tools/misc/mcfly/default.nix b/third_party/nixpkgs/pkgs/tools/misc/mcfly/default.nix
index 6412eaa1f8..a6d635a6f7 100644
--- a/third_party/nixpkgs/pkgs/tools/misc/mcfly/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.5.6";
+  version = "0.5.8";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "sha256-x2cED+WEc50RB8BxiDEm/XnauT1RqqGjSIdL5MMaFBY=";
+    sha256 = "sha256-D8ScF/3qyT0VuMGmWkkeGRyCu4LdOXt1wvR9whbNURE=";
   };
 
   postInstall = ''
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
     install -Dm644 -t $out/share/mcfly mcfly.fish
   '';
 
-  cargoSha256 = "sha256-7RKewz5jBS2HhHvXHBUWaQQ/wq9nryS9E+DqzBOVjPs=";
+  cargoSha256 = "sha256-VZgxfVmAa5lPfdLNbsotNoRpTLe3HID36sF8T/0mywI=";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
diff --git a/third_party/nixpkgs/pkgs/tools/misc/remind/default.nix b/third_party/nixpkgs/pkgs/tools/misc/remind/default.nix
index d10811ffa0..1ef0ee9dd4 100644
--- a/third_party/nixpkgs/pkgs/tools/misc/remind/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/misc/remind/default.nix
@@ -16,11 +16,11 @@ let
 in
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "03.03.06";
+  version = "03.03.07";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-lpoMAXDJxwODY0/aoo25GRBYWFhE4uf11pR5/ITZX1s=";
+    sha256 = "sha256-h8lOKdHhiVT/XSIkfX7KMHzmIeEdIsFCCPkD9oo7ij0=";
   };
 
   propagatedBuildInputs = tclLibraries;
diff --git a/third_party/nixpkgs/pkgs/tools/networking/findomain/default.nix b/third_party/nixpkgs/pkgs/tools/networking/findomain/default.nix
index 018a210e4a..37499757e7 100644
--- a/third_party/nixpkgs/pkgs/tools/networking/findomain/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/networking/findomain/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "4.3.0";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-UC70XmhAVf2a2QO9bkIRE5vEsWyIA0DudZfKraNffGY=";
+    sha256 = "sha256-xuabmlpejQVN8pYCNa97aL2IJUAgV7zLXpkEIp9SZRI=";
   };
 
-  cargoSha256 = "sha256-Cdfh3smX6UjiG29L9hG22bOQQIjaNrv+okl153mIiso=";
+  cargoSha256 = "sha256-hrgTWB5D0eKmfuR+lrMN4mx6yGomHe/jUJxw2uyrjHg=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/third_party/nixpkgs/pkgs/tools/networking/telepresence2/default.nix b/third_party/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
index 54de621763..2cbe5fd918 100644
--- a/third_party/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/networking/telepresence2/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "telepresence2";
-  version = "2.3.6";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "telepresenceio";
     repo = "telepresence";
     rev = "v${version}";
-    sha256 = "1bs4h450109vhy18kpyy6y4p5l9kvz4w09m56fxh5z547m5ax6k3";
+    sha256 = "1v2jkhdlyq37akqyhb8mwsh7rjdv2fjw8kyzys3dv04k3dy5sl0f";
   };
 
-  vendorSha256 = "0xmw9mc0iy64kb12lsii4nn63ynh6gab9ls8z6mrizjjqz845sa5";
+  vendorSha256 = "1snmp461h8driy1w1xggk669yxl0sjl1m9pbqm7dwk44yb94zi1q";
 
   buildFlagsArray = ''
     -ldflags=-s -w -X=github.com/telepresenceio/telepresence/v2/pkg/version.Version=${src.rev}
diff --git a/third_party/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix b/third_party/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
index 6b4e450a70..cc57709856 100644
--- a/third_party/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.16.2";
+  version = "0.16.3";
 
   src = fetchFromGitHub {
     owner = "sunng87";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-o3AKA/uP6VWMO4c62H3ey0P98KIhbzhnng5ggKjNeZ8=";
+    sha256 = "sha256-VAXuxHCayjmuI26rhJroEBbnyJ4z+w7HY5TNTanYvpw=";
   };
 
-  cargoSha256 = "sha256-SHLiUVH5LiQNd/Ipj/xrjSG0X2HXfcAwswqsbqweJBs=";
+  cargoSha256 = "sha256-cXuAPQ8xRkeixWNYGjStNipbn4xIc1NsfVqROd6RHdg=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/third_party/nixpkgs/pkgs/tools/package-management/conda/default.nix b/third_party/nixpkgs/pkgs/tools/package-management/conda/default.nix
index 57b4d17fdf..bc11203bb4 100644
--- a/third_party/nixpkgs/pkgs/tools/package-management/conda/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/package-management/conda/default.nix
@@ -66,6 +66,8 @@ in
       source ${installationPath}/etc/profile.d/conda.sh
     '';
 
+    runScript = "bash -l";
+
     meta = {
       description = "Conda is a package manager for Python";
       homepage = "https://conda.io/";
diff --git a/third_party/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix b/third_party/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix
index bd16ecc6f3..0077c6c018 100644
--- a/third_party/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/package-management/nix-simple-deploy/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nix-simple-deploy";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "misuzu";
     repo = pname;
     rev = version;
-    sha256 = "0vkgs3ffb5vdzhrqdnd54vbi36vrgd3408zvjn0rmqlnwi3wwhnk";
+    sha256 = "1qq4fbsd2mvxblsggwbnh88mj18f3vrfzv1kgc7a92pfiwxznq8r";
   };
 
-  cargoSha256 = "0z4d4cazl6qvigyqzdayxqfjc1ki1rhrpm76agc8lkrxrvhyay2h";
+  cargoSha256 = "1r6dl7qipbyyvjcd3l9ynawjln1g1qzvw5za6nyjcf41dzv48m8x";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/third_party/nixpkgs/pkgs/tools/package-management/nix/default.nix b/third_party/nixpkgs/pkgs/tools/package-management/nix/default.nix
index cd1f6062cf..8f89fd6641 100644
--- a/third_party/nixpkgs/pkgs/tools/package-management/nix/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/package-management/nix/default.nix
@@ -234,13 +234,13 @@ in rec {
   nixUnstable = lib.lowPrio (callPackage common rec {
     pname = "nix";
     version = "2.4${suffix}";
-    suffix = "pre20210707_02dd6bb";
+    suffix = "pre20210802_47e96bb";
 
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "02dd6bb610e55a009cd7a4c83639698d3a7acaa2";
-      sha256 = "sha256-ARRiLrDOK+JQtvVXsYegspENYimQzilvdTfO7eiBuaA=";
+      rev = "47e96bb533f8cacc171bec9b688b134de31a48a9";
+      sha256 = "sha256-vwj1fAGn3Pl9Vr/qSL+oDxuwbRzEdI3dsEg6o3xTmWg=";
     };
 
     boehmgc = boehmgc_nixUnstable;
diff --git a/third_party/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock b/third_party/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
new file mode 100644
index 0000000000..9039c430d4
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/tools/security/dnspeep/Cargo.lock
@@ -0,0 +1,660 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+[[package]]
+name = "aho-corasick"
+version = "0.7.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+
+[[package]]
+name = "bitflags"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "bytes"
+version = "0.5.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
+
+[[package]]
+name = "bytes"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "chrono"
+version = "0.4.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
+dependencies = [
+ "libc",
+ "num-integer",
+ "num-traits",
+ "time",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "dns-message-parser"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8e859c9ca137be3407a445a34eda3395aeef5aae12cd47d46a7fffba54460072"
+dependencies = [
+ "bytes 1.0.1",
+ "hex",
+ "thiserror",
+]
+
+[[package]]
+name = "dnspeep"
+version = "0.1.2"
+dependencies = [
+ "bytes 1.0.1",
+ "chrono",
+ "dns-message-parser",
+ "etherparse",
+ "eyre",
+ "futures",
+ "getopts",
+ "hex",
+ "libc",
+ "pcap",
+ "tokio",
+]
+
+[[package]]
+name = "etherparse"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fa20922281f9ee5ffcda45e80d56085829279f1270f79fbabc39809a4354807"
+dependencies = [
+ "byteorder",
+]
+
+[[package]]
+name = "eyre"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "221239d1d5ea86bf5d6f91c9d6bc3646ffe471b08ff9b0f91c44f115ac969d2b"
+dependencies = [
+ "indenter",
+ "once_cell",
+]
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "fuchsia-zircon"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+dependencies = [
+ "bitflags",
+ "fuchsia-zircon-sys",
+]
+
+[[package]]
+name = "fuchsia-zircon-sys"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+[[package]]
+name = "futures"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f55667319111d593ba876406af7c409c0ebb44dc4be6132a783ccf163ea14c1"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-executor",
+ "futures-io",
+ "futures-sink",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-channel"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
+dependencies = [
+ "futures-core",
+ "futures-sink",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
+
+[[package]]
+name = "futures-executor"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "891a4b7b96d84d5940084b2a37632dd65deeae662c114ceaa2c879629c9c0ad1"
+dependencies = [
+ "futures-core",
+ "futures-task",
+ "futures-util",
+]
+
+[[package]]
+name = "futures-io"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
+
+[[package]]
+name = "futures-macro"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ea405816a5139fb39af82c2beb921d52143f556038378d6db21183a5c37fbfb7"
+dependencies = [
+ "proc-macro-hack",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "futures-sink"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
+
+[[package]]
+name = "futures-task"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
+
+[[package]]
+name = "futures-util"
+version = "0.3.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
+dependencies = [
+ "futures-channel",
+ "futures-core",
+ "futures-io",
+ "futures-macro",
+ "futures-sink",
+ "futures-task",
+ "memchr",
+ "pin-project-lite 0.2.6",
+ "pin-utils",
+ "proc-macro-hack",
+ "proc-macro-nested",
+ "slab",
+]
+
+[[package]]
+name = "getopts"
+version = "0.2.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "hex"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
+
+[[package]]
+name = "indenter"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
+
+[[package]]
+name = "iovec"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "kernel32-sys"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.91"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7"
+
+[[package]]
+name = "libloading"
+version = "0.6.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
+dependencies = [
+ "cfg-if 1.0.0",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "log"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "memchr"
+version = "2.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
+
+[[package]]
+name = "mio"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
+dependencies = [
+ "cfg-if 0.1.10",
+ "fuchsia-zircon",
+ "fuchsia-zircon-sys",
+ "iovec",
+ "kernel32-sys",
+ "libc",
+ "log",
+ "miow 0.2.2",
+ "net2",
+ "slab",
+ "winapi 0.2.8",
+]
+
+[[package]]
+name = "mio-named-pipes"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
+dependencies = [
+ "log",
+ "mio",
+ "miow 0.3.7",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "mio-uds"
+version = "0.6.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0"
+dependencies = [
+ "iovec",
+ "libc",
+ "mio",
+]
+
+[[package]]
+name = "miow"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
+dependencies = [
+ "kernel32-sys",
+ "net2",
+ "winapi 0.2.8",
+ "ws2_32-sys",
+]
+
+[[package]]
+name = "miow"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
+dependencies = [
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "net2"
+version = "0.2.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
+dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
+
+[[package]]
+name = "pcap"
+version = "0.8.1"
+source = "git+https://github.com/jvns/pcap#ae2aa7f501ae5bb7069155cf7c5c700b7482681d"
+dependencies = [
+ "futures",
+ "libc",
+ "libloading",
+ "mio",
+ "regex",
+ "tokio",
+ "widestring",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+[[package]]
+name = "proc-macro-hack"
+version = "0.5.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+
+[[package]]
+name = "proc-macro-nested"
+version = "0.1.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "regex"
+version = "1.4.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957056ecddbeba1b26965114e191d2e8589ce74db242b6ea25fc4062427a5c19"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "24d5f089152e60f62d28b835fbff2cd2e8dc0baf1ac13343bef92ab7eed84548"
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "16f1d0fef1604ba8f7a073c7e701f213e056707210e9020af4528e0101ce11a6"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "slab"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+
+[[package]]
+name = "syn"
+version = "1.0.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3a1d708c221c5a612956ef9f75b37e454e88d1f7b899fbd3a18d4252012d663"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0f4a65597094d4483ddaed134f409b2cb7c1beccf25201a9f73c719254fa98e"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.24"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7765189610d8241a44529806d6fd1f2e0a08734313a35d5b3a556f92b381f3c0"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tokio"
+version = "0.2.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
+dependencies = [
+ "bytes 0.5.6",
+ "fnv",
+ "futures-core",
+ "iovec",
+ "lazy_static",
+ "libc",
+ "memchr",
+ "mio",
+ "mio-named-pipes",
+ "mio-uds",
+ "num_cpus",
+ "pin-project-lite 0.1.12",
+ "signal-hook-registry",
+ "slab",
+ "tokio-macros",
+ "winapi 0.3.9",
+]
+
+[[package]]
+name = "tokio-macros"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "unicode-width"
+version = "0.1.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
+
+[[package]]
+name = "wasi"
+version = "0.10.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+[[package]]
+name = "widestring"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7157704c2e12e3d2189c507b7482c52820a16dfa4465ba91add92f266667cadb"
+
+[[package]]
+name = "winapi"
+version = "0.2.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-build"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "ws2_32-sys"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+dependencies = [
+ "winapi 0.2.8",
+ "winapi-build",
+]
diff --git a/third_party/nixpkgs/pkgs/tools/security/dnspeep/default.nix b/third_party/nixpkgs/pkgs/tools/security/dnspeep/default.nix
new file mode 100644
index 0000000000..534894813c
--- /dev/null
+++ b/third_party/nixpkgs/pkgs/tools/security/dnspeep/default.nix
@@ -0,0 +1,32 @@
+{ fetchFromGitHub, lib, libpcap, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dnspeep";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "jvns";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0lz22vlgi1alsq676q4nlzfzwnsrvziyqdnmdbn00rwqsvlb81q6";
+  };
+
+  # dnspeep has git dependencies therefore doesn't work with `cargoSha256`
+  cargoLock = {
+    # update Cargo.lock every update
+    lockFile = ./Cargo.lock;
+    outputHashes = {
+      "pcap-0.8.1" = "1nnfyhlhcpbl4i6zmfa9rvnvr6ibg5khran1f5yhmr9yfhmhgakd";
+    };
+  };
+
+  LIBPCAP_LIBDIR = lib.makeLibraryPath [ libpcap ];
+  LIBPCAP_VER = libpcap.version;
+
+  meta = with lib; {
+    description = "Spy on the DNS queries your computer is making";
+    homepage = "https://github.com/jvns/dnspeep";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/third_party/nixpkgs/pkgs/tools/security/dnsx/default.nix b/third_party/nixpkgs/pkgs/tools/security/dnsx/default.nix
index 75c85deb1c..7872e4a8ea 100644
--- a/third_party/nixpkgs/pkgs/tools/security/dnsx/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/security/dnsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnsx";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "dnsx";
     rev = "v${version}";
-    sha256 = "sha256-w+FQp5pvySM36UHFxBH5WRZvnGi43NZeI2tLr6HAF3Q=";
+    sha256 = "sha256-rAicKytDtdnPwWdxJvBd5UnMGTAI4NHcPUjISlT7kCw=";
   };
 
-  vendorSha256 = "sha256-gsoeAau3klOFTu+ZEYEMdIuXw/5IVsfFJ2maxPaZKjA=";
+  vendorSha256 = "sha256-8YoYfn2BFUnVwH9FcAgb1p5CV3dJVrWjEMPfivOGvQE=";
 
   meta = with lib; {
     description = "Fast and multi-purpose DNS toolkit";
diff --git a/third_party/nixpkgs/pkgs/tools/security/doppler/default.nix b/third_party/nixpkgs/pkgs/tools/security/doppler/default.nix
index fb87251d73..ad49251aae 100644
--- a/third_party/nixpkgs/pkgs/tools/security/doppler/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/security/doppler/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.31.0";
+  version = "3.31.1";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-jmOHr32mDnjY3n9/nU/YaQ/ZuVsCKTo2likM2homToM=";
+    sha256 = "sha256-m8dugkZ0n51RnclZwKGgjVG3OrDMz3MsOQMvNbG4BPU=";
   };
 
   vendorSha256 = "sha256-yb7L4GSKtlwagwdxBMd5aSk9fre1NKKsy6CM4Iv2ya8=";
diff --git a/third_party/nixpkgs/pkgs/tools/security/httpx/default.nix b/third_party/nixpkgs/pkgs/tools/security/httpx/default.nix
index 7c3e586342..5905632294 100644
--- a/third_party/nixpkgs/pkgs/tools/security/httpx/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/security/httpx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "httpx";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "httpx";
     rev = "v${version}";
-    sha256 = "sha256-selmBW6GlfzKbVHz7EgmUB8n567NS08gwkRB9Y+Px8s=";
+    sha256 = "sha256-uuHvU/KUHliY3FUwknp7ninKTY9qs+gI7WljgIvJEF4=";
   };
 
-  vendorSha256 = "sha256-q0cTFYepq7odZSACNuUoz6kjT7sE38Pv6B113w2gpIQ=";
+  vendorSha256 = "sha256-/xip2lwmpaSvnQoGj3de8Tgeog+HPrI8mF6catC1O4s=";
 
   meta = with lib; {
     description = "Fast and multi-purpose HTTP toolkit";
diff --git a/third_party/nixpkgs/pkgs/tools/security/opensc/default.nix b/third_party/nixpkgs/pkgs/tools/security/opensc/default.nix
index c48d19fbe8..15231c9453 100644
--- a/third_party/nixpkgs/pkgs/tools/security/opensc/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/security/opensc/default.nix
@@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/OpenSC/OpenSC/wiki";
     license = licenses.lgpl21Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.erictapen ];
+    maintainers = [ maintainers.michaeladler ];
   };
 }
diff --git a/third_party/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix b/third_party/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
index 2ae3443947..085610f179 100644
--- a/third_party/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
+++ b/third_party/nixpkgs/pkgs/tools/security/proxmark3/proxmark3-rrg.nix
@@ -7,13 +7,13 @@
 
 mkDerivation rec {
   pname = "proxmark3-rrg";
-  version = "4.9237";
+  version = "4.13441";
 
   src = fetchFromGitHub {
     owner = "RfidResearchGroup";
     repo = "proxmark3";
     rev = "v${version}";
-    sha256 = "13xrhvrsm73rfgqpgca6a37c3jixdkxvfggmacnnx5fdfb393bfx";
+    sha256 = "1ffchqnm8023zcm4ywncf1j6076s78226h72m9dfmi0zbj3pbj4m";
   };
 
   nativeBuildInputs = [ pkg-config gcc-arm-embedded ];
diff --git a/third_party/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix b/third_party/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix
index a6f479dc71..73f602cbf6 100644
--- a/third_party/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix
+++ b/third_party/nixpkgs/pkgs/tools/virtualization/distrobuilder/default.nix
@@ -21,15 +21,15 @@ let
 in
 buildGoModule rec {
   pname = "distrobuilder";
-  version = "1.2";
+  version = "1.3";
 
-  vendorSha256 = "sha256-G5FUO6Ul4dA4MZZI9Ho1kE9ptX31tAWak9rWAoD/iuU=";
+  vendorSha256 = "sha256-FKnpoLA4enZ1vGSJQFLbp/OjoEgdxagL73ucxUgIoKY=";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "distrobuilder";
     rev = "distrobuilder-${version}";
-    sha256 = "CE3Tq0oWpVZnSfBBY3/2E2GdZLFsO0NzkPABT8lu+TY=";
+    sha256 = "sha256-cvxbJbg9yTcAPWQccH+1nQivwRh8CIN3Cga2HKY8VlQ=";
     fetchSubmodules = false;
   };
 
diff --git a/third_party/nixpkgs/pkgs/top-level/aliases.nix b/third_party/nixpkgs/pkgs/top-level/aliases.nix
index e88c6978ad..54d112a31d 100644
--- a/third_party/nixpkgs/pkgs/top-level/aliases.nix
+++ b/third_party/nixpkgs/pkgs/top-level/aliases.nix
@@ -876,6 +876,7 @@ mapAliases ({
   truecrypt = veracrypt; # added 2018-10-24
   tshark = wireshark-cli; # added 2018-04-25
   tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # added 2021-03-07
+  turbo-geth = throw "turbo-geth has been renamed to erigon"; # added 20201-08-08
   uberwriter = apostrophe; # added 2020-04-23
   ubootBeagleboneBlack = ubootAmx335xEVM; # added 2020-01-21
   ucsFonts = ucs-fonts; # added 2016-07-15
diff --git a/third_party/nixpkgs/pkgs/top-level/all-packages.nix b/third_party/nixpkgs/pkgs/top-level/all-packages.nix
index f828f7992b..3c7a13f087 100644
--- a/third_party/nixpkgs/pkgs/top-level/all-packages.nix
+++ b/third_party/nixpkgs/pkgs/top-level/all-packages.nix
@@ -161,6 +161,8 @@ with pkgs;
 
   addOpenGLRunpath = callPackage ../build-support/add-opengl-runpath { };
 
+  aether = callPackage ../applications/networking/aether { };
+
   alda = callPackage ../development/interpreters/alda { };
 
   althttpd = callPackage ../servers/althttpd { };
@@ -1124,6 +1126,8 @@ with pkgs;
 
   ArchiSteamFarm = callPackage ../applications/misc/ArchiSteamFarm { };
 
+  archivebox = python3Packages.callPackage ../applications/misc/archivebox { };
+
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
   archivy = python3Packages.callPackage ../applications/misc/archivy { };
@@ -1341,6 +1345,8 @@ with pkgs;
 
   inherit (nodePackages) hyperspace-cli;
 
+  bklk = callPackage ../applications/misc/bklk { };
+
   bkyml = callPackage ../tools/misc/bkyml { };
 
   blockbench-electron = callPackage ../applications/graphics/blockbench-electron { };
@@ -3779,7 +3785,9 @@ with pkgs;
 
   cpuminer-multi = callPackage ../tools/misc/cpuminer-multi { };
 
-  cryptpad = callPackage ../servers/web-apps/cryptpad { };
+  cryptpad = callPackage ../servers/web-apps/cryptpad {
+    nodejs = nodejs-12_x;
+  };
 
   ethash = callPackage ../development/libraries/ethash { };
 
@@ -4206,6 +4214,8 @@ with pkgs;
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
+  dnspeep = callPackage ../tools/security/dnspeep { };
+
   dnsproxy = callPackage ../tools/networking/dnsproxy { };
 
   dnsperf = callPackage ../tools/networking/dnsperf { };
@@ -8474,6 +8484,8 @@ with pkgs;
 
   rtss = callPackage ../development/tools/misc/rtss { };
 
+  realvnc-vnc-viewer = callPackage ../tools/admin/realvnc-vnc-viewer {};
+
   reaverwps = callPackage ../tools/networking/reaver-wps {};
 
   reaverwps-t6x = callPackage ../tools/networking/reaver-wps-t6x {};
@@ -9546,6 +9558,8 @@ with pkgs;
 
   translate-shell = callPackage ../applications/misc/translate-shell { };
 
+  translatepy = with python3.pkgs; toPythonApplication translatepy;
+
   trash-cli = callPackage ../tools/misc/trash-cli { };
 
   trebleshot = libsForQt5.callPackage ../applications/networking/trebleshot { };
@@ -18043,6 +18057,8 @@ with pkgs;
 
   openrct2 = callPackage ../games/openrct2 { };
 
+  optparse-bash = callPackage ../development/libraries/optparse-bash { };
+
   orcania = callPackage ../development/libraries/orcania { };
 
   osm-gps-map = callPackage ../development/libraries/osm-gps-map { };
@@ -23602,6 +23618,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Carbon;
   };
 
+  cyanrip = callPackage ../applications/audio/cyanrip { };
+
   centerim = callPackage ../applications/networking/instant-messengers/centerim { };
 
   cgit = callPackage ../applications/version-management/git-and-tools/cgit {
@@ -28864,6 +28882,8 @@ with pkgs;
 
   ergo = callPackage ../applications/blockchains/ergo { };
 
+  erigon = callPackage ../applications/blockchains/erigon.nix { };
+
   exodus = callPackage ../applications/blockchains/exodus { };
 
   faraday = callPackage ../applications/blockchains/faraday { };
@@ -28935,8 +28955,6 @@ with pkgs;
 
   tessera = callPackage ../applications/blockchains/tessera { };
 
-  turbo-geth = callPackage ../applications/blockchains/turbo-geth { };
-
   vertcoin  = libsForQt514.callPackage ../applications/blockchains/vertcoin {
     boost = boost165;
     withGui = true;
@@ -29070,6 +29088,8 @@ with pkgs;
 
   brogue = callPackage ../games/brogue { };
 
+  brutalmaze = callPackage ../games/brutalmaze { };
+
   bsdgames = callPackage ../games/bsdgames { };
 
   btanks = callPackage ../games/btanks { };
diff --git a/third_party/nixpkgs/pkgs/top-level/perl-packages.nix b/third_party/nixpkgs/pkgs/top-level/perl-packages.nix
index 93e7acff55..fb2f2db19d 100644
--- a/third_party/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/third_party/nixpkgs/pkgs/top-level/perl-packages.nix
@@ -2150,6 +2150,21 @@ let
     };
   };
 
+  CatalystPluginPrometheusTiny = buildPerlPackage {
+    pname = "Catalyst-Plugin-PrometheusTiny";
+    version = "0.006";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.006.tar.gz";
+      sha256 = "1hd2nv21c2mq3yvhsys4a276bdwr5igs4b73m99v7ymzpabvjf9b";
+    };
+    buildInputs = [ HTTPMessage Plack SubOverride TestDeep ];
+    propagatedBuildInputs = [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ];
+    meta = {
+      description = "Prometheus metrics for Catalyst";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CatalystPluginSession = buildPerlPackage {
     pname = "Catalyst-Plugin-Session";
     version = "0.41";
@@ -4932,6 +4947,20 @@ let
     };
   };
 
+  DataRandom = buildPerlPackage {
+    pname = "Data-Random";
+    version = "0.13";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz";
+      sha256 = "eb590184a8db28a7e49eab09e25f8650c33f1f668b6a472829de74a53256bfc0";
+    };
+    buildInputs = [ FileShareDirInstall TestMockTime ];
+    meta = {
+      description = "Perl module to generate random data";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   DataSection = buildPerlPackage {
     pname = "Data-Section";
     version = "0.200007";
@@ -9416,6 +9445,20 @@ let
     };
   };
 
+  HashSharedMem = buildPerlModule {
+    pname = "Hash-SharedMem";
+    version = "0.005";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz";
+      sha256 = "324776808602f7bdc44adaa937895365454029a926fa611f321c9bf6b940bb5e";
+    };
+    buildInputs = [ ScalarString ];
+    meta = {
+      description = "Efficient shared mutable hash";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   HashUtilFieldHashCompat = buildPerlPackage {
     pname = "Hash-Util-FieldHash-Compat";
     version = "0.11";
@@ -17433,6 +17476,37 @@ let
     propagatedBuildInputs = [ IPCSignal ];
   };
 
+  PrometheusTiny = buildPerlPackage {
+    pname = "Prometheus-Tiny";
+    version = "0.008";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-0.008.tar.gz";
+      sha256 = "17d7b69chkcq8fprww6m15glndyb0lms2l0xjbnbw04q7f8ncskk";
+    };
+    buildInputs = [ HTTPMessage Plack TestException ];
+    meta = {
+      homepage = "https://github.com/robn/Prometheus-Tiny";
+      description = "A tiny Prometheus client";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  PrometheusTinyShared = buildPerlPackage {
+    pname = "Prometheus-Tiny-Shared";
+    version = "0.024";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.024.tar.gz";
+      sha256 = "02w24r4amk8dqlavg6abxap48hzxrbda48f1pmrqypgx1cz59g4g";
+    };
+    buildInputs = [ DataRandom HTTPMessage Plack TestDifferences TestException ];
+    propagatedBuildInputs = [ HashSharedMem JSONXS PrometheusTiny ];
+    meta = {
+      homepage = "https://github.com/robn/Prometheus-Tiny-Shared";
+      description = "A tiny Prometheus client with a shared database behind it";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ProtocolRedis = buildPerlPackage {
     pname = "Protocol-Redis";
     version = "1.0011";
diff --git a/third_party/nixpkgs/pkgs/top-level/python-packages.nix b/third_party/nixpkgs/pkgs/top-level/python-packages.nix
index b30dfe4511..abd21cf5c9 100644
--- a/third_party/nixpkgs/pkgs/top-level/python-packages.nix
+++ b/third_party/nixpkgs/pkgs/top-level/python-packages.nix
@@ -6323,7 +6323,9 @@ in {
 
   pymumble = callPackage ../development/python-modules/pymumble { };
 
-  pymunk = callPackage ../development/python-modules/pymunk { };
+  pymunk = callPackage ../development/python-modules/pymunk {
+    inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
+  };
 
   pymupdf = callPackage ../development/python-modules/pymupdf { };
 
@@ -7336,6 +7338,8 @@ in {
     inherit (pkgs) libusb1;
   };
 
+  pyuseragents = callPackage ../development/python-modules/pyuseragents { };
+
   pyutilib = callPackage ../development/python-modules/pyutilib { };
 
   pyuv = callPackage ../development/python-modules/pyuv { };
@@ -8846,6 +8850,8 @@ in {
 
   transitions = callPackage ../development/python-modules/transitions { };
 
+  translatepy = callPackage ../development/python-modules/translatepy { };
+
   translationstring = callPackage ../development/python-modules/translationstring { };
 
   transmission-rpc = callPackage ../development/python-modules/transmission-rpc { };
diff --git a/third_party/nixpkgs/pkgs/top-level/release-haskell.nix b/third_party/nixpkgs/pkgs/top-level/release-haskell.nix
index 5173ec6cb3..400635740e 100644
--- a/third_party/nixpkgs/pkgs/top-level/release-haskell.nix
+++ b/third_party/nixpkgs/pkgs/top-level/release-haskell.nix
@@ -300,7 +300,7 @@ let
       # package sets (like Cabal, jailbreak-cabal) are
       # working as expected.
       cabal-install = all;
-      Cabal_3_4_0_0 = with compilerNames; [ ghc884 ghc8104 ];
+      Cabal_3_6_0_0 = with compilerNames; [ ghc884 ghc8104 ];
       cabal2nix-unstable = all;
       funcmp = all;
       # Doesn't currently work on ghc-9.0: