about summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-12-05 00:08:25 +0000
committerGitHub <noreply@github.com>2021-12-05 00:08:25 +0000
commitf20d4753ee7e60be9680d5b957137e051f13b0a3 (patch)
treeb1bba6f241a55012f91b753a342e04afca486540
parent46631f08a80d322e239dd8bd4af786d9d0e04e0a (diff)
parent9814b69ba9f64ca7738df1493853e0b5d28556c9 (diff)
Merge master into haskell-updates
-rw-r--r--.github/CODEOWNERS21
-rw-r--r--.gitignore3
-rw-r--r--doc/builders/images/dockertools.section.md6
-rw-r--r--doc/languages-frameworks/beam.section.md11
-rw-r--r--maintainers/maintainer-list.nix11
-rwxr-xr-xnixos/lib/test-driver/test-driver.py1
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/misc/mx-puppet-discord.nix6
-rw-r--r--nixos/modules/services/networking/ddclient.nix4
-rw-r--r--nixos/modules/services/video/rtsp-simple-server.nix80
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix8
-rw-r--r--nixos/modules/services/web-apps/nextcloud.xml2
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix233
-rw-r--r--nixos/modules/virtualisation/oci-containers.nix2
-rw-r--r--nixos/tests/docker-tools.nix5
-rw-r--r--nixos/tests/nextcloud/default.nix10
-rw-r--r--nixos/tests/vault-postgresql.nix2
-rw-r--r--pkgs/applications/blockchains/lndmanage/default.nix4
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix16
-rw-r--r--pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch91
-rw-r--r--pkgs/applications/editors/lite-xl/default.nix21
-rw-r--r--pkgs/applications/graphics/ascii-image-converter/default.nix23
-rw-r--r--pkgs/applications/graphics/tev/default.nix8
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix175
-rw-r--r--pkgs/applications/misc/koreader/default.nix4
-rw-r--r--pkgs/applications/misc/maliit-framework/default.nix68
-rw-r--r--pkgs/applications/misc/maliit-keyboard/default.nix82
-rw-r--r--pkgs/applications/misc/remarkable/rmapi/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/twinkle/default.nix22
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix8
-rw-r--r--pkgs/applications/office/beamerpresenter/default.nix4
-rw-r--r--pkgs/applications/plasma-mobile/default.nix1
-rw-r--r--pkgs/applications/plasma-mobile/plasma-settings.nix42
-rw-r--r--pkgs/applications/radio/qradiolink/default.nix6
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/glitter/default.nix6
-rw-r--r--pkgs/build-support/docker/default.nix27
-rw-r--r--pkgs/build-support/docker/examples.nix14
-rw-r--r--pkgs/data/themes/flat-remix-gnome/default.nix6
-rw-r--r--pkgs/data/themes/whitesur/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix29
-rw-r--r--pkgs/desktops/plasma-5/default.nix2
-rw-r--r--pkgs/desktops/plasma-5/plasma-nano/default.nix13
-rw-r--r--pkgs/desktops/plasma-5/plasma-phone-components/default.nix43
-rw-r--r--pkgs/development/compilers/go/1.17.nix4
-rw-r--r--pkgs/development/libraries/glfw/3.x.nix8
-rw-r--r--pkgs/development/libraries/glfw/x11.patch18
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/node-packages/node-packages.nix900
-rw-r--r--pkgs/development/python-modules/adblock/default.nix49
-rw-r--r--pkgs/development/python-modules/aiomusiccast/default.nix4
-rw-r--r--pkgs/development/python-modules/autopep8/default.nix4
-rw-r--r--pkgs/development/python-modules/bitlist/default.nix14
-rw-r--r--pkgs/development/python-modules/cssselect2/default.nix14
-rw-r--r--pkgs/development/python-modules/fe25519/default.nix11
-rw-r--r--pkgs/development/python-modules/flux-led/default.nix4
-rw-r--r--pkgs/development/python-modules/fountains/default.nix5
-rw-r--r--pkgs/development/python-modules/ge25519/default.nix11
-rw-r--r--pkgs/development/python-modules/jupytext/default.nix42
-rw-r--r--pkgs/development/python-modules/markdown-it-py/default.nix29
-rw-r--r--pkgs/development/python-modules/mdformat/default.nix15
-rw-r--r--pkgs/development/python-modules/mdit-py-plugins/default.nix18
-rw-r--r--pkgs/development/python-modules/mdurl/default.nix41
-rw-r--r--pkgs/development/python-modules/myfitnesspal/default.nix61
-rw-r--r--pkgs/development/python-modules/notebook/default.nix6
-rw-r--r--pkgs/development/python-modules/parts/default.nix10
-rw-r--r--pkgs/development/python-modules/qcs-api-client/default.nix4
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix6
-rw-r--r--pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch11
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix6
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix27
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/pgformatter/default.nix4
-rw-r--r--pkgs/development/tools/taplo-cli/default.nix8
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/sof-firmware/default.nix6
-rw-r--r--pkgs/os-specific/linux/sgx-sdk/default.nix261
-rw-r--r--pkgs/os-specific/linux/sgx-sdk/ipp-crypto.nix2
-rw-r--r--pkgs/os-specific/linux/sgx-sdk/samples.nix57
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix15
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix23
-rw-r--r--pkgs/servers/nextcloud/default.nix5
-rw-r--r--pkgs/servers/piping-server-rust/default.nix6
-rw-r--r--pkgs/servers/rtsp-simple-server/default.nix6
-rw-r--r--pkgs/tools/admin/scaleway-cli/default.nix15
-rw-r--r--pkgs/tools/misc/0x0/default.nix31
-rw-r--r--pkgs/tools/misc/etcher/default.nix4
-rw-r--r--pkgs/tools/misc/flashrom/default.nix11
-rw-r--r--pkgs/tools/misc/goaccess/default.nix54
-rw-r--r--pkgs/tools/misc/lilo/default.nix7
-rw-r--r--pkgs/tools/networking/goimapnotify/deps.nix66
-rw-r--r--pkgs/tools/nix/statix/default.nix6
-rw-r--r--pkgs/tools/security/cosign/default.nix12
-rw-r--r--pkgs/tools/security/genpass/default.nix6
-rw-r--r--pkgs/tools/security/gospider/default.nix12
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock20
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix34
-rw-r--r--pkgs/tools/security/scrypt/default.nix10
-rw-r--r--pkgs/tools/security/theharvester/default.nix4
-rw-r--r--pkgs/tools/security/vault/default.nix8
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix18
-rw-r--r--pkgs/tools/system/gdu/default.nix4
-rw-r--r--pkgs/tools/system/natscli/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix3
-rw-r--r--pkgs/top-level/all-packages.nix26
-rw-r--r--pkgs/top-level/python-packages.nix2
109 files changed, 2243 insertions, 983 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 7dc14a61cbaed..719f61203d22a 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -6,6 +6,13 @@
 #
 # For documentation on this file, see https://help.github.com/articles/about-codeowners/
 # Mentioned users will get code review requests.
+#
+# IMPORTANT NOTE: in order to actually get pinged, commit access is required.
+# This also holds true for GitHub teams. Since almost none of our teams have write
+# permissions, you need to list all members of the team with commit access individually.
+# We still add the team to the list next to its members, this helps keeping things
+# in sync. (Put non team members before the team to distinguish them.)
+# See https://github.com/NixOS/nixpkgs/issues/124085 for more details
 
 # This file
 /.github/CODEOWNERS @edolstra
@@ -210,11 +217,11 @@
 /pkgs/top-level/php-packages.nix         @jtojnar @NixOS/php @aanderse @etu @globin @ma27 @talyz
 
 # Podman, CRI-O modules and related
-/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq
-/nixos/modules/virtualisation/cri-o.nix      @NixOS/podman @zowoq
-/nixos/modules/virtualisation/podman.nix     @NixOS/podman @zowoq
-/nixos/tests/cri-o.nix                       @NixOS/podman @zowoq
-/nixos/tests/podman.nix                      @NixOS/podman @zowoq
+/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq @adisbladis
+/nixos/modules/virtualisation/cri-o.nix      @NixOS/podman @zowoq @adisbladis
+/nixos/modules/virtualisation/podman.nix     @NixOS/podman @zowoq @adisbladis
+/nixos/tests/cri-o.nix                       @NixOS/podman @zowoq @adisbladis
+/nixos/tests/podman.nix                      @NixOS/podman @zowoq @adisbladis
 
 # Docker tools
 /pkgs/build-support/docker                   @roberth @utdemir
@@ -230,6 +237,10 @@
 /pkgs/development/go-modules   @kalbasit @Mic92 @zowoq
 /pkgs/development/go-packages  @kalbasit @Mic92 @zowoq
 
+# GNOME
+/pkgs/desktops/gnome                              @NixOS/GNOME @jtojnar @hedning
+/pkgs/desktops/gnome/extensions       @piegamesde @NixOS/GNOME @jtojnar @hedning
+
 # Cinnamon
 /pkgs/desktops/cinnamon @mkg20001
 
diff --git a/.gitignore b/.gitignore
index 0e7cb19f2d19a..85b94d8825214 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,6 @@ __pycache__
 
 # generated by pkgs/common-updater/update-script.nix
 update-git-commits.txt
+
+# JetBrains IDEA module declaration file
+/nixpkgs.iml
diff --git a/doc/builders/images/dockertools.section.md b/doc/builders/images/dockertools.section.md
index bfe1d17a60674..7ff4b2aeb3690 100644
--- a/doc/builders/images/dockertools.section.md
+++ b/doc/builders/images/dockertools.section.md
@@ -151,6 +151,12 @@ Create a Docker image with many of the store paths being on their own layer to i
 
 : Shell commands to run while creating the archive for the final layer in a fakeroot environment. Unlike `extraCommands`, you can run `chown` to change the owners of the files in the archive, changing fakeroot's state instead of the real filesystem. The latter would require privileges that the build user does not have. Static binaries do not interact with the fakeroot environment. By default all files in the archive will be owned by root.
 
+`enableFakechroot` _optional_
+
+: Whether to run in `fakeRootCommands` in `fakechroot`, making programs behave as though `/` is the root of the image being created, while files in the Nix store are available as usual. This allows scripts that perform installation in `/` to work as expected. Considering that `fakechroot` is implemented via the same mechanism as `fakeroot`, the same caveats apply.
+
+    *Default:* `false`
+
 ### Behavior of `contents` in the final image {#dockerTools-buildLayeredImage-arg-contents}
 
 Each path directly listed in `contents` will have a symlink in the root of the image.
diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md
index fb608932dfc3e..9b09d0329c5f2 100644
--- a/doc/languages-frameworks/beam.section.md
+++ b/doc/languages-frameworks/beam.section.md
@@ -291,10 +291,10 @@ let
   # define packages to install
   basePackages = [
     git
-    # replace with beam.packages.erlang.elixir_1_11 if you need
+    # replace with beam.packages.erlang.elixir_1_13 if you need
     beam.packages.erlang.elixir
     nodejs
-    postgresql_13
+    postgresql_14
     # only used for frontend dependencies
     # you are free to use yarn2nix as well
     nodePackages.node2nix
@@ -312,10 +312,11 @@ let
     mkdir -p .nix-mix .nix-hex
     export MIX_HOME=$PWD/.nix-mix
     export HEX_HOME=$PWD/.nix-mix
+    # make hex from Nixpkgs available
+    # `mix local.hex` will install hex into MIX_HOME and should take precedence
+    export MIX_PATH="${beam.packages.erlang.hex}/lib/erlang/lib/hex/ebin"
     export PATH=$MIX_HOME/bin:$HEX_HOME/bin:$PATH
-    # TODO: not sure how to make hex available without installing it afterwards.
-    mix local.hex --if-missing
-    export LANG=en_US.UTF-8
+    export LANG=C.UTF-8
     # keep your shell history in iex
     export ERL_AFLAGS="-kernel shell_history enabled"
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index bc71b9718c727..1a1a9caaa466d 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2553,6 +2553,17 @@
     githubId = 1298344;
     name = "Daniel Fullmer";
   };
+  danth = {
+    name = "Daniel Thwaites";
+    email = "danthwaites30@btinternet.com";
+    matrix = "@danth:matrix.org";
+    github = "danth";
+    githubId = 28959268;
+    keys = [{
+      longkeyid = "rsa3072/0xD8AFC4BF05670F9D";
+      fingerprint = "4779 D1D5 3C97 2EAE 34A5  ED3D D8AF C4BF 0567 0F9D";
+    }];
+  };
   dan4ik605743 = {
     email = "6057430gu@gmail.com";
     github = "dan4ik605743";
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 2cdf4fc2732ea..90c9e9be45cde 100755
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -916,6 +916,7 @@ class Machine:
     def send_key(self, key: str) -> None:
         key = CHAR_TO_KEY.get(key, key)
         self.send_monitor_command("sendkey {}".format(key))
+        time.sleep(0.01)
 
     def start(self) -> None:
         if self.booted:
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 1d51fca02fbf1..f36e7dd67eaee 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -898,6 +898,7 @@
   ./services/networking/unbound.nix
   ./services/networking/unifi.nix
   ./services/video/unifi-video.nix
+  ./services/video/rtsp-simple-server.nix
   ./services/networking/v2ray.nix
   ./services/networking/vsftpd.nix
   ./services/networking/wasabibackend.nix
diff --git a/nixos/modules/services/misc/mx-puppet-discord.nix b/nixos/modules/services/misc/mx-puppet-discord.nix
index c34803f97223f..fb7592458295e 100644
--- a/nixos/modules/services/misc/mx-puppet-discord.nix
+++ b/nixos/modules/services/misc/mx-puppet-discord.nix
@@ -39,7 +39,7 @@ in {
 
           #defaults to sqlite but can be configured to use postgresql with
           #connstring
-          database.filename = "${dataDir}/mx-puppet-discord/database.db";
+          database.filename = "${dataDir}/database.db";
           logging = {
             console = "info";
             lineDateFormat = "MMM-D HH:mm:ss.SSS";
@@ -110,7 +110,9 @@ in {
         UMask = 0027;
 
         ExecStart = ''
-          ${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -c ${settingsFile}
+          ${pkgs.mx-puppet-discord}/bin/mx-puppet-discord \
+            -c ${settingsFile} \
+            -f ${registrationFile}
         '';
       };
     };
diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix
index fd9c216b06029..8a2c0fc7080cf 100644
--- a/nixos/modules/services/networking/ddclient.nix
+++ b/nixos/modules/services/networking/ddclient.nix
@@ -31,8 +31,8 @@ let
   preStart = ''
     install ${configFile} /run/${RuntimeDirectory}/ddclient.conf
     ${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then ''
-      password=$(head -n 1 ${cfg.passwordFile})
-      sed -i "s/^password=$/password=$password/" /run/${RuntimeDirectory}/ddclient.conf
+      password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")")
+      sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
     '' else ''
       sed -i '/^password=$/d' /run/${RuntimeDirectory}/ddclient.conf
     '')}
diff --git a/nixos/modules/services/video/rtsp-simple-server.nix b/nixos/modules/services/video/rtsp-simple-server.nix
new file mode 100644
index 0000000000000..644b1945a1ecb
--- /dev/null
+++ b/nixos/modules/services/video/rtsp-simple-server.nix
@@ -0,0 +1,80 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.rtsp-simple-server;
+  package = pkgs.rtsp-simple-server;
+  format = pkgs.formats.yaml {};
+in
+{
+  options = {
+    services.rtsp-simple-server = {
+      enable = mkEnableOption "RTSP Simple Server";
+
+      settings = mkOption {
+        description = ''
+          Settings for rtsp-simple-server.
+          Read more at <link xlink:href="https://github.com/aler9/rtsp-simple-server/blob/main/rtsp-simple-server.yml"/>
+        '';
+        type = format.type;
+
+        default = {
+          logLevel = "info";
+          logDestinations = [
+            "stdout"
+          ];
+          # we set this so when the user uses it, it just works (see LogsDirectory below). but it's not used by default.
+          logFile = "/var/log/rtsp-simple-server/rtsp-simple-server.log";
+        };
+
+        example = {
+          paths = {
+            cam = {
+              runOnInit = "ffmpeg -f v4l2 -i /dev/video0 -f rtsp rtsp://localhost:$RTSP_PORT/$RTSP_PATH";
+              runOnInitRestart = true;
+            };
+          };
+        };
+      };
+
+      env = mkOption {
+        type = with types; attrsOf anything;
+        description = "Extra environment variables for RTSP Simple Server";
+        default = {};
+        example = {
+          RTSP_CONFKEY = "mykey";
+        };
+      };
+    };
+  };
+
+  config = mkIf (cfg.enable) {
+    # NOTE: rtsp-simple-server watches this file and automatically reloads if it changes
+    environment.etc."rtsp-simple-server.yaml".source = format.generate "rtsp-simple-server.yaml" cfg.settings;
+
+    systemd.services.rtsp-simple-server = {
+      environment = cfg.env;
+
+      after = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      path = with pkgs; [
+        ffmpeg
+      ];
+
+      serviceConfig = {
+        DynamicUser = true;
+        User = "rtsp-simple-server";
+        Group = "rtsp-simple-server";
+
+        LogsDirectory = "rtsp-simple-server";
+
+        # user likely may want to stream cameras, can't hurt to add video group
+        SupplementaryGroups = "video";
+
+        ExecStart = "${package}/bin/rtsp-simple-server /etc/rtsp-simple-server.yaml";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 04ec7888950d5..b1a536e519db4 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -153,7 +153,7 @@ in {
     package = mkOption {
       type = types.package;
       description = "Which package to use for the Nextcloud instance.";
-      relatedPackages = [ "nextcloud21" "nextcloud22" ];
+      relatedPackages = [ "nextcloud21" "nextcloud22" "nextcloud23" ];
     };
     phpPackage = mkOption {
       type = types.package;
@@ -508,7 +508,7 @@ in {
 
   config = mkIf cfg.enable (mkMerge [
     { warnings = let
-        latest = 22;
+        latest = 23;
         upgradeWarning = major: nixos:
           ''
             A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
@@ -543,6 +543,7 @@ in {
         '')
         ++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05"))
         ++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11"))
+        ++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05"))
         ++ (optional isUnsupportedMariadb ''
             You seem to be using MariaDB at an unsupported version (i.e. at least 10.6)!
             Please note that this isn't supported officially by Nextcloud. You can either
@@ -573,7 +574,8 @@ in {
           # nextcloud20 throws an eval-error because it's dropped).
           else if versionOlder stateVersion "21.03" then nextcloud20
           else if versionOlder stateVersion "21.11" then nextcloud21
-          else nextcloud22
+          else if versionOlder stateVersion "22.05" then nextcloud22
+          else nextcloud23
         );
 
       services.nextcloud.datadir = mkOptionDefault config.services.nextcloud.home;
diff --git a/nixos/modules/services/web-apps/nextcloud.xml b/nixos/modules/services/web-apps/nextcloud.xml
index 9d9cb8dfb3f28..8f55086a2bd1f 100644
--- a/nixos/modules/services/web-apps/nextcloud.xml
+++ b/nixos/modules/services/web-apps/nextcloud.xml
@@ -11,7 +11,7 @@
   desktop client is packaged at <literal>pkgs.nextcloud-client</literal>.
  </para>
  <para>
-  The current default by NixOS is <package>nextcloud22</package> which is also the latest
+  The current default by NixOS is <package>nextcloud23</package> which is also the latest
   major version available.
  </para>
  <section xml:id="module-services-nextcloud-basic-usage">
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 8a1793484e23e..9bacdaa9be984 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -4,6 +4,28 @@ let
   xcfg = config.services.xserver;
   cfg = xcfg.desktopManager.plasma5;
 
+  # Use only for **internal** options.
+  # This is not exactly user-friendly.
+  kdeConfigurationType = with types;
+    let
+      valueTypes = (oneOf [
+        bool
+        float
+        int
+        str
+      ]) // {
+        description = "KDE Configuration value";
+        emptyValue.value = "";
+      };
+      set = (nullOr (lazyAttrsOf valueTypes)) // {
+        description = "KDE Configuration set";
+        emptyValue.value = {};
+      };
+    in (lazyAttrsOf set) // {
+        description = "KDE Configuration file";
+        emptyValue.value = {};
+      };
+
   libsForQt5 = pkgs.plasma5Packages;
   inherit (libsForQt5) kdeGear kdeFrameworks plasma5;
   inherit (pkgs) writeText;
@@ -169,6 +191,37 @@ in
       type = types.bool;
       default = false;
     };
+
+    # Internally allows configuring kdeglobals globally
+    kdeglobals = mkOption {
+      internal = true;
+      default = {};
+      type = kdeConfigurationType;
+    };
+
+    # Internally allows configuring kwin globally
+    kwinrc = mkOption {
+      internal = true;
+      default = {};
+      type = kdeConfigurationType;
+    };
+
+    mobile.enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Enable support for running the Plasma Mobile shell.
+      '';
+    };
+
+    mobile.installRecommendedSoftware = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Installs software recommended for use with Plasma Mobile, but which
+        is not strictly required for Plasma Mobile to run.
+      '';
+    };
   };
 
   imports = [
@@ -177,22 +230,8 @@ in
   ];
 
   config = mkMerge [
-    (mkIf cfg.enable {
-
-      # Seed our configuration into nixos-generate-config
-      system.nixos-generate-config.desktopConfiguration = [
-        ''
-          # Enable the Plasma 5 Desktop Environment.
-          services.xserver.displayManager.sddm.enable = true;
-          services.xserver.desktopManager.plasma5.enable = true;
-        ''
-      ];
-
-      services.xserver.displayManager.sessionPackages = [ pkgs.libsForQt5.plasma5.plasma-workspace ];
-      # Default to be `plasma` (X11) instead of `plasmawayland`, since plasma wayland currently has
-      # many tiny bugs.
-      # See: https://github.com/NixOS/nixpkgs/issues/143272
-      services.xserver.displayManager.defaultSession = mkDefault "plasma";
+    # Common Plasma dependencies
+    (mkIf (cfg.enable || cfg.mobile.enable) {
 
       security.wrappers = {
         kcheckpass = {
@@ -278,37 +317,24 @@ in
           kdeplasma-addons
           kgamma5
           khotkeys
-          kinfocenter
-          kmenuedit
           kscreen
           kscreenlocker
-          ksystemstats
           kwayland
           kwin
           kwrited
           libkscreen
           libksysguard
           milou
-          plasma-systemmonitor
           plasma-browser-integration
           plasma-integration
           polkit-kde-agent
-          spectacle
-          systemsettings
 
           plasma-desktop
           plasma-workspace
           plasma-workspace-wallpapers
 
-          dolphin
-          dolphin-plugins
-          ffmpegthumbs
-          kdegraphics-thumbnailers
-          khelpcenter
-          kio-extras
           konsole
           oxygen
-          print-manager
 
           breeze-icons
           pkgs.hicolor-icon-theme
@@ -319,10 +345,6 @@ in
           qtvirtualkeyboard
 
           pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
-
-          elisa
-          gwenview
-          okular
         ]
 
         # Phonon audio backend
@@ -396,7 +418,67 @@ in
           serviceConfig.Type = "oneshot";
           script = activationScript;
         };
+      };
+
+      xdg.portal.enable = true;
+      xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
+
+      # Update the start menu for each user that is currently logged in
+      system.userActivationScripts.plasmaSetup = activationScript;
+      services.xserver.displayManager.setupCommands = startplasma;
+
+      nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true;
+
+      environment.etc = {
+        "xdg/kwinrc".text     = lib.generators.toINI {} cfg.kwinrc;
+        "xdg/kdeglobals".text = lib.generators.toINI {} cfg.kdeglobals;
+      };
+    })
+
+    # Plasma Desktop
+    (mkIf cfg.enable {
+
+      # Seed our configuration into nixos-generate-config
+      system.nixos-generate-config.desktopConfiguration = [
+        ''
+          # Enable the Plasma 5 Desktop Environment.
+          services.xserver.displayManager.sddm.enable = true;
+          services.xserver.desktopManager.plasma5.enable = true;
+        ''
+      ];
 
+      services.xserver.displayManager.sessionPackages = [ pkgs.libsForQt5.plasma5.plasma-workspace ];
+      # Default to be `plasma` (X11) instead of `plasmawayland`, since plasma wayland currently has
+      # many tiny bugs.
+      # See: https://github.com/NixOS/nixpkgs/issues/143272
+      services.xserver.displayManager.defaultSession = mkDefault "plasma";
+
+      environment.systemPackages =
+        with libsForQt5;
+        with plasma5; with kdeGear; with kdeFrameworks;
+        [
+          ksystemstats
+          kinfocenter
+          kmenuedit
+          plasma-systemmonitor
+          spectacle
+          systemsettings
+
+          dolphin
+          dolphin-plugins
+          ffmpegthumbs
+          kdegraphics-thumbnailers
+          khelpcenter
+          kio-extras
+          print-manager
+
+          elisa
+          gwenview
+          okular
+        ]
+      ;
+
+      systemd.user.services = {
         plasma-run-with-systemd = {
           description = "Run KDE Plasma via systemd";
           wantedBy = [ "basic.target" ];
@@ -409,15 +491,88 @@ in
           '';
         };
       };
+    })
 
-      xdg.portal.enable = true;
-      xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];
+    # Plasma Mobile
+    (mkIf cfg.mobile.enable {
+      assertions = [
+        {
+          # The user interface breaks without NetworkManager
+          assertion = config.networking.networkmanager.enable;
+          message = "Plasma Mobile requires NetworkManager.";
+        }
+        {
+          # The user interface breaks without bluetooth
+          assertion = config.hardware.bluetooth.enable;
+          message = "Plasma Mobile requires Bluetooth.";
+        }
+        {
+          # The user interface breaks without pulse
+          assertion = config.hardware.pulseaudio.enable;
+          message = "Plasma Mobile requires pulseaudio.";
+        }
+      ];
 
-      # Update the start menu for each user that is currently logged in
-      system.userActivationScripts.plasmaSetup = activationScript;
-      services.xserver.displayManager.setupCommands = startplasma;
+      environment.systemPackages =
+        with libsForQt5;
+        with plasma5; with kdeApplications; with kdeFrameworks;
+        [
+          # Basic packages without which Plasma Mobile fails to work properly.
+          plasma-phone-components
+          plasma-nano
+          pkgs.maliit-framework
+          pkgs.maliit-keyboard
+        ]
+        ++ lib.optionals (cfg.mobile.installRecommendedSoftware) (with libsForQt5.plasmaMobileGear;[
+          # Additional software made for Plasma Mobile.
+          alligator
+          angelfish
+          audiotube
+          calindori
+          kalk
+          kasts
+          kclock
+          keysmith
+          koko
+          krecorder
+          ktrip
+          kweather
+          plasma-dialer
+          plasma-phonebook
+          plasma-settings
+          spacebar
+        ])
+      ;
+
+      # The following services are needed or the UI is broken.
+      hardware.bluetooth.enable = true;
+      hardware.pulseaudio.enable = true;
+      networking.networkmanager.enable = true;
+
+      # Recommendations can be found here:
+      #  - https://invent.kde.org/plasma-mobile/plasma-phone-settings/-/tree/master/etc/xdg
+      # This configuration is the minimum required for Plasma Mobile to *work*.
+      services.xserver.desktopManager.plasma5 = {
+        kdeglobals = {
+          KDE = {
+            # This forces a numeric PIN for the lockscreen, which is the
+            # recommendation from upstream.
+            LookAndFeelPackage = lib.mkDefault "org.kde.plasma.phone";
+          };
+        };
+        kwinrc = {
+          Windows = {
+            # Forces windows to be maximized
+            Placement = lib.mkDefault "Maximizing";
+          };
+          "org.kde.kdecoration2" = {
+            # No decorations (title bar)
+            NoPlugin = lib.mkDefault "true";
+          };
+        };
+      };
 
-      nixpkgs.config.firefox.enablePlasmaBrowserIntegration = true;
+      services.xserver.displayManager.sessionPackages = [ pkgs.libsForQt5.plasma5.plasma-phone-components ];
     })
   ];
 }
diff --git a/nixos/modules/virtualisation/oci-containers.nix b/nixos/modules/virtualisation/oci-containers.nix
index 24573bba48000..5af9baff8bc1b 100644
--- a/nixos/modules/virtualisation/oci-containers.nix
+++ b/nixos/modules/virtualisation/oci-containers.nix
@@ -28,7 +28,7 @@ let
             You still need to set the <literal>image</literal> attribute, as it
             will be used as the image name for docker to start a container.
           '';
-          example = literalExpression "pkgs.dockerTools.buildDockerImage {...};";
+          example = literalExpression "pkgs.dockerTools.buildImage {...};";
         };
 
         login = {
diff --git a/nixos/tests/docker-tools.nix b/nixos/tests/docker-tools.nix
index f3858b8bd81e8..19ebed3ebd0bd 100644
--- a/nixos/tests/docker-tools.nix
+++ b/nixos/tests/docker-tools.nix
@@ -396,6 +396,11 @@ import ./make-test-python.nix ({ pkgs, ... }: {
             "tar -tf ${examples.exportBash} | grep '\./bin/bash' > /dev/null"
         )
 
+    with subtest("layered image fakeRootCommands with fakechroot works"):
+        docker.succeed("${examples.imageViaFakeChroot} | docker load")
+        docker.succeed("docker run --rm image-via-fake-chroot | grep -i hello")
+        docker.succeed("docker image rm image-via-fake-chroot:latest")
+
     with subtest("Ensure bare paths in contents are loaded correctly"):
         docker.succeed(
             "docker load --input='${examples.build-image-with-path}'",
diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix
index bd7a7aacdc91a..34d3c345354c7 100644
--- a/nixos/tests/nextcloud/default.nix
+++ b/nixos/tests/nextcloud/default.nix
@@ -1,6 +1,6 @@
-{ system ? builtins.currentSystem,
-  config ? {},
-  pkgs ? import ../../.. { inherit system config; }
+{ system ? builtins.currentSystem
+, config ? { }
+, pkgs ? import ../../.. { inherit system config; }
 }:
 
 with pkgs.lib;
@@ -17,5 +17,5 @@ foldl
       nextcloudVersion = ver;
     };
   })
-  {}
-  [ 21 22 ]
+{ }
+  [ 21 22 23 ]
diff --git a/nixos/tests/vault-postgresql.nix b/nixos/tests/vault-postgresql.nix
index 071cfd106ffbc..2847af13cbf05 100644
--- a/nixos/tests/vault-postgresql.nix
+++ b/nixos/tests/vault-postgresql.nix
@@ -64,6 +64,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
       machine.wait_for_unit("vault.service")
       machine.wait_for_open_port(8200)
       machine.succeed("vault operator init")
-      machine.succeed("vault status | grep Sealed | grep true")
+      machine.succeed("vault status || test $? -eq 2")
     '';
 })
diff --git a/pkgs/applications/blockchains/lndmanage/default.nix b/pkgs/applications/blockchains/lndmanage/default.nix
index 450d9b4d44417..ebbe653c96b20 100644
--- a/pkgs/applications/blockchains/lndmanage/default.nix
+++ b/pkgs/applications/blockchains/lndmanage/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "lndmanage";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "bitromortac";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vnv03k2d11rw6mry6fmspiy3hqsza8y3daxnn4lp038gw1y0f4z";
+    hash = "sha256-wPr/R+WGACyhv2Qh9JeLJwvr2vQfxpqj2XjEkrRoSX4=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index db5f8275386a0..fae273be6674b 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -281,12 +281,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2021.2.3"; /* updated by script */
+    version = "2021.3"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "166rhssyizn40rlar7ym7gkwz2aawp58qqvrs60w3cwwvjvb0bjq"; /* updated by script */
+      sha256 = "0xrhgqbsyd2plzkkmy00bwsa8dk4ijszmhmbyn6c9ygl01zhji6y"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -294,12 +294,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2021.2.3"; /* updated by script */
+    version = "2021.3"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "1d0kk2yydrbzvdy6dy9jqr182panidmbf2hy80gvi5ph2r5rv1qd"; /* updated by script */
+      sha256 = "0riwww75aizprb01c1sccprbr00ky5wgy5cxxjxqgm8v72rfnihb"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -373,12 +373,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2021.2.3"; /* updated by script */
+    version = "2021.3"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "0bbq5ya1dxrgaqqqsc4in4rgv7v292hww3bb0vpzwz6dmc2jly1i"; /* updated by script */
+      sha256 = "1vmybxnwyv7wiv3clm857yvzlws0bcza01wx8jm0dbnrzq38dz4d"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -386,12 +386,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2021.2.3"; /* updated by script */
+    version = "2021.3"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0d79x1jz4ymd6cc1n4s3y3n8lb6gw4g0yj6d4qzjlr5c9snx3zdf"; /* updated by script */
+      sha256 = "1llz97r95xrf7yixgbfipg153qikkxziwwhv9dvvi29v7pi1k4ys"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch b/pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch
new file mode 100644
index 0000000000000..e7a2287427f6e
--- /dev/null
+++ b/pkgs/applications/editors/lite-xl/0001-replace-unpack-with-table-unpack.patch
@@ -0,0 +1,91 @@
+diff --git a/data/core/commands/findreplace.lua b/data/core/commands/findreplace.lua
+index 5d27aa6..db6a2dd 100644
+--- a/data/core/commands/findreplace.lua
++++ b/data/core/commands/findreplace.lua
+@@ -37,7 +37,7 @@ local function update_preview(sel, search_fn, text)
+     last_view:scroll_to_line(line2, true)
+     found_expression = true
+   else
+-    last_view.doc:set_selection(unpack(sel))
++    last_view.doc:set_selection(table.unpack(sel))
+     found_expression = false
+   end
+ end
+@@ -55,7 +55,7 @@ end
+ local function find(label, search_fn)
+   last_view, last_sel = core.active_view,
+     { core.active_view.doc:get_selection() }
+-  local text = last_view.doc:get_text(unpack(last_sel))
++  local text = last_view.doc:get_text(table.unpack(last_sel))
+   found_expression = false
+ 
+   core.command_view:set_text(text, true)
+@@ -69,8 +69,8 @@ local function find(label, search_fn)
+       last_fn, last_text = search_fn, text
+     else
+       core.error("Couldn't find %q", text)
+-      last_view.doc:set_selection(unpack(last_sel))
+-      last_view:scroll_to_make_visible(unpack(last_sel))
++      last_view.doc:set_selection(table.unpack(last_sel))
++      last_view:scroll_to_make_visible(table.unpack(last_sel))
+     end
+   end, function(text)
+     update_preview(last_sel, search_fn, text)
+@@ -79,8 +79,8 @@ local function find(label, search_fn)
+   end, function(explicit)
+     core.status_view:remove_tooltip()
+     if explicit then
+-      last_view.doc:set_selection(unpack(last_sel))
+-      last_view:scroll_to_make_visible(unpack(last_sel))
++      last_view.doc:set_selection(table.unpack(last_sel))
++      last_view:scroll_to_make_visible(table.unpack(last_sel))
+     end
+   end)
+ end
+diff --git a/data/core/doc/init.lua b/data/core/doc/init.lua
+index 2e72907..0e61ffb 100644
+--- a/data/core/doc/init.lua
++++ b/data/core/doc/init.lua
+@@ -198,9 +198,9 @@ local function selection_iterator(invariant, idx)
+   local target = invariant[3] and (idx*4 - 7) or (idx*4 + 1)
+   if target > #invariant[1] or target <= 0 or (type(invariant[3]) == "number" and invariant[3] ~= idx - 1) then return end
+   if invariant[2] then
+-    return idx+(invariant[3] and -1 or 1), sort_positions(unpack(invariant[1], target, target+4))
++    return idx+(invariant[3] and -1 or 1), sort_positions(table.unpack(invariant[1], target, target+4))
+   else
+-    return idx+(invariant[3] and -1 or 1), unpack(invariant[1], target, target+4)
++    return idx+(invariant[3] and -1 or 1), table.unpack(invariant[1], target, target+4)
+   end
+ end
+ 
+@@ -345,7 +345,7 @@ function Doc:raw_insert(line, col, text, undo_stack, time)
+ 
+   -- push undo
+   local line2, col2 = self:position_offset(line, col, #text)
+-  push_undo(undo_stack, time, "selection", unpack(self.selections))
++  push_undo(undo_stack, time, "selection", table.unpack(self.selections))
+   push_undo(undo_stack, time, "remove", line, col, line2, col2)
+ 
+   -- update highlighter and assure selection is in bounds
+@@ -357,7 +357,7 @@ end
+ function Doc:raw_remove(line1, col1, line2, col2, undo_stack, time)
+   -- push undo
+   local text = self:get_text(line1, col1, line2, col2)
+-  push_undo(undo_stack, time, "selection", unpack(self.selections))
++  push_undo(undo_stack, time, "selection", table.unpack(self.selections))
+   push_undo(undo_stack, time, "insert", line1, col1, text)
+ 
+   -- get line content before/after removed text
+diff --git a/data/core/tokenizer.lua b/data/core/tokenizer.lua
+index d95baeb..f77fed4 100644
+--- a/data/core/tokenizer.lua
++++ b/data/core/tokenizer.lua
+@@ -161,7 +161,7 @@ function tokenizer.tokenize(incoming_syntax, text, state)
+         if count % 2 == 0 then break end
+       end
+     until not res[1] or not close or not target[3]
+-    return unpack(res)
++    return table.unpack(res)
+   end
+   
+   while i <= #text do
diff --git a/pkgs/applications/editors/lite-xl/default.nix b/pkgs/applications/editors/lite-xl/default.nix
index 3b38004eddbac..0c2aed88c0e55 100644
--- a/pkgs/applications/editors/lite-xl/default.nix
+++ b/pkgs/applications/editors/lite-xl/default.nix
@@ -1,6 +1,5 @@
 { agg
 , fetchFromGitHub
-, fetchpatch
 , Foundation
 , freetype
 , lib
@@ -16,30 +15,18 @@
 
 stdenv.mkDerivation rec {
   pname = "lite-xl";
-  version = "2.0.1";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "lite-xl";
     repo = "lite-xl";
     rev = "v${version}";
-    sha256 = "sha256-+RbmT6H/5Ldhv3qOClxMjCSGMudbkGtkjo2SpGqExao=";
+    sha256 = "sha256-8Hw2zDYynWG/NwxtWgbEVUCzrtRVkOhwtsisURNqUn8=";
   };
 
   patches = [
-    # Fixes compatibility with Lua5.2, remove patch when PR merged
-    # https://github.com/lite-xl/lite-xl/pull/435
-    (fetchpatch {
-      name = "0001-replace-unpack-with-table.unpack.patch";
-      url = "https://github.com/lite-xl/lite-xl/commit/30ccde896d1ffe37cbd8990e9b8aaef275e18935.patch";
-      sha256 = "sha256-IAe3jIyD3OtZtu1V7MtPR4QzFKvU/aV/nLQ4U9nHyIQ=";
-    })
-    # Lets meson fallback to the system reproc if available.
-    # remove patch when 2.0.2 is proposed.
-    (fetchpatch {
-      name = "0002-use-dependency-fallbacks-use-system-reproc-if-available.patch";
-      url = "https://github.com/lite-xl/lite-xl/commit/973acb787aacb0164b2f4ae6fe335d250ba80a7b.patch";
-      sha256 = "sha256-GmgATsRlj1FePmw3+AoWEMZIo2eujHYewKQCx583qbU=";
-    })
+    # Fixes compatibility with Lua5.2, remove patch when a new release covers this
+    ./0001-replace-unpack-with-table-unpack.patch
   ];
 
   nativeBuildInputs = [ meson ninja pkg-config ];
diff --git a/pkgs/applications/graphics/ascii-image-converter/default.nix b/pkgs/applications/graphics/ascii-image-converter/default.nix
new file mode 100644
index 0000000000000..aaed39b50da26
--- /dev/null
+++ b/pkgs/applications/graphics/ascii-image-converter/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "ascii-image-converter";
+  version = "1.11.0";
+
+  src = fetchFromGitHub {
+    owner = "TheZoraiz";
+    repo = "ascii-image-converter";
+    rev = "v${version}";
+    sha256 = "DitJnWIz1Dt9yXtyQp/z738IAmG4neYmfc49Wdjos7Q=";
+  };
+
+  runVend = true;
+  vendorSha256 = "JKrBMhzBL1+jlMPudynjOc/ekFiUVaxltyLr4V8QZbg=";
+
+  meta = with lib; {
+    description = "Convert images into ASCII art on the console";
+    homepage = "https://github.com/TheZoraiz/ascii-image-converter#readme";
+    license = licenses.asl20;
+    maintainers = [ maintainers.danth ];
+  };
+}
diff --git a/pkgs/applications/graphics/tev/default.nix b/pkgs/applications/graphics/tev/default.nix
index 6c9cee8514863..b82c3ff962887 100644
--- a/pkgs/applications/graphics/tev/default.nix
+++ b/pkgs/applications/graphics/tev/default.nix
@@ -5,19 +5,19 @@
 
 stdenv.mkDerivation rec {
   pname = "tev";
-  version = "1.17";
+  version = "1.19";
 
   src = fetchFromGitHub {
     owner = "Tom94";
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "12wsy2zdfhg0ygkpvz58rk86qiy259fi9grb0jxiz8zcyd6x1ngk";
+    sha256 = "sha256-laP47xOND6PMA6dwTcCupcTIW+9zCaxO6rHzvDSL9JU=";
   };
 
   nativeBuildInputs = [ cmake wrapGAppsHook ];
   buildInputs = [ libX11 libzip glfw libpng ]
-    ++ (with xorg; [ libXrandr libXinerama libXcursor libXi libXxf86vm ]);
+    ++ (with xorg; [ libXrandr libXinerama libXcursor libXi libXxf86vm libXext ]);
 
   dontWrapGApps = true; # We also need zenity (see below)
 
@@ -53,6 +53,6 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/Tom94/tev/releases/tag/v${version}";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ primeos ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix
index bd015afdc5720..a070bc321b74b 100644
--- a/pkgs/applications/misc/electrum/ltc.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -1,63 +1,180 @@
 { lib
+, stdenv
 , fetchurl
-, python3Packages
+, fetchFromGitHub
 , wrapQtAppsHook
+, python3
+, zbar
+, secp256k1
+, enableQt ? true
+# for updater.nix
+, writeScript
+, common-updater-scripts
+, bash
+, coreutils
+, curl
+, gnugrep
+, gnupg
+, gnused
+, nix
 }:
 
-python3Packages.buildPythonApplication rec {
+let
+  version = "4.0.9.3";
+
+  libsecp256k1_name =
+    if stdenv.isLinux then "libsecp256k1.so.0"
+    else if stdenv.isDarwin then "libsecp256k1.0.dylib"
+    else "libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}";
+
+  libzbar_name =
+    if stdenv.isLinux then "libzbar.so.0"
+    else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
+
+  # Not provided in official source releases, which are what upstream signs.
+  tests = fetchFromGitHub {
+    owner = "pooler";
+    repo = "electrum-ltc";
+    rev = version;
+    sha256 = "sha256-oZjQnrnj8nCaQjrIz8bWNt6Ib8Wu2ZMXHEPfCCy2fjk=";
+
+    extraPostFetch = ''
+      mv $out ./all
+      mv ./all/electrum_ltc/tests $out
+    '';
+  };
+
+  py = python3.override {
+    packageOverrides = self: super: {
+
+      aiorpcx = super.aiorpcx.overridePythonAttrs (oldAttrs: rec {
+        version = "0.18.7";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0";
+        };
+      });
+    };
+  };
+
+in
+
+python3.pkgs.buildPythonApplication {
   pname = "electrum-ltc";
-  version = "3.3.8.1";
+  inherit version;
 
   src = fetchurl {
     url = "https://electrum-ltc.org/download/Electrum-LTC-${version}.tar.gz";
-    sha256 = "0kxcx1xf6h9z8x0k483d6ykpnmfr30n6z3r6lgqxvbl42pq75li7";
+    sha256 = "sha256-+oox0BGqkvj0OGOKJF8tUoKdsZFeffNb6rTF8E8mo08=";
   };
 
-  nativeBuildInputs = with python3Packages; [ pyqt5 wrapQtAppsHook ];
+  postUnpack = ''
+    # can't symlink, tests get confused
+    cp -ar ${tests} $sourceRoot/electrum_ltc/tests
+  '';
 
-  propagatedBuildInputs = with python3Packages; [
-    pyaes
-    ecdsa
-    pbkdf2
-    requests
-    qrcode
-    py_scrypt
-    pyqt5
-    protobuf
+  prePatch = ''
+    substituteInPlace contrib/requirements/requirements.txt \
+      --replace "dnspython>=2.0,<2.1" "dnspython>=2.0"
+  '';
+
+  nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
+
+  propagatedBuildInputs = with py.pkgs; [
+    aiohttp
+    aiohttp-socks
+    aiorpcx
+    attrs
+    bitstring
+    cryptography
     dnspython
     jsonrpclib-pelix
+    matplotlib
+    pbkdf2
+    protobuf
+    py_scrypt
     pysocks
-    trezor
+    qrcode
+    requests
+    tlslite-ng
+    # plugins
     btchip
+    ckcc-protocol
+    keepkey
+    trezor
+  ] ++ lib.optionals enableQt [
+    pyqt5
+    qdarkstyle
   ];
 
   preBuild = ''
     sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
-    pyrcc5 icons.qrc -o gui/qt/icons_rc.py
-    # Recording the creation timestamps introduces indeterminism to the build
-    sed -i '/Created: .*/d' gui/qt/icons_rc.py
+    substituteInPlace ./electrum_ltc/ecc_fast.py \
+      --replace ${libsecp256k1_name} ${secp256k1}/lib/libsecp256k1${stdenv.hostPlatform.extensions.sharedLibrary}
+  '' + (if enableQt then ''
+    substituteInPlace ./electrum_ltc/qrscanner.py \
+      --replace ${libzbar_name} ${zbar.lib}/lib/libzbar${stdenv.hostPlatform.extensions.sharedLibrary}
+  '' else ''
+    sed -i '/qdarkstyle/d' contrib/requirements/requirements.txt
+  '');
+
+  postInstall = lib.optionalString stdenv.isLinux ''
+    # Despite setting usr_share above, these files are installed under
+    # $out/nix ...
+    mv $out/${python3.sitePackages}/nix/store"/"*/share $out
+    rm -rf $out/${python3.sitePackages}/nix
+
+    substituteInPlace $out/share/applications/electrum-ltc.desktop \
+      --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-ltc %u"' \
+                "Exec=$out/bin/electrum-ltc %u" \
+      --replace 'Exec=sh -c "PATH=\"\\$HOME/.local/bin:\\$PATH\"; electrum-ltc --testnet %u"' \
+                "Exec=$out/bin/electrum-ltc --testnet %u"
+
   '';
 
-  preFixup = ''
-    makeWrapperArgs+=("''${qtWrapperArgs[@]}")
+  postFixup = lib.optionalString enableQt ''
+    wrapQtApp $out/bin/electrum-ltc
   '';
 
-  checkPhase = ''
+  checkInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
+
+  pytestFlagsArray = [ "electrum_ltc/tests" ];
+
+  disabledTests = [
+    "test_loop"  # test tries to bind 127.0.0.1 causing permission error
+    "test_is_ip_address"  # fails spuriously https://github.com/spesmilo/electrum/issues/7307
+  ];
+
+  postCheck = ''
     $out/bin/electrum-ltc help >/dev/null
   '';
 
+  passthru.updateScript = import ./update.nix {
+    inherit lib;
+    inherit
+      writeScript
+      common-updater-scripts
+      bash
+      coreutils
+      curl
+      gnupg
+      gnugrep
+      gnused
+      nix
+    ;
+  };
+
   meta = with lib; {
-    description = "Litecoin thin client";
+    description = "Lightweight Litecoin Client";
     longDescription = ''
-      Electrum-LTC is a simple, but powerful Litecoin wallet. A twelve-word
-      security passphrase (or “seed”) leaves intruders stranded and your peace
-      of mind intact. Keep it on paper, or in your head... and never worry
-      about losing your litecoins to theft or hardware failure. No waiting, no
-      lengthy blockchain downloads and no syncing to the network.
+      Electrum-LTC is a simple, but powerful Litecoin wallet. A unique secret
+      phrase (or “seed”) leaves intruders stranded and your peace of mind
+      intact. Keep it on paper, or in your head... and never worry about losing
+      your litecoins to theft or hardware failure.
     '';
     homepage = "https://electrum-ltc.org/";
     license = licenses.mit;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ lourkeur ];
   };
 }
diff --git a/pkgs/applications/misc/koreader/default.nix b/pkgs/applications/misc/koreader/default.nix
index 3d11162241ebb..471f3f04297e7 100644
--- a/pkgs/applications/misc/koreader/default.nix
+++ b/pkgs/applications/misc/koreader/default.nix
@@ -13,12 +13,12 @@
 let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
 in stdenv.mkDerivation rec {
   pname = "koreader";
-  version = "2021.10.1";
+  version = "2021.11";
 
   src = fetchurl {
     url =
       "https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
-    sha256 = "sha256-UpDwexBfjlne/uNMTtNjIyZb3TDMYFeDvtwtTFARovw=";
+    sha256 = "sha256-5DNC0MlLB+2JBV2TADSvO40rPlvsPehfv+YE/45P2MA=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/misc/maliit-framework/default.nix b/pkgs/applications/misc/maliit-framework/default.nix
new file mode 100644
index 0000000000000..6a6e66f293bda
--- /dev/null
+++ b/pkgs/applications/misc/maliit-framework/default.nix
@@ -0,0 +1,68 @@
+{ mkDerivation
+, lib
+, fetchFromGitHub
+
+, at-spi2-atk
+, at-spi2-core
+, libepoxy
+, gtk3
+, libdatrie
+, libselinux
+, libsepol
+, libthai
+, pcre
+, util-linux
+, wayland
+, xorg
+
+, cmake
+, doxygen
+, pkg-config
+, wayland-protocols
+}:
+
+mkDerivation rec {
+  pname = "maliit-framework";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "maliit";
+    repo = "framework";
+    rev = version;
+    sha256 = "138jyvw130kmrldksbk4l38gvvahh3x51zi4vyplad0z5nxmbazb";
+  };
+
+  buildInputs = [
+    at-spi2-atk
+    at-spi2-core
+    libepoxy
+    gtk3
+    libdatrie
+    libselinux
+    libsepol
+    libthai
+    pcre
+    util-linux
+    wayland
+    xorg.libXdmcp
+    xorg.libXtst
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    doxygen
+    pkg-config
+    wayland-protocols
+  ];
+
+  preConfigure = ''
+    cmakeFlags+="-DQT5_PLUGINS_INSTALL_DIR=$out/$qtPluginPrefix"
+  '';
+
+  meta = with lib; {
+    description = "Core libraries of Maliit and server";
+    homepage = "http://maliit.github.io/";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ samueldr ];
+  };
+}
diff --git a/pkgs/applications/misc/maliit-keyboard/default.nix b/pkgs/applications/misc/maliit-keyboard/default.nix
new file mode 100644
index 0000000000000..fcbd6cbff19bd
--- /dev/null
+++ b/pkgs/applications/misc/maliit-keyboard/default.nix
@@ -0,0 +1,82 @@
+{ mkDerivation
+, lib
+, fetchFromGitHub
+, fetchpatch
+
+, anthy
+, hunspell
+, libchewing
+, libpinyin
+, maliit-framework
+, pcre
+, presage
+, qtfeedback
+, qtmultimedia
+, qtquickcontrols2
+, qtgraphicaleffects
+
+, cmake
+, pkg-config
+, wrapGAppsHook
+}:
+
+mkDerivation rec {
+  pname = "maliit-keyboard";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "maliit";
+    repo = "keyboard";
+    rev = version;
+    sha256 = "10dh0abxq90024dqq3fs8mjxww3igb4l09d19i2fq9f3flvh11hc";
+  };
+
+  patches = [
+    (fetchpatch {
+      # https://github.com/maliit/keyboard/pull/34
+      url = "https://github.com/maliit/keyboard/commit/9848a73b737ad46b5790ebf713a559d340c91b82.patch";
+      sha256 = "0qrsga0npahjrgbl6mycvl6d6vjm0d17i5jadcn7y6khbhq2y6rg";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace data/schemas/org.maliit.keyboard.maliit.gschema.xml \
+      --replace /usr/share "$out/share"
+  '';
+
+  buildInputs = [
+    anthy
+    hunspell
+    libchewing
+    libpinyin
+    maliit-framework
+    pcre
+    presage
+    qtfeedback
+    qtmultimedia
+    qtquickcontrols2
+    qtgraphicaleffects
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  postInstall = ''
+    glib-compile-schemas "$out"/share/glib-2.0/schemas
+  '';
+
+  meta = with lib; {
+    description = "Virtual keyboard";
+    homepage = "http://maliit.github.io/";
+    license = with licenses; [ lgpl3Only bsd3 cc-by-30 ];
+    maintainers = with maintainers; [ samueldr ];
+  };
+}
diff --git a/pkgs/applications/misc/remarkable/rmapi/default.nix b/pkgs/applications/misc/remarkable/rmapi/default.nix
index 8482f85d927a0..6a4beec6a5eca 100644
--- a/pkgs/applications/misc/remarkable/rmapi/default.nix
+++ b/pkgs/applications/misc/remarkable/rmapi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "rmapi";
-  version = "0.0.17";
+  version = "0.0.18";
 
   src = fetchFromGitHub {
     owner = "juruen";
     repo = "rmapi";
     rev = "v${version}";
-    sha256 = "sha256-KFoaZ0OAqwJm4tEUaEAGJ+70nHJUbxg0kvhm71mQB6E=";
+    sha256 = "sha256-Yrq21eiyNem9P219FxuQMHpagKQDaNsASwi2REaDAgk=";
   };
 
   vendorSha256 = "sha256-gu+BU2tL/xZ7D6lZ1ueO/9IB9H3NNm4mloCZaGqZskU=";
diff --git a/pkgs/applications/networking/instant-messengers/twinkle/default.nix b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
index 01c83ba7b1cce..3dd912da90d79 100644
--- a/pkgs/applications/networking/instant-messengers/twinkle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/twinkle/default.nix
@@ -15,20 +15,19 @@
 , alsa-lib
 , speex
 , ilbc
-, fetchurl
 , mkDerivation
 , bcg729
 }:
 
 mkDerivation rec {
   pname = "twinkle";
-  version = "1.10.2";
+  version = "unstable-2021-02-06";
 
   src = fetchFromGitHub {
-    repo = pname;
     owner = "LubosD";
-    rev = "v${version}";
-    sha256 = "0s0gi03xwvzp02ah4q6j33r9jx9nbayr6dxlg2ck9pwbay1nq1hx";
+    repo = "twinkle";
+    rev = "2301b66a3f54b266675415d261985488d86e9e4c";
+    sha256 = "xSwcaj1Hm62iL7C/AxqjVR07VEae8gDgYdr2EWmCoOM=";
   };
 
   buildInputs = [
@@ -46,19 +45,6 @@ mkDerivation rec {
     ilbc
   ];
 
-  patches = [
-    # patch for bcg729 1.0.2+
-    (fetchurl { # https://github.com/LubosD/twinkle/pull/152
-      url = "https://github.com/LubosD/twinkle/compare/05082ae12051821b1d969e6672d9e4e5afe1bc07...7a6c533cda387652b5b4cb2a867be1a18585890c.patch";
-      sha256 = "39fc6cef3e88cfca8db44612b2d082fb618027b0f99509138d3c0d2777a494c2";
-    })
-    # patch manual link to not link to old url, which now points to NSFW page
-    (fetchurl { # https://github.com/LubosD/twinkle/commit/05082ae12051821b1d969e6672d9e4e5afe1bc07
-      url = "https://github.com/LubosD/twinkle/commit/05082ae12051821b1d969e6672d9e4e5afe1bc07.diff";
-      sha256 = "1iamragr9wp2vczsnp6n261fpr1ai2nc2abp0228jlar9zafksw0";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     bison
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 09ce39027b5ad..5ab0bfd8030da 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromSourcehut {
-    owner = "~sircmpwn";
+    owner = "~rjarry";
     repo = pname;
     rev = version;
-    sha256 = "1ja639qry8h2d6y7qshf62ypkzs2rzady59p81scqh8nx0g9bils";
+    sha256 = "sha256-RaHigTp1YGkjQ46gFLhKcJuajekcCgfozu0ndCNq5Ac=";
   };
 
   runVend = true;
-  vendorSha256 = "9PXdUH0gu8PGaKlRJCUF15W1/LxA+sv3Pwl2UnjYxWY=";
+  vendorSha256 = "sha256-A2MZzTYzGuZLFENn9OBIBBreJan+b3RKOEu5bQcDwS8=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/office/beamerpresenter/default.nix b/pkgs/applications/office/beamerpresenter/default.nix
index e898a43ad97c7..aee809eb82413 100644
--- a/pkgs/applications/office/beamerpresenter/default.nix
+++ b/pkgs/applications/office/beamerpresenter/default.nix
@@ -13,13 +13,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "beamerpresenter";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "stiglers-eponym";
     repo = "BeamerPresenter";
     rev = "v${version}";
-    sha256 = "10i5nc5b5syaqvsixam4lmfiz3b5cphbjfgfqavi5jilq769792a";
+    sha256 = "sha256-+ZxllYL2wco4bG2pqInIbL9qfOoqoUJJUReqDyEBRcI=";
   };
 
   nativeBuildInputs = [ qmake installShellFiles wrapQtAppsHook ];
diff --git a/pkgs/applications/plasma-mobile/default.nix b/pkgs/applications/plasma-mobile/default.nix
index fd9ae2a2bae84..10c1f1d0e9bc8 100644
--- a/pkgs/applications/plasma-mobile/default.nix
+++ b/pkgs/applications/plasma-mobile/default.nix
@@ -75,6 +75,7 @@ let
       kweather = callPackage ./kweather.nix {};
       plasma-dialer = callPackage ./plasma-dialer.nix {};
       plasma-phonebook = callPackage ./plasma-phonebook.nix {};
+      plasma-settings = callPackage ./plasma-settings.nix {};
       spacebar = callPackage ./spacebar.nix {};
     };
 
diff --git a/pkgs/applications/plasma-mobile/plasma-settings.nix b/pkgs/applications/plasma-mobile/plasma-settings.nix
new file mode 100644
index 0000000000000..bcd04dadca22c
--- /dev/null
+++ b/pkgs/applications/plasma-mobile/plasma-settings.nix
@@ -0,0 +1,42 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+
+, cmake
+, extra-cmake-modules
+
+, kauth
+, kconfig
+, kcoreaddons
+, kdbusaddons
+, ki18n
+, kitemmodels
+, plasma-framework
+}:
+
+mkDerivation rec {
+  pname = "plasma-settings";
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kauth
+    kconfig
+    kcoreaddons
+    kdbusaddons
+    ki18n
+    kitemmodels
+    plasma-framework
+  ];
+
+  meta = with lib; {
+    description = "Settings application for Plasma Mobile";
+    homepage = "https://invent.kde.org/plasma-mobile/plasma-settings";
+    # https://invent.kde.org/plasma-mobile/plasma-settings/-/commit/a59007f383308503e59498b3036e1483bca26e35
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ samueldr ];
+  };
+}
diff --git a/pkgs/applications/radio/qradiolink/default.nix b/pkgs/applications/radio/qradiolink/default.nix
index 31be8f4fb8b64..6960eba6a57d1 100644
--- a/pkgs/applications/radio/qradiolink/default.nix
+++ b/pkgs/applications/radio/qradiolink/default.nix
@@ -14,6 +14,7 @@
 , libjpeg
 , libsndfile
 , libftdi
+, limesuite
 , protobuf
 , speex
 , speexdsp
@@ -21,13 +22,13 @@
 
 gnuradio3_8.pkgs.mkDerivation rec {
   pname = "qradiolink";
-  version = "0.8.5-2";
+  version = "0.8.6-2";
 
   src = fetchFromGitHub {
     owner = "qradiolink";
     repo = "qradiolink";
     rev = version;
-    sha256 = "MgHfKR3AJW3pIN9oCBr4BWxk1fGSCpLmMzjxvuTmuFA=";
+    sha256 = "1694yyw0vc77m5pbc5rwl6khd8000dbrliz3q4vsa9dqnfnz1777";
   };
 
   preBuild = ''
@@ -55,6 +56,7 @@ gnuradio3_8.pkgs.mkDerivation rec {
     gnuradio3_8.pkgs.osmosdr
     libopus
     libjpeg
+    limesuite
     speex
     speexdsp
     gnuradio3_8.qt.qtbase
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 855f90a74a328..27a16aefb2cd8 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.26.4";
+  version = "2.26.6";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "sha256-KVOQuqudne0SAdgFEft/lTuoDn9vcpuDtMAafztYvPo=";
+    sha256 = "sha256-Y/vBc97Vkv2RpuGyFqEMwdknchYuwBCTCHpVQ5+3EqM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index 980f0e5194168..86abd894f39ca 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rQsicAUKlQYxA/DH8691jp6Pk97rer2X2CXUfXKHLDE=";
+    sha256 = "sha256-LABadIux5YId62+t8qXJvBTvB5Beu4u4D0HebNJibxY=";
   };
 
-  cargoSha256 = "sha256-NjyiGr7mwsHlggMQEKcCvOCfGabRJDBdrYW8ohU02mk=";
+  cargoSha256 = "sha256-W2OBvVFCaykT/GRIUASsyNlkOk2Bp8yufoMXPX4oryA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/glitter/default.nix b/pkgs/applications/version-management/git-and-tools/glitter/default.nix
index 61533f19dd74a..04b850cc5952e 100644
--- a/pkgs/applications/version-management/git-and-tools/glitter/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/glitter/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "glitter";
-  version = "1.5.7";
+  version = "1.5.10";
 
   src = fetchFromGitHub {
     owner = "milo123459";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0hKwGZingOa4nB9VTErbOTSBLc4pcxDUnK5lltVZiYk=";
+    sha256 = "sha256-4d1zMCQ4rYU5kL7Qhwibt6+IfKHUjYndHHeX7JT9zwU=";
   };
 
-  cargoSha256 = "sha256-08heeRIGzPmORh8KTyBx9GPfOZw2RR85PjkGvbaGA50=";
+  cargoSha256 = "sha256-eaSQGbsvAas7CLMtgSNWCqdrYU5Kc/0GY10rkNK05Uo=";
 
   # tests require it to be in a git repository
   preCheck = ''
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 7958db9171221..9a20df57777cd 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -5,6 +5,7 @@
 , closureInfo
 , coreutils
 , e2fsprogs
+, fakechroot
 , fakeroot
 , findutils
 , go
@@ -34,6 +35,10 @@
 }:
 
 let
+  inherit (lib)
+    optionals
+    optionalString
+    ;
 
   inherit (lib)
     escapeShellArgs
@@ -811,6 +816,10 @@ rec {
     , # Optional bash script to run inside fakeroot environment.
       # Could be used for changing ownership of files in customisation layer.
       fakeRootCommands ? ""
+    , # Whether to run fakeRootCommands in fakechroot as well, so that they
+      # appear to run inside the image, but have access to the normal Nix store.
+      # Perhaps this could be enabled on by default on pkgs.stdenv.buildPlatform.isLinux
+      enableFakechroot ? false
     , # We pick 100 to ensure there is plenty of room for extension. I
       # believe the actual maximum is 128.
       maxLayers ? 100
@@ -842,16 +851,26 @@ rec {
           name = "${baseName}-customisation-layer";
           paths = contentsList;
           inherit extraCommands fakeRootCommands;
-          nativeBuildInputs = [ fakeroot ];
+          nativeBuildInputs = [
+            fakeroot
+          ] ++ optionals enableFakechroot [
+            fakechroot
+            # for chroot
+            coreutils
+            # fakechroot needs getopt, which is provided by util-linux
+            util-linux
+          ];
           postBuild = ''
             mv $out old_out
             (cd old_out; eval "$extraCommands" )
 
             mkdir $out
-
-            fakeroot bash -c '
+            ${optionalString enableFakechroot ''
+              export FAKECHROOT_EXCLUDE_PATH=/dev:/proc:/sys:${builtins.storeDir}:$out/layer.tar
+            ''}
+            ${optionalString enableFakechroot ''fakechroot chroot $PWD/old_out ''}fakeroot bash -c '
               source $stdenv/setup
-              cd old_out
+              ${optionalString (!enableFakechroot) ''cd old_out''}
               eval "$fakeRootCommands"
               tar \
                 --sort name \
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index bef0c5848693f..f2d4f809ae4e3 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -562,6 +562,20 @@ rec {
   # Example export of the bash image
   exportBash = pkgs.dockerTools.exportImage { fromImage = bash; };
 
+  imageViaFakeChroot = pkgs.dockerTools.streamLayeredImage {
+    name = "image-via-fake-chroot";
+    tag = "latest";
+    config.Cmd = [ "hello" ];
+    enableFakechroot = true;
+    # Crucially, instead of a relative path, this creates /bin, which is
+    # intercepted by fakechroot.
+    # This functionality is not available on darwin as of 2021.
+    fakeRootCommands = ''
+      mkdir /bin
+      ln -s ${pkgs.hello}/bin/hello /bin/hello
+    '';
+  };
+
   build-image-with-path = buildImage {
     name = "build-image-with-path";
     tag = "latest";
diff --git a/pkgs/data/themes/flat-remix-gnome/default.nix b/pkgs/data/themes/flat-remix-gnome/default.nix
index 4c43a48c1d9fd..e4b1ac6f4192e 100644
--- a/pkgs/data/themes/flat-remix-gnome/default.nix
+++ b/pkgs/data/themes/flat-remix-gnome/default.nix
@@ -12,20 +12,20 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "flat-remix-gnome";
-  version = "20211113";
+  version = "20211202";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    hash = "sha256-A9aiaS4CXRpr4+Y8+tyvWYRbR9STFS9TuplGksPfqtU=";
+    hash = "sha256-aq4hnr581dNYoULeqdB9gWetDcuOthPNJuzHFVGNFc8=";
   };
 
   nativeBuildInputs = [ glib fake-dconf ];
   makeFlags = [ "PREFIX=$(out)" ];
   preInstall = ''
     # make install will back up this file, it will fail if the file doesn't exist.
-    # https://github.com/daniruiz/flat-remix-gnome/blob/20211113/Makefile#L56
+    # https://github.com/daniruiz/flat-remix-gnome/blob/20211202/Makefile#L56
     mkdir -p $out/share/gnome-shell/
     touch $out/share/gnome-shell/gnome-shell-theme.gresource
   '';
diff --git a/pkgs/data/themes/whitesur/default.nix b/pkgs/data/themes/whitesur/default.nix
index 46594e4f5e17c..cbf08acce5c08 100644
--- a/pkgs/data/themes/whitesur/default.nix
+++ b/pkgs/data/themes/whitesur/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "whitesur-gtk-theme";
-  version = "2021-10-21";
+  version = "2021-12-04";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1rbwf6z2bda647kw00q2fp349gjzvdc4gyk986fkjli0nr0jh8hp";
+    sha256 = "0fpq6xw2xq0fkmpg1la9q26nfbqhf0212s95v25256miz55p67ha";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index f20c63d08016d..b431e7da44279 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -1,7 +1,12 @@
 { lib
 , ddcutil
 , gjs
+, gnome
+, gobject-introspection
 , xprop
+, touchegg
+, vte
+, wrapGAppsHook
 }:
 let
   # Helper method to reduce redundancy
@@ -24,6 +29,21 @@ super: lib.trivial.pipe super [
     meta.maintainers = with lib.maintainers; [ eperuffo jtojnar rhoriguchi ];
   }))
 
+  (patchExtension "ddterm@amezin.github.com" (old: {
+    # Requires gjs, zenity & vte via the typelib
+    nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
+    buildInputs = [ vte ];
+    postPatch = ''
+      for file in *.js com.github.amezin.ddterm; do
+        substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
+        substituteInPlace $file --replace "zenity" "${gnome.zenity}/bin/zenity"
+      done
+    '';
+    postFixup = ''
+      wrapGApp "$out/share/gnome-shell/extensions/ddterm@amezin.github.com/com.github.amezin.ddterm"
+    '';
+  }))
+
   (patchExtension "display-brightness-ddcutil@themightydeity.github.com" (old: {
     # Has a hard-coded path to a run-time dependency
     # https://github.com/NixOS/nixpkgs/issues/136111
@@ -47,4 +67,13 @@ super: lib.trivial.pipe super [
 
     meta.maintainers = with lib.maintainers; [ rhoriguchi ];
   }))
+
+  (patchExtension "x11gestures@joseexposito.github.io" (old: {
+    # Extension can't find Touchegg
+    # https://github.com/NixOS/nixpkgs/issues/137621
+    postPatch = ''
+      substituteInPlace "src/touchegg/ToucheggConfig.js" \
+        --replace "GLib.build_filenamev([GLib.DIR_SEPARATOR_S, 'usr', 'share', 'touchegg', 'touchegg.conf'])" "'${touchegg}/share/touchegg/touchegg.conf'"
+    '';
+  }))
 ]
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 8abf2b37dbeca..dd3634ac7cd3e 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -134,9 +134,11 @@ let
       milou = callPackage ./milou.nix {};
       oxygen = callPackage ./oxygen.nix {};
       plasma-browser-integration = callPackage ./plasma-browser-integration.nix {};
+      plasma-phone-components = callPackage ./plasma-phone-components {};
       plasma-desktop = callPackage ./plasma-desktop {};
       plasma-disks = callPackage ./plasma-disks.nix {};
       plasma-integration = callPackage ./plasma-integration {};
+      plasma-nano = callPackage ./plasma-nano {};
       plasma-nm = callPackage ./plasma-nm {};
       plasma-pa = callPackage ./plasma-pa.nix { inherit gconf; };
       plasma-sdk = callPackage ./plasma-sdk.nix {};
diff --git a/pkgs/desktops/plasma-5/plasma-nano/default.nix b/pkgs/desktops/plasma-5/plasma-nano/default.nix
new file mode 100644
index 0000000000000..0960eec33f2d8
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-nano/default.nix
@@ -0,0 +1,13 @@
+{
+  mkDerivation,
+  extra-cmake-modules,
+  plasma-framework
+}:
+
+mkDerivation {
+  name = "plasma-nano";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    plasma-framework
+  ];
+}
diff --git a/pkgs/desktops/plasma-5/plasma-phone-components/default.nix b/pkgs/desktops/plasma-5/plasma-phone-components/default.nix
new file mode 100644
index 0000000000000..d925d7e408b51
--- /dev/null
+++ b/pkgs/desktops/plasma-5/plasma-phone-components/default.nix
@@ -0,0 +1,43 @@
+{
+  mkDerivation, lib,
+
+  extra-cmake-modules, kdoctools,
+
+  coreutils, dbus, gnugrep, gnused, libdbusmenu, pam, wayland, appstream,
+
+  kdeclarative, kdelibs4support, kpeople, kconfig, krunner, kinit, kwayland, kwin,
+  plasma-framework, telepathy, libphonenumber, protobuf, libqofono, modemmanager-qt,
+  plasma-workspace,
+  maliit-framework, maliit-keyboard,
+
+  qtwayland, qttools
+}:
+
+let inherit (lib) getBin getLib; in
+
+mkDerivation {
+  name = "plasma-phone-components";
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [
+    appstream libdbusmenu pam wayland
+    kdeclarative kdelibs4support kpeople kconfig krunner kinit kwayland kwin
+    plasma-framework telepathy libphonenumber protobuf libqofono modemmanager-qt
+    maliit-framework maliit-keyboard
+  ];
+
+  postPatch = ''
+    substituteInPlace bin/kwinwrapper.in \
+      --replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
+
+    substituteInPlace bin/plasma-mobile.desktop.cmake \
+      --replace @CMAKE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
+  '';
+
+  # Ensures dependencies like libqofono (at the very least) are present for the shell.
+  preFixup = ''
+    wrapQtApp "$out/bin/kwinwrapper"
+  '';
+
+  passthru.providedSessions = [ "plasma-mobile" ];
+}
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index 94d6413a54b97..69322ce6e1948 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -50,11 +50,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.17.3";
+  version = "1.17.4";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-cFxkJR5bJdXVXt4QOcaqIr6kCnqTHRTDcDOYU2Q8PfA=";
+    sha256 = "sha256-S+82mTge8J4HVihQQYdBZWXXEGYP7GWwV+3xzrGH/Es=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/libraries/glfw/3.x.nix b/pkgs/development/libraries/glfw/3.x.nix
index f9089384a8a52..a860eed37a729 100644
--- a/pkgs/development/libraries/glfw/3.x.nix
+++ b/pkgs/development/libraries/glfw/3.x.nix
@@ -6,17 +6,19 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.4";
+  version = "3.3.5";
   pname = "glfw";
 
   src = fetchFromGitHub {
     owner = "glfw";
     repo = "GLFW";
     rev = version;
-    sha256 = "sha256-BP4wxjgm0x0E68tNz5eudkVUyBnXkQlP7LY3ppZunhw=";
+    sha256 = "sha256-1KkzYclOLGqiV1/8BsJ3e+pXMQ6a+sjLwZ7mjSuxxbA=";
   };
 
-  patches = lib.optional waylandSupport ./wayland.patch;
+  # Fix freezing on Wayland (https://github.com/glfw/glfw/pull/1711)
+  # and linkage issues on X11 (https://github.com/NixOS/nixpkgs/issues/142583)
+  patches = if waylandSupport then ./wayland.patch else ./x11.patch;
 
   propagatedBuildInputs = [ libGL ];
 
diff --git a/pkgs/development/libraries/glfw/x11.patch b/pkgs/development/libraries/glfw/x11.patch
new file mode 100644
index 0000000000000..5cadf53bfe708
--- /dev/null
+++ b/pkgs/development/libraries/glfw/x11.patch
@@ -0,0 +1,18 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a0be580e..ba143851 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -219,6 +219,13 @@ if (GLFW_BUILD_X11)
+     if (NOT X11_Xshape_INCLUDE_PATH)
+         message(FATAL_ERROR "X Shape headers not found; install libxext development package")
+     endif()
++
++    target_link_libraries(glfw PRIVATE ${X11_Xrandr_LIB}
++                                       ${X11_Xinerama_LIB}
++                                       ${X11_Xkb_LIB}
++                                       ${X11_Xcursor_LIB}
++                                       ${X11_Xi_LIB}
++                                       ${X11_Xshape_LIB})
+ endif()
+ 
+ if (UNIX AND NOT APPLE)
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index b964da3cd3fe0..1ab4705bae1e6 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -228,6 +228,7 @@
 , "prettier"
 , "prettier-plugin-toml"
 , "prisma"
+, "@prisma/language-server"
 , "pscid"
 , "pulp"
 , "purescript-language-server"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index bd18e97f1a6d5..e2ff662b12e49 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -2767,13 +2767,13 @@ let
         sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
       };
     };
-    "@fluentui/react-7.179.4" = {
+    "@fluentui/react-7.179.5" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "7.179.4";
+      version = "7.179.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.179.4.tgz";
-        sha512 = "XFoEgyE8z8zsnZShuri3E0n/9CZ695VW6UlOxVjxuwR8rOJ4w33eC/mhB5t3ey/UJpnADFrSzHN11XvBUvi3wg==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.179.5.tgz";
+        sha512 = "41Je7h5d12xrOjtUcdLnocalTallh8Z0QkPV8lhHBKJ8TpFvMzO2KVDzGMc8chv0V4Oa1K7w5EJr7891TpYZHw==";
       };
     };
     "@fluentui/react-focus-7.18.1" = {
@@ -4558,13 +4558,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.230" = {
+    "@microsoft/load-themed-styles-1.10.231" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.230";
+      version = "1.10.231";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.230.tgz";
-        sha512 = "EMc7AqUZxRnZTpnPasItHN5DXV/EdJ19wHyOls69PF089Ny9pUxZEbAPROOuR6I1m8WvNRJrlagLJgG9Yq0Y2w==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.231.tgz";
+        sha512 = "F0XkQKGTRrAQJnexI8EARXyuxrNb9YFJbd/2TuTZO8tVKtbr2JhW4WxLoWX6u5VhZetUG5dcsO1LHiRbDWQ/pQ==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -4873,13 +4873,13 @@ let
         sha512 = "5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==";
       };
     };
-    "@oclif/command-1.8.4" = {
+    "@oclif/command-1.8.6" = {
       name = "_at_oclif_slash_command";
       packageName = "@oclif/command";
-      version = "1.8.4";
+      version = "1.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.4.tgz";
-        sha512 = "fZVzaIzC0CSj5KCgAp84Z+LHqSwElA6G2lCRiQW4UfDaOx1CrHXbUCqGDBpV6lG1sobuJzKlsS6mh5fmJWeEyw==";
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.6.tgz";
+        sha512 = "tIcGPpf7ndGe0Sp22RbPhZbwKjfrebHzCfe1SHRlqlJNy2xS3FT50i9p+dZmF+7Zpn4CEcBHag1TCdfFCTc1vQ==";
       };
     };
     "@oclif/config-1.17.0" = {
@@ -4891,13 +4891,13 @@ let
         sha512 = "Lmfuf6ubjQ4ifC/9bz1fSCHc6F6E653oyaRXxg+lgT4+bYf9bk+nqrUpAbrXyABkCqgIBiFr3J4zR/kiFdE1PA==";
       };
     };
-    "@oclif/config-1.17.1" = {
+    "@oclif/config-1.18.1" = {
       name = "_at_oclif_slash_config";
       packageName = "@oclif/config";
-      version = "1.17.1";
+      version = "1.18.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/config/-/config-1.17.1.tgz";
-        sha512 = "UqV5qsN2np96TNlJspSNlRl7CpFmxYSrB0iLe3XV9NDkbFEE5prGP++h6w6xOR/FL3QV7BoqrbwGuJdJdFbidw==";
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.1.tgz";
+        sha512 = "twRJO5RRl3CCDaAASb6LiynfFQl/SbkWWOQy1l0kJZSMPysEhz+fk3BKfmlCCm451Btkp4UezHUwI1JtH+/zYg==";
       };
     };
     "@oclif/core-0.5.41" = {
@@ -5575,13 +5575,40 @@ let
         sha512 = "I/gRlM2meKPKXFN/1fxLoigPXvAUsivxRCih7vgeO7o4qrNNsl6Ah85l3UBbFi0t7ttjMde2+bS1A32a1Hu0BA==";
       };
     };
-    "@prisma/engines-3.5.0-38.78a5df6def6943431f4c022e1428dbc3e833cf8e" = {
+    "@prisma/debug-3.5.0" = {
+      name = "_at_prisma_slash_debug";
+      packageName = "@prisma/debug";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@prisma/debug/-/debug-3.5.0.tgz";
+        sha512 = "JWBmzqxtbq6rJfMyIIQVL/QSAIsiCOp20ArTl5zUHtSYH/MrNmuQ69YAn9RuUQBOTIAQaVTIMII2xpN5kB5RRg==";
+      };
+    };
+    "@prisma/engines-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.5.0-38.78a5df6def6943431f4c022e1428dbc3e833cf8e";
+      version = "3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727.tgz";
+        sha512 = "dRClHS7DsTVchDKzeG72OaEyeDskCv91pnZ72Fftn0mp4BkUvX2LvWup65hCNzwwQm5IDd6A88APldKDnMiEMA==";
+      };
+    };
+    "@prisma/get-platform-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727" = {
+      name = "_at_prisma_slash_get-platform";
+      packageName = "@prisma/get-platform";
+      version = "3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727.tgz";
+        sha512 = "zvlddqvNU5rXnjTeT+0DOyMwH9E8NwV1a1F3tYN6lNWAjpWx26nGDGkIOO5Nid5mIjz+SDz5VM2NEZ+HXgDuMQ==";
+      };
+    };
+    "@prisma/prisma-fmt-wasm-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727" = {
+      name = "_at_prisma_slash_prisma-fmt-wasm";
+      packageName = "@prisma/prisma-fmt-wasm";
+      version = "3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.5.0-38.78a5df6def6943431f4c022e1428dbc3e833cf8e.tgz";
-        sha512 = "MqZUrxuLlIbjB3wu8LrRJOKcvR4k3dunKoI4Q2bPfAwLQY0XlpsLZ3TRVW1c32ooVk939p6iGNkaCUo63Et36g==";
+        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727.tgz";
+        sha512 = "Nt4A2SZ4MASAliZ9OaXCYG1xr80lEcJABliUAi/tvzCU8r5W3V4Tp5XDqchxuN/w71XY/s+OaWce7PHnoMGpkA==";
       };
     };
     "@protobufjs/aspromise-1.1.2" = {
@@ -6880,13 +6907,13 @@ let
         sha512 = "3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==";
       };
     };
-    "@types/express-serve-static-core-4.17.25" = {
+    "@types/express-serve-static-core-4.17.26" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.25";
+      version = "4.17.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz";
-        sha512 = "OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.26.tgz";
+        sha512 = "zeu3tpouA043RHxW0gzRxwCHchMgftE8GArRsvYT0ByDMbn19olQHx5jLue0LxWY6iYtXb7rXmuVtSkhy9YZvQ==";
       };
     };
     "@types/fancy-log-1.3.0" = {
@@ -7078,6 +7105,15 @@ let
         sha512 = "B8pDk+sH/tSv/HKdx6EQER6BfUOb2GtKs0LOmozziS4h7cbe8u/eYySfUAeTwD+J09SqV3man7AMWIA5mgzCBA==";
       };
     };
+    "@types/js-levenshtein-1.1.0" = {
+      name = "_at_types_slash_js-levenshtein";
+      packageName = "@types/js-levenshtein";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/js-levenshtein/-/js-levenshtein-1.1.0.tgz";
+        sha512 = "14t0v1ICYRtRVcHASzes0v/O+TIeASb8aD55cWF1PidtInhFWSXcmhzhHqGjUWf9SUq1w70cvd1cWKUULubAfQ==";
+      };
+    };
     "@types/js-yaml-3.12.5" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
@@ -7420,6 +7456,15 @@ let
         sha512 = "3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==";
       };
     };
+    "@types/node-16.11.11" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "16.11.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.11.tgz";
+        sha512 = "KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==";
+      };
+    };
     "@types/node-16.11.7" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -7492,13 +7537,13 @@ let
         sha512 = "kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==";
       };
     };
-    "@types/parse5-6.0.2" = {
+    "@types/parse5-6.0.3" = {
       name = "_at_types_slash_parse5";
       packageName = "@types/parse5";
-      version = "6.0.2";
+      version = "6.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.2.tgz";
-        sha512 = "+hQX+WyJAOne7Fh3zF5CxPemILIbuhNcqHHodzK9caYOLnC8pD5efmPleRnw0z++LfKUC/sVNMwk0Gap+B0baA==";
+        url = "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz";
+        sha512 = "SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==";
       };
     };
     "@types/pbkdf2-3.1.0" = {
@@ -7951,6 +7996,15 @@ let
         sha512 = "cyeefcUCgJlEk+hk2h3N+MqKKsPViQgF5boi9TTHSK+PoR9KWBb/C5ccPcDyAqgsbAYHTwulch725DV84+pSpg==";
       };
     };
+    "@types/ws-8.2.1" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "8.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.1.tgz";
+        sha512 = "SqQ+LhVZaJi7c7sYVkjWALDigi/Wy7h7Iu72gkQp8Y8OWw/DddEVBrTSKu86pQftV2+Gm8lYM61hadPKqyaIeg==";
+      };
+    };
     "@types/yargs-15.0.14" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
@@ -12010,13 +12064,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.1037.0" = {
+    "aws-sdk-2.1039.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1037.0";
+      version = "2.1039.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1037.0.tgz";
-        sha512 = "z1IfFFvKg1ZKikyExhLeiax0jIe/YwFrBjIUhcPjBfh+c4otvuqp9RBp2iyXt3GamhEkKoPyvd6a5K7IGsTBMw==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1039.0.tgz";
+        sha512 = "vrWWUNkRp+psMj56tKhTSKAXtROz2ccQ0NamMt/OS8jEt54ZIhjMeJDkbRucMEPQCeWR8Ma2g6ITmZPVDwUYaw==";
       };
     };
     "aws-sdk-2.920.0" = {
@@ -15827,22 +15881,22 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.1.47" = {
+    "cdk8s-1.1.48" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.1.47";
+      version = "1.1.48";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.1.47.tgz";
-        sha512 = "gKIjIJ/VUuR3IAwgAWd14h+HDKt1kgrwjQAKutxHfVcAo/3GCKoOaTpaR7IBvV82Y5DWsqePAdZr1vXOYMiAng==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.1.48.tgz";
+        sha512 = "62+8+/jikWROpKZxRCG8vL3NrCMoAA0eqY+SyvIi8+7RGHUv7ELnGJ9kbVqAZJHljhwCablBMTEnOb2UFB91QA==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.53" = {
+    "cdk8s-plus-22-1.0.0-beta.54" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.53";
+      version = "1.0.0-beta.54";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.53.tgz";
-        sha512 = "ljeSvdbzr+vcfZOPUXvxhwZ8ZvvlO6Y25XFGzmraPYeZNcDb+LkCpCj2tV1l6ziIuMs/rAtakGYlkx2FJVekUw==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.54.tgz";
+        sha512 = "I7UmjEaPd59dXtwAkmYtVXrbyXWEq2li4NeCmL8fmtJsM3ZYxMhTPxbBlHbjCP/Pm2MYr7kRNnu7LVHGlgC48w==";
       };
     };
     "cdktf-0.7.0" = {
@@ -17591,13 +17645,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.7.4" = {
+    "color-string-1.8.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.7.4";
+      version = "1.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.7.4.tgz";
-        sha512 = "nVdUvPVgZMpRQad5dcsCMOSB5BXLljklTiaxS6ehhKxDsAI5sD7k5VmFuBt1y3Rlym8uulc/ANUN/bMWtBu6Sg==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.8.1.tgz";
+        sha512 = "AGfGNQbnXlYqPStIx3QB2XA3Wy8vjbreqklmCiGVwcoHSLN5KIpDZDflYnXlBliKHI8CTBX3PsCgG+xfZgqK8A==";
       };
     };
     "color-support-1.1.3" = {
@@ -18257,13 +18311,13 @@ let
         sha512 = "bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==";
       };
     };
-    "conf-10.1.0" = {
+    "conf-10.1.1" = {
       name = "conf";
       packageName = "conf";
-      version = "10.1.0";
+      version = "10.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conf/-/conf-10.1.0.tgz";
-        sha512 = "qZ+642TRK8uQq7IFL/c0iw9UsgowK0jkNpDeQMY2znki6Rvlm6ks+YljmaIayIRaTrLk0eJvyFgY0hOByxvmmw==";
+        url = "https://registry.npmjs.org/conf/-/conf-10.1.1.tgz";
+        sha512 = "z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q==";
       };
     };
     "conf-6.2.4" = {
@@ -19104,31 +19158,31 @@ let
         sha512 = "WJeQqq6jOYgVgg4NrXKL0KLQhi0CT4ZOCvFL+3CQ5o7I6J8HkT5wd53EadMfqTDp1so/MT1J+w2ujhWcCJtN7w==";
       };
     };
-    "core-js-3.19.1" = {
+    "core-js-3.19.2" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.19.1";
+      version = "3.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.19.1.tgz";
-        sha512 = "Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz";
+        sha512 = "ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==";
       };
     };
-    "core-js-compat-3.19.1" = {
+    "core-js-compat-3.19.2" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.19.1";
+      version = "3.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz";
-        sha512 = "Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.2.tgz";
+        sha512 = "ObBY1W5vx/LFFMaL1P5Udo4Npib6fu+cMokeziWkA8Tns4FcDemKF5j9JvaI5JhdkW8EQJQGJN1EcrzmEwuAqQ==";
       };
     };
-    "core-js-pure-3.19.1" = {
+    "core-js-pure-3.19.2" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.19.1";
+      version = "3.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.1.tgz";
-        sha512 = "Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.2.tgz";
+        sha512 = "5LkcgQEy8pFeVnd/zomkUBSwnmIxuF1C8E9KrMAbOc8f34IBT9RGvTYeNDdp1PnvMJrrVhvk1hg/yVV5h/znlg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -21300,13 +21354,13 @@ let
         sha512 = "hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==";
       };
     };
-    "date-fns-2.26.0" = {
+    "date-fns-2.27.0" = {
       name = "date-fns";
       packageName = "date-fns";
-      version = "2.26.0";
+      version = "2.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.26.0.tgz";
-        sha512 = "VQI812dRi3cusdY/fhoBKvc6l2W8BPWU1FNVnFH9Nttjx4AFBRzfSVb/Eyc7jBT6e9sg1XtAGsYpBQ6c/jygbg==";
+        url = "https://registry.npmjs.org/date-fns/-/date-fns-2.27.0.tgz";
+        sha512 = "sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q==";
       };
     };
     "date-format-1.2.0" = {
@@ -23226,13 +23280,13 @@ let
         sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
       };
     };
-    "domhandler-4.2.2" = {
+    "domhandler-4.3.0" = {
       name = "domhandler";
       packageName = "domhandler";
-      version = "4.2.2";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz";
-        sha512 = "PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==";
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz";
+        sha512 = "fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==";
       };
     };
     "domino-2.1.6" = {
@@ -23802,13 +23856,13 @@ let
         sha512 = "U9dKi10V9w/BdIVB8a8dTKYLK3Q1d2WZ+Yo5qfM3XX/O4jI7KpnwgvWgGoVv0jTWPC2NlebF00ffWS/8NfUAtA==";
       };
     };
-    "electron-to-chromium-1.4.4" = {
+    "electron-to-chromium-1.4.5" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.4";
+      version = "1.4.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.4.tgz";
-        sha512 = "teHtgwcmVcL46jlFvAaqjyiTLWuMrUQO1JqV303JKB4ysXG6m8fXSFhbjal9st0r9mNskI22AraJZorb1VcLVg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.5.tgz";
+        sha512 = "YKaB+t8ul5crdh6OeqT2qXdxJGI0fAYb6/X8pDIyye+c3a7ndOCk5gVeKX+ABwivCGNS56vOAif3TN0qJMpEHw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -32455,6 +32509,15 @@ let
         sha1 = "c2439951455bb39913daf281376f1530e104adf3";
       };
     };
+    "immutable-4.0.0" = {
+      name = "immutable";
+      packageName = "immutable";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/immutable/-/immutable-4.0.0.tgz";
+        sha512 = "zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==";
+      };
+    };
     "import-cwd-2.1.0" = {
       name = "import-cwd";
       packageName = "import-cwd";
@@ -34867,13 +34930,13 @@ let
         sha512 = "Yd9oD7sgCycVvH8CHy5U4fLXibPwxVw2+diudYbT8ZfAiQDtW1H9WvPRR4+rtN9qOll+r+KAfO4SjO28OPpitA==";
       };
     };
-    "is-valid-domain-0.1.4" = {
+    "is-valid-domain-0.1.5" = {
       name = "is-valid-domain";
       packageName = "is-valid-domain";
-      version = "0.1.4";
+      version = "0.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.1.4.tgz";
-        sha512 = "Caa6rwGze6pihA29wy3T1yNXzd53caGHvL0OfJ8RLtv0tVVzVZGlxFcQ0W8kls/uG0QUrv2B3J9xi/YB5/cfUQ==";
+        url = "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.1.5.tgz";
+        sha512 = "ilzfGo1kXzoVpSLplJWOexoiuAc6mRK+vPlNAeEPVJ29RagETpCz0izg6CZfY72DCuA+PCrEAEJeaecRLMNq5Q==";
       };
     };
     "is-valid-glob-1.0.0" = {
@@ -35407,13 +35470,13 @@ let
         sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
       };
     };
-    "jest-worker-27.3.1" = {
+    "jest-worker-27.4.2" = {
       name = "jest-worker";
       packageName = "jest-worker";
-      version = "27.3.1";
+      version = "27.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz";
-        sha512 = "ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==";
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.2.tgz";
+        sha512 = "0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag==";
       };
     };
     "jimp-compact-0.16.1" = {
@@ -36227,13 +36290,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.2.65" = {
+    "json2jsii-0.2.66" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.65";
+      version = "0.2.66";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.65.tgz";
-        sha512 = "3GPN4V+los5IjHx1q70rZIg+qU6q9/ffoEAhX8RLF37KYPuEG4pOpixQN+XwyOXlgAHScsP4LFc/535xziTD6g==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.66.tgz";
+        sha512 = "jgSlVm3jObEE/xNWZEzA/rhLAJfl+feqxrMeo9AtYbMjIEOm84nSBCgOjA3o+fJFNQQ2CDC2g2FzaYcqftJclQ==";
       };
     };
     "json3-3.2.6" = {
@@ -36506,13 +36569,13 @@ let
         sha1 = "a3b87e40298d8c380552d8cc7628a0bb95a22918";
       };
     };
-    "jsprim-1.4.1" = {
+    "jsprim-1.4.2" = {
       name = "jsprim";
       packageName = "jsprim";
-      version = "1.4.1";
+      version = "1.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz";
+        sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
       };
     };
     "jsprim-2.0.2" = {
@@ -37046,6 +37109,15 @@ let
         sha512 = "8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==";
       };
     };
+    "klona-2.0.5" = {
+      name = "klona";
+      packageName = "klona";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz";
+        sha512 = "pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==";
+      };
+    };
     "knockout-3.5.1" = {
       name = "knockout";
       packageName = "knockout";
@@ -43284,13 +43356,13 @@ let
         sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==";
       };
     };
-    "mutexify-1.3.1" = {
+    "mutexify-1.4.0" = {
       name = "mutexify";
       packageName = "mutexify";
-      version = "1.3.1";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mutexify/-/mutexify-1.3.1.tgz";
-        sha512 = "nU7mOEuaXiQIB/EgTIjYZJ7g8KqMm2D8l4qp+DqA4jxWOb/tnb1KEoqp+tlbdQIDIAiC1i7j7X/3yHDFXLxr9g==";
+        url = "https://registry.npmjs.org/mutexify/-/mutexify-1.4.0.tgz";
+        sha512 = "pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==";
       };
     };
     "muxrpc-6.5.3" = {
@@ -45906,13 +45978,13 @@ let
         sha512 = "rH3U4eLHsV+OgkOS29ULiC9JLspwMCyCIH/+BglLPXDxQs13IK8AGD+nVmkGXqGN5JefZu85YhfIi05CsOKWPw==";
       };
     };
-    "office-ui-fabric-react-7.179.4" = {
+    "office-ui-fabric-react-7.179.5" = {
       name = "office-ui-fabric-react";
       packageName = "office-ui-fabric-react";
-      version = "7.179.4";
+      version = "7.179.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.179.4.tgz";
-        sha512 = "e2UFt/OjFgh7Vvz+JjpyD5emWUHPt0ZiLHpIr96ZMr+nXBBkIUvG024IGm9LAppDvceCuR/ZBsZ3D31tStkDxA==";
+        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.179.5.tgz";
+        sha512 = "Mwm6asYClXbguWoOOLsMTvbA+4dKP/tn7yds2n/KqDxeH6aCTXsdwSmhFClkJLoB9oeCIvEnjIvuuBm/5X2KNA==";
       };
     };
     "omggif-1.0.10" = {
@@ -49894,13 +49966,13 @@ let
         sha512 = "pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==";
       };
     };
-    "postcss-value-parser-4.1.0" = {
+    "postcss-value-parser-4.2.0" = {
       name = "postcss-value-parser";
       packageName = "postcss-value-parser";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz";
-        sha512 = "97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==";
+        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz";
+        sha512 = "1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==";
       };
     };
     "postgres-array-2.0.0" = {
@@ -52216,13 +52288,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.190" = {
+    "pyright-1.1.191" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.190";
+      version = "1.1.191";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.190.tgz";
-        sha512 = "rZXmg/xapDxuiqyzs15nj3cxj6IGroX2UNXdEKwTT7RNdwohahfdolqoLIBCtIrbLLmgNUXWtL0cCEqljBKNRg==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.191.tgz";
+        sha512 = "1WyWpfLudnT+wBNYoaqQV2yOmpzI8otmDIGrEdLG0pikHWktuVSq8rvcqLF2QzzZVgb67TWCXp9u+wBt214lzA==";
       };
     };
     "q-0.9.7" = {
@@ -53872,13 +53944,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "redoc-2.0.0-rc.57" = {
+    "redoc-2.0.0-rc.58" = {
       name = "redoc";
       packageName = "redoc";
-      version = "2.0.0-rc.57";
+      version = "2.0.0-rc.58";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.57.tgz";
-        sha512 = "f8XIqvZF1agphq6xmOU9jTDVNDFHJt3MzDq1lUgZojb/7YY4eqLyDi6er/yCWYkY9DuB+v2jHCOn5UUbMuKAfg==";
+        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.58.tgz";
+        sha512 = "TWd+a2jv8UDaFOK4zST/lCBuJ7kpVLILW/3eoASZunjqRdcFyL/9aJC1zlFzKmEOUfaN6YWnZX/OM/YbE2BZlg==";
       };
     };
     "reduce-component-1.0.1" = {
@@ -56932,13 +57004,13 @@ let
         sha1 = "478be1429500fcfaa780be88b3343ced7d2a9182";
       };
     };
-    "sass-1.43.5" = {
+    "sass-1.44.0" = {
       name = "sass";
       packageName = "sass";
-      version = "1.43.5";
+      version = "1.44.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.43.5.tgz";
-        sha512 = "WuNm+eAryMgQluL7Mbq9M4EruyGGMyal7Lu58FfnRMVWxgUzIvI7aSn60iNt3kn5yZBMR7G84fAGDcwqOF5JOg==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.44.0.tgz";
+        sha512 = "0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw==";
       };
     };
     "sax-0.5.8" = {
@@ -58138,13 +58210,13 @@ let
         sha512 = "rohCHmEjD/ESXFLxF4bVeqgdb4Awc65ZyyuCKl3f7BvgMbZOBa/Ye3HN/GFnvruiUOAWWNupxhz3Rz5/3vJLTg==";
       };
     };
-    "simple-git-2.47.0" = {
+    "simple-git-2.47.1" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "2.47.0";
+      version = "2.47.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.47.0.tgz";
-        sha512 = "+HfCpqPBEZTPWiW9fPdbiPJDslM22MLqrktfzNKyI2pWaJa6DhfNVx4Mds04KZzVv5vjC9/ksw3y5gVf8ECWDg==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-2.47.1.tgz";
+        sha512 = "DF4rnBr4uzMQsreqxHg8t1wN4Pi3kj/shBVT1OO+aBkBnscCZ02tynKHc9cx3StNPnItHWAaoN31qkRNDhh5Ow==";
       };
     };
     "simple-handshake-3.0.0" = {
@@ -58993,13 +59065,13 @@ let
         sha512 = "WnBQ0GDo/82shKQHZBZT9h4q4miCtxkbzcwVLsCBPWNq4qbq8BXhKICt9nPwQAsJ43ct/rF61FKu4t0druUBug==";
       };
     };
-    "sonic-boom-2.3.1" = {
+    "sonic-boom-2.4.0" = {
       name = "sonic-boom";
       packageName = "sonic-boom";
-      version = "2.3.1";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.3.1.tgz";
-        sha512 = "o0vJPsRiCW5Q0EmRKjNiiYGy2DqSXcxk4mY9vIBSPwmkH/e/vJ2Tq8EECd5NTiO77x8vlVN+ykDjRQJTqf7eKg==";
+        url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.4.0.tgz";
+        sha512 = "2jSXeHjrovvsrnQ0tvG6eUjDdtMBxtYDAHr18mGDM/Pno/Wdw+pQ1AXUWKCZgriZ9MvCVdUEXXOUfVEwPcrieg==";
       };
     };
     "sorcery-0.10.0" = {
@@ -67959,13 +68031,13 @@ let
         sha512 = "jWi+297PJUUWTHwlcrZz0zIuEXuHOBJIQMapXmEzbosWGv/gMnNSAMV4hTKnl5wzxvZKZzV6j+WFdrSlKQ5qnw==";
       };
     };
-    "vscode-css-languageservice-5.1.8" = {
+    "vscode-css-languageservice-5.1.9" = {
       name = "vscode-css-languageservice";
       packageName = "vscode-css-languageservice";
-      version = "5.1.8";
+      version = "5.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.8.tgz";
-        sha512 = "Si1sMykS8U/p8LYgLGPCfZD1YFT0AtvUJQp9XJGw64DZWhtwYo28G2l64USLS9ge4ZPMZpwdpOK7PfbVKfgiiA==";
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.9.tgz";
+        sha512 = "/tFOWeZBL3Oc9Zc+2MAi3rEwiXJTSZsvjB+M7nSjWLbGPUIjukUA7YzLgsBoUfR35sPJYnXWUkL56PdfIYM8GA==";
       };
     };
     "vscode-debugadapter-testsupport-1.50.0" = {
@@ -68040,6 +68112,15 @@ let
         sha512 = "rrDyCiOgMwOPgchpPGAeLzjYVVEW/Ror2/a1BWUEI3S9+NQhA9vj4SQkzmH6g2Bq9S9SV0OQeadD+xphOf1N3w==";
       };
     };
+    "vscode-html-languageservice-4.2.0" = {
+      name = "vscode-html-languageservice";
+      packageName = "vscode-html-languageservice";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-4.2.0.tgz";
+        sha512 = "5ebk/5kMa7PrCPL3JuP27vo8h+coDgSkMP14pSlKz3ISXZxHm+nnCenhVrpy9Ayamtwb28YXeQuN8AqNQH8kVQ==";
+      };
+    };
     "vscode-json-languageserver-1.3.4" = {
       name = "vscode-json-languageserver";
       packageName = "vscode-json-languageserver";
@@ -68076,13 +68157,13 @@ let
         sha512 = "IHliMEEYSY0tJjJt0ECb8ESx/nRXpoy9kN42WVQXgaqGyizFAf3jibSiezDQTrrY7f3kywXggCU+kkJEM+OLZQ==";
       };
     };
-    "vscode-json-languageservice-4.2.0-next.1" = {
+    "vscode-json-languageservice-4.2.0-next.2" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
-      version = "4.2.0-next.1";
+      version = "4.2.0-next.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.0-next.1.tgz";
-        sha512 = "aQvkkuZpeSPv86QLzyMdKTCgvXR+qSO39nSgj/XGaOcuHmTt7vMZB7ymYGGkQ4cAaQdHs/2G6a479LQybIGSbg==";
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.0-next.2.tgz";
+        sha512 = "P0sdiZS7bM8+bxrkpL7XPwwhmZj94pcJIAZUh/QeessvYtXFnRmOEybe20rC+CS7b7DfwFcVt0p4p93hGZQ5gg==";
       };
     };
     "vscode-jsonrpc-3.5.0" = {
@@ -72431,7 +72512,7 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
       sources."ansi-colors-3.2.3"
@@ -72701,7 +72782,7 @@ in
       sources."mountable-hypertrie-2.8.0"
       sources."ms-2.0.0"
       sources."multicast-dns-7.2.4"
-      sources."mutexify-1.3.1"
+      sources."mutexify-1.4.0"
       sources."nanoassert-2.0.0"
       sources."nanoguard-1.3.0"
       sources."nanoiterator-1.2.1"
@@ -72932,7 +73013,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -73299,7 +73380,7 @@ in
           sources."strip-json-comments-3.1.1"
         ];
       })
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       (sources."jsonpath-1.1.1" // {
@@ -73309,7 +73390,7 @@ in
         ];
       })
       sources."jsonwebtoken-8.5.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       (sources."jstransform-11.0.3" // {
         dependencies = [
           sources."object-assign-2.1.1"
@@ -73892,7 +73973,7 @@ in
       sources."restore-cursor-3.1.0"
       sources."safe-buffer-5.2.1"
       sources."signal-exit-3.0.6"
-      sources."simple-git-2.47.0"
+      sources."simple-git-2.47.1"
       sources."sprintf-js-1.0.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
@@ -73961,7 +74042,7 @@ in
       sources."@types/estree-0.0.50"
       sources."@types/json-schema-7.0.9"
       sources."@types/json5-0.0.29"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -74020,7 +74101,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.8.3" // {
@@ -74087,7 +74168,7 @@ in
       sources."is-stream-2.0.1"
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
-      (sources."jest-worker-27.3.1" // {
+      (sources."jest-worker-27.4.2" // {
         dependencies = [
           sources."supports-color-8.1.1"
         ];
@@ -74478,7 +74559,7 @@ in
       sources."@types/cors-2.8.10"
       sources."@types/ejs-2.7.0"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.25"
+      sources."@types/express-serve-static-core-4.17.26"
       sources."@types/fs-capacitor-2.0.0"
       sources."@types/glob-7.2.0"
       sources."@types/http-assert-1.5.3"
@@ -74497,7 +74578,7 @@ in
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -74692,12 +74773,12 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.19.1" // {
+      (sources."core-js-compat-3.19.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.19.1"
+      sources."core-js-pure-3.19.2"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -74763,7 +74844,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -75016,12 +75097,12 @@ in
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."json5-2.2.0"
       sources."jsonfile-4.0.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."keyv-3.0.0"
       sources."kind-of-6.0.3"
       sources."launch-editor-2.2.1"
@@ -75759,9 +75840,9 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.0"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/normalize-package-data-2.4.1"
-      sources."@types/parse5-6.0.2"
+      sources."@types/parse5-6.0.3"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."acorn-8.6.0"
@@ -76273,7 +76354,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.3"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -76368,7 +76449,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -76454,13 +76535,13 @@ in
     dependencies = [
       sources."browserslist-4.18.1"
       sources."caniuse-lite-1.0.30001283"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."escalade-3.1.1"
       sources."fraction.js-4.1.2"
       sources."node-releases-2.0.1"
       sources."normalize-range-0.1.2"
       sources."picocolors-1.0.0"
-      sources."postcss-value-parser-4.1.0"
+      sources."postcss-value-parser-4.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -76482,14 +76563,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.1037.0" // {
+      (sources."aws-sdk-2.1039.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -76532,7 +76613,7 @@ in
       sources."devtools-protocol-0.0.901419"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
@@ -77141,10 +77222,10 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.35"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.25"
+      sources."@types/express-serve-static-core-4.17.26"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/request-2.48.7"
@@ -77462,6 +77543,7 @@ in
       (sources."ln-service-53.1.1" // {
         dependencies = [
           sources."@grpc/proto-loader-0.6.7"
+          sources."@types/node-16.11.10"
           sources."lightning-5.1.0"
           sources."type-fest-2.6.0"
           sources."ws-8.3.0"
@@ -77853,10 +77935,10 @@ in
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."jsdom-11.12.0"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."left-pad-1.3.0"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
@@ -77963,14 +78045,14 @@ in
       sources."doctoc-2.1.0"
       (sources."dom-serializer-1.3.2" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."domelementtype-2.2.0"
       sources."domhandler-3.3.0"
       (sources."domutils-2.8.0" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."emoji-regex-6.1.3"
@@ -78944,10 +79026,10 @@ in
       sources."jsbn-0.1.1"
       sources."json-bigint-1.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."jstransformer-1.0.0"
       (sources."jstransformer-markdown-it-2.1.0" // {
         dependencies = [
@@ -79099,7 +79181,7 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
-      sources."simple-git-2.47.0"
+      sources."simple-git-2.47.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -79191,7 +79273,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -79340,10 +79422,10 @@ in
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."k-bucket-0.6.0"
       (sources."k-rpc-3.7.0" // {
         dependencies = [
@@ -80213,8 +80295,8 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.2.1"
       sources."case-1.6.3"
-      sources."cdk8s-1.1.47"
-      sources."cdk8s-plus-22-1.0.0-beta.53"
+      sources."cdk8s-1.1.48"
+      sources."cdk8s-plus-22-1.0.0-beta.54"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
@@ -80314,7 +80396,7 @@ in
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.2.65"
+      sources."json2jsii-0.2.66"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -80652,7 +80734,7 @@ in
       sources."convert-to-spaces-1.0.2"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-pure-3.19.1"
+      sources."core-js-pure-3.19.2"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."crc-32-1.2.0"
@@ -80664,7 +80746,7 @@ in
       })
       sources."cross-spawn-7.0.3"
       sources."cssfilter-0.0.10"
-      sources."date-fns-2.26.0"
+      sources."date-fns-2.27.0"
       sources."date-format-3.0.0"
       sources."debug-2.6.9"
       sources."decamelize-5.0.1"
@@ -80807,7 +80889,7 @@ in
       sources."is-symbol-1.0.4"
       sources."is-typed-array-1.1.8"
       sources."is-unicode-supported-0.1.0"
-      sources."is-valid-domain-0.1.4"
+      sources."is-valid-domain-0.1.5"
       sources."is-weakmap-2.0.1"
       sources."is-weakref-1.0.1"
       sources."is-weakset-2.0.1"
@@ -82081,7 +82163,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.19.1"
+      sources."core-js-3.19.2"
       sources."cosmiconfig-3.1.0"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-7.0.3"
@@ -82117,7 +82199,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
@@ -82915,13 +82997,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.190";
+    version = "1.1.191";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.190.tgz";
-      sha512 = "RR/Z3qmwhagMFUs7ryReY1s/xP2VkTYaQF4EORx9R+wtEZbw+zLWOpnoa0UQRGv8PR6F+HGu2gBLYOoqZM/Daw==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.191.tgz";
+      sha512 = "/cqW+D5QU/nDzhkh9veNO6JQRFkQ5fxGNsvIAtbhhfkNYgBTwMjUoAdaSUcZRcBvYNUjCQ4OpEqWqFmDGx6Sqg==";
     };
     dependencies = [
-      sources."pyright-1.1.190"
+      sources."pyright-1.1.191"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -83168,7 +83250,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -83302,7 +83384,7 @@ in
       sources."postcss-scss-2.1.1"
       sources."postcss-selector-parser-6.0.6"
       sources."postcss-syntax-0.36.2"
-      sources."postcss-value-parser-4.1.0"
+      sources."postcss-value-parser-4.2.0"
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
@@ -84159,7 +84241,7 @@ in
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."date-fns-2.26.0"
+      sources."date-fns-2.27.0"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."get-caller-file-2.0.5"
@@ -84204,7 +84286,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."commander-8.0.0"
@@ -84798,12 +84880,12 @@ in
       sources."jsbn-0.1.1"
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
       sources."jsonparse-1.3.1"
-      (sources."jsprim-1.4.1" // {
+      (sources."jsprim-1.4.2" // {
         dependencies = [
           sources."extsprintf-1.3.0"
         ];
@@ -85098,7 +85180,7 @@ in
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/normalize-package-data-2.4.1"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -85469,7 +85551,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -86245,10 +86327,10 @@ in
       sources."isstream-0.1.2"
       sources."iterators-0.1.0"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."k-bucket-3.3.1"
       (sources."k-rpc-4.3.1" // {
         dependencies = [
@@ -86299,7 +86381,7 @@ in
       })
       sources."multistream-2.1.1"
       sources."mute-stream-0.0.8"
-      sources."mutexify-1.3.1"
+      sources."mutexify-1.4.0"
       sources."nan-2.15.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-4.5.0"
@@ -86856,7 +86938,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.19.1" // {
+      (sources."core-js-compat-3.19.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -86882,7 +86964,7 @@ in
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
       sources."electron-13.6.2"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -86988,6 +87070,7 @@ in
       })
       sources."http-cache-semantics-4.1.0"
       sources."ieee754-1.2.1"
+      sources."immutable-4.0.0"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-accessor-descriptor-1.0.0"
@@ -87161,7 +87244,7 @@ in
       sources."rw-0.1.4"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
-      (sources."sass-1.43.5" // {
+      (sources."sass-1.44.0" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -87516,11 +87599,11 @@ in
       sources."isstream-0.1.2"
       sources."jmespath-0.15.0"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."lodash-4.17.21"
       sources."lodash.escaperegexp-4.1.2"
       sources."lodash.groupby-4.6.0"
@@ -87668,7 +87751,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.2"
       sources."abbrev-1.1.1"
@@ -87929,11 +88012,11 @@ in
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."json-buffer-3.0.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."junk-3.1.0"
       sources."keyv-4.0.4"
       sources."load-json-file-2.0.0"
@@ -88330,7 +88413,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -88574,7 +88657,7 @@ in
       sources."@fluentui/date-time-utilities-7.9.1"
       sources."@fluentui/dom-utilities-1.1.2"
       sources."@fluentui/keyboard-key-0.2.17"
-      sources."@fluentui/react-7.179.4"
+      sources."@fluentui/react-7.179.5"
       sources."@fluentui/react-focus-7.18.1"
       sources."@fluentui/react-window-provider-1.0.2"
       sources."@fluentui/theme-1.7.4"
@@ -88589,7 +88672,7 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.230"
+      sources."@microsoft/load-themed-styles-1.10.231"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -88608,7 +88691,7 @@ in
       sources."@types/connect-3.4.35"
       sources."@types/engine.io-3.1.7"
       sources."@types/express-4.17.8"
-      sources."@types/express-serve-static-core-4.17.25"
+      sources."@types/express-serve-static-core-4.17.26"
       sources."@types/fancy-log-1.3.0"
       sources."@types/glob-7.2.0"
       sources."@types/hls.js-0.13.1"
@@ -89303,6 +89386,7 @@ in
       sources."iferr-0.1.5"
       sources."ignore-5.1.9"
       sources."ignore-walk-3.0.4"
+      sources."immutable-4.0.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."indexof-0.0.1"
@@ -89357,7 +89441,7 @@ in
       sources."jsbn-0.1.1"
       sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
@@ -89367,7 +89451,7 @@ in
           sources."universalify-2.0.0"
         ];
       })
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."just-debounce-1.1.0"
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
@@ -89617,7 +89701,7 @@ in
       sources."object.map-1.0.1"
       sources."object.pick-1.3.0"
       sources."object.reduce-1.0.1"
-      sources."office-ui-fabric-react-7.179.4"
+      sources."office-ui-fabric-react-7.179.5"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -89844,7 +89928,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."sass-1.43.5" // {
+      (sources."sass-1.44.0" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -90722,7 +90806,7 @@ in
       sources."@types/json-schema-7.0.9"
       sources."@types/keyv-3.1.3"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/q-1.5.5"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.1"
@@ -91000,7 +91084,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
@@ -91083,7 +91167,7 @@ in
       })
       (sources."css-select-4.1.3" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."css-select-base-adapter-0.1.1"
@@ -91159,7 +91243,7 @@ in
       sources."dom-converter-0.2.0"
       (sources."dom-serializer-1.3.2" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."domain-browser-1.2.0"
@@ -91168,7 +91252,7 @@ in
       sources."domino-2.1.6"
       (sources."domutils-2.8.0" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       (sources."dot-case-3.0.4" // {
@@ -91182,7 +91266,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -91595,7 +91679,7 @@ in
       sources."json-buffer-3.0.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       (sources."json-schema-deref-sync-0.13.0" // {
         dependencies = [
           sources."clone-2.1.2"
@@ -91613,7 +91697,7 @@ in
       })
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."keychain-1.3.0"
       sources."keyv-4.0.4"
       sources."killable-1.0.1"
@@ -92100,7 +92184,7 @@ in
         ];
       })
       sources."postcss-unique-selectors-4.0.1"
-      sources."postcss-value-parser-4.1.0"
+      sources."postcss-value-parser-4.2.0"
       sources."prepend-http-3.0.1"
       sources."pretty-bytes-5.6.0"
       sources."pretty-error-2.1.2"
@@ -92201,7 +92285,7 @@ in
       (sources."renderkid-2.0.7" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
           sources."htmlparser2-6.1.0"
           sources."strip-ansi-3.0.1"
         ];
@@ -92817,7 +92901,7 @@ in
       sources."@babel/traverse-7.16.3"
       sources."@babel/types-7.16.0"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.9.2"
       sources."@types/yoga-layout-1.9.2"
@@ -92868,7 +92952,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.869402"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -93080,12 +93164,12 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      (sources."@oclif/command-1.8.4" // {
+      (sources."@oclif/command-1.8.6" // {
         dependencies = [
           sources."@oclif/plugin-help-3.3.0"
         ];
       })
-      sources."@oclif/config-1.17.1"
+      sources."@oclif/config-1.18.1"
       (sources."@oclif/core-0.5.41" // {
         dependencies = [
           (sources."cli-ux-5.6.4" // {
@@ -93334,11 +93418,11 @@ in
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
       sources."json-buffer-3.0.0"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."keyv-3.0.0"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
@@ -93548,7 +93632,7 @@ in
       sources."@types/json-schema-7.0.9"
       sources."@types/long-4.0.1"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -93672,7 +93756,7 @@ in
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."color-support-1.1.3"
       sources."colors-1.0.3"
       sources."colorspace-1.1.4"
@@ -93969,7 +94053,7 @@ in
       sources."json-buffer-3.0.0"
       sources."json-parse-helpfulerror-1.0.3"
       sources."json-ptr-2.2.0"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
@@ -93980,7 +94064,7 @@ in
           sources."jws-3.2.2"
         ];
       })
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
       sources."keyv-3.1.0"
@@ -94675,7 +94759,7 @@ in
       sources."@types/atob-2.1.2"
       sources."@types/bn.js-5.1.0"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -94775,11 +94859,11 @@ in
       sources."js-sha3-0.8.0"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."jwt-decode-2.2.0"
       sources."keccak-3.0.2"
       sources."lie-3.1.1"
@@ -95486,7 +95570,7 @@ in
       sources."@types/keyv-3.1.3"
       sources."@types/mdast-3.0.10"
       sources."@types/ms-0.7.31"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/node-fetch-2.5.12"
       sources."@types/responselike-1.0.0"
       sources."@types/unist-2.0.6"
@@ -95639,13 +95723,13 @@ in
       sources."dom-converter-0.2.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -96706,7 +96790,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -96864,7 +96948,7 @@ in
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."conf-10.1.0"
+      sources."conf-10.1.1"
       (sources."configstore-5.0.1" // {
         dependencies = [
           sources."dot-prop-5.3.0"
@@ -97456,7 +97540,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -97683,7 +97767,7 @@ in
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
       sources."json-ptr-1.3.2"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       (sources."jsonfile-6.1.0" // {
@@ -97692,7 +97776,7 @@ in
         ];
       })
       sources."jsonpath-plus-4.0.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."lines-and-columns-1.2.4"
@@ -97991,10 +98075,10 @@ in
         ];
       })
       sources."@oclif/screen-1.0.4"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.4"
-      sources."@types/ws-8.2.0"
+      sources."@types/ws-8.2.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.7"
       sources."ansi-escapes-3.2.0"
@@ -99786,7 +99870,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1037.0"
+      sources."aws-sdk-2.1039.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -99853,7 +99937,7 @@ in
       sources."jmespath-0.15.0"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       (sources."jsonpath-1.1.1" // {
@@ -99861,7 +99945,7 @@ in
           sources."esprima-1.2.2"
         ];
       })
-      (sources."jsprim-1.4.1" // {
+      (sources."jsprim-1.4.2" // {
         dependencies = [
           sources."verror-1.10.0"
         ];
@@ -100110,10 +100194,10 @@ in
       sources."js-yaml-3.6.1"
       sources."jsbn-0.1.1"
       sources."jschardet-1.6.0"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."kind-of-3.2.2"
       sources."latest-version-1.0.1"
       sources."lazy-cache-1.0.4"
@@ -100470,14 +100554,14 @@ in
       sources."diagnostic-channel-publishers-0.4.4"
       (sources."dom-serializer-1.3.2" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."domelementtype-2.2.0"
       sources."domhandler-3.3.0"
       (sources."domutils-2.8.0" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."ecc-jsbn-0.1.2"
@@ -100519,11 +100603,11 @@ in
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."lodash-4.17.21"
       sources."long-4.0.0"
       (sources."lru-cache-6.0.0" // {
@@ -100571,12 +100655,12 @@ in
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      (sources."vscode-css-languageservice-5.1.8" // {
+      (sources."vscode-css-languageservice-5.1.9" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
-      (sources."vscode-html-languageservice-4.1.1" // {
+      (sources."vscode-html-languageservice-4.2.0" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
@@ -101316,7 +101400,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1037.0" // {
+      (sources."aws-sdk-2.1039.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -101358,7 +101442,7 @@ in
       sources."color-3.1.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."combined-stream-1.0.8"
       sources."command-line-usage-4.1.0"
       sources."commander-2.17.1"
@@ -101471,7 +101555,7 @@ in
       sources."diff-match-patch-1.0.5"
       (sources."dom-serializer-1.3.2" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."domelementtype-2.2.0"
@@ -101480,7 +101564,7 @@ in
       sources."dompurify-2.3.3"
       (sources."domutils-2.8.0" // {
         dependencies = [
-          sources."domhandler-4.2.2"
+          sources."domhandler-4.3.0"
         ];
       })
       sources."ecc-jsbn-0.1.2"
@@ -101633,11 +101717,11 @@ in
       sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
       sources."jsdom-15.2.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-2.4.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       (sources."katex-0.13.24" // {
         dependencies = [
           sources."commander-8.3.0"
@@ -102751,11 +102835,11 @@ in
       sources."jju-1.4.0"
       sources."jsbn-0.1.1"
       sources."json-parse-helpfulerror-1.0.3"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-server-0.8.23"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."kind-of-3.2.2"
       sources."latest-version-2.0.0"
       sources."lazy-req-1.1.0"
@@ -103097,8 +103181,8 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.4"
-      sources."@oclif/config-1.17.1"
+      sources."@oclif/command-1.8.6"
+      sources."@oclif/config-1.18.1"
       (sources."@oclif/core-0.5.41" // {
         dependencies = [
           sources."fs-extra-9.1.0"
@@ -103350,7 +103434,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -103631,7 +103715,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.19.1"
+      sources."core-js-3.19.2"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
@@ -103664,7 +103748,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."enquirer-2.3.6"
@@ -104126,10 +104210,10 @@ in
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."jsdom-7.2.2"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."lcid-1.0.0"
       sources."levn-0.3.0"
       sources."locate-path-3.0.0"
@@ -104382,10 +104466,10 @@ in
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."jsdom-7.2.2"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."lcid-1.0.0"
       sources."levn-0.3.0"
       sources."locate-path-5.0.0"
@@ -104953,12 +105037,12 @@ in
       sources."jsbn-0.1.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
       sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."kind-of-6.0.3"
       sources."libnpmaccess-4.0.3"
       (sources."libnpmpublish-4.0.2" // {
@@ -105899,10 +105983,10 @@ in
       sources."isobject-2.1.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."kind-of-3.2.2"
       sources."linkify-it-2.2.0"
       sources."map-cache-0.2.2"
@@ -106342,7 +106426,7 @@ in
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.14"
@@ -106586,7 +106670,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.19.1" // {
+      (sources."core-js-compat-3.19.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -106638,7 +106722,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -106856,14 +106940,14 @@ in
       sources."jsesc-2.5.2"
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-0.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."json5-2.2.0"
       sources."jsonify-0.0.0"
       sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."jszip-2.6.1"
       sources."kind-of-6.0.3"
       sources."labeled-stream-splicer-2.0.2"
@@ -107376,7 +107460,7 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.4"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -107466,7 +107550,6 @@ in
       (sources."http-signature-1.3.6" // {
         dependencies = [
           sources."extsprintf-1.3.0"
-          sources."json-schema-0.4.0"
           sources."jsprim-2.0.2"
           sources."verror-1.10.0"
         ];
@@ -107477,8 +107560,8 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."isarray-0.0.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
-      (sources."jsprim-1.4.1" // {
+      sources."json-schema-0.4.0"
+      (sources."jsprim-1.4.2" // {
         dependencies = [
           sources."extsprintf-1.3.0"
           sources."verror-1.10.0"
@@ -108041,13 +108124,13 @@ in
       sources."js-tokens-3.0.2"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonify-0.0.0"
       sources."jsonpointer-5.0.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
       sources."lodash._basecopy-3.0.1"
@@ -108244,7 +108327,7 @@ in
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -108671,7 +108754,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."colornames-1.1.1"
       sources."colors-1.4.0"
       sources."colorspace-1.1.4"
@@ -108987,11 +109070,11 @@ in
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-stable-stringify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonify-0.0.0"
-      (sources."jsprim-1.4.1" // {
+      (sources."jsprim-1.4.2" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -109288,7 +109371,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
@@ -109396,7 +109479,7 @@ in
       sources."dicer-0.2.5"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       (sources."duplexify-4.1.2" // {
         dependencies = [
@@ -109726,11 +109809,11 @@ in
       sources."isarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."lru-cache-6.0.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
@@ -110044,7 +110127,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -110936,11 +111019,11 @@ in
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-1.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."minimatch-3.0.4"
@@ -111060,10 +111143,10 @@ in
       sources."is-wsl-2.2.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."npm-7.24.2"
@@ -111406,7 +111489,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.20.3"
@@ -111418,7 +111501,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.19.1" // {
+      (sources."core-js-compat-3.19.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -111517,7 +111600,7 @@ in
       sources."domain-browser-1.2.0"
       sources."domelementtype-1.3.1"
       sources."domexception-1.0.1"
-      (sources."domhandler-4.2.2" // {
+      (sources."domhandler-4.3.0" // {
         dependencies = [
           sources."domelementtype-2.2.0"
         ];
@@ -111529,7 +111612,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -111726,11 +111809,11 @@ in
       })
       sources."jsesc-2.5.2"
       sources."json-parse-better-errors-1.0.2"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."json5-1.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."kind-of-3.2.2"
       sources."levn-0.3.0"
       sources."lodash-4.17.21"
@@ -111842,7 +111925,7 @@ in
       })
       (sources."postcss-calc-7.0.5" // {
         dependencies = [
-          sources."postcss-value-parser-4.1.0"
+          sources."postcss-value-parser-4.2.0"
         ];
       })
       sources."postcss-colormin-4.0.3"
@@ -112298,10 +112381,10 @@ in
       sources."isstream-0.1.2"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."kad-fs-0.0.4"
       sources."kad-localstorage-0.0.7"
       sources."kad-memstore-0.0.1"
@@ -112995,10 +113078,10 @@ in
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."k-bucket-0.6.0"
       (sources."k-rpc-3.7.0" // {
         dependencies = [
@@ -113826,13 +113909,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.5.0";
+    version = "3.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.5.0.tgz";
-      sha512 = "WEYQ+H98O0yigG+lI0gfh4iyBChvnM6QTXPDtY9eFraLXAmyb6tf/T2mUdrUAU1AEvHLVzQA5A+RpONZlQozBg==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-3.6.0.tgz";
+      sha512 = "6SqgHS/5Rq6HtHjsWsTxlj+ySamGyCLBUQfotc2lStOjPv52IQuDVpp58GieNqc9VnfuFyHUvTZw7aQB+G2fvQ==";
     };
     dependencies = [
-      sources."@prisma/engines-3.5.0-38.78a5df6def6943431f4c022e1428dbc3e833cf8e"
+      sources."@prisma/engines-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113844,6 +113927,40 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@prisma/language-server" = nodeEnv.buildNodePackage {
+    name = "_at_prisma_slash_language-server";
+    packageName = "@prisma/language-server";
+    version = "3.6.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.6.0.tgz";
+      sha512 = "3WUlWYGEcavLaueLpl6vsGsgfHn2TMB4885tIsQ/qPulwdY9ZgL+qzrve+wnSoBwgFi3gSWnGZB6VYOhLaOTdQ==";
+    };
+    dependencies = [
+      sources."@prisma/debug-3.5.0"
+      sources."@prisma/get-platform-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727"
+      sources."@prisma/prisma-fmt-wasm-3.6.0-24.dc520b92b1ebb2d28dc3161f9f82e875bd35d727"
+      sources."@types/debug-4.1.7"
+      sources."@types/js-levenshtein-1.1.0"
+      sources."@types/ms-0.7.31"
+      sources."js-levenshtein-1.1.6"
+      sources."klona-2.0.5"
+      sources."ms-2.1.3"
+      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.3"
+      sources."vscode-languageserver-types-3.16.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Implementation of a language server in Node.";
+      homepage = "https://github.com/prisma/language-tools#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   pscid = nodeEnv.buildNodePackage {
     name = "pscid";
     packageName = "pscid";
@@ -114236,10 +114353,10 @@ in
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."log-symbols-3.0.0"
       sources."log-update-3.4.0"
       sources."lru-cache-5.1.1"
@@ -114490,10 +114607,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.190";
+    version = "1.1.191";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.190.tgz";
-      sha512 = "rZXmg/xapDxuiqyzs15nj3cxj6IGroX2UNXdEKwTT7RNdwohahfdolqoLIBCtIrbLLmgNUXWtL0cCEqljBKNRg==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.191.tgz";
+      sha512 = "1WyWpfLudnT+wBNYoaqQV2yOmpzI8otmDIGrEdLG0pikHWktuVSq8rvcqLF2QzzZVgb67TWCXp9u+wBt214lzA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -114985,7 +115102,7 @@ in
       sources."@types/glob-7.2.0"
       sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -115230,7 +115347,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."commander-4.1.1"
       sources."commondir-1.0.1"
       sources."component-bind-1.0.0"
@@ -115257,7 +115374,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.19.1" // {
+      (sources."core-js-compat-3.19.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -115382,7 +115499,7 @@ in
       })
       sources."domain-browser-1.2.0"
       sources."domelementtype-1.3.1"
-      (sources."domhandler-4.2.2" // {
+      (sources."domhandler-4.3.0" // {
         dependencies = [
           sources."domelementtype-2.2.0"
         ];
@@ -115401,7 +115518,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116074,7 +116191,7 @@ in
         ];
       })
       sources."postcss-unique-selectors-4.0.1"
-      sources."postcss-value-parser-4.1.0"
+      sources."postcss-value-parser-4.2.0"
       sources."prepend-http-2.0.0"
       sources."pretty-error-2.1.2"
       sources."process-0.11.10"
@@ -116760,10 +116877,10 @@ in
   redoc-cli = nodeEnv.buildNodePackage {
     name = "redoc-cli";
     packageName = "redoc-cli";
-    version = "0.13.0";
+    version = "0.13.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.0.tgz";
-      sha512 = "SLGjajbYf2QKByYKBWCDTW1mnX6BWfojV3Y6SFkCXtehNFgy4OGGKmi3Dy4/PqSx5liWeGggxMQ9N/oiSsFhbA==";
+      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.1.tgz";
+      sha512 = "Ak2LZWRQ1PjsAOPkzirpwRJbYFLKLBpQqMGgmYIOoYje2lLoJQvcE6tknPPQGQV51PUJlmY94hWTNW6rpZi99w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.0"
@@ -116967,7 +117084,7 @@ in
       sources."picomatch-2.3.0"
       sources."pluralize-8.0.0"
       sources."polished-4.1.3"
-      sources."postcss-value-parser-4.1.0"
+      sources."postcss-value-parser-4.2.0"
       sources."prismjs-1.25.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
@@ -116995,7 +117112,7 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."redoc-2.0.0-rc.57" // {
+      (sources."redoc-2.0.0-rc.58" // {
         dependencies = [
           sources."path-browserify-1.0.1"
         ];
@@ -117556,10 +117673,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.60.1";
+    version = "2.60.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.60.1.tgz";
-      sha512 = "akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.60.2.tgz";
+      sha512 = "1Bgjpq61sPjgoZzuiDSGvbI1tD91giZABgjCQBKM5aYLnzjq52GoDuWVwT/cm/MCxCMPU8gqQvkj8doQ5C8Oqw==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -117724,7 +117841,7 @@ in
       sources."doctrine-3.0.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."duplexer2-0.1.4"
       (sources."editorconfig-0.15.3" // {
@@ -118149,10 +118266,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.43.5";
+    version = "1.44.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.43.5.tgz";
-      sha512 = "WuNm+eAryMgQluL7Mbq9M4EruyGGMyal7Lu58FfnRMVWxgUzIvI7aSn60iNt3kn5yZBMR7G84fAGDcwqOF5JOg==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.44.0.tgz";
+      sha512 = "0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -118162,6 +118279,7 @@ in
       sources."fill-range-7.0.1"
       sources."fsevents-2.3.2"
       sources."glob-parent-5.1.2"
+      sources."immutable-4.0.0"
       sources."is-binary-path-2.1.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
@@ -118422,7 +118540,7 @@ in
       sources."@types/keyv-3.1.3"
       sources."@types/lodash-4.14.177"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/request-2.48.7"
       sources."@types/request-promise-native-1.0.18"
       sources."@types/responselike-1.0.0"
@@ -118482,7 +118600,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1037.0" // {
+      (sources."aws-sdk-2.1039.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -118578,7 +118696,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."colornames-1.1.1"
       sources."colors-1.3.3"
       sources."colorspace-1.1.4"
@@ -118824,11 +118942,11 @@ in
           sources."js-yaml-3.14.1"
         ];
       })
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-4.0.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       (sources."jszip-3.7.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -119020,7 +119138,7 @@ in
       sources."signal-exit-3.0.6"
       sources."simple-concat-1.0.1"
       sources."simple-get-2.8.1"
-      (sources."simple-git-2.47.0" // {
+      (sources."simple-git-2.47.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -119327,11 +119445,11 @@ in
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."json3-3.2.6"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."linewise-0.0.3"
       sources."lodash-2.4.2"
       sources."map-stream-0.0.7"
@@ -119848,10 +119966,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.775.0";
+    version = "1.779.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.775.0.tgz";
-      sha512 = "+LVwS0RePl+mKTnF6J+HWZNY0SkvwbytDs76n0be1TxiY3vhe/H+N+pbhvmv0smAK3ZnsRTOKiVrqkzLqhAWsg==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.779.0.tgz";
+      sha512 = "rlDIT5MCZE8u/pLhf1PhZML56qwU7s9nVWYMneAjXhLcyYIL51V4qW+UETeX0psfmpijDhq16nOdmVy6dwLLrA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -119875,7 +119993,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-1.0.1"
       sources."base64id-2.0.0"
@@ -120490,7 +120608,7 @@ in
       sources."multiserver-3.7.2"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
-      sources."mutexify-1.3.1"
+      sources."mutexify-1.4.0"
       sources."muxrpc-6.5.3"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
@@ -121102,7 +121220,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1037.0" // {
+      (sources."aws-sdk-2.1039.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -121388,14 +121506,14 @@ in
           sources."uri-js-3.0.2"
         ];
       })
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-faker-0.2.16"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."json5-1.0.1"
       sources."jsonpointer-5.0.0"
       sources."jspath-0.3.4"
-      (sources."jsprim-1.4.1" // {
+      (sources."jsprim-1.4.2" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -122014,7 +122132,7 @@ in
       sources."postcss-resolve-nested-selector-0.1.1"
       sources."postcss-safe-parser-6.0.0"
       sources."postcss-selector-parser-6.0.6"
-      sources."postcss-value-parser-4.1.0"
+      sources."postcss-value-parser-4.2.0"
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
@@ -122098,7 +122216,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/pug-2.0.5"
       sources."@types/sass-1.43.1"
       sources."ansi-styles-4.3.0"
@@ -122188,7 +122306,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/pug-2.0.5"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -122232,7 +122350,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tslib-2.3.1"
       sources."typescript-4.5.2"
-      sources."vscode-css-languageservice-5.1.8"
+      sources."vscode-css-languageservice-5.1.9"
       (sources."vscode-emmet-helper-2.6.4" // {
         dependencies = [
           sources."vscode-uri-2.1.2"
@@ -122279,7 +122397,7 @@ in
       sources."csso-4.2.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."entities-2.2.0"
       sources."mdn-data-2.0.14"
@@ -122996,10 +123114,10 @@ in
       sources."isstream-0.1.2"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."locate-path-3.0.0"
       sources."long-4.0.0"
       sources."mime-2.6.0"
@@ -124270,7 +124388,7 @@ in
       sources."@types/cors-2.8.12"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -124336,7 +124454,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.19.1"
+      sources."core-js-3.19.2"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.1.3"
@@ -124359,7 +124477,7 @@ in
       sources."dicer-0.3.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
@@ -124467,10 +124585,10 @@ in
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."json-buffer-3.0.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
-      (sources."jsprim-1.4.1" // {
+      (sources."jsprim-1.4.2" // {
         dependencies = [
           sources."extsprintf-1.3.0"
           sources."verror-1.10.0"
@@ -124825,7 +124943,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       (sources."jsonfile-6.1.0" // {
@@ -124833,7 +124951,7 @@ in
           sources."universalify-2.0.0"
         ];
       })
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."keypress-0.2.1"
       sources."lru-cache-6.0.0"
       sources."mime-db-1.51.0"
@@ -125362,7 +125480,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.7.4"
+      sources."color-string-1.8.1"
       sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."component-emitter-1.3.0"
@@ -125613,7 +125731,7 @@ in
       sha512 = "N+ENrder8z9zJQF9UM7K3/1LcfVW60omqeyaQsu6GN1BGdCgPm8gdHssn7WRD7vx+ABKc82IE1+pJyHOPkwe+w==";
     };
     dependencies = [
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -125969,7 +126087,7 @@ in
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@vercel/build-utils-2.12.2"
       sources."@vercel/go-1.2.3"
       sources."@vercel/node-1.12.1"
@@ -126468,9 +126586,9 @@ in
       sources."jsonc-parser-3.0.0"
       sources."request-light-0.5.5"
       sources."typescript-4.5.2"
-      sources."vscode-css-languageservice-5.1.8"
-      sources."vscode-html-languageservice-4.1.1"
-      sources."vscode-json-languageservice-4.2.0-next.1"
+      sources."vscode-css-languageservice-5.1.9"
+      sources."vscode-html-languageservice-4.2.0"
+      sources."vscode-json-languageservice-4.2.0-next.2"
       sources."vscode-jsonrpc-8.0.0-next.4"
       sources."vscode-languageserver-8.0.0-next.5"
       (sources."vscode-languageserver-protocol-3.17.0-next.11" // {
@@ -126590,9 +126708,9 @@ in
       sources."diff-5.0.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.8.3"
@@ -126651,7 +126769,7 @@ in
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."jest-worker-27.3.1"
+      sources."jest-worker-27.4.2"
       sources."js-yaml-4.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
@@ -126990,11 +127108,11 @@ in
       sources."isurl-1.0.0"
       sources."js-yaml-3.14.1"
       sources."jsbn-0.1.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-2.4.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."klaw-1.3.1"
       sources."lodash-4.17.21"
       sources."log-symbols-2.2.0"
@@ -127162,7 +127280,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -128122,7 +128240,7 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.19.1"
+      sources."core-js-pure-3.19.2"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -128319,7 +128437,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/yauzl-2.9.2"
       sources."acorn-8.6.0"
       sources."acorn-jsx-5.3.2"
@@ -128426,7 +128544,7 @@ in
       sources."doctrine-3.0.0"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."dtrace-provider-0.8.8"
@@ -128577,7 +128695,7 @@ in
       sources."json-buffer-3.0.0"
       sources."json-merge-patch-0.2.3"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
@@ -128592,7 +128710,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       (sources."jszip-3.7.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -128755,7 +128873,7 @@ in
         ];
       })
       sources."signal-exit-3.0.6"
-      sources."sonic-boom-2.3.1"
+      sources."sonic-boom-2.4.0"
       sources."source-map-0.6.1"
       sources."source-map-js-0.6.2"
       sources."source-map-support-0.5.20"
@@ -128864,7 +128982,7 @@ in
       sources."@types/eslint-scope-3.7.1"
       sources."@types/estree-0.0.50"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -128891,7 +129009,7 @@ in
       sources."caniuse-lite-1.0.30001283"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.4"
+      sources."electron-to-chromium-1.4.5"
       sources."enhanced-resolve-5.8.3"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -128908,7 +129026,7 @@ in
       sources."glob-to-regexp-0.4.1"
       sources."graceful-fs-4.2.8"
       sources."has-flag-4.0.0"
-      sources."jest-worker-27.3.1"
+      sources."jest-worker-27.4.2"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.2.0"
@@ -129029,7 +129147,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/http-proxy-1.17.7"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/retry-0.12.1"
       sources."accepts-1.3.7"
       sources."aggregate-error-3.1.0"
@@ -129395,7 +129513,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
       sources."ansi-regex-5.0.1"
@@ -129767,10 +129885,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.2.1";
+    version = "1.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.2.1.tgz";
-      sha512 = "YAfvorH/uv7HZ/eHOr4inwr6D9WhNg7Z/kUvdxsxM9nRPyTPd960Z7noL4YWO9elPh1ZOnOwYNoInISXAz3eqg==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.2.2.tgz";
+      sha512 = "wjMlqjhg6hNMT8EgYYkfUaM0aXwjWSQDmPO18doWLxIXG7LGBuzb+Vm/MjLrP9LPblSEhE2WWHQFfGW+Odb7vw==";
     };
     dependencies = [
       sources."jsonc-parser-3.0.0"
@@ -130048,7 +130166,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.19.1"
+      sources."core-js-3.19.2"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -130235,12 +130353,12 @@ in
       sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-nice-1.1.4"
       sources."json-stringify-safe-5.0.1"
       sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."just-diff-3.1.1"
       sources."just-diff-apply-3.1.2"
       sources."keyv-3.0.0"
@@ -130834,7 +130952,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/fs-extra-9.0.13"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.10"
+      sources."@types/node-16.11.11"
       sources."@types/node-fetch-2.5.12"
       sources."ansi-styles-4.3.0"
       sources."array-union-3.0.1"
diff --git a/pkgs/development/python-modules/adblock/default.nix b/pkgs/development/python-modules/adblock/default.nix
index 2763684c0d4a8..941beb5447313 100644
--- a/pkgs/development/python-modules/adblock/default.nix
+++ b/pkgs/development/python-modules/adblock/default.nix
@@ -1,12 +1,12 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , fetchFromGitHub
 , buildPythonPackage
 , rustPlatform
 , pkg-config
 , openssl
 , publicsuffix-list
-, isPy27
+, pythonOlder
 , libiconv
 , CoreFoundation
 , Security
@@ -16,34 +16,46 @@
 
 buildPythonPackage rec {
   pname = "adblock";
-  version = "0.5.0";
-  disabled = isPy27;
+  version = "0.5.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   # Pypi only has binary releases
   src = fetchFromGitHub {
     owner = "ArniDagur";
     repo = "python-adblock";
     rev = version;
-    sha256 = "sha256-JjmMfL24778T6LCuElXsD7cJxQ+RkqbNEnEqwoN24WE=";
+    sha256 = "sha256-f6PmEHVahQv8t+WOkE8DO2emivHG2t14hUSIf/l8omY=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-w+/W4T3ukRHNpCPjhlHZLPn6sgCpz4QHVD8VW+Rw5BI=";
+    hash = "sha256-x0mcykHWhheD2ycELcfR1ZQ/6WfFQzY+L/LmMipP4Rc=";
   };
 
-  format = "pyproject";
-
-  nativeBuildInputs = [ pkg-config ]
-    ++ (with rustPlatform; [ cargoSetupHook maturinBuildHook ]);
+  nativeBuildInputs = [
+    pkg-config
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ]);
 
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation Security ];
+  buildInputs = [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+    CoreFoundation
+    Security
+  ];
 
   PSL_PATH = "${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat";
 
-  checkInputs = [ pytestCheckHook toml ];
+  checkInputs = [
+    pytestCheckHook
+    toml
+  ];
 
   preCheck = ''
     # import from $out instead
@@ -55,12 +67,15 @@ buildPythonPackage rec {
     "tests/test_typestubs.py"
   ];
 
-  pythonImportsCheck = [ "adblock" "adblock.adblock" ];
+  pythonImportsCheck = [
+    "adblock"
+    "adblock.adblock"
+  ];
 
   meta = with lib; {
-    description = "Python wrapper for Brave's adblocking library, which is written in Rust";
+    description = "Python wrapper for Brave's adblocking library";
     homepage = "https://github.com/ArniDagur/python-adblock/";
     maintainers = with maintainers; [ petabyteboy dotlambda ];
-    license = with licenses; [ asl20 mit ];
+    license = with licenses; [ asl20 /* or */ mit ];
   };
 }
diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix
index 98f12d3421223..704315b225ee9 100644
--- a/pkgs/development/python-modules/aiomusiccast/default.nix
+++ b/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiomusiccast";
-  version = "0.14.0";
+  version = "0.14.2";
 
   format = "pyproject";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "vigonotion";
     repo = "aiomusiccast";
     rev = version;
-    sha256 = "sha256-Zb2wwqKXtXlPvfmDNOlTHho9zHFFJOQxqoeqL//Z69M=";
+    sha256 = "sha256-5xIz36FgNwcaesmkYp3EWTxCe/8RaUJOJW9dqK+eang=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/autopep8/default.nix b/pkgs/development/python-modules/autopep8/default.nix
index 737989ac3183c..80c57ef732c21 100644
--- a/pkgs/development/python-modules/autopep8/default.nix
+++ b/pkgs/development/python-modules/autopep8/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "autopep8";
-  version = "1.5.7";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "276ced7e9e3cb22e5d7c14748384a5cf5d9002257c0ed50c0e075b68011bb6d0";
+    sha256 = "44f0932855039d2c15c4510d6df665e4730f2b8582704fa48f9c55bd3e17d979";
   };
 
   propagatedBuildInputs = [ pycodestyle toml ];
diff --git a/pkgs/development/python-modules/bitlist/default.nix b/pkgs/development/python-modules/bitlist/default.nix
index e985dbf28c0f4..f16a0195100e0 100644
--- a/pkgs/development/python-modules/bitlist/default.nix
+++ b/pkgs/development/python-modules/bitlist/default.nix
@@ -8,11 +8,12 @@
 
 buildPythonPackage rec {
   pname = "bitlist";
-  version = "0.5.1";
+  version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bX/Z5FBm21gX4ax/HfqD2bNotZyNFX7dHCEN5uZzQJQ=";
+    sha256 = "sha256-LTrn+PCaqob0EGyyv1V1uCBeDQZvIYE1hNPqi4y/zfc=";
   };
 
   propagatedBuildInputs = [
@@ -24,12 +25,9 @@ buildPythonPackage rec {
     nose
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "parts~=1.0.3" "parts>=1.0.3"
-  '';
-
-  pythonImportsCheck = [ "bitlist" ];
+  pythonImportsCheck = [
+    "bitlist"
+  ];
 
   meta = with lib; {
     description = "Python library for working with little-endian list representation of bit strings";
diff --git a/pkgs/development/python-modules/cssselect2/default.nix b/pkgs/development/python-modules/cssselect2/default.nix
index 25bb35eab2d87..52c1bc4067fbc 100644
--- a/pkgs/development/python-modules/cssselect2/default.nix
+++ b/pkgs/development/python-modules/cssselect2/default.nix
@@ -3,11 +3,7 @@
 , pythonOlder
 , fetchPypi
 , tinycss2
-, pytest
-, pytest-runner
-, pytest-cov
-, pytest-flake8
-, pytest-isort
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -20,9 +16,15 @@ buildPythonPackage rec {
     sha256 = "93fbb9af860e95dd40bf18c3b2b6ed99189a07c0f29ba76f9c5be71344664ec8";
   };
 
+  postPatch = ''
+    sed -i '/^addopts/d' pyproject.toml
+  '';
+
   propagatedBuildInputs = [ tinycss2 ];
 
-  checkInputs = [ pytest pytest-runner pytest-cov pytest-flake8 pytest-isort ];
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "cssselect2" ];
 
   meta = with lib; {
     description = "CSS selectors for Python ElementTree";
diff --git a/pkgs/development/python-modules/fe25519/default.nix b/pkgs/development/python-modules/fe25519/default.nix
index 193d7aa60decd..240b000bbbbb3 100644
--- a/pkgs/development/python-modules/fe25519/default.nix
+++ b/pkgs/development/python-modules/fe25519/default.nix
@@ -11,6 +11,7 @@
 buildPythonPackage rec {
   pname = "fe25519";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -28,7 +29,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "fe25519" ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "bitlist~=0.5.1" "bitlist>=0.5.1" \
+      --replace "parts~=1.1.2" "parts>=1.1.2"
+  '';
+
+  pythonImportsCheck = [
+    "fe25519"
+  ];
 
   meta = with lib; {
     description = "Python field operations for Curve25519's prime";
diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix
index 58e271b10dc54..fc343f71b0ebc 100644
--- a/pkgs/development/python-modules/flux-led/default.nix
+++ b/pkgs/development/python-modules/flux-led/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "flux-led";
-  version = "0.25.10";
+  version = "0.25.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "flux_led";
     rev = version;
-    sha256 = "sha256-WkLwiQNwueksPpuQ5aMBsenKyzUid1fbeOqEDAhfjkA=";
+    sha256 = "sha256-ZWaKk9496AKlQIni+VmnyIda9kn5zQfzmaD76DznQNU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fountains/default.nix b/pkgs/development/python-modules/fountains/default.nix
index aec78779a7a48..7b3e470f08c00 100644
--- a/pkgs/development/python-modules/fountains/default.nix
+++ b/pkgs/development/python-modules/fountains/default.nix
@@ -17,6 +17,11 @@ buildPythonPackage rec {
     bitlist
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "bitlist~=0.5.1" "bitlist>=0.5.1"
+  '';
+
   # Project has no test
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/ge25519/default.nix b/pkgs/development/python-modules/ge25519/default.nix
index 1a00108a8f8fb..62d7e271ba8aa 100644
--- a/pkgs/development/python-modules/ge25519/default.nix
+++ b/pkgs/development/python-modules/ge25519/default.nix
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "ge25519";
   version = "1.0.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
@@ -30,7 +31,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "ge25519" ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "bitlist~=0.5.1" "bitlist>=0.5.1" \
+      --replace "parts~=1.1.2" "parts>=1.1.2"
+  '';
+
+  pythonImportsCheck = [
+    "ge25519"
+  ];
 
   meta = with lib; {
     description = "Python implementation of Ed25519 group elements and operations";
diff --git a/pkgs/development/python-modules/jupytext/default.nix b/pkgs/development/python-modules/jupytext/default.nix
index 89d8c288a7954..08582d6622629 100644
--- a/pkgs/development/python-modules/jupytext/default.nix
+++ b/pkgs/development/python-modules/jupytext/default.nix
@@ -1,23 +1,23 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, pythonOlder
 , GitPython
-, jupyter-packaging
 , jupyter-client
+, jupyter-packaging
 , jupyterlab
 , markdown-it-py
 , mdit-py-plugins
 , nbformat
 , notebook
 , pytestCheckHook
+, pythonOlder
 , pyyaml
 , toml
 }:
 
 buildPythonPackage rec {
   pname = "jupytext";
-  version = "1.11.2";
+  version = "1.13.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -26,10 +26,14 @@ buildPythonPackage rec {
     owner = "mwouts";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-S2SKAC2oT4VIVMMDbu/Puo87noAgnQs1hh88JphutA8=";
+    sha256 = "sha256-S2SKAC2oT4VIVMMDbu/Puo87noAgnQs1hh88JphutA8=";
   };
 
-  buildInputs = [ jupyter-packaging jupyterlab ];
+  buildInputs = [
+    jupyter-packaging
+    jupyterlab
+  ];
+
   propagatedBuildInputs = [
     markdown-it-py
     mdit-py-plugins
@@ -39,16 +43,32 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytestCheckHook
     GitPython
     jupyter-client
     notebook
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # https://github.com/mwouts/jupytext/pull/885
+    substituteInPlace setup.py \
+      --replace "markdown-it-py[plugins]>=1.0.0b3,<2.0.0" "markdown-it-py[plugins]>=1.0"
+  '';
+
+  preCheck = ''
+    # Tests that use a Jupyter notebook require $HOME to be writable
+    export HOME=$(mktemp -d);
+  '';
+
+  pytestFlagsArray = [
+    # Pre-commit tests expect the source directory to be a Git repository
+    "--ignore-glob='tests/test_pre_commit_*.py'"
+  ];
+
+  pythonImportsCheck = [
+    "jupytext"
+    "jupytext.cli"
   ];
-  # Tests that use a Jupyter notebook require $HOME to be writable.
-  HOME = "$TMPDIR";
-  # Pre-commit tests expect the source directory to be a Git repository.
-  pytestFlagsArray = [ "--ignore-glob='tests/test_pre_commit_*.py'" ];
-  pythonImportsCheck = [ "jupytext" "jupytext.cli" ];
 
   meta = with lib; {
     description = "Jupyter notebooks as Markdown documents, Julia, Python or R scripts";
diff --git a/pkgs/development/python-modules/markdown-it-py/default.nix b/pkgs/development/python-modules/markdown-it-py/default.nix
index 8ed57f3ff031c..f056c104e759b 100644
--- a/pkgs/development/python-modules/markdown-it-py/default.nix
+++ b/pkgs/development/python-modules/markdown-it-py/default.nix
@@ -1,19 +1,20 @@
 { lib
+, attrs
 , buildPythonPackage
 , fetchFromGitHub
-, pytestCheckHook
-, pythonOlder
-, attrs
 , linkify-it-py
+, mdurl
 , psutil
 , pytest-benchmark
 , pytest-regressions
+, pytestCheckHook
+, pythonOlder
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "markdown-it-py";
-  version = "1.1.0";
+  version = "2.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,11 +23,16 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0h7rn3rcqfwmnqs97qczwkw9w5g4df8bgn6sw7k149svfqgrkf56";
+    sha256 = "sha256-ahg+aAVpAh07PZ1mfrne0EP9K2J4tb8eLp5XXFpWp00=";
   };
 
-  propagatedBuildInputs = [ attrs linkify-it-py ]
-    ++ lib.optional (pythonOlder "3.8") typing-extensions;
+  propagatedBuildInputs = [
+    attrs
+    linkify-it-py
+    mdurl
+  ] ++ lib.optional (pythonOlder "3.8") [
+    typing-extensions
+  ];
 
   checkInputs = [
     psutil
@@ -34,11 +40,14 @@ buildPythonPackage rec {
     pytest-regressions
     pytestCheckHook
   ];
-  pythonImportsCheck = [ "markdown_it" ];
+
+  pythonImportsCheck = [
+    "markdown_it"
+  ];
 
   meta = with lib; {
-    description = "Markdown parser done right";
-    homepage = "https://markdown-it-py.readthedocs.io/en/latest";
+    description = "Markdown parser in Python";
+    homepage = "https://markdown-it-py.readthedocs.io/";
     changelog = "https://github.com/executablebooks/markdown-it-py/blob/${src.rev}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ bhipple ];
diff --git a/pkgs/development/python-modules/mdformat/default.nix b/pkgs/development/python-modules/mdformat/default.nix
index 101ed2aa13464..02aafd3302a94 100644
--- a/pkgs/development/python-modules/mdformat/default.nix
+++ b/pkgs/development/python-modules/mdformat/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "mdformat";
-  version = "0.7.10";
+  version = "0.7.11";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Zw7ZGV/Hd0MRxxQVwkjtE6MJXNLQ0A0PJlQr4x9h2ww=";
+    sha256 = "sha256-EhMoGSCtlEcm1+1aHn9DhBnLQvolhq62SMF/AdaY1/E=";
   };
 
   nativeBuildInputs = [
@@ -41,7 +41,16 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "mdformat" ];
+  disabledTests = [
+    # AssertionError
+    "test_no_codeblock_trailing_newline"
+    # Issue with upper/lower case
+    "default_style.md-options0"
+  ];
+
+  pythonImportsCheck = [
+    "mdformat"
+  ];
 
   meta = with lib; {
     description = "CommonMark compliant Markdown formatter";
diff --git a/pkgs/development/python-modules/mdit-py-plugins/default.nix b/pkgs/development/python-modules/mdit-py-plugins/default.nix
index 9c5705dbc4083..03a64588f85b7 100644
--- a/pkgs/development/python-modules/mdit-py-plugins/default.nix
+++ b/pkgs/development/python-modules/mdit-py-plugins/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "mdit-py-plugins";
-  version = "0.2.8";
+  version = "0.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -18,13 +18,21 @@ buildPythonPackage rec {
     owner = "executablebooks";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-MXQjaVDuguGbmby6BQnrTdpq6Mih3HabXuyFxf9jB18=";
+    sha256 = "sha256-3zFSTjqwjUV6+fU6falYbIzj/Hp7E/9EXKZIi00tkg4=";
   };
 
-  propagatedBuildInputs = [ markdown-it-py ];
+  propagatedBuildInputs = [
+    markdown-it-py
+  ];
 
-  checkInputs = [ pytestCheckHook pytest-regressions ];
-  pythonImportsCheck = [ "mdit_py_plugins" ];
+  checkInputs = [
+    pytestCheckHook
+    pytest-regressions
+  ];
+
+  pythonImportsCheck = [
+    "mdit_py_plugins"
+  ];
 
   meta = with lib; {
     description = "Collection of core plugins for markdown-it-py";
diff --git a/pkgs/development/python-modules/mdurl/default.nix b/pkgs/development/python-modules/mdurl/default.nix
new file mode 100644
index 0000000000000..37b3e9ad56ac5
--- /dev/null
+++ b/pkgs/development/python-modules/mdurl/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flit-core
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "mdurl";
+  version = "0.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "hukkin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-AVklWFc4o5R9OzS9BYauuOaxm89P/Ih5l3Vrb2P0El4=";
+  };
+
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "mdurl"
+  ];
+
+  meta = with lib; {
+    description = "URL utilities for markdown-it";
+    homepage = "https://github.com/hukkin/mdurl";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/myfitnesspal/default.nix b/pkgs/development/python-modules/myfitnesspal/default.nix
index 35d1c70a23a7d..923f639feb96f 100644
--- a/pkgs/development/python-modules/myfitnesspal/default.nix
+++ b/pkgs/development/python-modules/myfitnesspal/default.nix
@@ -1,34 +1,67 @@
-{ lib, fetchPypi, buildPythonPackage
-, blessed, keyring, keyrings-alt, lxml, measurement, python-dateutil, requests, six, rich
-, pytestCheckHook, mock, nose }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, blessed
+, keyring
+, keyrings-alt
+, lxml
+, measurement
+, python-dateutil
+, requests
+, six
+, rich
+, pytestCheckHook
+, mock
+, nose
+}:
 
 # TODO: Define this package in "all-packages.nix" using "toPythonApplication".
 # This currently errors out, complaining about not being able to find "etree" from "lxml" even though "lxml" is defined in "propagatedBuildInputs".
 
 buildPythonPackage rec {
   pname = "myfitnesspal";
-  version = "1.16.4";
+  version = "1.16.5";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "44b31623fd71fedd891c3f66be3bc1caa6f1caf88076a75236ab74f8807f6ae5";
+    sha256 = "sha256-v7lYaZLHxQs3/2uJnj+9y0xCXfPO1C38jLwzF7IMbb0=";
   };
 
-  # Remove overly restrictive version constraints
+  propagatedBuildInputs = [
+    blessed
+    keyring
+    keyrings-alt
+    lxml
+    measurement
+    python-dateutil
+    requests
+    six
+    rich
+  ];
+
+  checkInputs = [
+    mock
+    nose
+    pytestCheckHook
+  ];
+
   postPatch = ''
-    sed -i 's/keyring>=.*/keyring/' requirements.txt
-    sed -i 's/keyrings.alt>=.*/keyrings.alt/' requirements.txt
-    sed -i 's/rich>=.*/rich/' requirements.txt
+    # Remove overly restrictive version constraints
+    sed -i -e "s/>=.*//" requirements.txt
   '';
 
-  propagatedBuildInputs = [ blessed keyring keyrings-alt lxml measurement python-dateutil requests six rich ];
+  disabledTests = [
+    # Integration tests require an account to be set
+    "test_integration"
+  ];
 
-  # Integration tests require an account to be set
-  disabledTests = [ "test_integration" ];
-  checkInputs = [ pytestCheckHook mock nose ];
+  pythonImportsCheck = [
+    "myfitnesspal"
+  ];
 
   meta = with lib; {
-    description = "Access your meal tracking data stored in MyFitnessPal programatically";
+    description = "Python module to access meal tracking data stored in MyFitnessPal";
     homepage = "https://github.com/coddingtonbear/python-myfitnesspal";
     license = licenses.mit;
     maintainers = with maintainers; [ bhipple ];
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index d17ad5884f371..42b9bfe382af8 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -73,6 +73,12 @@ buildPythonPackage rec {
     "test_checkpoints_follow_file"
   ];
 
+  disabledTestPaths = lib.optionals stdenv.isDarwin [
+    # requires local networking
+    "notebook/auth/tests/test_login.py"
+    "notebook/bundler/tests/test_bundler_api.py"
+  ];
+
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
diff --git a/pkgs/development/python-modules/parts/default.nix b/pkgs/development/python-modules/parts/default.nix
index c615fe5a03071..664ce66ac6d54 100644
--- a/pkgs/development/python-modules/parts/default.nix
+++ b/pkgs/development/python-modules/parts/default.nix
@@ -5,16 +5,20 @@
 
 buildPythonPackage rec {
   pname = "parts";
-  version = "1.1.2";
+  version = "1.2.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2212129476f6d285c3aaab309b80b83664d13dca5a42c5ca3500bd32130af7ec";
+    sha256 = "sha256-sfeh6KdprW40ZgfItm9oojDlrI4X29+O7pzfafIawB0=";
   };
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "parts" ];
+
+  pythonImportsCheck = [
+    "parts"
+  ];
 
   meta = with lib; {
     description = "Python library for common list functions related to partitioning lists";
diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix
index 0bdde93a159dd..7e961b8a233d4 100644
--- a/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -18,14 +18,14 @@
 
 buildPythonPackage rec {
   pname = "qcs-api-client";
-  version = "0.20.4";
+  version = "0.20.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bw/NvB4YkdAfm8YyWlLPC4Z0GH9Ez9M9yIjgubiyskw=";
+    sha256 = "sha256-nSkCARZk6K5JMgiXunRBrb3pn5Ti6f493OOFzJYaW0M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index f389ebb4578e4..193db8bacb761 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -676,11 +676,5 @@ in
 
   zookeeper = attrs: {
     buildInputs = lib.optionals stdenv.isDarwin [ cctools ];
-    dontBuild = false;
-    postPatch = ''
-      sed -i ext/extconf.rb -e "4a \
-        FileUtils.cp '${./zookeeper-ftbfs-with-gcc-8.patch}', 'patches/zkc-3.4.5-gcc-8.patch'
-      "
-    '';
   };
 }
diff --git a/pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch b/pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch
deleted file mode 100644
index badb76ccfd203..0000000000000
--- a/pkgs/development/ruby-modules/gem-config/zookeeper-ftbfs-with-gcc-8.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- zkc-3.4.5/c/src/zookeeper.c 2019-09-13 12:05:20.647034862 +0200
-+++ zkc-3.4.5/c/src/zookeeper.c 2019-09-13 12:05:49.125360269 +0200
-@@ -3418,7 +3418,7 @@
- 
- static const char* format_endpoint_info(const struct sockaddr_storage* ep)
- {
--    static char buf[128];
-+    static char buf[128 + 6]; // include space for the port :xxxxxx
-     char addrstr[128];
-     void *inaddr;
- #ifdef WIN32
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index a1c7265e05dd5..1b627376aca02 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -31,12 +31,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "frama-c";
-  version = "23.1";
-  slang   = "Vanadium";
+  version = "24.0";
+  slang   = "Chromium";
 
   src = fetchurl {
     url    = "https://frama-c.com/download/frama-c-${version}-${slang}.tar.gz";
-    sha256 = "1rgkq9sg436smw005ag0j6y3xryhjn18a07m5wjfrfp0s1438nnj";
+    sha256 = "sha256:0x1xgip50jdz1phsb9rzwf2ra8lshn1hmd9g967xia402wrg3sjf";
   };
 
   preConfigure = lib.optionalString stdenv.cc.isClang "configureFlagsArray=(\"--with-cpp=clang -E -C\")";
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
new file mode 100644
index 0000000000000..6090bc1d75b7c
--- /dev/null
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "clickhouse-backup";
+  version = "1.2.2";
+
+  src = fetchFromGitHub {
+    owner = "AlexAkulov";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-ThN1uvofIvV5Dt6dqxLpekTRy9pV4xb0bkVNRcfNJ2c=";
+  };
+
+  vendorSha256 = "sha256-OQGpWWerUv2asjpjMLAkgeb0Q+lMAsDXjFCh0I4ze20=";
+
+  postConfigure = ''
+    export CGO_ENABLED=0
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/AlexAkulov/clickhouse-backup";
+    description = "Tool for easy ClickHouse backup and restore with cloud storages support";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ma27 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index ac62b9171f4af..3cb0497ee0c40 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.9.1";
+  version = "3.9.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-DKlKEnvhrdq3pdkSG6muQecsTZYFwRv3w4uptRwuLb4=";
+    sha256 = "sha256-nlIgX7TV3bWi8vaYQ9kXmNzGlVLgRUDNkNApwrAw3EQ=";
   };
 
-  vendorSha256 = "sha256-DI9N2PX8vvMombx2HfaciACmdM5u+rJLoekg72VGYyI=";
+  vendorSha256 = "sha256-Dmn3LJ+TBO/F3N5lgrNXXrFJ5KTp6r45ZwU11LxvQSg=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/pgformatter/default.nix b/pkgs/development/tools/pgformatter/default.nix
index 6c0465c1cf356..16ef0a99390eb 100644
--- a/pkgs/development/tools/pgformatter/default.nix
+++ b/pkgs/development/tools/pgformatter/default.nix
@@ -2,13 +2,13 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "pgformatter";
-  version = "5.1";
+  version = "5.2";
 
   src = fetchFromGitHub {
     owner = "darold";
     repo = "pgFormatter";
     rev = "v${version}";
-    sha256 = "1a6rmph96s7c8lpmpkizcvdf0x4jlsr5iqi7qjprxqsf6zak2rfg";
+    sha256 = "sha256-NNdg3H+tB5ovKWGneOs496c0b2dv/zFYF4CZhuH07Fs=";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/development/tools/taplo-cli/default.nix b/pkgs/development/tools/taplo-cli/default.nix
index e35613d659144..e19de1c3cdf1f 100644
--- a/pkgs/development/tools/taplo-cli/default.nix
+++ b/pkgs/development/tools/taplo-cli/default.nix
@@ -1,15 +1,15 @@
-{ fetchCrate, lib, openssl, pkg-config, rustPlatform, stdenv, Security }:
+{ lib, rustPlatform, fetchCrate, stdenv, pkg-config, openssl, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "taplo-cli";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-bGQLAANVahpiiiKKJPNmtr4uT5iKHqyLS5yVm+rSHPg=";
+    sha256 = "sha256-+0smR1FDeJMSa/LaRM2M53updt5p8717DEaFItNXCdM=";
   };
 
-  cargoSha256 = "sha256-T3fbG5HKOG90kawjQK8D0PIonB6ErNfR3hVIZ5N8zgA=";
+  cargoSha256 = "sha256-d7mysGYR72shXwvmDXr0oftSa+RtRoSbP++HBR40Mus=";
 
   nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
 
diff --git a/pkgs/os-specific/linux/amdgpu-pro/default.nix b/pkgs/os-specific/linux/amdgpu-pro/default.nix
index 736f5ca6bc9de..0f65d1c0c484b 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/default.nix
+++ b/pkgs/os-specific/linux/amdgpu-pro/default.nix
@@ -173,7 +173,7 @@ in stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "AMDGPU-PRO drivers";
-    homepage =  "http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Beta-Driver-for-Vulkan-Release-Notes.aspx";
+    homepage =  "https://www.amd.com/en/support";
     license = licenses.unfree;
     platforms = platforms.linux;
     maintainers = with maintainers; [ corngood ];
diff --git a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
index 98cfa68e0313f..d24089fa93228 100644
--- a/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/sof-firmware/default.nix
@@ -5,20 +5,20 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "sof-firmware";
-  version = "1.9";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "thesofproject";
     repo = "sof-bin";
     rev = "v${version}";
-    sha256 = "sha256-yife3gO8lXOGwRye213II9rCQqDic7B7w1xW1o7ajF8=";
+    sha256 = "sha256-aEoLlP34rorllCdTneATlCHnmhJD/VABV9Uv4dDmShA=";
   };
 
   dontFixup = true; # binaries must not be stripped or patchelfed
 
   installPhase = ''
     runHook preInstall
-    cd "v${version}.x"
+    cd "v${lib.versions.majorMinor version}.x"
     mkdir -p $out/lib/firmware/intel/
     cp -a sof-v${version} $out/lib/firmware/intel/sof
     cp -a sof-tplg-v${version} $out/lib/firmware/intel/sof-tplg
diff --git a/pkgs/os-specific/linux/sgx-sdk/default.nix b/pkgs/os-specific/linux/sgx-sdk/default.nix
index 130fd12cbb913..cb9d140e4edd1 100644
--- a/pkgs/os-specific/linux/sgx-sdk/default.nix
+++ b/pkgs/os-specific/linux/sgx-sdk/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
-, fetchpatch
-, fetchurl
+, fetchzip
 , fetchFromGitHub
 , callPackage
 , autoconf
@@ -9,69 +8,86 @@
 , binutils
 , cmake
 , file
+, gdb
 , git
 , libtool
 , nasm
-, ncurses
 , ocaml
 , ocamlPackages
 , openssl
 , perl
 , python3
 , texinfo
-, which
+, validatePkgConfig
 , writeShellScript
+, writeText
 }:
-
+with lib;
 stdenv.mkDerivation rec {
   pname = "sgx-sdk";
-  version = "2.14";
+  version = "2.14.100.2";
+
+  versionTag = concatStringsSep "." (take 2 (splitVersion version));
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "linux-sgx";
-    rev = "0cea078f17a24fb807e706409972d77f7a958db9";
-    sha256 = "1cr2mkk459s270ng0yddgcryi0zc3dfmg9rmdrdh9mhy2mc1kx0g";
+    rev = "sgx_${versionTag}";
+    hash = "sha256-D/QZWBUe1gRbbjWnV10b7IPoM3utefAsOEKnQuasIrM=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    (fetchpatch {
-      name = "replace-bin-cp-with-cp.patch";
-      url = "https://github.com/intel/linux-sgx/commit/e0db5291d46d1c124980719d63829d65f89cf2c7.patch";
-      sha256 = "0xwlpm1r4rl4anfhjkr6fgz0gcyhr0ng46fv8iw9hfsh891yqb7z";
-    })
-    (fetchpatch {
-      name = "sgx_ippcp.h.patch";
-      url = "https://github.com/intel/linux-sgx/commit/e5929083f8161a8e7404afc0577936003fbb9d0b.patch";
-      sha256 = "12bgs9rxlq82hn5prl9qz2r4mwypink8hzdz4cki4k4cmkw961f5";
-    })
-  ];
+  postUnpack =
+    let
+      optlibName = "optimized_libs_${versionTag}.tar.gz";
+      optimizedLibs = fetchzip {
+        url = "https://download.01.org/intel-sgx/sgx-linux/${versionTag}/${optlibName}";
+        hash = "sha256-FjNhNV9+KDMvBYdWXZbua6qYOc3Z1/jtcF4j52TSxQY=";
+        stripRoot = false;
+      };
+      sgxIPPCryptoHeader = "${optimizedLibs}/external/ippcp_internal/inc/sgx_ippcp.h";
+    in
+    ''
+      # Make sure this is the right version of linux-sgx
+      grep -q '"${version}"' "$src/common/inc/internal/se_version.h" \
+        || (echo "Could not find expected version ${version} in linux-sgx source" >&2 && exit 1)
+
+      # Make sure we use the correct version to build IPP Crypto
+      grep -q 'optlib_name=${optlibName}' "$src/download_prebuilt.sh" \
+        || (echo "Could not find expected optimized libs ${optlibName} in linux-sgx source" >&2 && exit 1)
+
+      # Add missing sgx_ippcp.h: https://github.com/intel/linux-sgx/pull/752
+      ln -s ${sgxIPPCryptoHeader} "$sourceRoot/external/ippcp_internal/inc/sgx_ippcp.h"
+    '';
+
   postPatch = ''
-    patchShebangs ./linux/installer/bin/build-installpkg.sh \
-      ./linux/installer/common/sdk/createTarball.sh \
-      ./linux/installer/common/sdk/install.sh
+    # https://github.com/intel/linux-sgx/pull/730
+    substituteInPlace buildenv.mk --replace '/bin/cp' 'cp'
+
+    patchShebangs linux/installer/bin/build-installpkg.sh \
+      linux/installer/common/sdk/createTarball.sh \
+      linux/installer/common/sdk/install.sh
   '';
 
-  dontConfigure = true;
+  # We need `cmake` as a build input but don't use it to kick off the build phase
+  dontUseCmakeConfigure = true;
 
   # SDK built with stackprotector produces broken enclaves which crash at runtime.
   # Disable all to be safe, SDK build configures compiler mitigations manually.
   hardeningDisable = [ "all" ];
 
   nativeBuildInputs = [
+    autoconf
+    automake
     cmake
+    file
     git
     ocaml
     ocamlPackages.ocamlbuild
     perl
     python3
     texinfo
-    nasm
-    file
-    ncurses
-    autoconf
-    automake
+    validatePkgConfig
   ];
 
   buildInputs = [
@@ -84,75 +100,174 @@ stdenv.mkDerivation rec {
   # Build external/ippcp_internal first. The Makefile is rewritten to make the
   # build faster by splitting different versions of ipp-crypto builds and to
   # avoid patching the Makefile for reproducibility issues.
-  buildPhase = let
-    ipp-crypto-no_mitigation = callPackage (import ./ipp-crypto.nix) {};
+  preBuild =
+    let
+      ipp-crypto-no_mitigation = callPackage ./ipp-crypto.nix { };
 
-    sgx-asm-pp = "python ${src}/build-scripts/sgx-asm-pp.py --assembler=nasm";
+      sgx-asm-pp = "python ${src}/build-scripts/sgx-asm-pp.py --assembler=nasm";
 
-    nasm-load = writeShellScript "nasm-load" "${sgx-asm-pp} --MITIGATION-CVE-2020-0551=LOAD $@";
-    ipp-crypto-cve_2020_0551_load = callPackage (import ./ipp-crypto.nix) {
-      extraCmakeFlags = [ "-DCMAKE_ASM_NASM_COMPILER=${nasm-load}" ];
-    };
+      nasm-load = writeShellScript "nasm-load" "${sgx-asm-pp} --MITIGATION-CVE-2020-0551=LOAD $@";
+      ipp-crypto-cve_2020_0551_load = callPackage ./ipp-crypto.nix {
+        extraCmakeFlags = [ "-DCMAKE_ASM_NASM_COMPILER=${nasm-load}" ];
+      };
 
-    nasm-cf = writeShellScript "nasm-cf" "${sgx-asm-pp} --MITIGATION-CVE-2020-0551=CF $@";
-    ipp-crypto-cve_2020_0551_cf = callPackage (import ./ipp-crypto.nix) {
-      extraCmakeFlags = [ "-DCMAKE_ASM_NASM_COMPILER=${nasm-cf}" ];
-    };
-  in ''
-    cd external/ippcp_internal
+      nasm-cf = writeShellScript "nasm-cf" "${sgx-asm-pp} --MITIGATION-CVE-2020-0551=CF $@";
+      ipp-crypto-cve_2020_0551_cf = callPackage ./ipp-crypto.nix {
+        extraCmakeFlags = [ "-DCMAKE_ASM_NASM_COMPILER=${nasm-cf}" ];
+      };
+    in
+    ''
+      header "Setting up IPP crypto build artifacts"
 
-    mkdir -p lib/linux/intel64/no_mitigation
-    cp ${ipp-crypto-no_mitigation}/lib/intel64/libippcp.a lib/linux/intel64/no_mitigation
-    chmod a+w lib/linux/intel64/no_mitigation/libippcp.a
-    cp ${ipp-crypto-no_mitigation}/include/* ./inc
+      pushd 'external/ippcp_internal'
 
-    mkdir -p lib/linux/intel64/cve_2020_0551_load
-    cp ${ipp-crypto-cve_2020_0551_load}/lib/intel64/libippcp.a lib/linux/intel64/cve_2020_0551_load
-    chmod a+w lib/linux/intel64/cve_2020_0551_load/libippcp.a
+      install ${ipp-crypto-no_mitigation}/include/* inc/
 
-    mkdir -p lib/linux/intel64/cve_2020_0551_cf
-    cp ${ipp-crypto-cve_2020_0551_cf}/lib/intel64/libippcp.a lib/linux/intel64/cve_2020_0551_cf
-    chmod a+w lib/linux/intel64/cve_2020_0551_cf/libippcp.a
+      install -D -m a+rw ${ipp-crypto-no_mitigation}/lib/intel64/libippcp.a \
+        lib/linux/intel64/no_mitigation/libippcp.a
+      install -D -m a+rw ${ipp-crypto-cve_2020_0551_load}/lib/intel64/libippcp.a \
+        lib/linux/intel64/cve_2020_0551_load/libippcp.a
+      install -D -m a+rw ${ipp-crypto-cve_2020_0551_cf}/lib/intel64/libippcp.a \
+        lib/linux/intel64/cve_2020_0551_cf/libippcp.a
 
-    rm -f ./inc/ippcp.h
-    patch ${ipp-crypto-no_mitigation}/include/ippcp.h -i ./inc/ippcp20u3.patch -o ./inc/ippcp.h
+      rm inc/ippcp.h
+      patch ${ipp-crypto-no_mitigation}/include/ippcp.h -i inc/ippcp20u3.patch -o inc/ippcp.h
 
-    mkdir -p license
-    cp ${ipp-crypto-no_mitigation.src}/LICENSE ./license
+      install -D ${ipp-crypto-no_mitigation.src}/LICENSE license/LICENSE
 
-    # Build the SDK installation package.
-    cd ../..
+      popd
+    '';
 
-    # Nix patches make so that $(SHELL) defaults to "sh" instead of "/bin/sh".
-    # The build uses $(SHELL) as an argument to file -L which requires a path.
-    make SHELL=$SHELL sdk_install_pkg
+  buildFlags = [
+    "sdk_install_pkg"
+  ];
 
-    runHook postBuild
-  '';
+  enableParallelBuilding = true;
 
   postBuild = ''
-    patchShebangs ./linux/installer/bin/sgx_linux_x64_sdk_*.bin
+    patchShebangs linux/installer/bin/sgx_linux_x64_sdk_${version}.bin
   '';
 
   installPhase = ''
-    echo -e 'no\n'$out | ./linux/installer/bin/sgx_linux_x64_sdk_*.bin
+    runHook preInstall
+
+    installDir=$TMPDIR
+    ./linux/installer/bin/sgx_linux_x64_sdk_${version}.bin -prefix $installDir
+    installDir=$installDir/sgxsdk
+
+    header "Move files created by installer"
+
+    mkdir -p $out/bin
+    pushd $out
+
+    mv $installDir/bin/sgx-gdb $out/bin
+    mkdir $out/bin/x64
+    for file in $installDir/bin/x64/*; do
+      mv $file bin/
+      ln -sr bin/$(basename $file) bin/x64/
+    done
+    rmdir $installDir/bin/{x64,}
+
+    # Move `lib64` to `lib` and symlink `lib64`
+    mv $installDir/lib64 lib
+    ln -s lib/ lib64
+
+    mv $installDir/include/ .
+
+    mkdir -p share/
+    mv $installDir/{SampleCode,licenses} share/
+
+    mkdir -p share/bin
+    mv $installDir/{environment,buildenv.mk} share/bin/
+    ln -s share/bin/{environment,buildenv.mk} .
+
+    # pkgconfig should go to lib/
+    mv $installDir/pkgconfig lib/
+    ln -s lib/pkgconfig/ .
+
+    # Also create the `sdk_libs` for compat. All the files
+    # link to libraries in `lib64/`, we shouldn't link the entire
+    # directory, however, as there seems to be some ambiguity between
+    # SDK and PSW libraries.
+    mkdir sdk_libs/
+    for file in $installDir/sdk_libs/*; do
+      ln -sr lib/$(basename $file) sdk_libs/
+      rm $file
+    done
+    rmdir $installDir/sdk_libs
+
+    # No uninstall script required
+    rm $installDir/uninstall.sh
+
+    # Create an `sgxsdk` symlink which points to `$out` for compat
+    ln -sr . sgxsdk
+
+    # Make sure we didn't forget any files
+    rmdir $installDir || (echo "Error: The directory $installDir still contains unhandled files: $(ls -A $installDir)" >&2 && exit 1)
+
+    popd
+
+    runHook postInstall
   '';
 
-  dontFixup = true;
+
+  preFixup = ''
+    header "Strip sgxsdk prefix"
+    for path in "$out/share/bin/environment" "$out/bin/sgx-gdb"; do
+      substituteInPlace $path --replace "$TMPDIR/sgxsdk" "$out"
+    done
+
+    header "Fixing pkg-config files"
+    sed -i "s|prefix=.*|prefix=$out|g" $out/lib/pkgconfig/*.pc
+
+    header "Fixing SGX_SDK default in samples"
+    substituteInPlace $out/share/SampleCode/LocalAttestation/buildenv.mk \
+      --replace '/opt/intel/sgxsdk' "$out"
+    for file in $out/share/SampleCode/*/Makefile; do
+      substituteInPlace $file \
+        --replace '/opt/intel/sgxsdk' "$out" \
+        --replace '$(SGX_SDK)/buildenv.mk' "$out/share/bin/buildenv.mk"
+    done
+
+    header "Fixing BINUTILS_DIR in buildenv.mk"
+    substituteInPlace $out/share/bin/buildenv.mk \
+      --replace 'BINUTILS_DIR ?= /usr/local/bin' \
+                'BINUTILS_DIR ?= ${BINUTILS_DIR}'
+
+    header "Fixing GDB path in bin/sgx-gdb"
+    substituteInPlace $out/bin/sgx-gdb --replace '/usr/local/bin/gdb' '${gdb}/bin/gdb'
+  '';
 
   doInstallCheck = true;
-  installCheckInputs = [ which ];
+
   installCheckPhase = ''
-    source $out/sgxsdk/environment
-    cd SampleCode/SampleEnclave
-    make SGX_MODE=SGX_SIM
-    ./app
+    runHook preInstallCheck
+
+    # Make sure all symlinks are valid
+    output=$(find "$out" -type l -exec test ! -e {} \; -print)
+    if [[ -n "$output" ]]; then
+      echo "Broken symlinks:"
+      echo "$output"
+      exit 1
+    fi
+
+    runHook postInstallCheck
   '';
 
-  meta = with lib; {
+  setupHook = writeText "setup-hook.sh" ''
+    sgxsdk() {
+        export SGX_SDK=@out@
+    }
+
+    postHooks+=(sgxsdk)
+  '';
+
+  passthru.tests = callPackage ./samples.nix { };
+
+  meta = {
     description = "Intel SGX SDK for Linux built with IPP Crypto Library";
     homepage = "https://github.com/intel/linux-sgx";
-    maintainers = with maintainers; [ sbellem arturcygan ];
+    maintainers = with maintainers; [ sbellem arturcygan veehaitch ];
     platforms = [ "x86_64-linux" ];
     license = with licenses; [ bsd3 ];
   };
diff --git a/pkgs/os-specific/linux/sgx-sdk/ipp-crypto.nix b/pkgs/os-specific/linux/sgx-sdk/ipp-crypto.nix
index 52cef4f82815b..ac5fd2ad1ccc6 100644
--- a/pkgs/os-specific/linux/sgx-sdk/ipp-crypto.nix
+++ b/pkgs/os-specific/linux/sgx-sdk/ipp-crypto.nix
@@ -4,7 +4,7 @@
 , cmake
 , python3
 , nasm
-, extraCmakeFlags ? []
+, extraCmakeFlags ? [ ]
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/os-specific/linux/sgx-sdk/samples.nix b/pkgs/os-specific/linux/sgx-sdk/samples.nix
new file mode 100644
index 0000000000000..82dbc24568efd
--- /dev/null
+++ b/pkgs/os-specific/linux/sgx-sdk/samples.nix
@@ -0,0 +1,57 @@
+{ stdenv
+, sgx-sdk
+, which
+}:
+let
+  buildSample = name: stdenv.mkDerivation rec {
+    inherit name;
+
+    src = sgx-sdk.out;
+    sourceRoot = "${sgx-sdk.name}/share/SampleCode/${name}";
+
+    buildInputs = [
+      sgx-sdk
+    ];
+    enableParallelBuilding = true;
+    buildFlags = [
+      "SGX_MODE=SIM"
+    ];
+
+    installPhase = ''
+      mkdir $out
+      install -m 755 app $out/app
+      install *.so $out/
+    '';
+
+    doInstallCheck = true;
+    installCheckInputs = [ which ];
+    installCheckPhase = ''
+      pushd $out
+      ./app
+      popd
+    '';
+  };
+in
+{
+  cxx11SGXDemo = buildSample "Cxx11SGXDemo";
+  localAttestation = (buildSample "LocalAttestation").overrideAttrs (oldAttrs: {
+    installPhase = ''
+      mkdir $out
+      cp -r bin/. $out/
+    '';
+  });
+  powerTransition = (buildSample "PowerTransition").overrideAttrs (oldAttrs: {
+    # Requires interaction
+    doInstallCheck = false;
+  });
+  remoteAttestation = (buildSample "RemoteAttestation").overrideAttrs (oldAttrs: {
+    dontFixup = true;
+    installCheckPhase = ''
+      echo "a" | LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/sample_libcrypto ./app
+    '';
+  });
+  sampleEnclave = buildSample "SampleEnclave";
+  sampleEnclavePCL = buildSample "SampleEnclavePCL";
+  sealUnseal = buildSample "SealUnseal";
+  switchless = buildSample "Switchless";
+}
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 564fbca37ba8e..2c51e8c36d8d0 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, kernel, installShellFiles
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, kernel, installShellFiles
 , luajit, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc
 }:
 
@@ -14,6 +14,19 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-lYjMvxMIReANNwMr62u881Nugrs9piOaN3EmrvGzRns=";
   };
 
+  patches = [
+    # Fix pending upstream inclusion for ncurses-6.3 support:
+    #  https://github.com/draios/sysdig/pull/1810
+    (fetchpatch {
+      name = "ncurses-6.3.patch";
+      url = "https://github.com/draios/sysdig/commit/1e37fffe0337b8f8f8e0b5345db2f8631851c209.patch";
+      sha256 = "sha256-T+yC6iXQ3MY+ub0c+Hv+cC18PV8YlAOKB6YB1Hdm7Yc=";
+      # change 'a/userspace/sinspui' for 'a/userspace/libsinsp' to follow upstream rename.
+      stripLen = 3;
+      extraPrefix = "userspace/libsinsp/";
+    })
+  ];
+
   nativeBuildInputs = [ cmake perl installShellFiles ];
   buildInputs = [
     luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb protobuf grpc
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 802948474bc3f..97c92fe0ec33c 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGo117Module rec {
   pname = "grafana";
-  version = "8.2.5";
+  version = "8.3.0";
 
   excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)";
 
@@ -10,15 +10,15 @@ buildGo117Module rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-Bi4z8HqKUeVOxbkKXazNIzFBFy7lW0T27ROVC6enrZE=";
+    sha256 = "sha256-I+jfWHkTm11qIm6CdDFOFHs/qR9pswbjAdfejkxZnrQ=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-ngQA8580rvH3C04TfuIsdiStbvk7/HRDDtS04gR92M4=";
+    sha256 = "sha256-o8uw9VRuK93IbZgcZmFmZ2zbgKdryGbeaPAlQr8wJXw=";
   };
 
-  vendorSha256 = "sha256-adWWL2shdsp1hGxhYvxBbr1YFM89Ym1J0kBNGUrj6vc=";
+  vendorSha256 = "sha256-aS9yz0JODZtichaIkiBJLiMjbjGY93eSYwuactbRqOY=";
 
   nativeBuildInputs = [ wire ];
 
@@ -26,19 +26,14 @@ buildGo117Module rec {
     # Generate DI code that's required to compile the package.
     # From https://github.com/grafana/grafana/blob/v8.2.3/Makefile#L33-L35
     wire gen -tags oss ./pkg/server
+    wire gen -tags oss ./pkg/cmd/grafana-cli/runner
 
     # The testcase makes an API call against grafana.com:
     #
-    # --- Expected
-    # +++ Actual
-    # @@ -1,4 +1,4 @@
-    #  (map[string]interface {}) (len=2) {
-    # - (string) (len=5) "error": (string) (len=16) "plugin not found",
-    # - (string) (len=7) "message": (string) (len=16) "Plugin not found"
-    # + (string) (len=5) "error": (string) (len=171) "Failed to send request: Get \"https://grafana.com/api/plugins/repo/test\": dial tcp: lookup grafana.com on [::1]:53: read udp [::1]:48019->[::1]:53: read: connection refused",
-    # + (string) (len=7) "message": (string) (len=24) "Failed to install plugin"
-    #  }
-    sed -i -e '/func TestPluginInstallAccess/a t.Skip();' pkg/tests/api/plugins/api_install_test.go
+    # [...]
+    # grafana> t=2021-12-02T14:24:58+0000 lvl=dbug msg="Failed to get latest.json repo from github.com" logger=update.checker error="Get \"https://raw.githubusercontent.com/grafana/grafana/main/latest.json\": dial tcp: lookup raw.githubusercontent.com on [::1]:53: read udp [::1]:36391->[::1]:53: read: connection refused"
+    # grafana> t=2021-12-02T14:24:58+0000 lvl=dbug msg="Failed to get plugins repo from grafana.com" logger=plugin.manager error="Get \"https://grafana.com/api/plugins/versioncheck?slugIn=&grafanaVersion=\": dial tcp: lookup grafana.com on [::1]:53: read udp [::1]:41796->[::1]:53: read: connection refused"
+    sed -i -e '/Request is not forbidden if from an admin/a t.Skip();' pkg/tests/api/plugins/api_plugins_test.go
 
     # Skip a flaky test (https://github.com/NixOS/nixpkgs/pull/126928#issuecomment-861424128)
     sed -i -e '/it should change folder successfully and return correct result/{N;s/$/\nt.Skip();/}'\
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 348ffa0e37e01..5490b29090e06 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -54,6 +54,11 @@ in {
     version = "22.2.3";
     sha256 = "sha256-ZqKaakkHOMCr7bZ3y2jHyR+rqz5kGaPJnYtAaJnrlCo=";
   };
+
+  nextcloud23 = generic {
+    version = "23.0.0";
+    sha256 = "sha256-w3WSq8O2XI/ShFkoGiT0FLh69S/IwuqXm+P5vnXQGiw=";
+  };
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
 }
diff --git a/pkgs/servers/piping-server-rust/default.nix b/pkgs/servers/piping-server-rust/default.nix
index 4f231137bf547..1108116af1d35 100644
--- a/pkgs/servers/piping-server-rust/default.nix
+++ b/pkgs/servers/piping-server-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "piping-server-rust";
-  version = "0.10.1";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "nwtgck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7L5YNpQXJQoB/VR/x1HtPfB0F/K0IWcJUb4/wE39Zp0=";
+    sha256 = "sha256-3EDUG9W4WzYk/bjUFIQ7Ho0KR6aMykhyTnWR/+VNxz8=";
   };
 
-  cargoSha256 = "sha256-t7TJx12CBauWW+1EZ80ouDO4p+0R5jLMaGc/YaPnYRc=";
+  cargoSha256 = "sha256-8xUhYyjc4560PowCRwYeZMUJLhZFTHcMRLe/iQAwaWE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
diff --git a/pkgs/servers/rtsp-simple-server/default.nix b/pkgs/servers/rtsp-simple-server/default.nix
index e6605fb6ce261..7be9b53fb9f3d 100644
--- a/pkgs/servers/rtsp-simple-server/default.nix
+++ b/pkgs/servers/rtsp-simple-server/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rtsp-simple-server";
-  version = "0.17.3";
+  version = "0.17.8";
 
   src = fetchFromGitHub {
     owner = "aler9";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9V6yblRnOAZBYuGChjeDyOTWjCCVhdFxljSndEr7GdY=";
+    hash = "sha256-wjF7XTiUw5lPSmNiHvqUz4ZswpzLBoYF9S25dL8VPMU=";
   };
 
-  vendorSha256 = "sha256-lFyRMoI+frzAa7sL8wIzUgzJRrCQjt9Ri8T9pHIpoug=";
+  vendorSha256 = "sha256-rntfePkwNGnyPjIzjLJhBYLTcndHP605Ah/xPcM6sRo=";
 
   # Tests need docker
   doCheck = false;
diff --git a/pkgs/tools/admin/scaleway-cli/default.nix b/pkgs/tools/admin/scaleway-cli/default.nix
index 2a8f0d1f1148f..2576208e8d221 100644
--- a/pkgs/tools/admin/scaleway-cli/default.nix
+++ b/pkgs/tools/admin/scaleway-cli/default.nix
@@ -1,18 +1,21 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "scaleway-cli";
-  version = "1.20";
-
-  goPackagePath = "github.com/scaleway/scaleway-cli";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "scaleway";
     repo = "scaleway-cli";
     rev = "v${version}";
-    sha256 = "14likzp3hl04nq9nmpmh9m5zqjyspy5cyk20dkh03c1nhkd4vcnx";
+    sha256 = "yYzcziEKPSiMvw9LWd60MkHmYFAvN7Qza6Z117NOOv0=";
   };
 
+  vendorSha256 = "0V9sHi/E095txnfF8YFW5O7o0e1H3sdn3tw5LqB92tI=";
+
+  # some tests require network access to scaleway's API, failing when sandboxed
+  doCheck = false;
+
   meta = with lib; {
     description = "Interact with Scaleway API from the command line";
     homepage = "https://github.com/scaleway/scaleway-cli";
diff --git a/pkgs/tools/misc/0x0/default.nix b/pkgs/tools/misc/0x0/default.nix
deleted file mode 100644
index 0b9c6f7c3bbb7..0000000000000
--- a/pkgs/tools/misc/0x0/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, xsel, curl, fetchFromGitLab, makeWrapper}:
-
-stdenv.mkDerivation {
-  pname = "0x0";
-  version = "2018-06-24";
-
-  src = fetchFromGitLab {
-    owner = "somasis";
-    repo = "scripts";
-    rev  = "70422c83b2ac5856559b0ddaf6e2dc3dbef40dee";
-    sha256 = "1qpylyxrisy3p2lyirfarfj5yzrdjgsgxwf8gqwljpcjn207hr72";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  installPhase = ''
-    install -Dm755 0x0 $out/bin/0x0
-
-    patchShebangs $out/bin/0x0
-    wrapProgram $out/bin/0x0 \
-      --prefix PATH : '${lib.makeBinPath [ curl xsel ]}'
-  '';
-
-  meta = with lib; {
-    description = "A client for 0x0.st";
-    homepage = "https://gitlab.com/somasis/scripts/";
-    maintainers = [ maintainers.ar1a ];
-    license = licenses.unlicense;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix
index 51123f55b60b0..7f746b9a49bbe 100644
--- a/pkgs/tools/misc/etcher/default.nix
+++ b/pkgs/tools/misc/etcher/default.nix
@@ -5,7 +5,7 @@
 , util-linux
 , bash
 , makeWrapper
-, electron_12
+, electron
 }:
 
 let
@@ -23,8 +23,6 @@ let
     "i686-linux" = "i386";
   }."${system}" or throwSystem;
 
-  electron = electron_12;
-
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/flashrom/default.nix b/pkgs/tools/misc/flashrom/default.nix
index 4c227cbe3f96a..dc42510998cdc 100644
--- a/pkgs/tools/misc/flashrom/default.nix
+++ b/pkgs/tools/misc/flashrom/default.nix
@@ -1,6 +1,6 @@
 { fetchurl
 , fetchpatch
-, gcc9Stdenv
+, stdenv
 , installShellFiles
 , lib
 , libftdi1
@@ -11,7 +11,7 @@
 , jlinkSupport ? false
 }:
 
-gcc9Stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "flashrom";
   version = "1.2";
 
@@ -31,6 +31,11 @@ gcc9Stdenv.mkDerivation rec {
       url = "https://github.com/flashrom/flashrom/commit/da6b3b70cb852dd8e9f9e21aef95fa83e7f7ab0d.patch";
       sha256 = "sha256-fXYDXgT/ik+qtxxFEyJ7/axtycbwLkEg0UD+hzsYEwg=";
     })
+    # fix build with gcc 10
+    (fetchpatch {
+      url = "https://github.com/flashrom/flashrom/commit/3a0c1966e4c66f91e6e8551e906b6db38002acb4.patch";
+      sha256 = "sha256-UfXLefMS20VUc7hk4IXECFbDWEbBnHMGSzOYemTfvjI=";
+    })
   ];
 
   postPatch = ''
@@ -51,6 +56,6 @@ gcc9Stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ funfunctor fpletz felixsinger ];
     platforms = platforms.all;
-    broken = gcc9Stdenv.isDarwin; # requires DirectHW
+    broken = stdenv.isDarwin; # requires DirectHW
   };
 }
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index 008c9b59397f1..70c1dab5c6e2b 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -1,29 +1,51 @@
-{ lib, stdenv, fetchurl, ncurses, gettext, openssl, withGeolocation ? true, libmaxminddb }:
+{ lib
+, stdenv
+, autoreconfHook
+, fetchFromGitHub
+, gettext
+, libmaxminddb
+, ncurses
+, openssl
+, withGeolocation ? true
+}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.2";
+  version = "1.5.3";
   pname = "goaccess";
 
-  src = fetchurl {
-    url = "https://tar.goaccess.io/goaccess-${version}.tar.gz";
-    sha256 = "sha256-oM4vk5OyYiSE5GnpWoCd/VKt5NQgBJHkPt4fy1KrHIo=";
+  src = fetchFromGitHub {
+    owner = "allinurl";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-TgreyBlV86K6P0W9WeLUW6RbcHpuOFW2fj2cCe7nWHE=";
   };
 
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  buildInputs = [
+    ncurses
+    openssl
+  ] ++ lib.optionals withGeolocation [
+    libmaxminddb
+  ] ++ lib.optionals stdenv.isDarwin [
+    gettext
+  ];
+
   configureFlags = [
     "--enable-utf8"
     "--with-openssl"
-  ] ++ lib.optionals withGeolocation [ "--enable-geoip=mmdb" ];
-
-  buildInputs = [ ncurses openssl ]
-    ++ lib.optionals withGeolocation [ libmaxminddb ]
-    ++ lib.optionals stdenv.isDarwin [ gettext ];
+  ] ++ lib.optionals withGeolocation [
+    "--enable-geoip=mmdb"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems";
-    homepage    = "https://goaccess.io";
-    changelog   = "https://github.com/allinurl/goaccess/raw/v${version}/ChangeLog";
-    license     = lib.licenses.mit;
-    platforms   = lib.platforms.linux ++ lib.platforms.darwin;
-    maintainers = with lib.maintainers; [ ederoyd46 ];
+    homepage = "https://goaccess.io";
+    changelog = "https://github.com/allinurl/goaccess/raw/v${version}/ChangeLog";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ederoyd46 ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/misc/lilo/default.nix b/pkgs/tools/misc/lilo/default.nix
index 2babcb2bedd71..bba9db383907f 100644
--- a/pkgs/tools/misc/lilo/default.nix
+++ b/pkgs/tools/misc/lilo/default.nix
@@ -8,7 +8,12 @@ stdenv.mkDerivation rec {
     hash = "sha256-4VjxneRWDJNevgUHwht5v/F2GLkjDYB2/oxf/5/b1bE=";
   };
   nativeBuildInputs = [ dev86 sharutils ];
-  DESTDIR = placeholder "out";
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+    "SBIN_DIR=/bin"
+    "USRSBIN_DIR=/bin"
+    "MAN_DIR=/share/man"
+  ];
 
   meta = with lib; {
     homepage = "https://www.joonet.de/lilo/";
diff --git a/pkgs/tools/networking/goimapnotify/deps.nix b/pkgs/tools/networking/goimapnotify/deps.nix
deleted file mode 100644
index fc377c50be4cd..0000000000000
--- a/pkgs/tools/networking/goimapnotify/deps.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath = "github.com/emersion/go-imap";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emersion/go-imap";
-      rev = "b7db4a2bc5cc04fb568fb036a438da43ee9a9f78";
-      sha256 = "1v5hp02k9rfdq7gqiydz575dw6a991pspynhxypv0fvgh1vgqs0s";
-    };
-  }
-  {
-    goPackagePath = "github.com/emersion/go-imap-idle";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emersion/go-imap-idle";
-      rev = "2af93776db6b042cc1116b0d0af00d7f58eea696";
-      sha256 = "19dh8sryjr3a8f0bgwywiz2fqccxhf4j66sm0w1jkjzh131f3pr7";
-    };
-  }
-  {
-    goPackagePath = "github.com/emersion/go-sasl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emersion/go-sasl";
-      rev = "7e096a0a6197b89989e8cc31016daa67c8c62051";
-      sha256 = "0mr9nzi4wc3ck730zqfqwmy8wk7d90h80yvvivqnxyfyadqy48kd";
-    };
-  }
-  {
-    goPackagePath = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e";
-      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "8bdbc7bcc01dcbb8ec23dc8a28e332258d25251f";
-      sha256 = "1m7ny9jkb98cxqhsp13xa5hnqh1s9f25x04q6arsala4zswsw33c";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "a129542de9ae0895210abff9c95d67a1f33cb93d";
-      sha256 = "13p5q7s25rsvfkk8fcwf432j8djf7bjg7chs296rzlig4vqcdxi4";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "342b2e1fbaa52c93f31447ad2c6abc048c63e475";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
-    };
-  }
-]
diff --git a/pkgs/tools/nix/statix/default.nix b/pkgs/tools/nix/statix/default.nix
index d5fd2fd092b25..4de3aa35677e2 100644
--- a/pkgs/tools/nix/statix/default.nix
+++ b/pkgs/tools/nix/statix/default.nix
@@ -4,16 +4,16 @@ rustPlatform.buildRustPackage rec {
   pname = "statix";
   # also update version of the vim plugin in pkgs/misc/vim-plugins/overrides.nix
   # the version can be found in flake.nix of the source code
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "nerdypepper";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xFdHC7LulhDBWsbCcWeH90sR4iUhzQrShiW69/KHk0U=";
+    sha256 = "sha256-4hVEwm2xuuHFy38/EJLKjGuxTYCAcKRHHfFKLvqp+M0=";
   };
 
-  cargoSha256 = "sha256-dzDgHROlwsqwQ6pk7lrwP0eV69595l0HvF7jHSe3N/g=";
+  cargoSha256 = "sha256-15C/ye8nYLtriBlqbf1ul41IFtShGY2LTX10z1/08Po=";
 
   buildFeatures = lib.optional withJson "json";
 
diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix
index c66b3a6426f74..25f5527eb6b9f 100644
--- a/pkgs/tools/security/cosign/default.nix
+++ b/pkgs/tools/security/cosign/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, buildGoModule, fetchFromGitHub, pcsclite, pkg-config, installShellFiles, PCSC, pivKeySupport ? true }:
+{ stdenv, lib, buildGoModule, fetchFromGitHub, pcsclite, pkg-config, installShellFiles, PCSC, pivKeySupport ? true, pkcs11Support ? true }:
 
 buildGoModule rec {
   pname = "cosign";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VKlM+bsK2Oj0UB4LF10pHEIJqXv6cAO5rtxnTogpfOk=";
+    sha256 = "sha256-K9ZORbccEH7KV0XHkio/fl/5kvUInRCvzFY4QOqrgfg=";
   };
 
   buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite)
@@ -16,13 +16,13 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
 
-  vendorSha256 = "sha256-idMvvYeP5rAT6r9RPZ9S8K9KTpVYVq06ZKSBPxWA2ms=";
+  vendorSha256 = "sha256-958HDdd9o+paEHVvwWSFJGSIHuY63jf89rTw3QKJzxc=";
 
   excludedPackages = "\\(sample\\|webhook\\|help\\)";
 
-  tags = lib.optionals pivKeySupport [ "pivkey" ];
+  tags = [] ++ lib.optionals pivKeySupport [ "pivkey" ] ++ lib.optionals pkcs11Support [ "pkcs11key" ];
 
-  ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/cmd/cosign/cli/options.GitVersion=v${version}" ];
+  ldflags = [ "-s" "-w" "-X github.com/sigstore/cosign/pkg/version.GitVersion=v${version}" ];
 
   postInstall = ''
     installShellCompletion --cmd cosign \
diff --git a/pkgs/tools/security/genpass/default.nix b/pkgs/tools/security/genpass/default.nix
index e726da3403160..9565bf80c9505 100644
--- a/pkgs/tools/security/genpass/default.nix
+++ b/pkgs/tools/security/genpass/default.nix
@@ -7,15 +7,15 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "genpass";
-  version = "0.4.12";
+  version = "0.5.1";
 
   src = fetchgit {
     url = "https://git.sr.ht/~cyplo/genpass";
     rev = "v${version}";
-    sha256 = "154kprbqc59f06ciz60il4ax299zapwa0hz8vjn25rl4gr5gzn4l";
+    sha256 = "UyEgOlKtDyneRteN3jHA2BJlu5U1HFL8HA2MTQz5rns=";
   };
 
-  cargoSha256 = "1b9jqkg11d0ih46km063inqqjwfy1nrwb2xb3dagg3hi8hahpqpb";
+  cargoSha256 = "ls3tzZ+gtZQlObmbtwJDq6N/f5nY+Ps7RL5R/fR5Vgg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation libiconv Security ];
 
diff --git a/pkgs/tools/security/gospider/default.nix b/pkgs/tools/security/gospider/default.nix
index f4b750d394a01..469be63a90247 100644
--- a/pkgs/tools/security/gospider/default.nix
+++ b/pkgs/tools/security/gospider/default.nix
@@ -1,20 +1,20 @@
-{ buildGoModule
+{ lib
+, buildGoModule
 , fetchFromGitHub
-, lib
 }:
 
 buildGoModule rec {
   pname = "gospider";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "jaeles-project";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-yfW94sQzT1u6O0s1sqpeANlukC5y8fNvHNL2c77+dxU=";
+    rev = "v${version}";
+    sha256 = "sha256-1EnKheHaS1kxw0cjxCahT3rUWBXiqxjKefrDBI2xIvY=";
   };
 
-  vendorSha256 = "sha256-1aOw0lk+khcX9IETA0+wGx91BFXrJ79zYWhEI2JrhDU=";
+  vendorSha256 = "sha256-egjjSEZH8F6UMbnkz3xytIzdW/oITB3RL1ddxrmvSZM=";
 
   # tests require internet access and API keys
   doCheck = false;
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index e7aff930f49b9..eb7cec0717822 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.16"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.17"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 8e632e67f6b6d..68f4acd96b6c7 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: a517e78b4ff21ff15b7f3ac748476ec8de4d9517
-  ref: refs/tags/6.1.16
+  revision: fc76ef1517b10ab7c84fa47d2cb8528881f29b8b
+  ref: refs/tags/6.1.17
   specs:
-    metasploit-framework (6.1.16)
+    metasploit-framework (6.1.17)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -128,22 +128,22 @@ GEM
     arel-helpers (2.12.1)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.2.0)
-    aws-partitions (1.534.0)
-    aws-sdk-core (3.123.0)
+    aws-partitions (1.539.0)
+    aws-sdk-core (3.124.0)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.283.0)
+    aws-sdk-ec2 (1.286.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.63.0)
+    aws-sdk-iam (1.64.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-kms (1.51.0)
+    aws-sdk-kms (1.52.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.107.0)
+    aws-sdk-s3 (1.109.0)
       aws-sdk-core (~> 3, >= 3.122.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.4)
@@ -375,7 +375,7 @@ GEM
     ruby-macho (2.5.1)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (2.0.11)
+    ruby_smb (2.0.12)
       bindata
       openssl-ccm
       openssl-cmac
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index ce500cf435511..3a5146ac8e17a 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.16";
+  version = "6.1.17";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-ppt41H803tYHfPXNLJCfdDzLANLFZHajzVC1UMg7MGQ=";
+    sha256 = "sha256-JkqjqtnWGbW/G74jlDF8/Ai8KvfzmdDybfA3ArVfoEY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 3aeb1011fa653..d412a38c03520 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -104,60 +104,60 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mggk7w7529fxcwvsnmm08ms600nx7nzh51d4kq2d167wf4qqfan";
+      sha256 = "01676g6hsdyzv9ym1f9r59r4jmnh1fl8fr9pqxdnqrysalpdi5gx";
       type = "gem";
     };
-    version = "1.534.0";
+    version = "1.539.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1390d003vnajh3i2k0al4yzw7xchdk17v92vpdwla6yds68x9kh8";
+      sha256 = "1chpydvgwa48rbd67k39fpg2vjp21v3kmjygbjqv1l1sqn6rjbvw";
       type = "gem";
     };
-    version = "3.123.0";
+    version = "3.124.0";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i3qvsif62kwdhny226fmnzi4la27qh8hnl0df09w9hiqh6ya0ls";
+      sha256 = "11yclwnfckc4xbhhrr5cy0y5q7vaf51qnvpd1vh5l0x7ngjlx0z3";
       type = "gem";
     };
-    version = "1.283.0";
+    version = "1.286.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ms76yn9iprmvjw1ijrgasss70398i8wmkwmgpghn5wc37z59x2s";
+      sha256 = "1gnjxnmba0wh4ikz7lsgrfzcfmasbqcl4c8r9cvvsw7lk090nkbb";
       type = "gem";
     };
-    version = "1.63.0";
+    version = "1.64.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qac9dd6qriz6ldghkr8ga74zz28jl109kmvhvag74a3qf7k9dwj";
+      sha256 = "1br4h5zwb5ir2bf6y0hnlwafkmghxi2fbjqx86agyv838ndy9npd";
       type = "gem";
     };
-    version = "1.51.0";
+    version = "1.52.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n00hkfy8c44yq23wv0y9aj007mfx1va7jxiaa74g3agf317vrak";
+      sha256 = "0yc96imi4v043rdxa94ncg15aapzp1i5qx076rv25zxqcbkdwzwd";
       type = "gem";
     };
-    version = "1.107.0";
+    version = "1.109.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -664,12 +664,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "a517e78b4ff21ff15b7f3ac748476ec8de4d9517";
-      sha256 = "0r1h7g451dahrnipcr65s80cng3lky82rkgmgh3xdpilgza7i6x6";
+      rev = "fc76ef1517b10ab7c84fa47d2cb8528881f29b8b";
+      sha256 = "0im0bysh4dzhdprd16gkywmbq27wghqr88xy3fzva6fnv6ma6ji6";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.16";
+    version = "6.1.17";
   };
   metasploit-model = {
     groups = ["default"];
@@ -1337,10 +1337,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06szny4dcbwlcq2fki1fbrghsbk2dgwy3zyl9y8zjkf334yjb57k";
+      sha256 = "103rm0p44w8q2gyw3yigb6k2v12hi7gkj71b2wkj4859jzi96vyb";
       type = "gem";
     };
-    version = "2.0.11";
+    version = "2.0.12";
   };
   rubyntlm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/scrypt/default.nix b/pkgs/tools/security/scrypt/default.nix
index 89ff50e0a8a07..5a3ab9cb68b4f 100644
--- a/pkgs/tools/security/scrypt/default.nix
+++ b/pkgs/tools/security/scrypt/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchurl, openssl, util-linux, getconf }:
+{ lib
+, stdenv
+, fetchurl
+, openssl
+, getconf
+, util-linux
+}:
 
 stdenv.mkDerivation rec {
   pname = "scrypt";
@@ -27,7 +33,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   checkTarget = "test";
-  checkInputs = [ util-linux ];
+  checkInputs = lib.optionals stdenv.isLinux [ util-linux ];
 
   meta = with lib; {
     description = "Encryption utility";
diff --git a/pkgs/tools/security/theharvester/default.nix b/pkgs/tools/security/theharvester/default.nix
index 5e7b2dbd04f16..81bcd66948f3e 100644
--- a/pkgs/tools/security/theharvester/default.nix
+++ b/pkgs/tools/security/theharvester/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "theharvester";
-  version = "4.0.2";
+  version = "4.0.3";
 
   src = fetchFromGitHub {
     owner = "laramies";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jG0uVfeAfbX809XTUhoSpYdh2i42NoGzortv96dWEAs=";
+    sha256 = "sha256-Ckouhe/Uq6Dv9p/LRpPQkiKuYrwrl/Z7KkYYamDHav8=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 1c8682e93bc0e..ec4fe42e00ef3 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.8.4";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-t/BQu6nq0FcmqTc/vo3bTUbVNDqzePqlOMFkl4pD598=";
+    sha256 = "sha256-PQDxloDvdzdtMVUlT7exiXwcg6nalVc5Y4wYxFQMa08=";
   };
 
-  vendorSha256 = "sha256-9eXDcuVm+N4nenotUtCvyp2qB5uPDwzGHk43Y4uTT14=";
+  vendorSha256 = "sha256-pMF6KUUaiyjVeRhSt7yE0yyFlW2k5JUCAYNFE0Kvraw=";
 
   subPackages = [ "." ];
 
@@ -38,7 +38,7 @@ buildGoModule rec {
       --prefix PATH ${lib.makeBinPath [ gawk glibc ]}
   '';
 
-  passthru.tests.vault = nixosTests.vault;
+  passthru.tests = { inherit (nixosTests) vault vault-postgresql; };
 
   meta = with lib; {
     homepage = "https://www.vaultproject.io/";
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index b67d63938c951..0fab9041a63d7 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,26 +1,30 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, gawk, glibc }:
 
 let
-  version = "1.8.4";
+  version = "1.9.0";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "sha256-zrCRnIScIWJ8ocrgYPNhtvuX3PBLF9HX0dyZU/zY4yk=";
+      sha256 = "sha256-atiwnKcNXCgiyHG3vSDs3vto6dpMS5qmBiAAqb/xn3o=";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "0sh9q29b0bi5ap6nvll0ykxd5vf4wliksj31cmm4gw5vp90irvl3";
+      sha256 = "sha256-ZqsWWyaZ7b7RjR999mvHe+f68w3+x5xwPB+EXseYaKk=";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "09nhfdw20g46fnrn82my7a59pfa81dxncxhiswmha3cdy8n0p6wb";
+      sha256 = "sha256-PXK72di2SNAgyAqu1SimZNN3YLqWwMw9E2cagpN3b4Y=";
+    };
+    aarch64-darwin = fetchurl {
+      url = "${base}/vault_${version}_darwin_arm64.zip";
+      sha256 = "sha256-7OxGz3jqzvfC/y2vkTdhQ+IjmMSQ4XmSHecbJ/oM2EI=";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "01ra0xrgivf01ff87p0gqmi1flnac9y02x7jpv5j6a9czr1sqw1j";
+      sha256 = "sha256-Yy7mdXXdEBl1u/KB95/bWaDdej9SSIOMQsk3KCEeR5s=";
     };
   };
 
@@ -47,10 +51,12 @@ in stdenv.mkDerivation {
     runHook postInstall
   '';
 
+  dontStrip = stdenv.isDarwin;
+
   meta = with lib; {
     homepage = "https://www.vaultproject.io";
     description = "A tool for managing secrets, this binary includes the UI";
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
     license = licenses.mpl20;
     maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man ];
   };
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index d5bcdb6f08067..e70e82261595a 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.11.0";
+  version = "5.12.0";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GOZms7kYAWQ0VBr8p3RjsQvKXN+lkP9ytHta/Fgln0c=";
+    sha256 = "sha256-GcipzV6TgJLXY5RgzFssaInBFIFORKr6wcZB6fD16OY=";
   };
 
   vendorSha256 = "0ls0pw1m6hy203cdkmp9847h2fmvc4hjkv5x2v6r7516cqbs25ac";
diff --git a/pkgs/tools/system/natscli/default.nix b/pkgs/tools/system/natscli/default.nix
index 226528782e5fb..97a690690ac4a 100644
--- a/pkgs/tools/system/natscli/default.nix
+++ b/pkgs/tools/system/natscli/default.nix
@@ -5,12 +5,12 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.0.26";
+  version = "0.0.28";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
-    rev = version;
+    rev = "v${version}";
     sha256 = "sha256-w0a2BzfRKf55hFgdaDLsR2YeC5Jqa2uynlRN2oGPX8g=";
   };
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index c78e211923912..89bf40c5887fd 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -33,6 +33,7 @@ in
   ### Deprecated aliases - for backward compatibility
 
 mapAliases ({
+  _0x0 = throw "0x0 upstream is abandoned and no longer exists: https://gitlab.com/somasis/scripts/";
   PPSSPP = ppsspp; # added 2017-10-01
   QmidiNet = qmidinet;  # added 2016-05-22
   accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
@@ -1216,6 +1217,8 @@ mapAliases ({
     qqc2-breeze-style
     sddm-kcm systemsettings
     xdg-desktop-portal-kde
+    plasma-phone-components
+    plasma-nano
   ;
   inherit (plasma5Packages.thirdParty)
     plasma-applet-caffeine-plus
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0569286dba1cd..71f62080ab7f0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -793,8 +793,6 @@ with pkgs;
 
   ### TOOLS
 
-  _0x0 = callPackage ../tools/misc/0x0 { };
-
   _3llo = callPackage ../tools/misc/3llo { };
 
   _3mux = callPackage ../tools/misc/3mux { };
@@ -1482,7 +1480,7 @@ with pkgs;
   bic = callPackage ../development/interpreters/bic { };
 
   binance = callPackage ../applications/misc/binance {
-    electron = electron_12;
+    electron = electron_13;
   };
 
   bit = callPackage ../applications/version-management/git-and-tools/bit { };
@@ -3294,6 +3292,10 @@ with pkgs;
 
   maigret = callPackage ../tools/security/maigret { };
 
+  maliit-framework = libsForQt5.callPackage ../applications/misc/maliit-framework { };
+
+  maliit-keyboard = libsForQt5.callPackage ../applications/misc/maliit-keyboard { };
+
   mapcidr = callPackage ../tools/misc/mapcidr { };
 
   mapproxy = callPackage ../applications/misc/mapproxy { };
@@ -3491,7 +3493,7 @@ with pkgs;
   pn = callPackage ../tools/text/pn { };
 
   pocket-casts = callPackage ../applications/audio/pocket-casts {
-    electron = electron_12;
+    electron = electron_14;
   };
 
   poweralertd = callPackage ../tools/misc/poweralertd { };
@@ -5032,7 +5034,9 @@ with pkgs;
 
   escrotum = callPackage ../tools/graphics/escrotum { };
 
-  etcher = callPackage ../tools/misc/etcher { };
+  etcher = callPackage ../tools/misc/etcher {
+    electron = electron_14;
+  };
 
   ethtool = callPackage ../tools/misc/ethtool { };
 
@@ -7918,7 +7922,7 @@ with pkgs;
   grocy = callPackage ../servers/grocy { };
 
   inherit (callPackage ../servers/nextcloud {})
-    nextcloud20 nextcloud21 nextcloud22;
+    nextcloud20 nextcloud21 nextcloud22 nextcloud23;
 
   nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
 
@@ -10023,7 +10027,7 @@ with pkgs;
   thc-ipv6 = callPackage ../tools/security/thc-ipv6 { };
 
   thedesk = callPackage ../applications/misc/thedesk {
-    electron = electron_12;
+    electron = electron_14;
   };
 
   theharvester = callPackage ../tools/security/theharvester { };
@@ -20652,6 +20656,8 @@ with pkgs;
 
   clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
 
+  clickhouse-backup = callPackage ../development/tools/database/clickhouse-backup { };
+
   couchdb3 = callPackage ../servers/http/couchdb/3.nix {
     erlang = erlangR22;
   };
@@ -24029,6 +24035,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  ascii-image-converter = callPackage ../applications/graphics/ascii-image-converter { };
+
   artha = callPackage ../applications/misc/artha { };
 
   atlassian-cli = callPackage ../applications/office/atlassian-cli { };
@@ -29146,7 +29154,7 @@ with pkgs;
   weston = callPackage ../applications/window-managers/weston { pipewire = pipewire_0_2; };
 
   whalebird = callPackage ../applications/misc/whalebird {
-    electron = electron_12;
+    electron = electron_14;
   };
 
   wio = callPackage ../applications/window-managers/wio { };
@@ -31878,7 +31886,7 @@ with pkgs;
 
   geogebra = callPackage ../applications/science/math/geogebra { };
   geogebra6 = callPackage ../applications/science/math/geogebra/geogebra6.nix {
-    electron = electron_12;
+    electron = electron_14;
    };
 
   maxima = callPackage ../applications/science/math/maxima {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3895ae3389232..6569bf250ddb6 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4761,6 +4761,8 @@ in {
 
   mdit-py-plugins = callPackage ../development/python-modules/mdit-py-plugins { };
 
+  mdurl = callPackage ../development/python-modules/mdurl { };
+
   MDP = callPackage ../development/python-modules/mdp { };
 
   measurement = callPackage ../development/python-modules/measurement { };