about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/web-apps/onlyoffice.nix5
-rw-r--r--nixos/modules/system/boot/systemd/repart.nix101
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/systemd-repart.nix108
-rw-r--r--pkgs/applications/editors/cudatext/default.nix10
-rw-r--r--pkgs/applications/editors/cudatext/deps.json28
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix12
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names1
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch96
-rw-r--r--pkgs/applications/networking/n8n/default.nix6
-rw-r--r--pkgs/applications/networking/n8n/fix-permissions.diff28
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix479
-rwxr-xr-xpkgs/common-updater/scripts/list-git-tags2
-rw-r--r--pkgs/development/libraries/nss/latest.nix4
-rw-r--r--pkgs/development/python-modules/aiowinreg/default.nix4
-rw-r--r--pkgs/development/python-modules/argh/default.nix4
-rw-r--r--pkgs/development/python-modules/bokeh/default.nix11
-rw-r--r--pkgs/development/python-modules/bokeh/hardcode-nodejs-npmjs-paths.patch14
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--pkgs/development/python-modules/oslo-concurrency/default.nix4
-rw-r--r--pkgs/development/python-modules/panel/default.nix39
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/default.nix64
-rw-r--r--pkgs/development/tools/rust/cargo-binstall/fix-features.patch22
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix17
-rw-r--r--pkgs/servers/adguardhome/bins.nix8
-rwxr-xr-xpkgs/servers/adguardhome/update.sh4
-rw-r--r--pkgs/servers/http/envoy/default.nix1
-rw-r--r--pkgs/tools/audio/tts/default.nix21
-rw-r--r--pkgs/tools/networking/wtfis/000-pyproject-remove-versions.diff29
-rw-r--r--pkgs/tools/networking/wtfis/default.nix41
-rw-r--r--pkgs/tools/text/gpt2tc/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix3
35 files changed, 744 insertions, 442 deletions
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 7a818f11ee27e..752c0213f050a 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -1307,6 +1307,7 @@
   ./system/boot/systemd/logind.nix
   ./system/boot/systemd/nspawn.nix
   ./system/boot/systemd/oomd.nix
+  ./system/boot/systemd/repart.nix
   ./system/boot/systemd/shutdown.nix
   ./system/boot/systemd/tmpfiles.nix
   ./system/boot/systemd/user.nix
diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix
index 79ed3e43dd18a..6a8a28185b5b9 100644
--- a/nixos/modules/services/web-apps/onlyoffice.nix
+++ b/nixos/modules/services/web-apps/onlyoffice.nix
@@ -229,6 +229,9 @@ in
             cp -r ${cfg.package}/etc/onlyoffice/documentserver/* /run/onlyoffice/config/
             chmod u+w /run/onlyoffice/config/default.json
 
+            # Allow members of the onlyoffice group to serve files under /var/lib/onlyoffice/documentserver/App_Data
+            chmod g+x /var/lib/onlyoffice/documentserver
+
             cp /run/onlyoffice/config/default.json{,.orig}
 
             # for a mapping of environment variables from the docker container to json options see
@@ -284,6 +287,8 @@ in
         group = "onlyoffice";
         isSystemUser = true;
       };
+
+      nginx.extraGroups = [ "onlyoffice" ];
     };
 
     users.groups.onlyoffice = { };
diff --git a/nixos/modules/system/boot/systemd/repart.nix b/nixos/modules/system/boot/systemd/repart.nix
new file mode 100644
index 0000000000000..33f1b247c5ede
--- /dev/null
+++ b/nixos/modules/system/boot/systemd/repart.nix
@@ -0,0 +1,101 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.boot.initrd.systemd.repart;
+
+  writeDefinition = name: partitionConfig: pkgs.writeText
+    "${name}.conf"
+    (lib.generators.toINI { } { Partition = partitionConfig; });
+
+  listOfDefinitions = lib.mapAttrsToList
+    writeDefinition
+    (lib.filterAttrs (k: _: !(lib.hasPrefix "_" k)) cfg.partitions);
+
+  # Create a directory in the store that contains a copy of all definition
+  # files. This is then passed to systemd-repart in the initrd so it can access
+  # the definition files after the sysroot has been mounted but before
+  # activation. This needs a hard copy of the files and not just symlinks
+  # because otherwise the files do not show up in the sysroot.
+  definitionsDirectory = pkgs.runCommand "systemd-repart-definitions" { } ''
+    mkdir -p $out
+    ${(lib.concatStringsSep "\n"
+      (map (pkg: "cp ${pkg} $out/${pkg.name}") listOfDefinitions)
+    )}
+  '';
+in
+{
+  options.boot.initrd.systemd.repart = {
+    enable = lib.mkEnableOption (lib.mdDoc "systemd-repart") // {
+      description = lib.mdDoc ''
+        Grow and add partitions to a partition table a boot time in the initrd.
+        systemd-repart only works with GPT partition tables.
+      '';
+    };
+
+    partitions = lib.mkOption {
+      type = with lib.types; attrsOf (attrsOf (oneOf [ str int bool ]));
+      default = { };
+      example = {
+        "10-root" = {
+          Type = "root";
+        };
+        "20-home" = {
+          Type = "home";
+          SizeMinBytes = "512M";
+          SizeMaxBytes = "2G";
+        };
+      };
+      description = lib.mdDoc ''
+        Specify partitions as a set of the names of the definition files as the
+        key and the partition configuration as its value. The partition
+        configuration can use all upstream options. See <link
+        xlink:href="https://www.freedesktop.org/software/systemd/man/repart.d.html"/>
+        for all available options.
+      '';
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    # Link the definitions into /etc so that they are included in the
+    # /nix/store of the sysroot. This also allows the user to run the
+    # systemd-repart binary after activation manually while automatically
+    # picking up the definition files.
+    environment.etc."repart.d".source = definitionsDirectory;
+
+    boot.initrd.systemd = {
+      additionalUpstreamUnits = [
+        "systemd-repart.service"
+      ];
+
+      storePaths = [
+        "${config.boot.initrd.systemd.package}/bin/systemd-repart"
+      ];
+
+      # Override defaults in upstream unit.
+      services.systemd-repart = {
+        # Unset the coniditions as they cannot be met before activation because
+        # the definition files are not stored in the expected locations.
+        unitConfig.ConditionDirectoryNotEmpty = [
+          " " # required to unset the previous value.
+        ];
+        serviceConfig = {
+          # systemd-repart runs before the activation script. Thus we cannot
+          # rely on them being linked in /etc already. Instead we have to
+          # explicitly pass their location in the sysroot to the binary.
+          ExecStart = [
+            " " # required to unset the previous value.
+            ''${config.boot.initrd.systemd.package}/bin/systemd-repart \
+                  --definitions=/sysroot${definitionsDirectory} \
+                  --dry-run=no
+            ''
+          ];
+        };
+        # Because the initrd does not have the `initrd-usr-fs.target` the
+        # upestream unit runs too early in the boot process, before the sysroot
+        # is available. However, systemd-repart needs access to the sysroot to
+        # find the definition files.
+        after = [ "sysroot.mount" ];
+      };
+    };
+  };
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d3f97da35a815..ced2687ed9a43 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -666,6 +666,7 @@ in {
   systemd-nspawn = handleTest ./systemd-nspawn.nix {};
   systemd-oomd = handleTest ./systemd-oomd.nix {};
   systemd-portabled = handleTest ./systemd-portabled.nix {};
+  systemd-repart = handleTest ./systemd-repart.nix {};
   systemd-shutdown = handleTest ./systemd-shutdown.nix {};
   systemd-timesyncd = handleTest ./systemd-timesyncd.nix {};
   systemd-user-tmpfiles-rules = handleTest ./systemd-user-tmpfiles-rules.nix {};
diff --git a/nixos/tests/systemd-repart.nix b/nixos/tests/systemd-repart.nix
new file mode 100644
index 0000000000000..92cc1fb04edc0
--- /dev/null
+++ b/nixos/tests/systemd-repart.nix
@@ -0,0 +1,108 @@
+{ system ? builtins.currentSystem
+, config ? { }
+, pkgs ? import ../.. { inherit system config; }
+}:
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+with pkgs.lib;
+
+let
+  # A testScript fragment that prepares a disk with some empty, unpartitioned
+  # space. and uses it to boot the test with. Takes a single argument `machine`
+  # from which the diskImage is extraced.
+  useDiskImage = machine: ''
+    import os
+    import shutil
+    import subprocess
+    import tempfile
+
+    tmp_disk_image = tempfile.NamedTemporaryFile()
+
+    shutil.copyfile("${machine.system.build.diskImage}/nixos.img", tmp_disk_image.name)
+
+    subprocess.run([
+      "${pkgs.qemu}/bin/qemu-img",
+      "resize",
+      "-f",
+      "raw",
+      tmp_disk_image.name,
+      "+32M",
+    ])
+
+    # Fix the GPT table by moving the backup table to the end of the enlarged
+    # disk image. This is necessary because we increased the size of the disk
+    # before. The disk needs to be a raw disk because sgdisk can only run on
+    # raw images.
+    subprocess.run([
+      "${pkgs.gptfdisk}/bin/sgdisk",
+      "--move-second-header",
+      tmp_disk_image.name,
+    ])
+
+    # Set NIX_DISK_IMAGE so that the qemu script finds the right disk image.
+    os.environ['NIX_DISK_IMAGE'] = tmp_disk_image.name
+  '';
+
+  common = { config, pkgs, lib, ... }: {
+    virtualisation.useDefaultFilesystems = false;
+    virtualisation.fileSystems = {
+      "/" = {
+        device = "/dev/vda2";
+        fsType = "ext4";
+      };
+    };
+
+    boot.initrd.systemd.enable = true;
+    boot.initrd.systemd.repart.enable = true;
+
+    # systemd-repart operates on disks with a partition table. The qemu module,
+    # however, creates separate filesystem images without a partition table, so
+    # we have to create a disk image manually.
+    #
+    # This creates two partitions, an ESP mounted on /dev/vda1 and the root
+    # partition mounted on /dev/vda2
+    system.build.diskImage = import ../lib/make-disk-image.nix {
+      inherit config pkgs lib;
+      # Use a raw format disk so that it can be resized before starting the
+      # test VM.
+      format = "raw";
+      # Keep the image as small as possible but leave some room for changes.
+      bootSize = "32M";
+      additionalSpace = "0M";
+      # GPT with an EFI System Partition is the typical use case for
+      # systemd-repart because it does not support MBR.
+      partitionTableType = "efi";
+      # We do not actually care much about the content of the partitions, so we
+      # do not need a bootloader installed.
+      installBootLoader = false;
+      # Improve determinism by not copying a channel.
+      copyChannel = false;
+    };
+  };
+in
+{
+  basic = makeTest {
+    name = "systemd-repart";
+    meta.maintainers = with maintainers; [ nikstur ];
+
+    nodes.machine = { config, pkgs, ... }: {
+      imports = [ common ];
+
+      boot.initrd.systemd.repart.partitions = {
+        "10-root" = {
+          Type = "linux-generic";
+        };
+      };
+    };
+
+    testScript = { nodes, ... }: ''
+      ${useDiskImage nodes.machine}
+
+      machine.start()
+      machine.wait_for_unit("multi-user.target")
+
+      systemd_repart_logs = machine.succeed("journalctl --boot --unit systemd-repart.service")
+      assert "Growing existing partition 1." in systemd_repart_logs
+    '';
+  };
+}
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index 7af47c46485a3..98b280f332de8 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.176.0";
+  version = "1.183.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    hash = "sha256-7J/FAcmZYmgbmYEFm2V3+RBUcLE+8A+yOiJd/xp2Aww=";
+    hash = "sha256-hfOEL1Qkf8Sk6cNWUBwZXH/DSuo/ObyA5sRLOj9Iw3M=";
   };
 
   postPatch = ''
@@ -66,8 +66,12 @@ stdenv.mkDerivation rec {
   NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}";
 
   buildPhase = lib.concatStringsSep "\n" (lib.mapAttrsToList (name: dep: ''
-    ln -s ${dep} ${name}
+    cp -r ${dep} ${name}
   '') deps) + ''
+    # See https://wiki.freepascal.org/CudaText#How_to_compile_CudaText
+    substituteInPlace ATSynEdit/atsynedit/atsynedit_package.lpk \
+      --replace GTK2_IME_CODE _GTK2_IME_CODE
+
     lazbuild --lazarusdir=${lazarus}/share/lazarus --pcp=./lazarus --ws=${widgetset} \
       bgrabitmap/bgrabitmap/bgrabitmappack.lpk \
       EncConv/encconv/encconv_package.lpk \
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 4ae432b946a7a..2c6dcdf291354 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -1,8 +1,8 @@
 {
   "EncConv": {
     "owner": "Alexey-T",
-    "rev": "2022.06.19",
-    "hash": "sha256-M00rHH3dG6Vx6MEALxRNlnLLfX/rRI+rdTS7riOhgeg="
+    "rev": "2023.01.02",
+    "hash": "sha256-4/ih4sBDel2wm+YFpNcwHoOrK8AgHe3Jbqxl+CYrQFM="
   },
   "ATBinHex-Lazarus": {
     "owner": "Alexey-T",
@@ -11,13 +11,13 @@
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2022.11.09",
-    "hash": "sha256-2Q1azfhThrk1t65Q+2aRr00V0UFrvR+z5oVMeW9c2ug="
+    "rev": "2023.02.05",
+    "hash": "sha256-ZOnIhUnFd+7mBEz6YIhUOQkhBbCNeTFD0tfUILuC1x4="
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2022.11.09",
-    "hash": "sha256-rgXVOWmmc1ap/fCiXCvn34rhUbNRoMHbTXXYtnxk2pQ="
+    "rev": "2023.02.05",
+    "hash": "sha256-V0mvSuiO5dTztXZ4uvteF0e7B21Ll1uq6o0UHPcZm1o="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
@@ -26,18 +26,18 @@
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2022.08.22",
-    "hash": "sha256-o87V32HhFpCeSxhgkfKiL69oCcmpiReVmiNBPyv1kc4="
+    "rev": "2023.01.18",
+    "hash": "sha256-5R4ZHMTfmIF0VnwOFNOV/i6Dc91yk5dVNcFNrxMMzm0="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2022.09.03",
-    "hash": "sha256-6xzYn9x5tZLUhLAT9mQ4+UmpEemg386tAjlWdK8j/Ew="
+    "rev": "2023.01.18",
+    "hash": "sha256-SLZIDcrLwvhkJY92e/wtSsoY5SrjghcumbdpuVdK4iE="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
-    "rev": "2022.10.26",
-    "hash": "sha256-pVVO3PMazcGizN3RI4zO2tgLJLDOYIKhwnMLBJ5IiwY="
+    "rev": "2023.01.02",
+    "hash": "sha256-NnPrQAqmKg3Lh16Qp/LZVS4JRtAxXi3qRovLTbzUyYQ="
   },
   "Emmet-Pascal": {
     "owner": "Alexey-T",
@@ -51,7 +51,7 @@
   },
   "bgrabitmap": {
     "owner": "bgrabitmap",
-    "rev": "v11.5.2",
-    "hash": "sha256-aGNKkLDbGTeFgFEhuX7R2BXhnllsanJmk4k+1muiSD8="
+    "rev": "v11.5.3",
+    "hash": "sha256-qjBD9TVZQy1tKWHFWkuu6vdLjASzQb3+HRy0FLdd9a8="
   }
 }
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 343d6936c0ed8..91425fe0b18d6 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -6297,6 +6297,18 @@ final: prev:
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
 
+  nvim-osc52 = buildVimPluginFrom2Nix {
+    pname = "nvim-osc52";
+    version = "2023-01-10";
+    src = fetchFromGitHub {
+      owner = "ojroques";
+      repo = "nvim-osc52";
+      rev = "27da4724a887dabed3768b41fa51c785cb62ef26";
+      sha256 = "1wylh055y2dyb7zcdk9sa41wnkfbknp2bgnlrhmxdq5h2bkr8hbd";
+    };
+    meta.homepage = "https://github.com/ojroques/nvim-osc52/";
+  };
+
   nvim-peekup = buildVimPluginFrom2Nix {
     pname = "nvim-peekup";
     version = "2022-11-16";
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 6552349d1e3a8..a1cf1dd374d97 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -530,6 +530,7 @@ https://github.com/smiteshp/nvim-navic/,HEAD,
 https://github.com/AckslD/nvim-neoclip.lua/,,
 https://github.com/yamatsum/nvim-nonicons/,,
 https://github.com/rcarriga/nvim-notify/,,
+https://github.com/ojroques/nvim-osc52/,,
 https://github.com/gennaro-tedesco/nvim-peekup/,,
 https://github.com/olrtg/nvim-rename-state/,HEAD,
 https://github.com/petertriho/nvim-scrollbar/,HEAD,
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index ddc0f4b932ad0..9ffdb16301075 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -12,17 +12,17 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromSourcehut {
     owner = "~rjarry";
     repo = "aerc";
     rev = version;
-    hash = "sha256-pUp/hW4Kk3pixGfbQvphLJM9Dc/w01T1KPRewOicPqM=";
+    hash = "sha256-qC7lNqjgljUqRUp+S7vBVLPyRB3+Ie5UOxuio+Q88hg=";
   };
 
   proxyVendor = true;
-  vendorHash = "sha256-Nx+k0PLPIx7Ia0LobXUOw7oOFVz1FXV49haAkRAVOcM=";
+  vendorHash = "sha256-MVek3TQpE3AChGyQ4z01fLfkcGKJcckmFV21ww9zT7M=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
index d5e40edeb6617..9dee3ed33d846 100644
--- a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
+++ b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
@@ -1,8 +1,8 @@
-diff --git a/config/aerc.conf b/config/aerc.conf
-index fbbf587..ede1a03 100644
---- a/config/aerc.conf
-+++ b/config/aerc.conf
-@@ -107,8 +107,7 @@ next-message-on-delete=true
+diff --git i/config/aerc.conf w/config/aerc.conf
+index 05ebbf4..db6877b 100644
+--- i/config/aerc.conf
++++ w/config/aerc.conf
+@@ -152,8 +152,7 @@
  #
  #   ${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets
  #   ${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets
@@ -10,9 +10,9 @@ index fbbf587..ede1a03 100644
 -#   /usr/share/aerc/stylesets
 +#   @out@/share/aerc/stylesets
  #
- # default: ""
- stylesets-dirs=
-@@ -254,8 +253,7 @@ new-email=
+ #stylesets-dirs=
+ 
+@@ -445,8 +444,7 @@ message/rfc822=colorize
  #
  #   ${XDG_CONFIG_HOME:-~/.config}/aerc/templates
  #   ${XDG_DATA_HOME:-~/.local/share}/aerc/templates
@@ -20,37 +20,27 @@ index fbbf587..ede1a03 100644
 -#   /usr/share/aerc/templates
 +#   @out@/share/aerc/templates
  #
- # default: ""
- template-dirs=
-diff --git a/config/config.go b/config/config.go
-index 2120310..92b7655 100644
---- a/config/config.go
-+++ b/config/config.go
-@@ -331,8 +331,8 @@ func buildDefaultDirs() []string {
+ #template-dirs=
+ 
+diff --git i/config/config.go w/config/config.go
+index 09fb5ef..c73a7ee 100644
+--- i/config/config.go
++++ w/config/config.go
+@@ -60,8 +60,7 @@ func buildDefaultDirs() []string {
  	}
  
  	// Add fixed fallback locations
 -	defaultDirs = append(defaultDirs, "/usr/local/share/aerc")
 -	defaultDirs = append(defaultDirs, "/usr/share/aerc")
-+	defaultDirs = append(defaultDirs, "@out@/local/share/aerc")
 +	defaultDirs = append(defaultDirs, "@out@/share/aerc")
  
  	return defaultDirs
  }
-diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd
-index 885c4f8..77a853e 100644
---- a/doc/aerc-config.5.scd
-+++ b/doc/aerc-config.5.scd
-@@ -12,7 +12,7 @@ account credentials. We look for these files in your XDG config home plus
- "aerc", which defaults to ~/.config/aerc.
- 
- Examples of these config files are typically included with your installation of
--aerc and are usually installed in /usr/share/aerc.
-+aerc and are usually installed in @out@/share/aerc.
- 
- Each file uses the _ini_ format, and consists of sections with keys and values.
- A line beginning with # is considered a comment and ignored, as are empty lines.
-@@ -221,8 +221,7 @@ These options are configured in the *[ui]* section of aerc.conf.
+diff --git i/doc/aerc-config.5.scd w/doc/aerc-config.5.scd
+index d48e38a..39784c4 100644
+--- i/doc/aerc-config.5.scd
++++ w/doc/aerc-config.5.scd
+@@ -279,8 +279,7 @@ These options are configured in the *[ui]* section of _aerc.conf_.
  	```
  	${XDG_CONFIG_HOME:-~/.config}/aerc/stylesets
  	${XDG_DATA_HOME:-~/.local/share}/aerc/stylesets
@@ -59,26 +49,8 @@ index 885c4f8..77a853e 100644
 +	@out@/share/aerc/stylesets
  	```
  
- 	Default: ""
-@@ -381,7 +380,7 @@ against (non-case-sensitive) and a comma, e.g. subject,text will match a
- subject which contains "text". Use header,~regex to match against a regex.
- 
- aerc ships with some default filters installed in the share directory (usually
--_/usr/share/aerc/filters_). Note that these may have additional dependencies
-+_@out@/share/aerc/filters_). Note that these may have additional dependencies
- that aerc does not have alone.
- 
- ## TRIGGERS
-@@ -407,7 +406,7 @@ and forward commands can be called with the -T flag with the name of the
- template name.
- 
- aerc ships with some default templates installed in the share directory (usually
--_/usr/share/aerc/templates_).
-+_@out@/share/aerc/templates_).
- 
- These options are configured in the *[templates]* section of aerc.conf.
- 
-@@ -419,8 +418,7 @@ These options are configured in the *[templates]* section of aerc.conf.
+ *styleset-name* = _<string>_
+@@ -822,8 +821,7 @@ These options are configured in the *[templates]* section of _aerc.conf_.
  	```
  	${XDG_CONFIG_HOME:-~/.config}/aerc/templates
  	${XDG_DATA_HOME:-~/.local/share}/aerc/templates
@@ -87,4 +59,26 @@ index 885c4f8..77a853e 100644
 +	@out@/share/aerc/templates
  	```
  
- 	Default: ""
+ *new-message* = _<template_name>_
+diff --git i/doc/aerc-templates.7.scd w/doc/aerc-templates.7.scd
+index 6c9e319..0ef97ce 100644
+--- i/doc/aerc-templates.7.scd
++++ w/doc/aerc-templates.7.scd
+@@ -111,7 +111,7 @@ aerc provides the following additional functions:
+ 	Execute external command, provide the second argument to its stdin.
+ 
+ 	```
+-	{{exec `/usr/local/share/aerc/filters/html` .OriginalText}}
++	{{exec `@out@/share/aerc/filters/html` .OriginalText}}
+ 	```
+ 
+ *toLocal*
+@@ -142,7 +142,7 @@ aerc provides the following additional functions:
+ 	Example: Automatic HTML parsing for text/html mime type messages
+ 	```
+ 	{{if eq .OriginalMIMEType "text/html"}}
+-	{{exec `/usr/local/share/aerc/filters/html` .OriginalText | wrap 72 | quote}}
++	{{exec `@out@/share/aerc/filters/html` .OriginalText | wrap 72 | quote}}
+ 	{{else}}
+ 	{{wrap 72 .OriginalText | quote}}
+ 	{{end}}
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index 4592d17d348fb..41ff2b74a0640 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -15,16 +15,12 @@ nodePackages.n8n.override {
     pkgs.postgresql
   ];
 
-  # Patch minified source with changes from https://github.com/n8n-io/n8n/pull/5052
-  preRebuild = ''
-    patch -p1 -i ${./fix-permissions.diff}
-  '' +
   # Oracle's official package on npm is binary only (WHY?!) and doesn't provide binaries for aarch64.
   # This can supposedly be fixed by building a custom copy of the module from source, but that's way
   # too much complexity for a setup no one would ever actually run.
   #
   # NB: If you _are_ actually running n8n on Oracle on aarch64, feel free to submit a patch.
-  lib.optionalString stdenv.isAarch64 ''
+  preRebuild = lib.optionalString stdenv.isAarch64 ''
     rm -rf node_modules/oracledb
   '';
 
diff --git a/pkgs/applications/networking/n8n/fix-permissions.diff b/pkgs/applications/networking/n8n/fix-permissions.diff
deleted file mode 100644
index 81a5a4ee6465d..0000000000000
--- a/pkgs/applications/networking/n8n/fix-permissions.diff
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/dist/LoadNodesAndCredentials.js
-+++ b/dist/LoadNodesAndCredentials.js
-@@ -216,6 +216,7 @@
-         const { types } = loader;
-         this.types.nodes = this.types.nodes.concat(types.nodes);
-         this.types.credentials = this.types.credentials.concat(types.credentials);
-+        let seen = new Set();
-         const iconPromises = Object.entries(types).flatMap(([typeName, typesArr]) => typesArr.map((type) => {
-             var _a;
-             if (!((_a = type.icon) === null || _a === void 0 ? void 0 : _a.startsWith('file:')))
-@@ -226,7 +227,16 @@
-             type.iconUrl = iconUrl;
-             const source = path_1.default.join(dir, icon);
-             const destination = path_1.default.join(constants_1.GENERATED_STATIC_DIR, iconUrl);
--            return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => (0, promises_1.copyFile)(source, destination));
-+            if (!seen.has(destination)) {
-+                seen.add(destination);
-+                return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => {
-+                    await (0, promises_1.copyFile)(source, destination);
-+                    await (0, promises_1.chmod)(destination, 0o644);
-+                });
-+            }
-+            else {
-+                return Promise.resolve();
-+            }
-         }));
-         await Promise.all(iconPromises);
-         for (const nodeTypeName in loader.nodeTypes) {
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 4512f48a6c863..bf43a8e184529 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -1030,49 +1030,49 @@ let
         sha512 = "gW69MEamZ4wk1OsOq1nG1jcyhXIQcnrsX5JwixVw/9xaiav8TCyjESAruu1Rz9yyInhgBXxkNwMeygKnN2uxNA==";
       };
     };
-    "@sentry/core-7.37.0" = {
+    "@sentry/core-7.37.1" = {
       name = "_at_sentry_slash_core";
       packageName = "@sentry/core";
-      version = "7.37.0";
+      version = "7.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/core/-/core-7.37.0.tgz";
-        sha512 = "2M6aZKIG/1HgfE0hobQ9tKSo6ZsyBrSQqjtQhMVFwVzZJyFw3m1AqcrB+f0myi+1ay2MMPbJ+HhYtBPR3e4EvA==";
+        url = "https://registry.npmjs.org/@sentry/core/-/core-7.37.1.tgz";
+        sha512 = "eS5hoFDjAOl7POZg6K77J0oiypiqR1782oVSB49UkjK+D8tCZzZ5PxPMv0b/O0310p7x4oZ3WGRJaWEN3vY4KQ==";
       };
     };
-    "@sentry/integrations-7.37.0" = {
+    "@sentry/integrations-7.37.1" = {
       name = "_at_sentry_slash_integrations";
       packageName = "@sentry/integrations";
-      version = "7.37.0";
+      version = "7.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.37.0.tgz";
-        sha512 = "8kMHK/QrulSfzV7mubZp+UmP1gOYGkrCfNaf9LkRDs4j1X9Y07Wyoa6C5h7ENDkXM/nk6NmVFDmHMYTT/zvndA==";
+        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.37.1.tgz";
+        sha512 = "/7VZXw7/DxZPsGNEaU/gcKRNPtmK75mz9oM71C5UbRDDEdFSEeVq2jG+tOq2lIsd2VQlsAmN3DG5yqiGA9C4eQ==";
       };
     };
-    "@sentry/node-7.37.0" = {
+    "@sentry/node-7.37.1" = {
       name = "_at_sentry_slash_node";
       packageName = "@sentry/node";
-      version = "7.37.0";
+      version = "7.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/node/-/node-7.37.0.tgz";
-        sha512 = "ohkk5K7V3+lK1MtVVpTzqu09xcGNu9IeGK2VjjMD68deojdYrxWXINuO4ta0aE1hmg1rwAlpPebQkmXspo9zOw==";
+        url = "https://registry.npmjs.org/@sentry/node/-/node-7.37.1.tgz";
+        sha512 = "nGerngIo5JwinJgl7m0SaL/xI+YRBlhb53gbkuLSAAcnoitBFzbp7LjywsqYFTWuWDIyk7O2t124GNxtolBAgA==";
       };
     };
-    "@sentry/types-7.37.0" = {
+    "@sentry/types-7.37.1" = {
       name = "_at_sentry_slash_types";
       packageName = "@sentry/types";
-      version = "7.37.0";
+      version = "7.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/types/-/types-7.37.0.tgz";
-        sha512 = "p8iw5oGvWLIk7osMgXhxshUpebJD0riiuT3ihBP0DV+Gs8r0qdQ5gtcStl7Cn0D4013p4j/f3T5q85Z9ENE6fA==";
+        url = "https://registry.npmjs.org/@sentry/types/-/types-7.37.1.tgz";
+        sha512 = "c2HWyWSgVA0V4+DSW2qVb0yjftrb1X/q2CzCom+ayjGHO72qyWC+9Tc+7ZfotU1mapRjqUWBgkXkbGmao8N8Ug==";
       };
     };
-    "@sentry/utils-7.37.0" = {
+    "@sentry/utils-7.37.1" = {
       name = "_at_sentry_slash_utils";
       packageName = "@sentry/utils";
-      version = "7.37.0";
+      version = "7.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.37.0.tgz";
-        sha512 = "CN86EKQ07+SgqfgGehMJsgrCEjc0sl1YDcj2xf9dA0Bn3ma2MTDkCyutxVcRfc2IVWfqAN1rn/L8/BH2v2+eqA==";
+        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.37.1.tgz";
+        sha512 = "/4mJOyDsfysx+5TXyJgSI+Ihw2/0EVJbrHjCyXPDXW5ADwbtU8VdBZ0unOmF0hk4QfftqwM9cyEu3BN4iBJsEA==";
       };
     };
     "@servie/events-1.0.0" = {
@@ -1255,15 +1255,6 @@ let
         sha512 = "Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==";
       };
     };
-    "@types/express-jwt-0.0.42" = {
-      name = "_at_types_slash_express-jwt";
-      packageName = "@types/express-jwt";
-      version = "0.0.42";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-jwt/-/express-jwt-0.0.42.tgz";
-        sha512 = "WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==";
-      };
-    };
     "@types/express-serve-static-core-4.17.33" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
@@ -1273,15 +1264,6 @@ let
         sha512 = "TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==";
       };
     };
-    "@types/express-unless-2.0.1" = {
-      name = "_at_types_slash_express-unless";
-      packageName = "@types/express-unless";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-unless/-/express-unless-2.0.1.tgz";
-        sha512 = "PJLiNw03EjkWDkQbhNjIXXDLObC3eMQhFASDV+WakFbT8eL7YdjlbV6MXd3Av5Lejq499d6pFuV1jyK+EHyG3Q==";
-      };
-    };
     "@types/js-nacl-1.3.1" = {
       name = "_at_types_slash_js-nacl";
       packageName = "@types/js-nacl";
@@ -1300,6 +1282,15 @@ let
         sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
       };
     };
+    "@types/jsonwebtoken-9.0.1" = {
+      name = "_at_types_slash_jsonwebtoken";
+      packageName = "@types/jsonwebtoken";
+      version = "9.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz";
+        sha512 = "c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==";
+      };
+    };
     "@types/lodash-4.14.191" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
@@ -3451,13 +3442,13 @@ let
         sha512 = "Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==";
       };
     };
-    "define-properties-1.1.4" = {
+    "define-properties-1.2.0" = {
       name = "define-properties";
       packageName = "define-properties";
-      version = "1.1.4";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
-        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz";
+        sha512 = "xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==";
       };
     };
     "degenerator-3.0.2" = {
@@ -4126,15 +4117,6 @@ let
         sha512 = "tZh2P2p5a8/yxQ5VbRav011Poa4R0mHqdFwn9Swe/obXDe5F0jY9wtRAfNYnqk4LXY7akyvR/nrvAHxQPWUjsQ==";
       };
     };
-    "express-unless-2.1.3" = {
-      name = "express-unless";
-      packageName = "express-unless";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/express-unless/-/express-unless-2.1.3.tgz";
-        sha512 = "wj4tLMyCVYuIIKHGt0FhCtIViBcwzWejX0EjNxveAa6dG+0XBCQhMbx+PnkLkFCxLC69qoFrxds4pIyL88inaQ==";
-      };
-    };
     "extend-3.0.2" = {
       name = "extend";
       packageName = "extend";
@@ -4693,6 +4675,15 @@ let
         sha512 = "nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==";
       };
     };
+    "glob-8.1.0" = {
+      name = "glob";
+      packageName = "glob";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz";
+        sha512 = "r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==";
+      };
+    };
     "glob-parent-3.1.0" = {
       name = "glob-parent";
       packageName = "glob-parent";
@@ -5764,6 +5755,15 @@ let
         sha512 = "bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==";
       };
     };
+    "jose-4.11.4" = {
+      name = "jose";
+      packageName = "jose";
+      version = "4.11.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jose/-/jose-4.11.4.tgz";
+        sha512 = "94FdcR8felat4vaTJyL/WVdtlWLlsnLMZP8v+A0Vru18K3bQ22vn7TtpVh3JlgBFNIlYOUlGqwp/MjRPOnIyCQ==";
+      };
+    };
     "jquery-3.6.3" = {
       name = "jquery";
       packageName = "jquery";
@@ -5998,13 +5998,13 @@ let
         sha512 = "jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==";
       };
     };
-    "jwks-rsa-1.12.3" = {
+    "jwks-rsa-3.0.1" = {
       name = "jwks-rsa";
       packageName = "jwks-rsa";
-      version = "1.12.3";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-1.12.3.tgz";
-        sha512 = "cFipFDeYYaO9FhhYJcZWX/IyZgc0+g316rcHnDpT2dNRNIE/lMOmWKKqp09TkJoYlNFzrEVODsR4GgXJMgWhnA==";
+        url = "https://registry.npmjs.org/jwks-rsa/-/jwks-rsa-3.0.1.tgz";
+        sha512 = "UUOZ0CVReK1QVU3rbi9bC7N5/le8ziUj0A2ef1Q0M7OPD2KvjEYizptqIxGIo6fSLYDkqBrazILS18tYuRc8gw==";
       };
     };
     "jws-3.2.2" = {
@@ -6961,6 +6961,15 @@ let
         sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     };
+    "mkdirp-2.1.3" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.3.tgz";
+        sha512 = "sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==";
+      };
+    };
     "mkdirp-classic-0.5.3" = {
       name = "mkdirp-classic";
       packageName = "mkdirp-classic";
@@ -7150,49 +7159,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.153.0" = {
+    "n8n-core-0.154.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.153.0";
+      version = "0.154.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.153.0.tgz";
-        sha512 = "m5yikbWxe2IgA2P1ryUzlE4alNWPDha1vF3zoIgHfdZObR7UyoYohlJpT6l5LUcduCQVE87t1rspnJd4MY0hrQ==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.154.0.tgz";
+        sha512 = "jBnLFpDCa93aK7bGFMAHZleNSU2q6h8zwRPQyDStjlc1J2gSOUAMHBqzz/3of9UbjTx7N/2JfkyC22rgFf5tSA==";
       };
     };
-    "n8n-design-system-0.52.0" = {
+    "n8n-design-system-0.53.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.52.0";
+      version = "0.53.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.52.0.tgz";
-        sha512 = "Dd6SdWYDjlhgrpPbof4DFPP4hPdpH9cA+3YkFSCgQLNyCi0RdqiQJqPQ5xQFlNVaxd6a7R69RHy/oNwt6/+cLw==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.53.0.tgz";
+        sha512 = "QTPcnNOv9sp9RzT0I4cuB2lqEmHJrv+TBV1D8mZ3upas7ZMdNVLhGiRM8EgbeQoY5jsKlTA3nagTflNQy8H/tw==";
       };
     };
-    "n8n-editor-ui-0.180.3" = {
+    "n8n-editor-ui-0.181.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.180.3";
+      version = "0.181.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.180.3.tgz";
-        sha512 = "1agrCzViXP7Q7wqdpOqHF/TEl5pE17cSROVdkGmZkTYAOVsxuB3nLZ29ifqUUM9evgiVsMSV7NG78juD5HYt+Q==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.181.0.tgz";
+        sha512 = "TmaCveuWjz5qZ9WOwczGF/XRnGkHqCrMx02r3GcgxoLVvOro2AklGYaY+CL2AsbEsiwoCfD8fF8yAqd5+cc95w==";
       };
     };
-    "n8n-nodes-base-0.212.2" = {
+    "n8n-nodes-base-0.213.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.212.2";
+      version = "0.213.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.212.2.tgz";
-        sha512 = "kmuuZOvQ+c84Eap2TW/RUzTZffYznI9fscTUSZYd8xpFdbptIH9TL0pkkcKhybvOC5y0CFPeMKV5JcH0uEujmw==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.213.0.tgz";
+        sha512 = "8Re6eUkZRR5Wy6UNsYFtB+rGXG+Ll30dr/PV/WWf71JMlH3mqCrfVEz1G1YeiUcfDNyL8F9re7sVzVZ1SDwr2w==";
       };
     };
-    "n8n-workflow-0.135.0" = {
+    "n8n-workflow-0.136.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.135.0";
+      version = "0.136.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.135.0.tgz";
-        sha512 = "4KTWgul6DHk7rOP2Pj2XsEw4wWfJo29CCLXImgMHkOqR0SWxZT2lRvlqggxlDD1KkmnEddHghLzxOCGxgRHxFg==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.136.0.tgz";
+        sha512 = "nNsDxwSrdAruVF7sTgok8W24Kzy8eXCADPpocvnBofMrhcAhHCYV32dyqEyKLcnOfmyOhvkFsyCDF9R6vlKUzA==";
       };
     };
     "named-placeholders-1.1.3" = {
@@ -10444,13 +10453,13 @@ let
         sha512 = "/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==";
       };
     };
-    "typeorm-0.3.11" = {
+    "typeorm-0.3.12" = {
       name = "typeorm";
       packageName = "typeorm";
-      version = "0.3.11";
+      version = "0.3.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typeorm/-/typeorm-0.3.11.tgz";
-        sha512 = "pzdOyWbVuz/z8Ww6gqvBW4nylsM0KLdUCDExr2gR20/x1khGSVxQkjNV/3YqliG90jrWzrknYbYscpk8yxFJVg==";
+        url = "https://registry.npmjs.org/typeorm/-/typeorm-0.3.12.tgz";
+        sha512 = "sYSxBmCf1nJLLTcYtwqZ+lQIRtLPyUoO93rHTOKk9vJCyT4UfRtU7oRsJvfvKP3nnZTD1hzz2SEy2zwPEN6OyA==";
       };
     };
     "typeorm-aurora-data-api-driver-2.4.4" = {
@@ -11173,6 +11182,15 @@ let
         sha512 = "F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==";
       };
     };
+    "ws-8.12.0" = {
+      name = "ws";
+      packageName = "ws";
+      version = "8.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-8.12.0.tgz";
+        sha512 = "kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==";
+      };
+    };
     "xlsx-0.17.5" = {
       name = "xlsx";
       packageName = "xlsx";
@@ -11368,10 +11386,10 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.214.3";
+    version = "0.215.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.214.3.tgz";
-      sha512 = "QI5MqWpGd+d8XUDL18DHiHDQXPGTer6b2fpwx1ZZiRhIgVBzLXTmrdsMHSRtuIcTXHmu2Q2bnU2Qdn2oYs4heA==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.215.0.tgz";
+      sha512 = "r9Z4BGkVFSy0zKmZvA6HP9RMxd6MvTN11q5Txv+04xjmdg+LxJo3ES8znnOeMXPZrpQ2yB44kyRNzJMJdZt0Yg==";
     };
     dependencies = [
       (sources."@acuminous/bitsyntax-0.1.2" // {
@@ -11385,79 +11403,36 @@ in
           sources."js-yaml-4.1.0"
         ];
       })
-      (sources."@azure/abort-controller-1.1.0" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/core-auth-1.4.0" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/core-client-1.7.1" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."@azure/abort-controller-1.1.0"
+      sources."@azure/core-auth-1.4.0"
+      sources."@azure/core-client-1.7.1"
       (sources."@azure/core-http-2.3.1" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
           sources."tough-cookie-4.1.2"
-          sources."tslib-2.5.0"
           sources."universalify-0.2.0"
         ];
       })
       sources."@azure/core-http-compat-1.3.0"
-      (sources."@azure/core-lro-2.5.1" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/core-paging-1.5.0" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/core-rest-pipeline-1.10.1" // {
-        dependencies = [
-          sources."@tootallnate/once-2.0.0"
-          sources."http-proxy-agent-5.0.0"
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/core-tracing-1.0.1" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/core-util-1.1.1" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."@azure/core-lro-2.5.1"
+      sources."@azure/core-paging-1.5.0"
+      sources."@azure/core-rest-pipeline-1.10.1"
+      sources."@azure/core-tracing-1.0.1"
+      sources."@azure/core-util-1.1.1"
       (sources."@azure/identity-2.1.0" // {
         dependencies = [
           sources."jwa-2.0.0"
           sources."jws-4.0.0"
           sources."open-8.4.1"
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/keyvault-keys-4.6.0" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."@azure/logger-1.0.3" // {
-        dependencies = [
-          sources."tslib-2.5.0"
         ];
       })
+      sources."@azure/keyvault-keys-4.6.0"
+      sources."@azure/logger-1.0.3"
       sources."@azure/ms-rest-azure-env-2.0.0"
       (sources."@azure/ms-rest-js-2.6.4" // {
         dependencies = [
           sources."form-data-2.5.1"
+          sources."tslib-1.14.1"
         ];
       })
       sources."@azure/ms-rest-nodeauth-3.1.1"
@@ -11475,7 +11450,6 @@ in
       (sources."@azure/storage-blob-12.12.0" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
-          sources."tslib-2.5.0"
         ];
       })
       sources."@babel/parser-7.20.15"
@@ -11580,15 +11554,10 @@ in
         ];
       })
       sources."@oclif/command-1.8.22"
-      (sources."@oclif/config-1.18.8" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."@oclif/config-1.18.8"
       (sources."@oclif/core-1.26.1" // {
         dependencies = [
           sources."supports-color-8.1.1"
-          sources."tslib-2.5.0"
           sources."wrap-ansi-7.0.0"
         ];
       })
@@ -11603,15 +11572,10 @@ in
       (sources."@oclif/help-1.0.5" // {
         dependencies = [
           sources."@oclif/config-1.18.6"
-          sources."tslib-2.5.0"
         ];
       })
       sources."@oclif/linewrap-1.0.0"
-      (sources."@oclif/parser-3.8.10" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."@oclif/parser-3.8.10"
       sources."@oclif/screen-3.0.4"
       sources."@opentelemetry/api-1.4.0"
       sources."@protobufjs/aspromise-1.1.2"
@@ -11642,11 +11606,27 @@ in
           sources."domhandler-5.0.3"
         ];
       })
-      sources."@sentry/core-7.37.0"
-      sources."@sentry/integrations-7.37.0"
-      sources."@sentry/node-7.37.0"
-      sources."@sentry/types-7.37.0"
-      sources."@sentry/utils-7.37.0"
+      (sources."@sentry/core-7.37.1" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@sentry/integrations-7.37.1" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@sentry/node-7.37.1" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      sources."@sentry/types-7.37.1"
+      (sources."@sentry/utils-7.37.1" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."@servie/events-1.0.0"
       sources."@sqltools/formatter-1.2.5"
       sources."@swc/core-1.3.35"
@@ -11654,7 +11634,7 @@ in
       sources."@techteamer/ocsp-1.0.0"
       sources."@tediousjs/connection-string-0.3.0"
       sources."@tokenizer/token-0.3.0"
-      sources."@tootallnate/once-1.1.2"
+      sources."@tootallnate/once-2.0.0"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -11666,11 +11646,10 @@ in
       sources."@types/duplexify-3.6.1"
       sources."@types/es-aggregate-error-1.0.2"
       sources."@types/express-4.17.17"
-      sources."@types/express-jwt-0.0.42"
       sources."@types/express-serve-static-core-4.17.33"
-      sources."@types/express-unless-2.0.1"
       sources."@types/js-nacl-1.3.1"
       sources."@types/json-schema-7.0.11"
+      sources."@types/jsonwebtoken-9.0.1"
       sources."@types/lodash-4.14.191"
       sources."@types/long-4.0.2"
       sources."@types/mime-3.0.1"
@@ -11763,11 +11742,7 @@ in
       sources."asn1.js-rfc5280-3.0.0"
       sources."assert-options-0.8.0"
       sources."assert-plus-1.0.0"
-      (sources."ast-types-0.13.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."ast-types-0.13.4"
       sources."async-3.2.4"
       sources."async-validator-1.8.5"
       sources."asynckit-0.4.0"
@@ -11865,16 +11840,8 @@ in
       sources."call-me-maybe-1.0.2"
       sources."callback-stream-1.1.0"
       sources."callsites-3.1.0"
-      (sources."camel-case-4.1.2" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."capital-case-1.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."camel-case-4.1.2"
+      sources."capital-case-1.0.4"
       sources."cardinal-2.1.1"
       sources."caseless-0.12.0"
       (sources."cfb-1.2.2" // {
@@ -11883,11 +11850,7 @@ in
         ];
       })
       sources."chalk-4.1.2"
-      (sources."change-case-4.1.2" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."change-case-4.1.2"
       sources."chardet-0.7.0"
       sources."charenc-0.0.2"
       (sources."checkpoint-stream-0.1.2" // {
@@ -11953,11 +11916,7 @@ in
       sources."concat-stream-1.6.2"
       sources."connect-history-api-fallback-1.6.0"
       sources."console-control-strings-1.1.0"
-      (sources."constant-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."constant-case-3.0.4"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.5"
       sources."convict-6.2.4"
@@ -12006,7 +11965,7 @@ in
       sources."deepmerge-1.5.2"
       sources."default-user-agent-1.0.0"
       sources."define-lazy-prop-2.0.0"
-      sources."define-properties-1.1.4"
+      sources."define-properties-1.2.0"
       sources."degenerator-3.0.2"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
@@ -12023,11 +11982,7 @@ in
       sources."domelementtype-2.3.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
-      (sources."dot-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."dot-case-3.0.4"
       sources."dotenv-8.6.0"
       sources."dreamopt-0.6.0"
       sources."duplexify-3.7.1"
@@ -12085,7 +12040,6 @@ in
         ];
       })
       sources."express-prom-bundle-6.6.0"
-      sources."express-unless-2.1.3"
       sources."extend-3.0.2"
       sources."extend-shallow-2.0.1"
       (sources."external-editor-3.1.0" // {
@@ -12171,6 +12125,7 @@ in
       sources."get-system-fonts-2.0.2"
       (sources."get-uri-3.0.2" // {
         dependencies = [
+          sources."@tootallnate/once-1.1.2"
           sources."file-uri-to-path-2.0.0"
           sources."fs-extra-8.1.0"
           sources."jsonfile-4.0.0"
@@ -12233,11 +12188,7 @@ in
       sources."has-unicode-2.0.1"
       sources."hdb-pool-0.1.6"
       sources."he-1.2.0"
-      (sources."header-case-2.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."header-case-2.0.4"
       sources."heap-0.2.7"
       sources."help-me-1.1.0"
       sources."highlight.js-10.7.3"
@@ -12255,7 +12206,7 @@ in
       sources."htmlparser2-6.1.0"
       sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
-      sources."http-proxy-agent-4.0.1"
+      sources."http-proxy-agent-5.0.0"
       sources."http-signature-1.2.0"
       sources."https-proxy-agent-5.0.1"
       sources."humanize-duration-3.28.0"
@@ -12344,6 +12295,7 @@ in
       sources."jake-10.8.5"
       sources."jmespath-0.16.0"
       sources."join-component-1.1.0"
+      sources."jose-4.11.4"
       sources."jquery-3.6.3"
       sources."js-base64-3.7.5"
       sources."js-md4-0.3.2"
@@ -12373,12 +12325,7 @@ in
       sources."jsonwebtoken-9.0.0"
       sources."jsprim-1.4.2"
       sources."jwa-1.4.1"
-      (sources."jwks-rsa-1.12.3" // {
-        dependencies = [
-          sources."jsonwebtoken-8.5.1"
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."jwks-rsa-3.0.1"
       sources."jws-3.2.2"
       sources."kafkajs-1.16.0"
       sources."kuler-2.0.0"
@@ -12440,11 +12387,7 @@ in
       sources."logform-2.5.1"
       sources."long-4.0.0"
       sources."lossless-json-1.0.5"
-      (sources."lower-case-2.0.2" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."lower-case-2.0.2"
       sources."lru-cache-4.0.2"
       sources."lru-memoizer-2.2.0"
       sources."lru_map-0.3.3"
@@ -12465,6 +12408,8 @@ in
       sources."make-error-cause-2.3.0"
       (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
+          sources."@tootallnate/once-1.1.2"
+          sources."http-proxy-agent-4.0.1"
           sources."lru-cache-6.0.0"
           sources."minipass-3.3.6"
           sources."socks-proxy-agent-6.2.1"
@@ -12557,11 +12502,16 @@ in
         dependencies = [
           sources."concat-stream-2.0.0"
           sources."readable-stream-3.6.0"
+          sources."ws-7.5.9"
         ];
       })
       sources."mqtt-packet-6.10.0"
       sources."ms-2.1.2"
-      sources."msal-1.4.17"
+      (sources."msal-1.4.17" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."msgpackr-1.8.3"
       (sources."mssql-8.1.4" // {
         dependencies = [
@@ -12578,26 +12528,30 @@ in
         ];
       })
       sources."mz-2.7.0"
-      (sources."n8n-core-0.153.0" // {
+      (sources."n8n-core-0.154.0" // {
         dependencies = [
           sources."concat-stream-2.0.0"
           sources."readable-stream-3.6.0"
         ];
       })
-      (sources."n8n-design-system-0.52.0" // {
+      (sources."n8n-design-system-0.53.0" // {
         dependencies = [
           sources."argparse-2.0.1"
           sources."markdown-it-12.3.2"
           sources."vue2-boring-avatars-0.3.8"
         ];
       })
-      sources."n8n-editor-ui-0.180.3"
-      (sources."n8n-nodes-base-0.212.2" // {
+      sources."n8n-editor-ui-0.181.0"
+      (sources."n8n-nodes-base-0.213.0" // {
         dependencies = [
           sources."chokidar-3.5.2"
         ];
       })
-      sources."n8n-workflow-0.135.0"
+      (sources."n8n-workflow-0.136.0" // {
+        dependencies = [
+          sources."ast-types-0.15.2"
+        ];
+      })
       (sources."named-placeholders-1.1.3" // {
         dependencies = [
           sources."lru-cache-7.14.1"
@@ -12613,11 +12567,7 @@ in
       sources."neo-async-2.6.2"
       sources."netmask-2.0.2"
       sources."nice-try-1.0.5"
-      (sources."no-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."no-case-3.0.4"
       sources."node-abi-3.33.0"
       sources."node-abort-controller-3.1.1"
       sources."node-addon-api-4.3.0"
@@ -12686,18 +12636,19 @@ in
       sources."p-map-2.1.0"
       sources."p-queue-6.6.2"
       sources."p-timeout-3.2.0"
-      sources."pac-proxy-agent-5.0.0"
-      (sources."pac-resolver-5.0.1" // {
+      (sources."pac-proxy-agent-5.0.0" // {
         dependencies = [
-          sources."ip-1.1.8"
+          sources."@tootallnate/once-1.1.2"
+          sources."http-proxy-agent-4.0.1"
         ];
       })
-      sources."packet-reader-1.0.0"
-      (sources."param-case-3.0.4" // {
+      (sources."pac-resolver-5.0.1" // {
         dependencies = [
-          sources."tslib-2.5.0"
+          sources."ip-1.1.8"
         ];
       })
+      sources."packet-reader-1.0.0"
+      sources."param-case-3.0.4"
       sources."parse-github-url-1.0.2"
       sources."parse-passwd-1.0.0"
       sources."parse-srcset-1.0.2"
@@ -12705,11 +12656,7 @@ in
       sources."parse5-htmlparser2-tree-adapter-6.0.1"
       sources."parseley-0.11.0"
       sources."parseurl-1.3.3"
-      (sources."pascal-case-3.1.2" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."pascal-case-3.1.2"
       sources."passport-0.6.0"
       sources."passport-cookie-1.0.9"
       sources."passport-jwt-4.0.1"
@@ -12719,11 +12666,7 @@ in
           sources."ansi-escapes-3.2.0"
         ];
       })
-      (sources."path-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."path-case-3.0.4"
       sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
@@ -12809,6 +12752,8 @@ in
       sources."proxy-addr-2.0.7"
       (sources."proxy-agent-5.0.0" // {
         dependencies = [
+          sources."@tootallnate/once-1.1.2"
+          sources."http-proxy-agent-4.0.1"
           sources."lru-cache-5.1.1"
           sources."yallist-3.1.1"
         ];
@@ -12853,7 +12798,6 @@ in
       (sources."recast-0.21.5" // {
         dependencies = [
           sources."ast-types-0.15.2"
-          sources."tslib-2.5.0"
         ];
       })
       sources."rechoir-0.6.2"
@@ -12907,7 +12851,11 @@ in
       sources."rss-parser-3.12.0"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-6.6.7"
+      (sources."rxjs-6.6.7" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."safe-buffer-5.2.1"
       sources."safe-regex-test-1.0.0"
       sources."safe-stable-stringify-2.4.2"
@@ -12937,11 +12885,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      (sources."sentence-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."sentence-case-3.0.4"
       sources."seq-queue-0.0.5"
       sources."serialize-javascript-5.0.1"
       sources."serve-static-1.15.0"
@@ -12967,11 +12911,7 @@ in
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      (sources."snake-case-3.0.4" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."snake-case-3.0.4"
       (sources."snowflake-sdk-1.6.18" // {
         dependencies = [
           sources."axios-0.27.2"
@@ -13077,12 +13017,7 @@ in
           sources."sprintf-js-1.1.2"
         ];
       })
-      (sources."teeny-request-7.2.0" // {
-        dependencies = [
-          sources."@tootallnate/once-2.0.0"
-          sources."http-proxy-agent-5.0.0"
-        ];
-      })
+      sources."teeny-request-7.2.0"
       sources."test-console-2.0.0"
       sources."text-hex-1.0.0"
       sources."thenify-3.3.1"
@@ -13094,11 +13029,7 @@ in
       sources."throwback-4.1.0"
       sources."timeago.js-4.0.2"
       sources."tinycolor2-1.6.0"
-      (sources."title-case-3.0.3" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."title-case-3.0.3"
       sources."tlds-1.236.0"
       sources."tmp-0.0.33"
       (sources."tmp-promise-3.0.3" // {
@@ -13124,7 +13055,7 @@ in
       sources."triple-beam-1.3.0"
       sources."ts-expect-1.3.0"
       sources."ts-node-10.9.1"
-      sources."tslib-1.14.1"
+      sources."tslib-2.5.0"
       sources."tsscmp-1.0.6"
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
@@ -13134,12 +13065,20 @@ in
       sources."type-is-1.6.18"
       sources."typed-array-length-1.0.4"
       sources."typedarray-0.0.6"
-      (sources."typeorm-0.3.11" // {
+      (sources."typeorm-0.3.12" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.12"
-          sources."@azure/identity-1.5.2"
+          (sources."@azure/identity-1.5.2" // {
+            dependencies = [
+              sources."uuid-8.3.2"
+            ];
+          })
           sources."@azure/msal-common-4.5.1"
-          sources."@azure/msal-node-1.0.0-beta.6"
+          (sources."@azure/msal-node-1.0.0-beta.6" // {
+            dependencies = [
+              sources."uuid-8.3.2"
+            ];
+          })
           sources."@js-joda/core-3.2.0"
           sources."argparse-2.0.1"
           sources."bl-2.2.1"
@@ -13147,6 +13086,7 @@ in
           sources."buffer-6.0.3"
           sources."cliui-8.0.1"
           sources."dotenv-16.0.3"
+          sources."glob-8.1.0"
           sources."js-yaml-4.1.0"
           sources."jsbi-3.2.5"
           (sources."jsonwebtoken-8.5.1" // {
@@ -13156,7 +13096,8 @@ in
           })
           sources."jwa-2.0.0"
           sources."jws-4.0.0"
-          sources."mkdirp-1.0.4"
+          sources."minimatch-5.1.6"
+          sources."mkdirp-2.1.3"
           sources."mongodb-3.7.3"
           sources."mssql-7.3.5"
           sources."node-abort-controller-2.0.0"
@@ -13168,7 +13109,7 @@ in
               sources."bl-5.1.0"
             ];
           })
-          sources."tslib-2.5.0"
+          sources."uuid-9.0.0"
           sources."wrap-ansi-7.0.0"
           sources."yargs-17.6.2"
           sources."yargs-parser-21.1.1"
@@ -13187,16 +13128,8 @@ in
       sources."unique-stream-2.3.1"
       sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
-      (sources."upper-case-2.0.2" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
-      (sources."upper-case-first-2.0.2" // {
-        dependencies = [
-          sources."tslib-2.5.0"
-        ];
-      })
+      sources."upper-case-2.0.2"
+      sources."upper-case-first-2.0.2"
       sources."uri-js-4.4.1"
       (sources."url-0.10.3" // {
         dependencies = [
@@ -13282,7 +13215,7 @@ in
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.9"
+      sources."ws-8.12.0"
       sources."xlsx-0.17.5"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
diff --git a/pkgs/common-updater/scripts/list-git-tags b/pkgs/common-updater/scripts/list-git-tags
index 703e71438a71e..cf0a52d92274e 100755
--- a/pkgs/common-updater/scripts/list-git-tags
+++ b/pkgs/common-updater/scripts/list-git-tags
@@ -54,6 +54,6 @@ fi
 tags=$(git ls-remote --tags --refs "$url")
 
 # keep only the version part of the tag
-tags=$(echo "$tags" | cut --delimiter=/ --field=3)
+tags=$(echo "$tags" | cut --delimiter=/ --field=3-)
 
 echo "$tags"
diff --git a/pkgs/development/libraries/nss/latest.nix b/pkgs/development/libraries/nss/latest.nix
index 6f3e73639b9e3..0a74f9a386572 100644
--- a/pkgs/development/libraries/nss/latest.nix
+++ b/pkgs/development/libraries/nss/latest.nix
@@ -5,6 +5,6 @@
 #       Example: nix-shell ./maintainers/scripts/update.nix --argstr package cacert
 
 import ./generic.nix {
-  version = "3.87";
-  hash = "sha256-aKGJRJbT0Vi6vHX4pd2j9Vt8FWBXOTbjsQGhD6SsFS0=";
+  version = "3.88.1";
+  hash = "sha256-J9JD7fh9HPG7nIYfA9OH4OkjDOUBf0MIyUH1WLVLNJY=";
 }
diff --git a/pkgs/development/python-modules/aiowinreg/default.nix b/pkgs/development/python-modules/aiowinreg/default.nix
index 37631969ce1a8..54c0f9132ef6f 100644
--- a/pkgs/development/python-modules/aiowinreg/default.nix
+++ b/pkgs/development/python-modules/aiowinreg/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiowinreg";
-  version = "0.0.8";
+  version = "0.0.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "skelsec";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-4/xElE70rJKBMS1HdHb6BlcKs4gzNfuEo/6ahN6ixSM=";
+    hash = "sha256-FyrYqNqp0PTEHHit3Rn00jtvPOvgVy+lz3jDRJnsobI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/argh/default.nix b/pkgs/development/python-modules/argh/default.nix
index 8d658d2c2938d..55da36c71c6f2 100644
--- a/pkgs/development/python-modules/argh/default.nix
+++ b/pkgs/development/python-modules/argh/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "argh";
-  version = "0.27.1";
+  version = "0.27.2";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-2wbZEIHxck40fM23iclXD+yUc351WvFZiDcpPgH8TNI=";
+    hash = "sha256-AMkCf29GG88kr+WZooG72ly9Xe5LZwW+++opOkyn0iE=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/bokeh/default.nix b/pkgs/development/python-modules/bokeh/default.nix
index 1a4648d413821..5d570844862f7 100644
--- a/pkgs/development/python-modules/bokeh/default.nix
+++ b/pkgs/development/python-modules/bokeh/default.nix
@@ -28,19 +28,16 @@
 , icalendar
 , pandas
 , pythonImportsCheckHook
-, contourpy
-, xyzservices
 }:
 
 buildPythonPackage rec {
   pname = "bokeh";
   # update together with panel which is not straightforward
-  version = "3.0.3";
-  format = "setuptools";
+  version = "2.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    hash= "sha256-HChHHvXmEQulvtUTE3/SYFTrxEVLx2hlDq7vxTuJioo=";
+    sha256 = "sha256-7zOAEWGvN5Zlq3o0aE8iCYYeOu/VyAOiH7u5nZSHSwM=";
   };
 
   patches = [
@@ -73,10 +70,10 @@ buildPythonPackage rec {
     requests
     nbconvert
     icalendar
+    pandas
   ];
 
   propagatedBuildInputs = [
-    contourpy
     pillow
     jinja2
     python-dateutil
@@ -84,10 +81,8 @@ buildPythonPackage rec {
     pyyaml
     tornado
     numpy
-    pandas
     packaging
     typing-extensions
-    xyzservices
   ]
   ++ lib.optionals ( isPy27 ) [
     futures
diff --git a/pkgs/development/python-modules/bokeh/hardcode-nodejs-npmjs-paths.patch b/pkgs/development/python-modules/bokeh/hardcode-nodejs-npmjs-paths.patch
index fffdea592b731..f8f33c0021f27 100644
--- a/pkgs/development/python-modules/bokeh/hardcode-nodejs-npmjs-paths.patch
+++ b/pkgs/development/python-modules/bokeh/hardcode-nodejs-npmjs-paths.patch
@@ -1,9 +1,9 @@
-diff --git a/src/bokeh/util/compiler.py b/src/bokeh/util/compiler.py
-index 9af8691..4b93543 100644
---- a/src/bokeh/util/compiler.py
-+++ b/src/bokeh/util/compiler.py
-@@ -415,8 +415,8 @@ def _detect_nodejs() -> str:
-     raise RuntimeError(f'node.js v{version_repr} or higher is needed to allow compilation of custom models ' +
+diff --git a/bokeh/util/compiler.py b/bokeh/util/compiler.py
+index a752aad7d..8af05ff63 100644
+--- a/bokeh/util/compiler.py
++++ b/bokeh/util/compiler.py
+@@ -442,8 +442,8 @@ def _detect_nodejs():
+     raise RuntimeError('node.js v%s or higher is needed to allow compilation of custom models ' % version +
                         '("conda install nodejs" or follow https://nodejs.org/en/download/)')
  
 -_nodejs = None
@@ -11,5 +11,5 @@ index 9af8691..4b93543 100644
 +_nodejs = "@node_bin@"
 +_npmjs = "@npm_bin@"
  
- def _nodejs_path() -> str:
+ def _nodejs_path():
      global _nodejs
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index 65cae10f0e21d..fc822e1ece15d 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "2.2.0";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "carpedm20";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3mCzbFuBIMdF6tbKLxqNKAO50vaRWeOxpydJ4ZeE+Vc=";
+    hash = "sha256-Zo5mH+AAi75vbjsV0UmEOrXKw1IUwspjWStJa+PI/as=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index 2a9fcd2010356..7b557940d8555 100644
--- a/pkgs/development/python-modules/motionblinds/default.nix
+++ b/pkgs/development/python-modules/motionblinds/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.6.15";
+  version = "0.6.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = "refs/tags/${version}";
-    hash = "sha256-OTnlfJeE64tURR5YrTXjzTHbvGnbeEWu9UHGynzmSiQ=";
+    hash = "sha256-S+3aIeP63JklGbH2Gc0r8jeThJywQZnJo8alAsPvxhQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/oslo-concurrency/default.nix b/pkgs/development/python-modules/oslo-concurrency/default.nix
index a714cd3a2281d..b48a5f23487f6 100644
--- a/pkgs/development/python-modules/oslo-concurrency/default.nix
+++ b/pkgs/development/python-modules/oslo-concurrency/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-concurrency";
-  version = "5.0.1";
+  version = "5.1.0";
 
   src = fetchPypi {
     pname = "oslo.concurrency";
     inherit version;
-    sha256 = "sha256-DfvzYJX0Y3/7tl5cJB9MJYUavTtyjd2tnwc5YwKnJUQ=";
+    sha256 = "sha256-iyF2xXzFSWkrXCAbTJWqV4rnzN+lwPgUxXgY1pptTVE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 9b35cb6ac1778..881280a1fca8e 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -1,20 +1,22 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonRelaxDepsHook
 , bleach
 , bokeh
 , param
 , pyviz-comms
 , markdown
 , pyct
-, testpath
+, requests
+, setuptools
 , tqdm
-, nodejs
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "panel";
-  version = "0.14.2";
+  version = "0.14.3";
 
   format = "wheel";
 
@@ -23,31 +25,42 @@ buildPythonPackage rec {
   # tries to fetch even more artifacts
   src = fetchPypi {
     inherit pname version format;
-    hash = "sha256-cDjrim7esGduL8IHxPpoqHB43uA78R9UMIrhNktqUdU=";
+    hash = "sha256-XOu17oydXwfyowYUmCKF7/RC0RQ0Uf1Ixmn+VTa85Lo=";
   };
 
+  nativeBuildInputs = [
+    pythonRelaxDepsHook
+  ];
+
+  pythonRelaxDeps = [
+    "bokeh"
+  ];
+
   propagatedBuildInputs = [
     bleach
     bokeh
-    param
-    pyviz-comms
     markdown
+    param
     pyct
-    testpath
+    pyviz-comms
+    requests
+    setuptools
     tqdm
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [
+    "panel"
   ];
 
   # infinite recursion in test dependencies (hvplot)
   doCheck = false;
 
-  passthru = {
-    inherit nodejs; # For convenience
-  };
-
   meta = with lib; {
     description = "A high level dashboarding library for python visualization libraries";
-    homepage = "https://pyviz.org";
+    homepage = "https://github.com/holoviz/panel";
+    changelog = "https://github.com/holoviz/panel/releases/tag/v${version}";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/tools/rust/cargo-binstall/default.nix b/pkgs/development/tools/rust/cargo-binstall/default.nix
new file mode 100644
index 0000000000000..e38a1462cd9b6
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-binstall/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, bzip2
+, xz
+, zstd
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-binstall";
+  version = "0.19.3";
+
+  src = fetchFromGitHub {
+    owner = "cargo-bins";
+    repo = "cargo-binstall";
+    rev = "v${version}";
+    hash = "sha256-MxbZlUlan58TVgcr2n5ZA+L01u90bYYqf88GU+sLmKk=";
+  };
+
+  cargoHash = "sha256-HG43UCjPCB5bEH0GYPoHsOlaJQNPRrD175SuUJ6QbEI=";
+
+  patches = [
+    # make it possible to disable the static feature
+    # https://github.com/cargo-bins/cargo-binstall/pull/782
+    ./fix-features.patch
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    bzip2
+    xz
+    zstd
+  ] ++ lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Security
+  ];
+
+  buildNoDefaultFeatures = true;
+  buildFeatures = [
+    "fancy-no-backtrace"
+    "pkg-config"
+    "rustls"
+    "trust-dns"
+    "zstd-thin"
+  ];
+
+  # remove cargo config so it can find the linker on aarch64-unknown-linux-gnu
+  postPatch = ''
+    rm .cargo/config
+  '';
+
+  meta = with lib; {
+    description = "A tool for installing rust binaries as an alternative to building from source";
+    homepage = "https://github.com/cargo-bins/cargo-binstall";
+    changelog = "https://github.com/cargo-bins/cargo-binstall/releases/tag/v${version}";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-binstall/fix-features.patch b/pkgs/development/tools/rust/cargo-binstall/fix-features.patch
new file mode 100644
index 0000000000000..825dda604ae3c
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-binstall/fix-features.patch
@@ -0,0 +1,22 @@
+--- a/crates/bin/Cargo.toml
++++ b/crates/bin/Cargo.toml
+@@ -22,7 +22,7 @@ pkg-fmt = "zip"
+ pkg-fmt = "zip"
+ 
+ [dependencies]
+-binstalk = { path = "../binstalk", version = "0.7.1" }
++binstalk = { path = "../binstalk", version = "0.7.1", default-features = false }
+ binstalk-manifests = { path = "../binstalk-manifests", version = "0.2.0" }
+ clap = { version = "4.1.1", features = ["derive"] }
+ crates_io_api = { version = "0.8.1", default-features = false }
+--- a/crates/binstalk/Cargo.toml
++++ b/crates/binstalk/Cargo.toml
+@@ -11,7 +11,7 @@ license = "GPL-3.0"
+ 
+ [dependencies]
+ async-trait = "0.1.61"
+-binstalk-downloader = { version = "0.3.2", path = "../binstalk-downloader" }
++binstalk-downloader = { version = "0.3.2", path = "../binstalk-downloader", default-features = false }
+ binstalk-types = { version = "0.2.0", path = "../binstalk-types" }
+ cargo_toml = "0.14.0"
+ command-group = { version = "2.0.1", features = ["with-tokio"] }
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index 17e8983019561..efc161095580c 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -4,6 +4,7 @@
 , fetchFromGitHub
 , cmake
 , pkg-config
+, jq
 , glslang
 , libffi
 , libX11
@@ -37,15 +38,10 @@ stdenv.mkDerivation rec {
       hash = "sha256-+VbiXtxzYaF5o+wIrJ+09LmgBdaLv/0VJGFDnBkrXms=";
     });
 
-  # Include absolute paths to layer libraries in their associated
-  # layer definition json files.
-  postPatch = ''
-    sed "s|\([[:space:]]*set(INSTALL_DEFINES \''${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY=\"\)\(\$<TARGET_FILE_NAME:\''${TARGET_NAME}>\")\)|\1$out/lib/\2|" -i layers/CMakeLists.txt
-  '';
-
   nativeBuildInputs = [
     cmake
     pkg-config
+    jq
   ];
 
   buildInputs = [
@@ -74,6 +70,15 @@ stdenv.mkDerivation rec {
   # available in Nix sandbox. Fails with VK_ERROR_INCOMPATIBLE_DRIVER.
   doCheck = false;
 
+  # Include absolute paths to layer libraries in their associated
+  # layer definition json files.
+  preFixup = ''
+    for f in "$out"/share/vulkan/explicit_layer.d/*.json "$out"/share/vulkan/implicit_layer.d/*.json; do
+      jq <"$f" >tmp.json ".layer.library_path = \"$out/lib/\" + .layer.library_path"
+      mv tmp.json "$f"
+    done
+  '';
+
   meta = with lib; {
     description = "The official Khronos Vulkan validation layers";
     homepage    = "https://github.com/KhronosGroup/Vulkan-ValidationLayers";
diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix
index a54b5a23cdf1c..b58c5ad5c445e 100644
--- a/pkgs/servers/adguardhome/bins.nix
+++ b/pkgs/servers/adguardhome/bins.nix
@@ -20,4 +20,12 @@ aarch64-linux = fetchurl {
   sha256 = "sha256-qC7BrBhI9berbuIVIQ6yOo74eHRsoneVRJMx1K/Ljds=";
   url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.23/AdGuardHome_linux_arm64.tar.gz";
 };
+armv6l-linux = fetchurl {
+  sha256 = "sha256-cWoEpOScFzcz3tsG7IIBV2xpBT+uvSYMEfrmE3pohWA=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.23/AdGuardHome_linux_armv6.tar.gz";
+};
+armv7l-linux = fetchurl {
+  sha256 = "sha256-DTGyyNCncbGrrpHzcIxpZqukAYsHarqSJhlbYvjN6dA=";
+  url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.23/AdGuardHome_linux_armv7.tar.gz";
+};
 }
diff --git a/pkgs/servers/adguardhome/update.sh b/pkgs/servers/adguardhome/update.sh
index 8a72bd5a7c990..b7defa8113fac 100755
--- a/pkgs/servers/adguardhome/update.sh
+++ b/pkgs/servers/adguardhome/update.sh
@@ -22,6 +22,8 @@ declare -A systems
 systems[linux_386]=i686-linux
 systems[linux_amd64]=x86_64-linux
 systems[linux_arm64]=aarch64-linux
+systems[linux_armv6]=armv6l-linux
+systems[linux_armv7]=armv7l-linux
 systems[darwin_amd64]=x86_64-darwin
 systems[darwin_arm64]=aarch64-darwin
 
@@ -30,7 +32,7 @@ echo '{' >> "$bins"
 
 for asset in $(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHome/releases/latest | jq -c '.assets[]') ; do
     url="$(jq -r '.browser_download_url' <<< "$asset")"
-    adg_system="$(grep -Eo '(darwin|linux)_(386|amd64|arm64)' <<< "$url" || true)"
+    adg_system="$(grep -Eo '(darwin|linux)_(386|amd64|arm64|armv6|armv7)' <<< "$url" || true)"
     if [ -n "$adg_system" ]; then
         fetch="$(grep '\.zip$' <<< "$url" > /dev/null && echo fetchzip || echo fetchurl)"
         nix_system=${systems[$adg_system]}
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index aed6a36be1d75..4a219a9cfb05a 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -149,6 +149,7 @@ buildBazelPackage rec {
     "--spawn_strategy=standalone"
     "--noexperimental_strict_action_env"
     "--cxxopt=-Wno-error"
+    "--linkopt=-Wl,-z,noexecstack"
 
     # Force use of system Java.
     "--extra_toolchains=@local_jdk//:all"
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index d943e43b76b96..d3c10804dedd3 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -33,29 +33,16 @@ let
 in
 python.pkgs.buildPythonApplication rec {
   pname = "tts";
-  version = "0.10.2";
+  version = "0.11.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = "TTS";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IcuRhsURgEYIuS7ldZtxAy4Z/XNDehTGsOfYW+DhScg=";
+    hash = "sha256-EVFFETiGbrouUsrIhMFZEex3UGCCWTI3CC4yFAcERyw=";
   };
 
-  patches = [
-    # Use packaging.version for version comparisons
-    (fetchpatch {
-      url = "https://github.com/coqui-ai/TTS/commit/77a9ef8ac97ea1b0f7f8d8287dba69a74fdf22ce.patch";
-      hash = "sha256-zWJmINyxw2efhR9KIVkDPHao5703zlpCKwdzOh/1APY=";
-    })
-    # Fix espeak version detection logic
-    (fetchpatch {
-      url = "https://github.com/coqui-ai/TTS/commit/0031df0143b069d7db59ba04d1adfafcc1a92f47.patch";
-      hash = "sha256-6cL9YqWrB+0QomINpA9BxdYmEDpXF03udGEchydQmBA=";
-    })
-  ];
-
   postPatch = let
     relaxedConstraints = [
       "cython"
@@ -149,6 +136,7 @@ python.pkgs.buildPythonApplication rec {
     "test_models_offset_2_step_3"
     "test_run_all_models"
     "test_synthesize"
+    "test_voice_cloning"
     "test_voice_conversion"
     "test_multi_speaker_multi_lingual_model"
     "test_single_speaker_model"
@@ -166,9 +154,12 @@ python.pkgs.buildPythonApplication rec {
     "tests/tts_tests/test_align_tts_train.py"
     "tests/tts_tests/test_fast_pitch_speaker_emb_train.py"
     "tests/tts_tests/test_fast_pitch_train.py"
+    "tests/tts_tests/test_fastspeech_2_speaker_emb_train.py"
+    "tests/tts_tests/test_fastspeech_2_train.py"
     "tests/tts_tests/test_glow_tts_d-vectors_train.py"
     "tests/tts_tests/test_glow_tts_speaker_emb_train.py"
     "tests/tts_tests/test_glow_tts_train.py"
+    "tests/tts_tests/test_neuralhmm_tts_train.py"
     "tests/tts_tests/test_overflow_train.py"
     "tests/tts_tests/test_speedy_speech_train.py"
     "tests/tts_tests/test_tacotron2_d-vectors_train.py"
diff --git a/pkgs/tools/networking/wtfis/000-pyproject-remove-versions.diff b/pkgs/tools/networking/wtfis/000-pyproject-remove-versions.diff
new file mode 100644
index 0000000000000..b94ca03bb3176
--- /dev/null
+++ b/pkgs/tools/networking/wtfis/000-pyproject-remove-versions.diff
@@ -0,0 +1,29 @@
+diff -Naur source-old/pyproject.toml source-new/pyproject.toml
+--- source-old/pyproject.toml	1980-01-02 00:00:00.000000000 -0300
++++ source-new/pyproject.toml	2023-02-04 10:09:48.087418202 -0300
+@@ -29,11 +29,11 @@
+     "Topic :: Security",
+ ]
+ dependencies = [
+-    "pydantic~=1.10.2",
+-    "python-dotenv~=0.21.0",
+-    "requests~=2.28.1",
+-    "rich~=12.6.0",
+-    "shodan~=1.28.0",
++    "pydantic",
++    "python-dotenv",
++    "requests",
++    "rich",
++    "shodan",
+ ]
+ dynamic = ["version"]
+ 
+@@ -63,7 +63,7 @@
+     "mypy",
+     "pytest",
+     "pytest-cov",
+-    "types-requests~=2.28.1",
++    "types-requests",
+ ]
+ [tool.hatch.envs.default.scripts]
+ typecheck = "mypy -p {args:wtfis}"
diff --git a/pkgs/tools/networking/wtfis/default.nix b/pkgs/tools/networking/wtfis/default.nix
new file mode 100644
index 0000000000000..30c2eda8eda0a
--- /dev/null
+++ b/pkgs/tools/networking/wtfis/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+}:
+
+let
+  pname = "wtfis";
+  version = "0.5.1";
+in python3.pkgs.buildPythonApplication {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "pirxthepilot";
+    repo = "wtfis";
+    rev = "v${version}";
+    hash = "sha256-XoQ/iJTdZoekA5guxI8POG4NEhN8Up3OuIz344G75ao=";
+  };
+
+  patches = [
+    # TODO: get rid of that newbie patch
+    ./000-pyproject-remove-versions.diff
+  ];
+
+  format = "pyproject";
+
+  propagatedBuildInputs = [
+    python3.pkgs.hatchling
+    python3.pkgs.pydantic
+    python3.pkgs.rich
+    python3.pkgs.shodan
+    python3.pkgs.python-dotenv
+  ];
+
+  meta = {
+    homepage = "https://github.com/pirxthepilot/wtfis";
+    description = "Passive hostname, domain and IP lookup tool for non-robots";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/tools/text/gpt2tc/default.nix b/pkgs/tools/text/gpt2tc/default.nix
index 93cf684c1990b..ee78451aae8d4 100644
--- a/pkgs/tools/text/gpt2tc/default.nix
+++ b/pkgs/tools/text/gpt2tc/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   version = "2021-04-24";
 
   src = fetchurl {
-    url = "https://bellard.org/libnc/gpt2tc-${version}.tar.gz";
-    hash = "sha256-kHnRziSNRewifM/oKDQwG27rXRvntuUUX8M+PUNHpA4=";
+    url = "https://web.archive.org/web/20220603034455/https://bellard.org/libnc/gpt2tc-2021-04-24.tar.gz";
+    hash = "sha256-6oTxnbBwjHAXVrWMjOQVwdODbqLRoinx00pi29ff5w0=";
   };
 
   patches = [
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index be038ba937cfe..0f55458e48089 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15700,6 +15700,7 @@ with pkgs;
   cargo-audit = callPackage ../development/tools/rust/cargo-audit {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
+  cargo-binstall = callPackage ../development/tools/rust/cargo-binstall { };
   cargo-bisect-rustc = callPackage ../development/tools/rust/cargo-bisect-rustc {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -38797,6 +38798,8 @@ with pkgs;
 
   undaemonize = callPackage ../tools/system/undaemonize {};
 
+  wtfis = callPackage ../tools/networking/wtfis { };
+
   houdini = callPackage ../applications/misc/houdini {};
 
   openfst = callPackage ../development/libraries/openfst {};