summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2022-06-15 00:02:12 +0000
committerGitHub <noreply@github.com>2022-06-15 00:02:12 +0000
commit4e74812c3a21428f0719dcdd393d8d07811238ae (patch)
treefacff4b97c267c2b4dfd1c1f0722137e211a4d50
parent34bc19a1dc1418e87b53326f1b331825daa795a0 (diff)
parent8f5ceec1d89e7e0c6b5b5e020ac5cccbd87427e8 (diff)
downloadnixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.tar
nixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.tar.gz
nixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.tar.bz2
nixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.tar.lz
nixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.tar.xz
nixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.tar.zst
nixpkgs-4e74812c3a21428f0719dcdd393d8d07811238ae.zip
Merge master into staging-next
-rw-r--r--maintainers/maintainer-list.nix7
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2211.section.xml11
-rw-r--r--nixos/doc/manual/release-notes/rl-2211.section.md4
-rw-r--r--nixos/modules/services/security/vaultwarden/default.nix72
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/lens/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix35
-rw-r--r--pkgs/data/themes/matcha/default.nix33
-rw-r--r--pkgs/data/themes/mojave/default.nix12
-rw-r--r--pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch20
-rw-r--r--pkgs/development/interpreters/python/cpython/3.11/darwin-libutil.patch13
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix4
-rw-r--r--pkgs/development/interpreters/python/default.nix4
-rw-r--r--pkgs/development/python-modules/igraph/default.nix9
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix6
-rw-r--r--pkgs/development/python-modules/pyspcwebgw/default.nix6
-rw-r--r--pkgs/development/python-modules/unifi-discovery/default.nix6
-rw-r--r--pkgs/development/python-modules/wandb/default.nix15
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix27
-rw-r--r--pkgs/development/tools/kube-prompt/default.nix23
-rw-r--r--pkgs/development/tools/kube-prompt/deps.nix993
-rw-r--r--pkgs/development/tools/rbspy/default.nix22
-rw-r--r--pkgs/games/sil-q/default.nix66
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/tools/misc/asciinema/default.nix27
-rw-r--r--pkgs/tools/networking/ngrok-2/versions.json38
-rw-r--r--pkgs/tools/networking/ngrok/default.nix (renamed from pkgs/tools/networking/ngrok-2/default.nix)2
-rwxr-xr-xpkgs/tools/networking/ngrok/update.sh (renamed from pkgs/tools/networking/ngrok-2/update.sh)4
-rw-r--r--pkgs/tools/networking/ngrok/versions.json38
-rw-r--r--pkgs/tools/networking/norouter/default.nix35
-rw-r--r--pkgs/tools/security/minica/default.nix27
-rw-r--r--pkgs/top-level/all-packages.nix12
34 files changed, 404 insertions, 1187 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 691d95e31f5..e6c8a4c5536 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -6684,6 +6684,13 @@
       fingerprint = "932F 3E8E 1C0F 4A98 95D7  B8B8 B0CA A28A 0295 8308";
     }];
   };
+  kenran = {
+    email = "johannes.maier@mailbox.org";
+    github = "kenranunderscore";
+    githubId = 5188977;
+    matrix = "@kenran_:matrix.org";
+    name = "Johannes Maier";
+  };
   kentjames = {
     email = "jameschristopherkent@gmail.com";
     github = "kentjames";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 79bba37a135..c6eaf462429 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -102,6 +102,17 @@
       </listitem>
       <listitem>
         <para>
+          <literal>ngrok</literal> has been upgraded from 2.3.40 to
+          3.0.4. Please see
+          <link xlink:href="https://ngrok.com/docs/guides/upgrade-v2-v3">the
+          upgrade guide</link> and
+          <link xlink:href="https://ngrok.com/docs/ngrok-agent/changelog">changelog</link>.
+          Notably, breaking changes are that the config file format has
+          changed and support for single hypen arguments was dropped.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>isPowerPC</literal> predicate, found on
           <literal>platform</literal> attrsets
           (<literal>hostPlatform</literal>,
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index 50bf15ca197..56df3c00cb2 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -45,6 +45,10 @@ In addition to numerous new and upgraded packages, this release has the followin
   `lib.systems.parse.isCompatible` still exists, but has changed semantically:
   Architectures with differing endianness modes are *no longer considered compatible*.
 
+- `ngrok` has been upgraded from 2.3.40 to 3.0.4. Please see [the upgrade guide](https://ngrok.com/docs/guides/upgrade-v2-v3)
+  and [changelog](https://ngrok.com/docs/ngrok-agent/changelog). Notably, breaking changes are that the config file format has
+  changed and support for single hypen arguments was dropped.
+
 - The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion.  The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems.  If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`.
 
 - PHP 7.4 is no longer supported due to upstream not supporting this
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index 8277f493639..756e0ee93b2 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -62,20 +62,52 @@ in {
       default = {};
       example = literalExpression ''
         {
-          domain = "https://bw.domain.tld:8443";
-          signupsAllowed = true;
-          rocketPort = 8222;
-          rocketLog = "critical";
+          DOMAIN = "https://bitwarden.example.com";
+          SIGNUPS_ALLOWED = false;
+
+          # Vaultwarden currently recommends running behind a reverse proxy
+          # (nginx or similar) for TLS termination, see
+          # https://github.com/dani-garcia/vaultwarden/wiki/Hardening-Guide#reverse-proxying
+          # > you should avoid enabling HTTPS via vaultwarden's built-in Rocket TLS support,
+          # > especially if your instance is publicly accessible.
+          #
+          # A suitable NixOS nginx reverse proxy example config might be:
+          #
+          #     services.nginx.virtualHosts."bitwarden.example.com" = {
+          #       enableACME = true;
+          #       forceSSL = true;
+          #       locations."/" = {
+          #         proxyPass = "http://127.0.0.1:''${toString config.services.vaultwarden.config.ROCKET_PORT}";
+          #       };
+          #     };
+          ROCKET_ADDRESS = "127.0.0.1";
+          ROCKET_PORT = 8222;
+
+          ROCKET_LOG = "critical";
+
+          # This example assumes a mailserver running on localhost,
+          # thus without transport encryption.
+          # If you use an external mail server, follow:
+          #   https://github.com/dani-garcia/vaultwarden/wiki/SMTP-configuration
+          SMTP_HOST = "127.0.0.1";
+          SMTP_PORT = 25;
+          SMTP_SSL = false;
+
+          SMTP_FROM = "admin@bitwarden.example.com";
+          SMTP_FROM_NAME = "example.com Bitwarden server";
         }
       '';
       description = ''
         The configuration of vaultwarden is done through environment variables,
-        therefore the names are converted from camel case (e.g. disable2FARemember)
-        to upper case snake case (e.g. DISABLE_2FA_REMEMBER).
+        therefore it is recommended to use upper snake case (e.g. <envar>DISABLE_2FA_REMEMBER</envar>).
+
+        However, camel case (e.g. <literal>disable2FARemember</literal>) is also supported:
+        The NixOS module will convert it automatically to
+        upper case snake case (e.g. <envar>DISABLE_2FA_REMEMBER</envar>).
         In this conversion digits (0-9) are handled just like upper case characters,
-        so foo2 would be converted to FOO_2.
-        Names already in this format remain unchanged, so FOO2 remains FOO2 if passed as such,
-        even though foo2 would have been converted to FOO_2.
+        so <literal>foo2</literal> would be converted to <envar>FOO_2</envar>.
+        Names already in this format remain unchanged, so <literal>FOO2</literal> remains <literal>FOO2</literal> if passed as such,
+        even though <literal>foo2</literal> would have been converted to <envar>FOO_2</envar>.
         This allows working around any potential future conflicting naming conventions.
 
         Based on the attributes passed to this config option an environment file will be generated
@@ -83,13 +115,16 @@ in {
 
         The available configuration options can be found in
         <link xlink:href="https://github.com/dani-garcia/vaultwarden/blob/${vaultwarden.version}/.env.template">the environment template file</link>.
+
+        See <xref linkend="opt-services.vaultwarden.environmentFile" /> for how
+        to set up access to the Admin UI to invite initial users.
       '';
     };
 
     environmentFile = mkOption {
       type = with types; nullOr path;
       default = null;
-      example = "/root/vaultwarden.env";
+      example = "/var/lib/vaultwarden.env";
       description = ''
         Additional environment file as defined in <citerefentry>
         <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
@@ -100,6 +135,23 @@ in {
 
         Note that this file needs to be available on the host on which
         <literal>vaultwarden</literal> is running.
+
+        As a concrete example, to make the Admin UI available
+        (from which new users can be invited initially),
+        the secret <envar>ADMIN_TOKEN</envar> needs to be defined as described
+        <link xlink:href="https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page">here</link>.
+        Setting <literal>environmentFile</literal> to <literal>/var/lib/vaultwarden.env</literal>
+        and ensuring permissions with e.g.
+        <literal>chown vaultwarden:vaultwarden /var/lib/vaultwarden.env</literal>
+        (the <literal>vaultwarden</literal> user will only exist after activating with
+        <literal>enable = true;</literal> before this), we can set the contents of the file to have
+        contents such as:
+
+<programlisting>
+# Admin secret token, see
+# https://github.com/dani-garcia/vaultwarden/wiki/Enabling-admin-page
+ADMIN_TOKEN=...copy-paste a unique generated secret token here...
+</programlisting>
       '';
     };
 
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 3631cd1463e..57e4d222f1c 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -20,11 +20,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "5.3.2679.38-1";
+  version = "5.3.2679.55-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "0jsmk12riai8nkj6zqc1frh4fl4w4zj3mncfgrs4niy6dvpasaja";
+    sha256 = "0bsvcvf453x9rmbksczqhzrl0j9xm49rn2ngvkw0ar9di3aiqy3z";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cluster/lens/default.nix b/pkgs/applications/networking/cluster/lens/default.nix
index 151649ba22e..ef70e283280 100644
--- a/pkgs/applications/networking/cluster/lens/default.nix
+++ b/pkgs/applications/networking/cluster/lens/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "lens";
-  version = "5.3.4";
-  build = "${version}-latest.20220120.1";
+  version = "5.5.3";
+  build = "${version}-latest.20220602.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://api.k8slens.dev/binaries/Lens-${build}.x86_64.AppImage";
-    sha256 = "sha256-9vRLQFSocVkHAfgwdKSPhSAO4G/v/ANd0WQmilcZiVw=";
+    sha256 = "sha256-lwiwyXoO+7KgDnQ2Ly0QK0oEVHR73nsMZMGOd2j48dg=";
     name = "${pname}.AppImage";
   };
 
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 58db9273b83..e818f4a71fa 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -21,21 +21,20 @@
 , bashInteractive
 , zsh
 , fish
-, fetchpatch
 , nixosTests
 }:
 
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.25.1";
+  version = "0.25.2";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "sha256-wL631cbA6ffXZomi6iDHk7XerRlpIL6T2qlEiQvFSJY=";
+    sha256 = "sha256-o/vVz1lPfsgkzbYjYhIrScCAROmVdiPsNwjW/m5n7Us=";
   };
 
   buildInputs = [
@@ -78,42 +77,12 @@ buildPythonApplication rec {
   outputs = [ "out" "terminfo" "shell_integration" ];
 
   patches = [
-    # Fix to ensure that files in tar files used by SSH kitten have write permissions.
-    (fetchpatch {
-      name = "fix-tarball-file-permissions.patch";
-      url = "https://github.com/kovidgoyal/kitty/commit/8540ca399053e8d42df27283bb5dd4af562ed29b.patch";
-      sha256 = "sha256-y5w+ritkR+ZEfNSRDQW9r3BU2qt98UNK7vdEX/X+mKU=";
-    })
-
-    # Remove upon next release. Needed because of a missing #define.
-    (fetchpatch {
-      name = "fontconfig-1.patch";
-      url = "https://github.com/kovidgoyal/kitty/commit/bec620a8d30c36453e471b140b07483c7f875bf4.patch";
-      sha256 = "sha256-r1OTcXdO+RUAXmmIqI07m+z0zXq8DXCzgBRXPpnkGGM=";
-    })
-    (fetchpatch {
-      name = "fontconfig-2.patch";
-      url = "https://github.com/kovidgoyal/kitty/commit/1283a2b7e552d30cabce9345e5c13e5f9079183d.patch";
-      sha256 = "sha256-UM/OsumnfVHuHTahpRwyWZOeu6L8WOwbBf3lcjwdTj8=";
-    })
-    (fetchpatch {
-      name = "fontconfig-3.patch";
-      url = "https://github.com/kovidgoyal/kitty/commit/5c4abe749b1f50ae556a711d24ac7f3e384fac4e.patch";
-      sha256 = "sha256-amvyv5cZxHGPg7dZv649WjH4MNloFbmz5D4rhjKNzYA=";
-    })
-
     # Needed on darwin
 
     # Gets `test_ssh_shell_integration` to pass for `zsh` when `compinit` complains about
     # permissions.
     ./zsh-compinit.patch
 
-    # Skip login shell detection when login shell is set to nologin
-    (fetchpatch {
-      name = "skip-login-shell-detection-for-nologin.patch";
-      url = "https://github.com/kovidgoyal/kitty/commit/27906ea853ce7862bcb83e324ef80f6337b5d846.patch";
-      sha256 = "sha256-Zg6uWkiWvb45i4xcp9k6jy0R2IQMT4PXr7BenzZ/md8=";
-    })
     # Skip `test_ssh_bootstrap_with_different_launchers` when launcher is `zsh` since it causes:
     # OSError: master_fd is in error condition
     ./disable-test_ssh_bootstrap_with_different_launchers.patch
diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix
index 4d59a03313a..dcf6988f593 100644
--- a/pkgs/data/themes/matcha/default.nix
+++ b/pkgs/data/themes/matcha/default.nix
@@ -1,33 +1,50 @@
-{ lib, stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, gdk-pixbuf
+, gtk-engine-murrine
+, librsvg
+, gitUpdater
+}:
 
 stdenv.mkDerivation rec {
   pname = "matcha-gtk-theme";
-  version = "2021-12-25";
+  version = "2022-06-07";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1wgq1aypm4cjv7yavlfmqcwahlddvh2gbg2f5ca0djgnpy9vha1g";
+    sha256 = "26xa9EGo2hci08Zw+X/A0Pn0VHxU8yfvRMiRusml+tc=";
   };
 
-  buildInputs = [ gdk-pixbuf librsvg ];
+  buildInputs = [
+    gdk-pixbuf
+    librsvg
+  ];
 
-  propagatedUserEnvPkgs = [ gtk-engine-murrine ];
+  propagatedUserEnvPkgs = [
+    gtk-engine-murrine
+  ];
+
+  postPatch = ''
+    patchShebangs install.sh
+  '';
 
   installPhase = ''
     runHook preInstall
-    patchShebangs .
     mkdir -p $out/share/themes
-    name= ./install.sh -d $out/share/themes
+    name= ./install.sh --dest $out/share/themes
     install -D -t $out/share/gtksourceview-3.0/styles src/extra/gedit/matcha.xml
     mkdir -p $out/share/doc/${pname}
     cp -a src/extra/firefox $out/share/doc/${pname}
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater {inherit pname version; };
+
   meta = with lib; {
-    description = "A stylish flat design theme for GTK based desktop environments";
+    description = "A stylish flat Design theme for GTK based desktop environments";
     homepage = "https://vinceliuice.github.io/theme-matcha";
     license = licenses.gpl3Only;
     platforms = platforms.unix;
diff --git a/pkgs/data/themes/mojave/default.nix b/pkgs/data/themes/mojave/default.nix
index e8e98ab0ebf..4fc9b0ab8c0 100644
--- a/pkgs/data/themes/mojave/default.nix
+++ b/pkgs/data/themes/mojave/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , fetchurl
 , glib
+, gnome-shell
 , gtk-engine-murrine
 , gtk_engines
 , inkscape
@@ -30,14 +31,14 @@ lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version = "2022-05-12";
+  version = "2022-06-07";
 
   srcs = [
     (fetchFromGitHub {
       owner = "vinceliuice";
       repo = pname;
       rev = version;
-      sha256 = "sha256-VrrxW16J+S21qBoAeVCWs0Q6bRL1jXAK7MOBpdSMJZY=";
+      sha256 = "sha256-OEqB2PSZ5KoxXAUhlyT1PRUzckVz+jTCIoAqP8gVqTk=";
     })
   ]
   ++
@@ -52,6 +53,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     glib
+    gnome-shell
     inkscape
     jdupes
     optipng
@@ -72,7 +74,10 @@ stdenv.mkDerivation rec {
   dontRewriteSymlinks = true;
 
   postPatch = ''
-    patchShebangs .
+    patchShebangs \
+      install.sh \
+      src/main/gtk-3.0/make_gresource_xml.sh \
+      src/main/gtk-4.0/make_gresource_xml.sh
 
     for f in \
       render-assets.sh \
@@ -87,6 +92,7 @@ stdenv.mkDerivation rec {
       src/assets/metacity-1/render-assets.sh \
       src/assets/xfwm4/render-assets.sh
     do
+      patchShebangs $f
       substituteInPlace $f \
         --replace /usr/bin/inkscape ${inkscape}/bin/inkscape \
         --replace /usr/bin/optipng ${optipng}/bin/optipng
diff --git a/pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch b/pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch
deleted file mode 100644
index 13db40ababc..00000000000
--- a/pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/src/sync/waitgroup_test.go b/src/sync/waitgroup_test.go
-index e3e3096..f80d1e2 100644
---- a/src/sync/waitgroup_test.go
-+++ b/src/sync/waitgroup_test.go
-@@ -6,6 +6,7 @@ package sync_test
- 
- import (
- 	"internal/race"
-+	"internal/testenv"
- 	"runtime"
- 	. "sync"
- 	"sync/atomic"
-@@ -73,6 +74,7 @@ func TestWaitGroupMisuse2(t *testing.T) {
- 	if runtime.NumCPU() <= 4 {
- 		t.Skip("NumCPU<=4, skipping: this test requires parallelism")
- 	}
-+	testenv.SkipFlaky(t, 20072)
- 	defer func() {
- 		err := recover()
- 		if err != "sync: negative WaitGroup counter" &&
diff --git a/pkgs/development/interpreters/python/cpython/3.11/darwin-libutil.patch b/pkgs/development/interpreters/python/cpython/3.11/darwin-libutil.patch
new file mode 100644
index 00000000000..92b846be000
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.11/darwin-libutil.patch
@@ -0,0 +1,13 @@
+diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
+index 40229bce0f..3cc604930e 100644
+--- a/Modules/posixmodule.c
++++ b/Modules/posixmodule.c
+@@ -7258,7 +7258,7 @@ os_sched_getaffinity_impl(PyObject *module, pid_t pid)
+ #ifdef HAVE_UTMP_H
+ #include <utmp.h>
+ #endif /* HAVE_UTMP_H */
+-#elif defined(HAVE_LIBUTIL_H)
++#elif defined(HAVE_LIBUTIL_H) && !defined(__APPLE__)
+ #include <libutil.h>
+ #elif defined(HAVE_UTIL_H)
+ #include <util.h>
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 1218f2eb24e..72fd4df385d 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -225,9 +225,11 @@ in with passthru; stdenv.mkDerivation {
     # * https://bugs.python.org/issue35523
     # * https://github.com/python/cpython/commit/e6b247c8e524
     ./3.7/no-win64-workaround.patch
-  ] ++ optionals (pythonAtLeast "3.7") [
+  ] ++ optionals (pythonAtLeast "3.7" && pythonOlder "3.11") [
     # Fix darwin build https://bugs.python.org/issue34027
     ./3.7/darwin-libutil.patch
+  ] ++ optionals (pythonAtLeast "3.11") [
+    ./3.11/darwin-libutil.patch
   ] ++ optionals (pythonOlder "3.8") [
     # Backport from CPython 3.8 of a good list of tests to run for PGO.
     (
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index e902fdcece3..307633fc5d6 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -199,9 +199,9 @@ in {
       major = "3";
       minor = "11";
       patch = "0";
-      suffix = "a7";
+      suffix = "b3";
     };
-    sha256 = "sha256-t8Vt10wvRy1Ja1qNNWvWrZ75sD8mKIwyN9P/aYqwPXQ=";
+    sha256 = "sha256-ybmfUxXqMPjp/LzmgHo3Oeh1SA0pEk5tmUD2+ry3yQI=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/pkgs/development/python-modules/igraph/default.nix b/pkgs/development/python-modules/igraph/default.nix
index 32b471a83ce..6afa32d35bf 100644
--- a/pkgs/development/python-modules/igraph/default.nix
+++ b/pkgs/development/python-modules/igraph/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "igraph";
-  version = "0.9.10";
+  version = "0.9.11";
 
   disabled = pythonOlder "3.6";
 
@@ -18,16 +18,19 @@ buildPythonPackage rec {
     owner = "igraph";
     repo = "python-igraph";
     rev = version;
-    hash = "sha256-c20N8BtbQGxAK7ykQvyfqWYu7wVOlYfeGpNOwWPlGxs=";
+    hash = "sha256-tvkV5ve9X+LXx3LOdHIPljQKZc1v6yts0juo4SwDmfY=";
   };
 
+  postPatch = ''
+    rm -r vendor
+  '';
+
   nativeBuildInputs = [
     pkg-config
   ];
 
   buildInputs = [
     igraph
-    igraph.dev
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index 29a54e1eac1..87609b30d80 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -8,6 +8,7 @@
 , jbig2dec
 , lxml
 , mupdf
+, packaging
 , pillow
 , psutil
 , pybind11
@@ -22,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "5.1.4";
+  version = "5.1.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -37,7 +38,7 @@ buildPythonPackage rec {
     postFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-nCzG1QYwERKo/T16hEGIG//PwSrpWRmKLXdj42WGyls=";
+    hash = "sha256-DEgxdMVX5gQOsV9EyJtO/MO7padYMZrekanpp+nNvek=";
   };
 
   patches = [
@@ -78,6 +79,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     lxml
+    packaging
     pillow
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata
diff --git a/pkgs/development/python-modules/pyspcwebgw/default.nix b/pkgs/development/python-modules/pyspcwebgw/default.nix
index e1a04a9a469..bc11a30334d 100644
--- a/pkgs/development/python-modules/pyspcwebgw/default.nix
+++ b/pkgs/development/python-modules/pyspcwebgw/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyspcwebgw";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "mbrrg";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0pc25myjc2adqcx2lbns9kw0gy17x1qjgicmfj46n6fn0c786p9v";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Pjv8AxXuwi48Z8U+LSZZ+OhXrE3KlX7jlmnXTBLxXOs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/unifi-discovery/default.nix b/pkgs/development/python-modules/unifi-discovery/default.nix
index 511fd26132b..309c87f8b32 100644
--- a/pkgs/development/python-modules/unifi-discovery/default.nix
+++ b/pkgs/development/python-modules/unifi-discovery/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "unifi-discovery";
-  version = "1.1.3";
+  version = "1.1.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-++5Rg3cCyH4h6zzEXbsQM5tRnUsnV3RCzuOctcjA/x4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-+af1boeJtTI89ZJqgXXsxXQXGDhG4ewgukfKDdhWl9g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix
index 096312a407a..83040329302 100644
--- a/pkgs/development/python-modules/wandb/default.nix
+++ b/pkgs/development/python-modules/wandb/default.nix
@@ -25,6 +25,7 @@
 , pytestCheckHook
 , python-dateutil
 , pythonOlder
+, pytorch
 , pyyaml
 , requests
 , scikit-learn
@@ -38,7 +39,7 @@
 
 buildPythonPackage rec {
   pname = "wandb";
-  version = "0.12.17";
+  version = "0.12.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -47,7 +48,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "client";
     rev = "v${version}";
-    hash = "sha256-hY01cql/j3ieL1zJoPOM/QZiF0X/ivekFRfX+TvZhyM=";
+    hash = "sha256-9++CFoC8p3cACPyjRbb6i8MdJp8iD9GUh0uHpTiufdg=";
   };
 
   patches = [
@@ -93,12 +94,15 @@ buildPythonPackage rec {
     pytest-mock
     pytest-xdist
     pytestCheckHook
+    pytorch
     scikit-learn
     tqdm
   ];
 
   disabledTestPaths = [
     # Tests that try to get chatty over sockets or spin up servers, not possible in the nix build environment.
+    "tests/integrations/test_keras.py"
+    "tests/integrations/test_torch.py"
     "tests/test_cli.py"
     "tests/test_data_types.py"
     "tests/test_file_stream.py"
@@ -111,6 +115,7 @@ buildPythonPackage rec {
     "tests/test_metric_full.py"
     "tests/test_metric_internal.py"
     "tests/test_mode_disabled.py"
+    "tests/test_model_workflows.py"
     "tests/test_mp_full.py"
     "tests/test_public_api.py"
     "tests/test_redir.py"
@@ -119,14 +124,18 @@ buildPythonPackage rec {
     "tests/test_start_method.py"
     "tests/test_tb_watcher.py"
     "tests/test_telemetry_full.py"
+    "tests/test_util.py"
     "tests/wandb_agent_test.py"
     "tests/wandb_artifacts_test.py"
     "tests/wandb_integration_test.py"
     "tests/wandb_run_test.py"
     "tests/wandb_settings_test.py"
     "tests/wandb_sweep_test.py"
+    "tests/wandb_tensorflow_test.py"
     "tests/wandb_verify_test.py"
-    "tests/test_model_workflows.py"
+
+    # Requires metaflow, which is not yet packaged.
+    "tests/integrations/test_metaflow.py"
 
     # Fails and borks the pytest runner as well.
     "tests/wandb_test.py"
diff --git a/pkgs/development/tools/continuous-integration/fly/default.nix b/pkgs/development/tools/continuous-integration/fly/default.nix
index ad975287273..0efeb6dccf5 100644
--- a/pkgs/development/tools/continuous-integration/fly/default.nix
+++ b/pkgs/development/tools/continuous-integration/fly/default.nix
@@ -1,36 +1,39 @@
-{ buildGoModule, fetchFromGitHub, stdenv, lib }:
+{ buildGoModule, fetchFromGitHub, stdenv, lib, installShellFiles }:
 
 buildGoModule rec {
   pname = "fly";
-  version = "7.7.1";
+  version = "7.8.0";
 
   src = fetchFromGitHub {
     owner = "concourse";
     repo = "concourse";
     rev = "v${version}";
-    sha256 = "sha256-AJvD9re4jj+ixvZKWHDJM0QEv5EPFv3VFJus3lnm2LI=";
+    sha256 = "sha256-CYQQ44Yx97PvhFHrTzUM2RooNCh5Sdg8SXsV4BOzzPE=";
   };
 
-  vendorSha256 = "sha256-G9HdhPi4iezUR6SIVYnjL0fznOfiusY4T9ClLPr1w5c=";
-
-  doCheck = false;
+  vendorSha256 = "sha256-aYu5K6pK6Q0Fmagr91i6nc3t55nUjn5vasIO+kUXWrs=";
 
   subPackages = [ "fly" ];
 
   ldflags = [
-    "-X github.com/concourse/concourse.Version=${version}"
+    "-s" "-w" "-X github.com/concourse/concourse.Version=${version}"
   ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  doCheck = false;
+
   postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
-    mkdir -p $out/share/{bash-completion/completions,zsh/site-functions}
-    $out/bin/fly completion --shell bash > $out/share/bash-completion/completions/fly
-    $out/bin/fly completion --shell zsh > $out/share/zsh/site-functions/_fly
+    installShellCompletion --cmd fly \
+      --bash <($out/bin/fly completion --shell bash) \
+      --fish <($out/bin/fly completion --shell fish) \
+      --zsh <($out/bin/fly completion --shell zsh)
   '';
 
   meta = with lib; {
-    description = "A command line interface to Concourse CI";
+    description = "Command line interface to Concourse CI";
     homepage = "https://concourse-ci.org";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ivanbrennan ];
+    maintainers = with maintainers; [ ivanbrennan SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/tools/kube-prompt/default.nix b/pkgs/development/tools/kube-prompt/default.nix
index 1c6e8d56a6a..ad8749b5787 100644
--- a/pkgs/development/tools/kube-prompt/default.nix
+++ b/pkgs/development/tools/kube-prompt/default.nix
@@ -1,26 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "kube-prompt";
   version = "1.0.11";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/c-bata/kube-prompt";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "c-bata";
     repo = "kube-prompt";
+    rev = "v${version}";
     sha256 = "sha256-9OWsITbC7YO51QzsRwDWvojU54DiuGJhkSGwmesEj9w=";
   };
 
-  subPackages = ["."];
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-wou5inOX8vadEBCIBccwSRjtzf0GH1abwNdUu4JBvyM=";
 
-  meta = {
-  description = "An interactive kubernetes client featuring auto-complete using go-prompt";
-    license = lib.licenses.mit;
+  meta = with lib; {
+    description = "An interactive kubernetes client featuring auto-complete";
+    license = licenses.mit;
     homepage = "https://github.com/c-bata/kube-prompt";
-    maintainers = [ lib.maintainers.vdemeester ];
+    maintainers = with maintainers; [ vdemeester ];
   };
 }
diff --git a/pkgs/development/tools/kube-prompt/deps.nix b/pkgs/development/tools/kube-prompt/deps.nix
deleted file mode 100644
index a6c4bbd445c..00000000000
--- a/pkgs/development/tools/kube-prompt/deps.nix
+++ /dev/null
@@ -1,993 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/nix-community/vgo2nix)
-[
-  {
-    goPackagePath = "cloud.google.com/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/google-cloud-go";
-      rev = "v0.38.0";
-      sha256 = "0n6n13b7lri2fmc4bn4ifszyawj31dpbzvyv0xafsf81440z8cyh";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest/autorest";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "autorest/v0.9.0";
-      sha256 = "01fg6x3a6as2kh0km8kvjzjalq7xiqa17hnsdwawzlpnfpqgslvq";
-      moduleDir = "autorest";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest/autorest/adal";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "autorest/adal/v0.5.0";
-      sha256 = "07zbbshyz1s9fj9ifa6zzks4wq7455rna50z1ahpgin92jk0s6la";
-      moduleDir = "autorest/adal";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest/autorest/date";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "autorest/date/v0.1.0";
-      sha256 = "1w94wxjjkiv8m44rcdm1af9h0ap2r8kpp9198cxpxj8d5xxkaxpz";
-      moduleDir = "autorest/date";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest/autorest/mocks";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "autorest/mocks/v0.2.0";
-      sha256 = "04jsq3bnz9s27kp45n7q5wj2fi3bxwvxrxcmiswrhqz4pj35b561";
-      moduleDir = "autorest/mocks";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest/logger";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "logger/v0.1.0";
-      sha256 = "1w94wxjjkiv8m44rcdm1af9h0ap2r8kpp9198cxpxj8d5xxkaxpz";
-      moduleDir = "logger";
-    };
-  }
-  {
-    goPackagePath = "github.com/Azure/go-autorest/tracing";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Azure/go-autorest";
-      rev = "tracing/v0.5.0";
-      sha256 = "0n482cjr2pk6ql6awcnn6llrnygjzakihbjaahgmylf3znwil7jp";
-      moduleDir = "tracing";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "v0.3.1";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/NYTimes/gziphandler";
-    fetch = {
-      type = "git";
-      url = "https://github.com/NYTimes/gziphandler";
-      rev = "56545f4a5d46";
-      sha256 = "1fwk9wz6vrvq72f2gq8jhvd1nvv6grqgwrjq66vjpm0726pxar72";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/purell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/purell";
-      rev = "v1.0.0";
-      sha256 = "1qhsy1nm96b9kb63svkvkqmmw15xg6irwcysisxdgzk64adfwqv1";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/urlesc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/urlesc";
-      rev = "5bd2802263f2";
-      sha256 = "15y5r3asvm7196m3nza5xvdvlc2k11p6lfs6hi917hl7r9vgi6mp";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/c-bata/go-prompt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/c-bata/go-prompt";
-      rev = "v0.2.5";
-      sha256 = "1ny9a1cshl9h6rddk3j0ar6iya1iahaw623g7qbsrbdbx38xlip3";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/client9/misspell";
-    fetch = {
-      type = "git";
-      url = "https://github.com/client9/misspell";
-      rev = "v0.3.4";
-      sha256 = "1vwf33wsc4la25zk9nylpbp9px3svlmldkm0bha4hp56jws4q9cs";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev = "v1.1.1";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/dgrijalva/jwt-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dgrijalva/jwt-go";
-      rev = "v3.2.0";
-      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/docker/spdystream";
-    fetch = {
-      type = "git";
-      url = "https://github.com/docker/spdystream";
-      rev = "449fdfce4d96";
-      sha256 = "1412cpiis971iq1kxrirzirhj2708ispjh0x0dh879b66x8507sl";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/elazarl/goproxy";
-    fetch = {
-      type = "git";
-      url = "https://github.com/elazarl/goproxy";
-      rev = "c4fc26588b6e";
-      sha256 = "1s3v02px61a3hmvb47rqk598z5visayxq46k3c8dcrayhhngv2fw";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/emicklei/go-restful";
-    fetch = {
-      type = "git";
-      url = "https://github.com/emicklei/go-restful";
-      rev = "ff4f55a20633";
-      sha256 = "1v5lj5142abz3gvbygp6xghpdx4ps2lwswl8559ivaidahwnc21c";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/evanphx/json-patch";
-    fetch = {
-      type = "git";
-      url = "https://github.com/evanphx/json-patch";
-      rev = "v4.2.0";
-      sha256 = "0cfvyhl3hjfc4z8hbkfc40yafv6r7y513zgp3jwf88isbd13r7a6";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "v1.4.7";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/ghodss/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ghodss/yaml";
-      rev = "73d445a93680";
-      sha256 = "0pg53ky4sy3sp9j4n7vgf1p3gw4nbckwqfldcmmi9rf13kjh0mr7";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-logr/logr";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-logr/logr";
-      rev = "v0.1.0";
-      sha256 = "0fhijjhxz4n2j5i24ckzv8r9kri3v44jdyklgbqjfq0xm7izqg14";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/jsonpointer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/jsonpointer";
-      rev = "46af16f9f7b1";
-      sha256 = "0w0fphmdycjzbsm1vppdcjc9aqinkcdzcq3pxikdvdqh5p791gsc";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/jsonreference";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/jsonreference";
-      rev = "13c6e3589ad9";
-      sha256 = "1fh4xcl9ijww4bdq656sx981d57w2c9zx5148jsxlsg4bsvxmwis";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/spec";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/spec";
-      rev = "6aced65f8501";
-      sha256 = "0yf0nw7167yjpiqrikns5djarjpf2r07q6xnq9xb1cfsc4m7ynm4";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-openapi/swag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-openapi/swag";
-      rev = "1d0bd113de87";
-      sha256 = "0fmk42chj20679n87n6sig3czs25lavyj6w208000n6kccv1ns3c";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/gogo/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gogo/protobuf";
-      rev = "65acae22fc9d";
-      sha256 = "0700alky9z0g9akhrzn20wf4jr1600d0clhs32sm8chnlbvidy46";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/glog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/glog";
-      rev = "23def4e6c14b";
-      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/groupcache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/groupcache";
-      rev = "02826c3e7903";
-      sha256 = "0w46bsllddfij66nrg8jbfjsr54birvfww8a2fj9fmgyig5syn2x";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/mock";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/mock";
-      rev = "v1.2.0";
-      sha256 = "12ddj2g8ab87id6n2n67vnbhq6p8dvgsq1pzpqfriym4dk8w54fg";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "v1.3.2";
-      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/btree";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/btree";
-      rev = "v1.0.0";
-      sha256 = "0ba430m9fbnagacp57krgidsyrgp3ycw5r7dj71brgp5r52g82p6";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/go-cmp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/go-cmp";
-      rev = "v0.3.0";
-      sha256 = "1hyxx3434zshl2m9ja78gwlkg1rx9yl6diqa7dnjb31xz5x4gbjj";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/gofuzz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/gofuzz";
-      rev = "v1.0.0";
-      sha256 = "0qz439qvccm91w0mmjz4fqgx48clxdwagkvvx89cr43q1d4iry36";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/martian";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/martian";
-      rev = "v2.1.0";
-      sha256 = "197hil6vrjk50b9wvwyzf61csid83whsjj6ik8mc9r2lryxlyyrp";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/pprof";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/pprof";
-      rev = "3ea8567a2e57";
-      sha256 = "09rhjn3ms0a72dw0yzbp237p7yhqma772zspddn6mgkh3gi3kn4c";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/google/uuid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/uuid";
-      rev = "v1.1.1";
-      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/googleapis/gax-go/v2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/gax-go";
-      rev = "v2.0.4";
-      sha256 = "1iwnm6ky1x53lgs44mw3hpdkjzrm5qd0kfs50m0qcq2ml5m1cwdm";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/googleapis/gnostic";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/gnostic";
-      rev = "v0.2.0";
-      sha256 = "0yh3ckd7m0r9h50wmxxvba837d0wb1k5yd439zq4p1kpp4390z12";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/gophercloud/gophercloud";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gophercloud/gophercloud";
-      rev = "v0.1.0";
-      sha256 = "0794s9c144gphm4dh1wgba6ydsb4zdwgglj1p9im43jv0lvh6p81";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/gregjones/httpcache";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gregjones/httpcache";
-      rev = "9cad4c3443a7";
-      sha256 = "0wjdwcwqqcx2d5y68qvhg6qyj977il5ijmnn9h9cd6wjbdy0ay6s";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/hashicorp/golang-lru";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hashicorp/golang-lru";
-      rev = "v0.5.1";
-      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/hpcloud/tail";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hpcloud/tail";
-      rev = "v1.0.0";
-      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/imdario/mergo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/imdario/mergo";
-      rev = "v0.3.5";
-      sha256 = "1mvgn89vp39gcpvhiq4n7nw5ipj7fk6h03jgc6fjwgvwvss213pb";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/json-iterator/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/json-iterator/go";
-      rev = "v1.1.8";
-      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/jstemmer/go-junit-report";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jstemmer/go-junit-report";
-      rev = "af01ea7f8024";
-      sha256 = "1lp3n94ris12hac02wi31f3whs88lcrzwgdg43a5j6cafg9p1d0s";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/kisielk/errcheck";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kisielk/errcheck";
-      rev = "v1.2.0";
-      sha256 = "0am6g10ipdxw84byscm7shda654882wjcbinq5c4696m6mhi2qrd";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/kisielk/gotool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kisielk/gotool";
-      rev = "v1.0.0";
-      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pretty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pretty";
-      rev = "v0.1.0";
-      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/pty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/pty";
-      rev = "v1.1.1";
-      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/kr/text";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kr/text";
-      rev = "v0.1.0";
-      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/mailru/easyjson";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mailru/easyjson";
-      rev = "d5b7844b561a";
-      sha256 = "1g84l4wns28xjpn6nl1g33dcj3sfgxlkqqsa6w8fbq2kwyd50xka";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "v0.1.7";
-      sha256 = "08y5c01bvyqxraj3wc0di80gbp87178rsshb74x0p3m7wwfv82l3";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "v0.0.12";
-      sha256 = "1dfsh27d52wmz0nmmzm2382pfrs2fcijvh6cgir7jbb4pnigr5w4";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "v0.0.9";
-      sha256 = "1mvlxcdwr0vwp8b2wqs6y7hk72y28sqh03dz5x0xkg48d4y9cplj";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-tty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-tty";
-      rev = "v0.0.3";
-      sha256 = "0d1d63q02pc5k5ga8bw4yjbkrli2769vg237psajsskjirjy53vf";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/concurrent";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/concurrent";
-      rev = "bacd9c7ef1dd";
-      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/modern-go/reflect2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/reflect2";
-      rev = "v1.0.1";
-      sha256 = "06a3sablw53n1dqqbr2f53jyksbxdmmk8axaas4yvnhyfi55k4lf";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/munnerz/goautoneg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/munnerz/goautoneg";
-      rev = "a547fc61f48d";
-      sha256 = "19khhn5xhqv1yp7d6k987gh5w5rhrjnp4p0c6fyrd8z6lzz5h9qi";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/mxk/go-flowrate";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mxk/go-flowrate";
-      rev = "cca7078d478f";
-      sha256 = "0zqs39923ja0yypdmiqk6x8pgmfs3ms5x5sl1dqv9z6zyx2xy541";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/onsi/ginkgo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/onsi/ginkgo";
-      rev = "v1.10.1";
-      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/onsi/gomega";
-    fetch = {
-      type = "git";
-      url = "https://github.com/onsi/gomega";
-      rev = "v1.7.0";
-      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/peterbourgon/diskv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/peterbourgon/diskv";
-      rev = "v2.0.1";
-      sha256 = "1mxpa5aad08x30qcbffzk80g9540wvbca4blc1r2qyzl65b8929b";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/term";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/term";
-      rev = "v1.1.0";
-      sha256 = "0flyj256zv5qc7z3m3s147k46p9whr7hl06zzwgvy2dkjp90ff73";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev = "v1.0.0";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/afero";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/afero";
-      rev = "v1.2.2";
-      sha256 = "0j9r65qgd58324m85lkl49vk9dgwd62g7dwvkfcm3k6i9dc555a9";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/spf13/pflag";
-    fetch = {
-      type = "git";
-      url = "https://github.com/spf13/pflag";
-      rev = "v1.0.5";
-      sha256 = "0gpmacngd0gpslnbkzi263f5ishigzgh6pbdv9hp092rnjl4nd31";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/objx";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/objx";
-      rev = "v0.1.0";
-      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev = "v1.4.0";
-      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "go.opencensus.io";
-    fetch = {
-      type = "git";
-      url = "https://github.com/census-instrumentation/opencensus-go";
-      rev = "v0.21.0";
-      sha256 = "14s0a12xdzjvad0dgksgv8m3hh7nc585abvjkvyk6r67a29lxj6x";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "60c769a6c586";
-      sha256 = "1wy2pg38dz29vf1h48yfqf8m3jqvwnbdw8vkk3ldlj5d8fbbbmv8";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/exp";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/exp";
-      rev = "509febef88a4";
-      sha256 = "02isrh39z8znrp5znplzy0dip2gnrl3jm1355raliyvhnhg04j6q";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/lint";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/lint";
-      rev = "5614ed5bae6f";
-      sha256 = "0fzn0zjv0x92xvfdq3a0v9w5sgkhr7hxkfy9zaqi8i57807z8bnx";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "13f9640d40b9";
-      sha256 = "1ba2767lvklnmfvb9jkwvd4m7z6326gaiz3rgylh795g88hy34g1";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/oauth2";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/oauth2";
-      rev = "0f29369cfe45";
-      sha256 = "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sync";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sync";
-      rev = "cd5d95a43a6e";
-      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "af09f7315aff";
-      sha256 = "0kr94lzr8ngrc6913j5xh6g4r7g087dbdgnpzi6rjcl0bf8nsr22";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.2";
-      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/time";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/time";
-      rev = "9d24e82272b4";
-      sha256 = "1f5nkr4vys2vbd8wrwyiq2f5wcaahhpxmia85d1gshcbqjqf8dkb";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "e65039ee4138";
-      sha256 = "0c094599cf70wdrms49a3879qkq122pqlp2av444gs2pvc8apdcx";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/google-api-go-client";
-      rev = "v0.4.0";
-      sha256 = "1hzgrw5wasmcjlqpxsmryddzzw4cwyzf2vx14i9z51v1plwssijm";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/appengine";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/appengine";
-      rev = "v1.5.0";
-      sha256 = "0l7mkdnwhidv8m686x432vmx8z5nqcrr9f46ddgvrxbh4wvyfcll";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/genproto";
-    fetch = {
-      type = "git";
-      url = "https://github.com/googleapis/go-genproto";
-      rev = "e7d98fc518a7";
-      sha256 = "1cnavkyawwvfc5yl097ygnfy1ac69v4zc02gdfnq1bvgcvgmvnbi";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "google.golang.org/grpc";
-    fetch = {
-      type = "git";
-      url = "https://github.com/grpc/grpc-go";
-      rev = "v1.19.0";
-      sha256 = "1znqwpj7ix3dpzx4zch0q70sdl3z5lvbb7v3q4i8sf8kas3yv71v";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/check.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/check.v1";
-      rev = "788fd7840127";
-      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/fsnotify.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/fsnotify.v1";
-      rev = "v1.4.7";
-      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/inf.v0";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/inf.v0";
-      rev = "v0.9.1";
-      sha256 = "00k5iqjcp371fllqxncv7jkf80hn1zww92zm78cclbcn4ybigkng";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/tomb.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/tomb.v1";
-      rev = "dd632973f1e7";
-      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "v2.2.4";
-      sha256 = "11bwj757wi8kdrcnlgfqb8vv2d2xdhlghmyagd19i62khrkchsg2";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "honnef.co/go/tools";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dominikh/go-tools";
-      rev = "3f1c8253044a";
-      sha256 = "0d3vgh0fgfj1z7i648g1s6x2pwxd07sxfjwg1xn3yagr9h06jh3h";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/api";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/api";
-      rev = "v0.17.0";
-      sha256 = "180gijj7nl6pgfgqg6h7rcpxissmq9c3axph8ld7llx0cwmsxdrb";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/apimachinery";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/apimachinery";
-      rev = "v0.17.0";
-      sha256 = "1418y3p2fx7zsf1anpwcma1fqnaymal12d6x33j600jf1y0j9g8i";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/client-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/client-go";
-      rev = "v0.17.0";
-      sha256 = "1v8n92g18xb6b1wvl3p2slm0hbpf8agwdyslqn2wgnwyhhgi0rfg";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/gengo";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/gengo";
-      rev = "0689ccc1d7d6";
-      sha256 = "10c0kbm07pzxwdxpsmcgqkcxqxaijyywvwj1rciw6ssfcgx7kdc5";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/klog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/klog";
-      rev = "v1.0.0";
-      sha256 = "1cgannfmldcrcksb2wqdn2b5qabqyxl9r25w9y4qbljw24hhnlvn";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/kube-openapi";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/kube-openapi";
-      rev = "30be4d16710a";
-      sha256 = "13pksn2xzyhrz569zihqy78y9ckn4sf4f4x31w1czfwbs87n00gf";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "k8s.io/utils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes/utils";
-      rev = "e782cd3c129f";
-      sha256 = "19dp1cfqmgwy4m4yyxzbmmzklxnff4ipqknsp7y9yi02q6h4gj7r";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/structured-merge-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/structured-merge-diff";
-      rev = "15d366b2352e";
-      sha256 = "1anrx09ksgrwjwmbrcrk3hx8wyzjaakzmmn36nd23if36nv1xg11";
-      moduleDir = "";
-    };
-  }
-  {
-    goPackagePath = "sigs.k8s.io/yaml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kubernetes-sigs/yaml";
-      rev = "v1.1.0";
-      sha256 = "1p7hvjdr5jsyk7nys1g1pmgnf3ys6n320i6hds85afppk81k01kb";
-      moduleDir = "";
-    };
-  }
-]
diff --git a/pkgs/development/tools/rbspy/default.nix b/pkgs/development/tools/rbspy/default.nix
index beb4df0f168..fbd97882428 100644
--- a/pkgs/development/tools/rbspy/default.nix
+++ b/pkgs/development/tools/rbspy/default.nix
@@ -1,18 +1,32 @@
-{ stdenv, rustPlatform, fetchFromGitHub, lib}:
+{ stdenv, rustPlatform, fetchFromGitHub, lib, ruby, which}:
 rustPlatform.buildRustPackage rec {
   pname = "rbspy";
-  version = "0.11.1";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9BeQHwwnirK5Wquj6Tal8yCU/NXZGaPjXZe3cy5m98s=";
+    sha256 = "FnUUX7qQWVZMHtWvneTLzBL1YYwF8v4e1913Op4Lvbw=";
   };
 
-  cargoSha256 = "sha256-DHdfv6210wAkL9vXxLr76ejFWU/eV/q3lmgsYa5Rn54=";
+  cargoSha256 = "98vmUoWSehX/9rMlHNSvKHJvJxW99pOhS08FI3OeLGo=";
   doCheck = true;
 
+  # Tests in initialize.rs rely on specific PIDs being queried and attaching
+  # tracing to forked processes, which don't work well with the isolated build.
+  preCheck = ''
+    substituteInPlace src/core/process.rs \
+      --replace /usr/bin/which '${which}/bin/which'
+    substituteInPlace src/sampler/mod.rs \
+      --replace /usr/bin/which '${which}/bin/which'
+    substituteInPlace src/core/initialize.rs \
+      --replace 'fn test_initialize_with_disallowed_process(' '#[ignore] fn test_initialize_with_disallowed_process(' \
+      --replace 'fn test_get_exec_trace(' '#[ignore] fn test_get_exec_trace(' \
+  '';
+
+  nativeBuildInputs = [ ruby which ];
+
   meta = with lib; {
     broken = (stdenv.isLinux && stdenv.isAarch64);
     homepage = "https://rbspy.github.io/";
diff --git a/pkgs/games/sil-q/default.nix b/pkgs/games/sil-q/default.nix
new file mode 100644
index 00000000000..1676f8da55a
--- /dev/null
+++ b/pkgs/games/sil-q/default.nix
@@ -0,0 +1,66 @@
+{ lib, stdenv, fetchFromGitHub, writeScript, makeWrapper, ncurses, libX11 }:
+
+let
+  setup = writeScript "setup" ''
+    mkdir -p "$ANGBAND_PATH"
+    # copy all the data files into place
+    cp -ar $1/* "$ANGBAND_PATH"
+    # the copied files need to be writable
+    chmod +w -R "$ANGBAND_PATH"
+  '';
+in stdenv.mkDerivation rec {
+  pname = "sil-q";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "sil-quirk";
+    repo = "sil-q";
+    rev = "v${version}";
+    sha256 = "sha256-v/sWhPWF9cCKD8N0RHpwzChMM1t9G2yrMDmi1cZxdOs=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ ncurses libX11 ];
+
+  # Makefile(s) and config are not top-level
+  sourceRoot = "source/src";
+
+  postPatch = ''
+    # allow usage of ANGBAND_PATH
+    substituteInPlace config.h --replace "#define FIXED_PATHS" ""
+
+    # change Makefile.std for ncurses according to its own comment
+    substituteInPlace Makefile.std --replace "-lcurses" "-lncurses"
+  '';
+
+  makefile = "Makefile.std";
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp sil $out/bin/sil-q
+    wrapProgram $out/bin/sil-q \
+      --run "export ANGBAND_PATH=\$HOME/.sil" \
+      --run "${setup} ${src}/lib"
+
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "A roguelike game set in the First Age of Middle-earth";
+    longDescription = ''
+      A game of adventure set in the First Age of Middle-earth, when the world still
+      rang with Elven song and gleamed with Dwarven mail.
+
+      Walk the dark halls of Angband.  Slay creatures black and fell.  Wrest a shining
+      Silmaril from Morgoth’s iron crown.
+
+      A fork of Sil that's still actively developed.
+    '';
+    homepage = "https://github.com/sil-quirk/sil-q";
+    license = lib.licenses.gpl2;
+    maintainers = [ lib.maintainers.kenran ];
+    platforms = lib.platforms.linux;
+  };
+}
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 4d6152abffd..4acf3aa87ad 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.6.5";
+  version = "2022.6.6";
   components = {
     "abode" = ps: with ps; [
       abodepy
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index e986ce4a0ee..fbfa29ff4bf 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -176,7 +176,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.6.5";
+  hassVersion = "2022.6.6";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -194,7 +194,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-ZGdA5AvNqx3TBZfbr8r5l3MXEt+LAodZFOsn+GeslC0=";
+    hash = "sha256-scwj3VrSoFk/pSVzfwvGFM5fRci3+7iqr7TAwLantFQ=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index da4c2b04eb4..834844f9674 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot";
-  version = "2.3.19";
+  version = "2.3.19.1";
 
   nativeBuildInputs = [ perl pkg-config ];
   buildInputs =
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
-    hash = "sha256:0ys3zq9b1rgj1cz6a0i9l421y6h2j3b5zak2ia5j9dj1sj9zcwq1";
+    hash = "sha256-21q82H1zCWWeprRbLLbunF+XSGsrcZpd0Fp1nh9qXFE=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/misc/asciinema/default.nix b/pkgs/tools/misc/asciinema/default.nix
index e08d0b5d3f7..11ad6b8b36a 100644
--- a/pkgs/tools/misc/asciinema/default.nix
+++ b/pkgs/tools/misc/asciinema/default.nix
@@ -1,26 +1,39 @@
-{ lib, python3Packages, fetchFromGitHub, glibcLocales }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, glibcLocales
+}:
 
 python3Packages.buildPythonApplication rec {
   pname = "asciinema";
-  version = "2.1.0";
+  version = "2.2.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "asciinema";
     repo = "asciinema";
     rev = "v${version}";
-    sha256 = "1alcz018jrrpasrmgs8nw775a6pf62xq2xgs54c4mb396prdqy4x";
+    hash = "sha256-ioSNd0Fjk2Fp05lk3HeokIjNYGU0jQEaIDfcFB18mV0=";
   };
 
-  checkInputs = [ glibcLocales python3Packages.nose ];
+  postPatch = ''
+    substituteInPlace tests/pty_test.py \
+      --replace "python3" "${python3Packages.python}/bin/python"
+  '';
+
+  checkInputs = [
+    glibcLocales
+    python3Packages.nose
+  ];
 
   checkPhase = ''
     LC_ALL=en_US.UTF-8 nosetests
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Terminal session recorder and the best companion of asciinema.org";
     homepage = "https://asciinema.org/";
-    license = with lib.licenses; [ gpl3 ];
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ ];
   };
 }
-
diff --git a/pkgs/tools/networking/ngrok-2/versions.json b/pkgs/tools/networking/ngrok-2/versions.json
deleted file mode 100644
index 85b0e47168a..00000000000
--- a/pkgs/tools/networking/ngrok-2/versions.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-  "linux-386": {
-    "sys": "linux-386",
-    "url": "https://bin.equinox.io/a/c4ZY6f7svn7/ngrok-2.3.40-linux-386",
-    "sha256": "1b645ff0abbb28ca7c0f6a2109653be2dc281860b582b4de6927fde12c99da26",
-    "version": "2.3.40"
-  },
-  "linux-amd64": {
-    "sys": "linux-amd64",
-    "url": "https://bin.equinox.io/a/b5PAmc6L9z2/ngrok-2.3.40-linux-amd64",
-    "sha256": "218d267cd1195334718bafac14bfdf1c19dc95dcf8a24aaa6a1383c21dc86e76",
-    "version": "2.3.40"
-  },
-  "linux-arm": {
-    "sys": "linux-arm",
-    "url": "https://bin.equinox.io/a/aRh9rdUAJyf/ngrok-2.3.40-linux-arm",
-    "sha256": "538a7431df141a929a250eaf6ed7afdcce817bcd8cfe60b61f4c6d7a289b1d1c",
-    "version": "2.3.40"
-  },
-  "linux-arm64": {
-    "sys": "linux-arm64",
-    "url": "https://bin.equinox.io/a/2gpRjDRBpJv/ngrok-2.3.40-linux-arm64",
-    "sha256": "dc7b4465ef95f6d04d1b1996111b3a2631e5f464d7dca7f4994f59ea4edbe21f",
-    "version": "2.3.40"
-  },
-  "darwin-amd64": {
-    "sys": "darwin-amd64",
-    "url": "https://bin.equinox.io/a/fcZQXtHSDgM/ngrok-2.3.40-darwin-amd64",
-    "sha256": "80c8fb121d6c93350d84351d9516674f4e20a3e003cdd7dcb4c3e7c48b9c5b07",
-    "version": "2.3.40"
-  },
-  "darwin-arm64": {
-    "sys": "darwin-arm64",
-    "url": "https://bin.equinox.io/a/3TEKdZeyAnt/ngrok-2.3.40-darwin-arm64",
-    "sha256": "c9e6dfec454f9faec92a13dfd3f3857de982007e3b85987bb875aa0d74ca8101",
-    "version": "2.3.40"
-  }
-}
diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok/default.nix
index 6093cea40f0..774f2dad456 100644
--- a/pkgs/tools/networking/ngrok-2/default.nix
+++ b/pkgs/tools/networking/ngrok/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation {
     homepage = "https://ngrok.com/";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
-    maintainers = [ maintainers.bobvanderlinden ];
+    maintainers = with maintainers; [ bobvanderlinden brodes ];
   };
 }
diff --git a/pkgs/tools/networking/ngrok-2/update.sh b/pkgs/tools/networking/ngrok/update.sh
index 4e2aaf4e559..ed2d975bee2 100755
--- a/pkgs/tools/networking/ngrok-2/update.sh
+++ b/pkgs/tools/networking/ngrok/update.sh
@@ -10,7 +10,7 @@ get_download_info() {
          https://update.equinox.io/check \
          'Accept:application/json; q=1; version=1; charset=utf-8' \
          'Content-Type:application/json; charset=utf-8' \
-         app_id=app_goVRodbMVm \
+         app_id=app_c3U4eZcDbjV \
          channel=stable \
          os=$1 \
          goarm= \
@@ -31,4 +31,4 @@ get_download_info() {
     get_download_info darwin amd64
     get_download_info darwin arm64
 ) | jq --slurp 'map ({ (.sys): . }) | add' \
-    > pkgs/tools/networking/ngrok-2/versions.json
+    > pkgs/tools/networking/ngrok/versions.json
diff --git a/pkgs/tools/networking/ngrok/versions.json b/pkgs/tools/networking/ngrok/versions.json
new file mode 100644
index 00000000000..0ee279a8882
--- /dev/null
+++ b/pkgs/tools/networking/ngrok/versions.json
@@ -0,0 +1,38 @@
+{
+  "linux-386": {
+    "sys": "linux-386",
+    "url": "https://bin.equinox.io/a/fZXabEBxqTt/ngrok-v3-3.0.4-linux-386",
+    "sha256": "94c106392171a537d45ff5db749ce064d721b7c2204c7c951b9e9bfd96fd41f5",
+    "version": "3.0.4"
+  },
+  "linux-amd64": {
+    "sys": "linux-amd64",
+    "url": "https://bin.equinox.io/a/fydLsfbG16K/ngrok-v3-3.0.4-linux-amd64",
+    "sha256": "1d93dfcbcf8f1be3a21460022b5644228f9dcc2e71012bd61fcfb39ddf2a7a89",
+    "version": "3.0.4"
+  },
+  "linux-arm": {
+    "sys": "linux-arm",
+    "url": "https://bin.equinox.io/a/8Fzm6mvbW6H/ngrok-v3-3.0.4-linux-arm",
+    "sha256": "d9bf182808f254bea7f177f7dc814dbfa0f3a5ee2aea18cfabac7975a9c6397e",
+    "version": "3.0.4"
+  },
+  "linux-arm64": {
+    "sys": "linux-arm64",
+    "url": "https://bin.equinox.io/a/NGErr1qsBJ/ngrok-v3-3.0.4-linux-arm64",
+    "sha256": "26174fa2a0c22cf44fff118658348d6e4bfa8d60e4cfc092dedc4a0223427916",
+    "version": "3.0.4"
+  },
+  "darwin-amd64": {
+    "sys": "darwin-amd64",
+    "url": "https://bin.equinox.io/a/RZEPEGHd2t/ngrok-v3-3.0.4-darwin-amd64",
+    "sha256": "a7eca7635e6174174880a79d51e2d9c4ec32e15752751d5427f70ecf59f9f8e2",
+    "version": "3.0.4"
+  },
+  "darwin-arm64": {
+    "sys": "darwin-arm64",
+    "url": "https://bin.equinox.io/a/dxEFAXR7WZr/ngrok-v3-3.0.4-darwin-arm64",
+    "sha256": "6db91466407e9538a4f598cc362e8be292d4621f8b331e0d0818e1c672decc66",
+    "version": "3.0.4"
+  }
+}
diff --git a/pkgs/tools/networking/norouter/default.nix b/pkgs/tools/networking/norouter/default.nix
new file mode 100644
index 00000000000..e0f6a8f3aee
--- /dev/null
+++ b/pkgs/tools/networking/norouter/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "norouter";
+  version = "0.6.4";
+
+  src = fetchFromGitHub {
+    owner = "norouter";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0h5jzxm4fw50781zj76r5ksnxkzsnrygrykpa913v9nd24c09c7m";
+  };
+
+  vendorSha256 = "sha256-DZ2kcNV8AzNogAUTaeus4rz9gCFo0wm306jcz/cAj0M=";
+
+  subPackages = [ "cmd/norouter" ];
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    $out/bin/norouter --version | grep ${version} > /dev/null
+
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "Tool to handle unprivileged networking by using multiple loopback addresses";
+    homepage = "https://github.com/norouter/norouter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ blaggacao ];
+  };
+}
diff --git a/pkgs/tools/security/minica/default.nix b/pkgs/tools/security/minica/default.nix
index 29574e39cd9..b984221bec3 100644
--- a/pkgs/tools/security/minica/default.nix
+++ b/pkgs/tools/security/minica/default.nix
@@ -1,33 +1,34 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "minica";
   version = "1.0.2";
 
-  goPackagePath = "github.com/jsha/minica";
-
   src = fetchFromGitHub {
     owner = "jsha";
     repo = "minica";
     rev = "v${version}";
-    sha256 = "18518wp3dcjhf3mdkg5iwxqr3326n6jwcnqhyibphnb2a58ap7ny";
+    sha256 = "sha256-3p6rUFFiWXhX9BBbxqWxRoyRceexvNnqcFCyNi5HoaA=";
   };
 
-  ldflags = [
-    "-X main.BuildVersion=${version}"
-  ];
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "A simple tool for generating self signed certificates";
     longDescription = ''
-      Minica is a simple CA intended for use in situations where the CA
-      operator also operates each host where a certificate will be used. It
-      automatically generates both a key and a certificate when asked to
-      produce a certificate.
+      Minica is a simple CA intended for use in situations where the CA operator
+      also operates each host where a certificate will be used. It automatically
+      generates both a key and a certificate when asked to produce a
+      certificate.
     '';
     homepage = "https://github.com/jsha/minica/";
+    changelog = "https://github.com/jsha/minica/releases/tag/${src.rev}";
     license = licenses.mit;
     maintainers = with maintainers; [ m1cr0man ];
-    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 8b63f4d9e80..fbdd3e31d99 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8674,9 +8674,7 @@ with pkgs;
 
   neuron-notes = haskell.lib.compose.justStaticExecutables (haskell.lib.compose.generateOptparseApplicativeCompletion "neuron" haskellPackages.neuron);
 
-  ngrok = ngrok-2;
-
-  ngrok-2 = callPackage ../tools/networking/ngrok-2 { };
+  ngrok = callPackage ../tools/networking/ngrok { };
 
   nifi = callPackage ../servers/web-apps/nifi { };
 
@@ -24672,7 +24670,9 @@ with pkgs;
 
   mobile-broadband-provider-info = callPackage ../data/misc/mobile-broadband-provider-info { };
 
-  mojave-gtk-theme = callPackage ../data/themes/mojave { };
+  mojave-gtk-theme = callPackage ../data/themes/mojave {
+    inherit (gnome) gnome-shell;
+  };
 
   moka-icon-theme = callPackage ../data/icons/moka-icon-theme { };
 
@@ -28394,6 +28394,8 @@ with pkgs;
 
   normalize = callPackage ../applications/audio/normalize { };
 
+  norouter = callPackage ../tools/networking/norouter { };
+
   mailspring = callPackage ../applications/networking/mailreaders/mailspring {};
 
   mm = callPackage ../applications/networking/instant-messengers/mm { };
@@ -32318,6 +32320,8 @@ with pkgs;
 
   sil = callPackage ../games/sil { };
 
+  sil-q = callPackage ../games/sil-q { };
+
   simutrans = callPackage ../games/simutrans { };
   # get binaries without data built by Hydra
   simutrans_binaries = lowPrio simutrans.binaries;