summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/ecasound/default.nix37
-rw-r--r--pkgs/applications/audio/mopidy/local.nix9
-rw-r--r--pkgs/applications/audio/mopidy/mopidy.nix4
-rw-r--r--pkgs/applications/audio/mopidy/soundcloud.nix4
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix19
-rw-r--r--pkgs/applications/audio/strawberry/default.nix4
-rw-r--r--pkgs/applications/audio/sublime-music/default.nix5
-rw-r--r--pkgs/applications/audio/sunvox/default.nix4
-rw-r--r--pkgs/applications/editors/thonny/default.nix4
-rw-r--r--pkgs/applications/graphics/monado/default.nix101
-rw-r--r--pkgs/applications/misc/dasel/default.nix4
-rw-r--r--pkgs/applications/misc/gpsbabel/default.nix6
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile1
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock3
-rw-r--r--pkgs/applications/misc/jekyll/full/gemset.nix13
-rw-r--r--pkgs/applications/misc/pgmodeler/default.nix22
-rw-r--r--pkgs/applications/misc/taskwarrior-tui/default.nix28
-rw-r--r--pkgs/applications/networking/apache-directory-studio/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json8
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix14
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix53
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix1
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/radio/soundmodem/default.nix36
-rw-r--r--pkgs/applications/radio/soundmodem/matFix.patch11
-rw-r--r--pkgs/applications/science/logic/lean/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/sympy-1.7-update.patch25
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix3
-rw-r--r--pkgs/applications/terminal-emulators/germinal/default.nix55
-rw-r--r--pkgs/applications/version-management/dvc/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-when-merged/default.nix40
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix20
-rw-r--r--pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/builds.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/dispatch.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/git.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/hg.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/hub.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/man.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/meta.nix2
-rw-r--r--pkgs/applications/version-management/sourcehut/paste.nix2
-rw-r--r--pkgs/applications/video/gnomecast/default.nix3
-rw-r--r--pkgs/applications/video/jellyfin-mpv-shim/default.nix4
-rw-r--r--pkgs/applications/video/mpc-qt/default.nix1
-rw-r--r--pkgs/applications/video/plex-mpv-shim/default.nix3
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/default.nix75
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch4
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/libnvc.nix13
-rw-r--r--pkgs/applications/virtualization/nvidia-docker/modprobe.patch29
-rw-r--r--pkgs/applications/window-managers/picom/default.nix10
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix42
-rw-r--r--pkgs/desktops/gnome-3/extensions/material-shell/default.nix4
-rw-r--r--pkgs/development/compilers/flutter/default.nix4
-rw-r--r--pkgs/development/compilers/flutter/flutter.nix63
-rw-r--r--pkgs/development/compilers/glslang/default.nix19
-rw-r--r--pkgs/development/compilers/openjdk/14.nix157
-rw-r--r--pkgs/development/compilers/openjdk/darwin/default.nix4
-rw-r--r--pkgs/development/compilers/openjdk/default.nix22
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/15.nix (renamed from pkgs/development/compilers/openjdk/openjfx/14.nix)14
-rw-r--r--pkgs/development/compilers/rust/rls/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-cal/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-io/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix9
-rw-r--r--pkgs/development/libraries/flatbuffers/default.nix13
-rw-r--r--pkgs/development/libraries/libuvc/default.nix30
-rw-r--r--pkgs/development/libraries/libvmaf/default.nix10
-rw-r--r--pkgs/development/libraries/openhmd/default.nix43
-rw-r--r--pkgs/development/libraries/rubberband/default.nix15
-rw-r--r--pkgs/development/node-packages/node-packages.nix1213
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/bitstring/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/bitstring/ppx.nix18
-rw-r--r--pkgs/development/ocaml-modules/eliom/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt/ppx.nix15
-rw-r--r--pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix2
-rw-r--r--pkgs/development/python-modules/aiosqlite/default.nix27
-rw-r--r--pkgs/development/python-modules/audio-metadata/default.nix8
-rw-r--r--pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix23
-rw-r--r--pkgs/development/python-modules/bitbox02/default.nix24
-rw-r--r--pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/cherrypy/default.nix2
-rw-r--r--pkgs/development/python-modules/cirq/default.nix4
-rw-r--r--pkgs/development/python-modules/coronavirus/default.nix32
-rw-r--r--pkgs/development/python-modules/croniter/default.nix4
-rw-r--r--pkgs/development/python-modules/demjson/default.nix3
-rw-r--r--pkgs/development/python-modules/elementpath/default.nix4
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix49
-rw-r--r--pkgs/development/python-modules/fastdiff/default.nix30
-rw-r--r--pkgs/development/python-modules/fixerio/default.nix45
-rw-r--r--pkgs/development/python-modules/google-api-core/default.nix (renamed from pkgs/development/python-modules/google_api_core/default.nix)37
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--pkgs/development/python-modules/google-apputils/default.nix (renamed from pkgs/development/python-modules/google_apputils/default.nix)6
-rw-r--r--pkgs/development/python-modules/google-auth-httplib2/default.nix35
-rw-r--r--pkgs/development/python-modules/google-auth-oauthlib/default.nix29
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix54
-rw-r--r--pkgs/development/python-modules/google-cloud-access-context-manager/default.nix12
-rw-r--r--pkgs/development/python-modules/google-cloud-asset/default.nix54
-rw-r--r--pkgs/development/python-modules/google-cloud-automl/default.nix59
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix35
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix58
-rw-r--r--pkgs/development/python-modules/google-cloud-bigtable/default.nix (renamed from pkgs/development/python-modules/google_cloud_bigtable/default.nix)6
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix43
-rw-r--r--pkgs/development/python-modules/google-cloud-core/default.nix (renamed from pkgs/development/python-modules/google_cloud_core/default.nix)27
-rw-r--r--pkgs/development/python-modules/google-cloud-dataproc/default.nix42
-rw-r--r--pkgs/development/python-modules/google-cloud-datastore/default.nix46
-rw-r--r--pkgs/development/python-modules/google-cloud-dlp/default.nix42
-rw-r--r--pkgs/development/python-modules/google-cloud-dns/default.nix41
-rw-r--r--pkgs/development/python-modules/google-cloud-error-reporting/default.nix (renamed from pkgs/development/python-modules/google_cloud_error_reporting/default.nix)29
-rw-r--r--pkgs/development/python-modules/google-cloud-firestore/default.nix64
-rw-r--r--pkgs/development/python-modules/google-cloud-iam/default.nix25
-rw-r--r--pkgs/development/python-modules/google-cloud-iot/default.nix42
-rw-r--r--pkgs/development/python-modules/google-cloud-kms/default.nix (renamed from pkgs/development/python-modules/google_cloud_kms/default.nix)23
-rw-r--r--pkgs/development/python-modules/google-cloud-language/default.nix37
-rw-r--r--pkgs/development/python-modules/google-cloud-logging/default.nix59
-rw-r--r--pkgs/development/python-modules/google-cloud-monitoring/default.nix42
-rw-r--r--pkgs/development/python-modules/google-cloud-org-policy/default.nix8
-rw-r--r--pkgs/development/python-modules/google-cloud-os-config/default.nix29
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix42
-rw-r--r--pkgs/development/python-modules/google-cloud-redis/default.nix37
-rw-r--r--pkgs/development/python-modules/google-cloud-resource-manager/default.nix36
-rw-r--r--pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix (renamed from pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix)23
-rw-r--r--pkgs/development/python-modules/google-cloud-secret-manager/default.nix47
-rw-r--r--pkgs/development/python-modules/google-cloud-securitycenter/default.nix39
-rw-r--r--pkgs/development/python-modules/google-cloud-spanner/default.nix54
-rw-r--r--pkgs/development/python-modules/google-cloud-speech/default.nix43
-rw-r--r--pkgs/development/python-modules/google-cloud-storage/default.nix64
-rw-r--r--pkgs/development/python-modules/google-cloud-tasks/default.nix44
-rw-r--r--pkgs/development/python-modules/google-cloud-testutils/default.nix (renamed from pkgs/development/python-modules/google_cloud_testutils/default.nix)10
-rw-r--r--pkgs/development/python-modules/google-cloud-texttospeech/default.nix43
-rw-r--r--pkgs/development/python-modules/google-cloud-trace/default.nix44
-rw-r--r--pkgs/development/python-modules/google-cloud-translate/default.nix46
-rw-r--r--pkgs/development/python-modules/google-cloud-videointelligence/default.nix45
-rw-r--r--pkgs/development/python-modules/google-cloud-vision/default.nix41
-rw-r--r--pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix36
-rw-r--r--pkgs/development/python-modules/google-crc32c/default.nix14
-rw-r--r--pkgs/development/python-modules/google-i18n-address/default.nix6
-rw-r--r--pkgs/development/python-modules/google-music-proto/default.nix8
-rw-r--r--pkgs/development/python-modules/google-music-utils/default.nix31
-rw-r--r--pkgs/development/python-modules/google-music/default.nix8
-rw-r--r--pkgs/development/python-modules/google-resumable-media/default.nix46
-rw-r--r--pkgs/development/python-modules/google_auth/default.nix44
-rw-r--r--pkgs/development/python-modules/google_cloud_asset/default.nix38
-rw-r--r--pkgs/development/python-modules/google_cloud_automl/default.nix39
-rw-r--r--pkgs/development/python-modules/google_cloud_bigquery/default.nix47
-rw-r--r--pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix31
-rw-r--r--pkgs/development/python-modules/google_cloud_container/default.nix29
-rw-r--r--pkgs/development/python-modules/google_cloud_dataproc/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_datastore/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_dlp/default.nix32
-rw-r--r--pkgs/development/python-modules/google_cloud_dns/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_firestore/default.nix35
-rw-r--r--pkgs/development/python-modules/google_cloud_iot/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_language/default.nix32
-rw-r--r--pkgs/development/python-modules/google_cloud_logging/default.nix38
-rw-r--r--pkgs/development/python-modules/google_cloud_monitoring/default.nix32
-rw-r--r--pkgs/development/python-modules/google_cloud_pubsub/default.nix35
-rw-r--r--pkgs/development/python-modules/google_cloud_redis/default.nix38
-rw-r--r--pkgs/development/python-modules/google_cloud_resource_manager/default.nix34
-rw-r--r--pkgs/development/python-modules/google_cloud_secret_manager/default.nix36
-rw-r--r--pkgs/development/python-modules/google_cloud_securitycenter/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_spanner/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_speech/default.nix26
-rw-r--r--pkgs/development/python-modules/google_cloud_storage/default.nix48
-rw-r--r--pkgs/development/python-modules/google_cloud_tasks/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_texttospeech/default.nix27
-rw-r--r--pkgs/development/python-modules/google_cloud_trace/default.nix32
-rw-r--r--pkgs/development/python-modules/google_cloud_translate/default.nix40
-rw-r--r--pkgs/development/python-modules/google_cloud_videointelligence/default.nix31
-rw-r--r--pkgs/development/python-modules/google_cloud_vision/default.nix33
-rw-r--r--pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix24
-rw-r--r--pkgs/development/python-modules/google_resumable_media/default.nix38
-rw-r--r--pkgs/development/python-modules/googleapis_common_protos/default.nix29
-rw-r--r--pkgs/development/python-modules/googlemaps/default.nix9
-rw-r--r--pkgs/development/python-modules/googletrans/default.nix11
-rw-r--r--pkgs/development/python-modules/graphene/default.nix50
-rw-r--r--pkgs/development/python-modules/graphql-relay/default.nix24
-rw-r--r--pkgs/development/python-modules/grpcio/default.nix31
-rw-r--r--pkgs/development/python-modules/gspread/default.nix4
-rw-r--r--pkgs/development/python-modules/h11/default.nix25
-rw-r--r--pkgs/development/python-modules/httpx/default.nix2
-rw-r--r--pkgs/development/python-modules/hwi/default.nix41
-rw-r--r--pkgs/development/python-modules/hwi/relax-deps.patch16
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/keepkey_agent/default.nix3
-rw-r--r--pkgs/development/python-modules/kubernetes/default.nix4
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix6
-rw-r--r--pkgs/development/python-modules/ledger_agent/default.nix3
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/liquidctl/default.nix4
-rw-r--r--pkgs/development/python-modules/lmdb/default.nix16
-rw-r--r--pkgs/development/python-modules/marionette-harness/mozdevice.nix3
-rw-r--r--pkgs/development/python-modules/nitime/default.nix6
-rw-r--r--pkgs/development/python-modules/noiseprotocol/default.nix26
-rw-r--r--pkgs/development/python-modules/openwebifpy/default.nix4
-rw-r--r--pkgs/development/python-modules/orm/default.nix10
-rw-r--r--pkgs/development/python-modules/pgpy/default.nix14
-rw-r--r--pkgs/development/python-modules/poster3/default.nix3
-rw-r--r--pkgs/development/python-modules/proto-plus/default.nix13
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix24
-rw-r--r--pkgs/development/python-modules/pyairvisual/default.nix16
-rw-r--r--pkgs/development/python-modules/pyarlo/default.nix41
-rw-r--r--pkgs/development/python-modules/pyatv/default.nix2
-rw-r--r--pkgs/development/python-modules/pygobject/default.nix3
-rw-r--r--pkgs/development/python-modules/pymodbus/default.nix59
-rw-r--r--pkgs/development/python-modules/pytest-snapshot/default.nix26
-rw-r--r--pkgs/development/python-modules/rfc3986/default.nix13
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix41
-rw-r--r--pkgs/development/python-modules/salmon-mail/default.nix2
-rw-r--r--pkgs/development/python-modules/sanic-auth/default.nix12
-rw-r--r--pkgs/development/python-modules/sanic/default.nix2
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix18
-rw-r--r--pkgs/development/python-modules/smbus-cffi/default.nix1
-rw-r--r--pkgs/development/python-modules/snapshottest/default.nix33
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/starlette/default.nix30
-rw-r--r--pkgs/development/python-modules/sympy/default.nix4
-rw-r--r--pkgs/development/python-modules/tasklib/default.nix4
-rw-r--r--pkgs/development/python-modules/tbm-utils/default.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix3
-rw-r--r--pkgs/development/python-modules/tensorflow-tensorboard/2/default.nix3
-rw-r--r--pkgs/development/python-modules/trezor_agent/default.nix3
-rw-r--r--pkgs/development/python-modules/typesystem/default.nix9
-rw-r--r--pkgs/development/python-modules/uvicorn/default.nix46
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix4
-rw-r--r--pkgs/development/python-modules/wasmer/default.nix73
-rw-r--r--pkgs/development/python-modules/xlib/default.nix4
-rw-r--r--pkgs/development/python-modules/ydiff/default.nix2
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix6
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix26
-rw-r--r--pkgs/development/python-modules/zigpy-deconz/default.nix31
-rw-r--r--pkgs/development/python-modules/zigpy-zigate/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-znp/default.nix5
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix6
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/tools/buildkit/default.nix4
-rw-r--r--pkgs/development/tools/database/timescaledb-tune/default.nix4
-rw-r--r--pkgs/development/tools/kustomize/default.nix10
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix10
-rw-r--r--pkgs/development/tools/pry/Gemfile.lock10
-rw-r--r--pkgs/development/tools/pry/gemset.nix12
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rwxr-xr-xpkgs/development/tools/rust/rust-analyzer/update.sh2
-rw-r--r--pkgs/development/tools/tabnine/default.nix21
-rw-r--r--pkgs/development/tools/turbogit/default.nix42
-rw-r--r--pkgs/games/factorio/versions.json16
-rw-r--r--pkgs/games/mindustry/default.nix4
-rw-r--r--pkgs/misc/drivers/hplip/default.nix17
-rw-r--r--pkgs/misc/drivers/steamcontroller/default.nix6
-rw-r--r--pkgs/misc/tmux-plugins/default.nix1
-rw-r--r--pkgs/misc/vim-plugins/generated.nix244
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names4
-rw-r--r--pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json30
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix17
-rw-r--r--pkgs/servers/caddy/default.nix6
-rw-r--r--pkgs/servers/gotify/source-sha.nix2
-rw-r--r--pkgs/servers/gotify/version.nix2
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix25
-rw-r--r--pkgs/servers/home-assistant/default.nix12
-rw-r--r--pkgs/servers/home-assistant/frontend.nix7
-rwxr-xr-xpkgs/servers/home-assistant/update.sh2
-rw-r--r--pkgs/servers/jitsi-videobridge/default.nix8
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix2
-rw-r--r--pkgs/servers/slimserver/default.nix1
-rw-r--r--pkgs/servers/sql/patroni/default.nix2
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/backup/grab-site/default.nix24
-rw-r--r--pkgs/tools/backup/s3ql/default.nix2
-rw-r--r--pkgs/tools/backup/wal-e/default.nix2
-rw-r--r--pkgs/tools/graphics/fim/default.nix10
-rw-r--r--pkgs/tools/inputmethods/evdevremapkeys/default.nix14
-rw-r--r--pkgs/tools/misc/foma/default.nix32
-rw-r--r--pkgs/tools/misc/fzf/default.nix16
-rw-r--r--pkgs/tools/networking/rdrview/default.nix26
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix10
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/security/grype/default.nix35
-rw-r--r--pkgs/tools/security/urlhunter/default.nix29
-rw-r--r--pkgs/tools/system/clinfo/default.nix19
-rw-r--r--pkgs/tools/text/mdbook/default.nix6
-rw-r--r--pkgs/tools/video/svt-av1/default.nix24
-rw-r--r--pkgs/tools/virtualization/shipyard/default.nix29
-rw-r--r--pkgs/tools/wayland/wtype/default.nix8
-rw-r--r--pkgs/top-level/all-packages.nix84
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix40
-rw-r--r--pkgs/top-level/python-packages.nix125
298 files changed, 4882 insertions, 2751 deletions
diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix
index adb6f6b7427..505e5a604ca 100644
--- a/pkgs/applications/audio/ecasound/default.nix
+++ b/pkgs/applications/audio/ecasound/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchurl
+, pkg-config
 , alsaLib
 , audiofile
 , libjack2
@@ -9,9 +10,14 @@
 , libsndfile
 , lilv
 , lv2
+, ncurses
+, readline
 }:
 
-# TODO: fix readline, ncurses, lilv, liblo, liboil and python. See configure log.
+# TODO: fix python. See configure log.
+# fix -Dnullptr=0 cludge below.
+# The error is
+# /nix/store/*-lilv-0.24.10/include/lilv-0/lilv/lilvmm.hpp:272:53: error: 'nullptr' was not declared in this scope
 
 stdenv.mkDerivation rec {
   pname = "ecasound";
@@ -22,7 +28,34 @@ stdenv.mkDerivation rec {
     sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6";
   };
 
-  buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    alsaLib
+    audiofile
+    libjack2
+    liblo
+    liboil
+    libsamplerate
+    libsndfile
+    lilv
+    lv2
+    ncurses
+    readline
+  ];
+
+  strictDeps = true;
+
+  configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
+
+  postPatch = ''
+    sed -i -e '
+      s@^#include <readline.h>@#include <readline/readline.h>@
+      s@^#include <history.h>@#include <readline/history.h>@
+      ' ecasound/eca-curses.cpp
+  '';
 
   meta = {
     description = "Software package designed for multitrack audio processing";
diff --git a/pkgs/applications/audio/mopidy/local.nix b/pkgs/applications/audio/mopidy/local.nix
index 6cbb8424d35..de748ea7b32 100644
--- a/pkgs/applications/audio/mopidy/local.nix
+++ b/pkgs/applications/audio/mopidy/local.nix
@@ -1,6 +1,7 @@
 { lib
 , mopidy
 , python3Packages
+, fetchpatch
 }:
 
 python3Packages.buildPythonApplication rec {
@@ -21,6 +22,14 @@ python3Packages.buildPythonApplication rec {
     python3Packages.pytestCheckHook
   ];
 
+  patches = [
+    # Fix tests for Mopidy≥3.1.0. Remove with the next release.
+    (fetchpatch {
+      url = "https://github.com/mopidy/mopidy-local/commit/f1d7598d3a9587f0823acb97ecb615f4f4817fd2.patch";
+      sha256 = "193kd5zwsr0qpp2y8icdy13vqpglmjdm7x1rw5hliwyq18a34vjp";
+    })
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/mopidy/mopidy-local";
     description = "Mopidy extension for playing music from your local music archive";
diff --git a/pkgs/applications/audio/mopidy/mopidy.nix b/pkgs/applications/audio/mopidy/mopidy.nix
index f2f3734ec2e..6f7ee0c857a 100644
--- a/pkgs/applications/audio/mopidy/mopidy.nix
+++ b/pkgs/applications/audio/mopidy/mopidy.nix
@@ -4,13 +4,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy";
-  version = "3.0.2";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy";
     rev = "v${version}";
-    sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
+    sha256 = "14m80z9spi2vhfs2bbff7ky80mr6bksl4550y17hwd7zpkid60za";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/audio/mopidy/soundcloud.nix b/pkgs/applications/audio/mopidy/soundcloud.nix
index 8002feb0f90..fb2e9474b1f 100644
--- a/pkgs/applications/audio/mopidy/soundcloud.nix
+++ b/pkgs/applications/audio/mopidy/soundcloud.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "mopidy-soundcloud";
-  version = "2.1.0";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner = "mopidy";
     repo = "mopidy-soundcloud";
     rev = "v${version}";
-    sha256 = "131qdm9i0j3ayff0js11qcmbjv50ws5s6iiqr6x5b66ymjl4scfv";
+    sha256 = "18wiiv4rca9vibvnc27f3q4apf8n61kbp7mdbm2pmz86qwmd47pa";
   };
 
   propagatedBuildInputs = [ mopidy ];
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index a2001996c98..4eb6288e4ee 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
+{ stdenv, fetchFromGitHub, rustPlatform, installShellFiles, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "0w1y37qh9n3936d59hvqzjz2878x2nwxqxc4s7mp4f9xqcfl0c5r";
+    sha256 = "082y5m2vglzx9kdc2088zynz0njcnljnb0y170igmlsxq9wkrgg2";
   };
 
-  cargoSha256 = "1ri054p08si95x1gh2bkh4fk50ja79c5izzjnkvs0yhfj1wzbghi";
+  cargoSha256 = "100c7x603qyhav3p24clwfal4ngh0258x9lqsi84kcj4wq2f3i8f";
 
-  nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkgconfig python3 ];
+  nativeBuildInputs = [ installShellFiles ] ++ stdenv.lib.optionals stdenv.isLinux [ pkgconfig python3 ];
   buildInputs = [ ]
     ++ stdenv.lib.optionals stdenv.isLinux [ openssl libxcb ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
 
+  postInstall = ''
+    for shell in bash fish zsh; do
+      $out/bin/spt --completions $shell > spt.$shell
+      installShellCompletion spt.$shell
+    done
+  '';
+
   meta = with stdenv.lib; {
     description = "Spotify for the terminal written in Rust";
     homepage = "https://github.com/Rigellute/spotify-tui";
-    changelog = "https://github.com/Rigellute/spotify-tui/releases/tag/v${version}";
+    changelog = "https://github.com/Rigellute/spotify-tui/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jwijenbergh ];
   };
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index c2f1a0db701..53a4cc96437 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -35,13 +35,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "0.8.4";
+  version = "0.8.5";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "145djlfvbkx2b1wqipk51mz82dhm27vmh9x00lkn24q1xz1y6h5n";
+    sha256 = "sha256-+ZQ80J94Teqt4Gy6fw/pS7FwILK/TPehtJDy72Bdy1E=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/sublime-music/default.nix b/pkgs/applications/audio/sublime-music/default.nix
index 7e3c1b9164f..1f74998166f 100644
--- a/pkgs/applications/audio/sublime-music/default.nix
+++ b/pkgs/applications/audio/sublime-music/default.nix
@@ -1,5 +1,4 @@
 { lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
-
 , chromecastSupport ? false
 , serverSupport ? false
 , keyringSupport ? true
@@ -51,6 +50,10 @@ python3Packages.buildPythonApplication rec {
   # https://github.com/NixOS/nixpkgs/issues/56943
   strictDeps = false;
 
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "sublime" ];
+
   meta = with lib; {
     description = "GTK3 Subsonic/Airsonic client";
     homepage = "https://sublimemusic.app/";
diff --git a/pkgs/applications/audio/sunvox/default.nix b/pkgs/applications/audio/sunvox/default.nix
index 2cd48806f7d..1b3b476d703 100644
--- a/pkgs/applications/audio/sunvox/default.nix
+++ b/pkgs/applications/audio/sunvox/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "SunVox";
-  version = "1.9.5d";
+  version = "1.9.6c";
 
   src = fetchurl {
     url = "http://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip";
-    sha256 = "04f7psm0lvc09nw7d2wp0sncf37bym2v7hhxp4v8c8gdgayj7k8m";
+    sha256 = "0lqzr68n2c6aifw2vbyars91wn1chmgb9xfdk463g4vjqiava3ih";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix
index 0f05bf23c07..0808bf82390 100644
--- a/pkgs/applications/editors/thonny/default.nix
+++ b/pkgs/applications/editors/thonny/default.nix
@@ -4,13 +4,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0nk4kx6apmnd6fyd9zw77yprjzgjf7micvcws2i2sci0d9fff34c";
+    sha256 = "1pzy7v48x4ip8v6aqm8hl5ywx7xiqbsfypxxifih8gnlangp1n8y";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/graphics/monado/default.nix b/pkgs/applications/graphics/monado/default.nix
new file mode 100644
index 00000000000..61343b3b1b4
--- /dev/null
+++ b/pkgs/applications/graphics/monado/default.nix
@@ -0,0 +1,101 @@
+{ stdenv
+, fetchFromGitLab
+, fetchpatch
+, cmake
+, pkg-config
+, python3
+, SDL2
+, dbus
+, eigen
+, ffmpeg
+, glslang
+, hidapi
+, libGL
+, libXau
+, libXdmcp
+, libXrandr
+, libffi
+# , librealsense
+, libsurvive
+, libusb1
+, libuvc
+, libv4l
+, libxcb
+, opencv4
+, openhmd
+, udev
+, vulkan-headers
+, vulkan-loader
+, wayland
+, wayland-protocols
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "monado";
+  version = "0.4.1";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "114aif79dqyn2qg07mkv6lzmqn15k6fdcii818rdf5g4bp7zzzgm";
+  };
+
+  patches = [
+    # fix libsurvive autodetection, drop with the next version update
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/monado/monado/-/commit/345e9eab56e2de9e8b07cf72c2a67cf2ebd01e62.patch";
+      sha256 = "17c110an6sxc8rn7dfz30rfkbayg64w68licicwc8cqabi6cgrm3";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake pkg-config python3 ];
+
+  buildInputs = [
+    SDL2
+    dbus
+    eigen
+    ffmpeg
+    glslang
+    hidapi
+    libGL
+    libXau
+    libXdmcp
+    libXrandr
+    libffi
+    # librealsense.dev - see below
+    libsurvive
+    libusb1
+    libuvc
+    libv4l
+    libxcb
+    opencv4
+    openhmd
+    udev
+    vulkan-headers
+    vulkan-loader
+    wayland
+    wayland-protocols
+    zlib
+  ];
+
+  # realsense is disabled, the build ends with the following error:
+  #
+  # CMake Error in src/xrt/drivers/CMakeLists.txt:
+  # Imported target "realsense2::realsense2" includes non-existent path
+  # "/nix/store/2v95aps14hj3jy4ryp86vl7yymv10mh0-librealsense-2.41.0/include"
+  # in its INTERFACE_INCLUDE_DIRECTORIES.
+  #
+  # for some reason cmake is trying to use ${librealsense}/include
+  # instead of ${librealsense.dev}/include as an include directory
+
+  meta = with stdenv.lib; {
+    description = "Open source XR runtime";
+    homepage = "https://monado.freedesktop.org/";
+    license = licenses.boost;
+    maintainers = with maintainers; [ prusnak ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index 7bb61a3addd..c8f7016435e 100644
--- a/pkgs/applications/misc/dasel/default.nix
+++ b/pkgs/applications/misc/dasel/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "dasel";
-  version = "1.12.0";
+  version = "1.12.2";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = pname;
     rev = "v${version}";
-    sha256 = "69igz0Q7pT0f6PsbZWHcwUiTKRTTzj7r5E6E5ExUoJo=";
+    sha256 = "/WB/SsOih0N5P4cUAD6zkCajplzZ/Jez0H80+CG08rc=";
   };
 
   vendorSha256 = "BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
diff --git a/pkgs/applications/misc/gpsbabel/default.nix b/pkgs/applications/misc/gpsbabel/default.nix
index 6b8cb66c78b..a95ffbbb59a 100644
--- a/pkgs/applications/misc/gpsbabel/default.nix
+++ b/pkgs/applications/misc/gpsbabel/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, libusb1, qtbase, zlib, IOKit, which }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, libusb1, qtbase, zlib, IOKit, which, expat }:
 
 stdenv.mkDerivation rec {
   pname = "gpsbabel";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libusb1 qtbase zlib ]
     ++ lib.optionals stdenv.isDarwin [ IOKit ];
 
-  checkInputs = [ which ]; # Avoid ./testo.d/kml.test: line 74: which: command not found. Skipping KML validation phase.
+  checkInputs = [ expat.dev which ]; # Avoid ./testo.d/kml.test: line 74: which: command not found. Skipping KML validation phase.
 
   /* FIXME: Building the documentation, with "make doc", requires this:
 
@@ -43,6 +43,8 @@ stdenv.mkDerivation rec {
     patchShebangs testo
     substituteInPlace testo \
       --replace "-x /usr/bin/hexdump" ""
+
+    rm -v testo.d/alantrl.test
   ''
     # The raymarine and gtm tests fail on i686 despite -ffloat-store.
   + lib.optionalString stdenv.isi686 "rm -v testo.d/raymarine.test testo.d/gtm.test;"
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile b/pkgs/applications/misc/jekyll/full/Gemfile
index 8e7499bad61..2e72350f7e5 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile
+++ b/pkgs/applications/misc/jekyll/full/Gemfile
@@ -14,6 +14,7 @@ gem "jekyll-coffeescript"
 gem "jekyll-feed", "~> 0.9"
 gem "jekyll-gist"
 gem "jekyll-paginate"
+gem "jekyll-polyglot"
 gem "jekyll-redirect-from"
 gem "kramdown-syntax-coderay"
 gem "mime-types", "~> 3.0"
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index c4e759289d1..969909ca6d0 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -64,6 +64,8 @@ GEM
       html-pipeline (~> 2.3)
       jekyll (>= 3.7, < 5.0)
     jekyll-paginate (1.1.0)
+    jekyll-polyglot (1.3.3)
+      jekyll (>= 3.0)
     jekyll-redirect-from (0.16.0)
       jekyll (>= 3.3, < 5.0)
     jekyll-sass-converter (2.1.0)
@@ -140,6 +142,7 @@ DEPENDENCIES
   jekyll-gist
   jekyll-mentions
   jekyll-paginate
+  jekyll-polyglot
   jekyll-redirect-from
   jekyll-seo-tag
   jekyll-sitemap
diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix
index c21d705fd26..bfbe428c861 100644
--- a/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -297,6 +297,17 @@
     };
     version = "1.1.0";
   };
+  jekyll-polyglot = {
+    dependencies = ["jekyll"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "4ad9140733250b65bc1ffab84650c588d036d23129e82f0349d31e56f1fe10a8";
+      type = "gem";
+    };
+    version = "1.3.3";
+  };
   jekyll-redirect-from = {
     dependencies = ["jekyll"];
     groups = ["default"];
@@ -723,4 +734,4 @@
     };
     version = "2.4.2";
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/misc/pgmodeler/default.nix b/pkgs/applications/misc/pgmodeler/default.nix
index 7532c6e9bc9..a690e72d3e7 100644
--- a/pkgs/applications/misc/pgmodeler/default.nix
+++ b/pkgs/applications/misc/pgmodeler/default.nix
@@ -1,21 +1,26 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, qmake, mkDerivation,
-  qtsvg,
-  libxml2, postgresql }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, qmake
+, mkDerivation
+, qtsvg
+, libxml2
+, postgresql
+}:
 
 mkDerivation rec {
   pname = "pgmodeler";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "pgmodeler";
     repo = "pgmodeler";
     rev = "v${version}";
-    sha256 = "1wkvg20krfwkziz7skgmwlinx07jm5nl3455payg5brv69zf60kl";
+    sha256 = "1bci5x418dbnkny7hn0b5q5lxyajrgl3frv41ji0hcw9vivrds2g";
   };
 
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ pkgconfig qmake ];
+  nativeBuildInputs = [ pkg-config qmake ];
   qmakeFlags = [ "pgmodeler.pro" "CONFIG+=release" ];
 
   # todo: libpq would suffice here. Unfortunately this won't work, if one uses only postgresql.lib here.
@@ -23,7 +28,6 @@ mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A database modeling tool for PostgreSQL";
-    longDescription = ''pgModeler (PostgreSQL Database Modeler) is an open source database modeling tool designed for PostgreSQL.'';
     homepage = "https://pgmodeler.io/";
     license = licenses.gpl3;
     maintainers = [ maintainers.esclear ];
diff --git a/pkgs/applications/misc/taskwarrior-tui/default.nix b/pkgs/applications/misc/taskwarrior-tui/default.nix
new file mode 100644
index 00000000000..682bc920a0e
--- /dev/null
+++ b/pkgs/applications/misc/taskwarrior-tui/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "taskwarrior-tui";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "kdheepak";
+    repo = "taskwarrior-tui";
+    rev = "v${version}";
+    sha256 = "1348ypjphm5f46civbrcxbbahwwl2j47z1hg8ndq1cg2bh5wb8kg";
+  };
+
+  # Because there's a test that requires terminal access
+  doCheck = false;
+
+  cargoSha256 = "11zpy3whzir9mlbvf0jyscqwj9z44a6s5i1bc2cnxyciqy9b57md";
+
+  meta = with stdenv.lib; {
+    description = "A terminal user interface for taskwarrior ";
+    homepage = "https://github.com/kdheepak/taskwarrior-tui";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix
index 141bbe654b7..94359bdd227 100644
--- a/pkgs/applications/networking/apache-directory-studio/default.nix
+++ b/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, jdk14, makeWrapper, autoPatchelfHook, makeDesktopItem, glib, libsecret }:
+{ stdenv, fetchurl, jdk, makeWrapper, autoPatchelfHook, makeDesktopItem, glib, libsecret }:
 
 let
   desktopItem = makeDesktopItem {
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
     makeWrapper "$dest/ApacheDirectoryStudio" \
         "$out/bin/ApacheDirectoryStudio" \
-        --prefix PATH : "${jdk14}/bin"
+        --prefix PATH : "${jdk}/bin"
     install -D icon.xpm "$out/share/pixmaps/apache-directory-studio.xpm"
     install -D -t "$out/share/applications" ${desktopItem}/share/applications/*
   '';
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 5be89852b38..f4387ebe640 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "87.0.4280.88",
-    "sha256": "1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy",
-    "sha256bin64": "0n3fm6wf8zfkv135d50xl8xxrnng3q55vyxkck1da8jyvh18bijb",
+    "version": "87.0.4280.141",
+    "sha256": "0x9k809m36pfirnw2vnr9pk93nxdbgrvna0xf1rs3q91zkbr2x8l",
+    "sha256bin64": "0wq3yi0qyxzcid390w5rh4xjq92fjajvlifjl70g6sqnbk6vgvdp",
     "deps": {
       "gn": {
         "version": "2020-09-09",
@@ -13,7 +13,7 @@
     },
     "chromedriver": {
       "version": "87.0.4280.88",
-      "sha256_linux": "11plh2hs2zpa14ymlbnj92pa58krl28yw4c0s55wk8qsxvzvl02m",
+      "sha256_linux": "1insh1imi25sj4hdkbll5rzwnag8wvfxv4ckshpq8akl8r13p6lj",
       "sha256_darwin": "048hsqp6575r980m769lzznvxypmfcwn89f1d3ik751ymzmb5r78"
     }
   },
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 6052f6882bc..b9f15e21f32 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -137,8 +137,8 @@ let
   ];
 in rec {
   terraform_0_12 = pluggable (generic {
-    version = "0.12.29";
-    sha256 = "18i7vkvnvfybwzhww8d84cyh93xfbwswcnwfrgvcny1qwm8rsaj8";
+    version = "0.12.30";
+    sha256 = "0mv2nsy2ygb1kgkw98xckihcdqxpzhdmks5p2gi2l7wb7lx51yz2";
     patches = [
         ./provider-path.patch
         (fetchpatch {
@@ -150,16 +150,16 @@ in rec {
   });
 
   terraform_0_13 = pluggable (generic {
-    version = "0.13.5";
-    sha256 = "1fnydzm5h65pdy2gkq403sllx05cvpldkdzdpcy124ywljb4x9d8";
+    version = "0.13.6";
+    sha256 = "04vas8i894ssfhncdvljdvmvj2qzfrcs20zcv71l1wmnnv9ibs6l";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
 
   terraform_0_14 = pluggable (generic {
-    version = "0.14.3";
-    sha256 = "0w2j1phjv989bspbyvkhr25bdz1zjch3zggwk2lgjyk77mdw5h20";
-    vendorSha256 = "03dg703pw3h98vfvi2mnd2lw0mv6hlhvmc1l7ngrqdyv54cmihnp";
+    version = "0.14.4";
+    sha256 = "0kjbx1gshp1lvhnjfigfzza0sbl3m6d9qb3in7q5vc6kdkiplb66";
+    vendorSha256 = "10vb6gsw7mha99lvx3lbgd80vf0imcqyc0va0y64f6wzaw557n7v";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 8ef1a690441..f91d89e5ab1 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FlexGet";
-  version = "3.1.91";
+  version = "3.1.95";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "5d6668dd9721b60738ea44c616fcdee6210f7ef52b461eb13b77091caef4a832";
+    sha256 = "5dc80828713c0ece57c6e86a2bad41bbdf34ec41a0ea4da71adfb43784d85120";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index d30697a4df0..83f517e625a 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -19,40 +19,41 @@ stdenv.mkDerivation rec {
     python3Packages.python
   ];
 
-  pythonPath = [
-    python3Packages.libtorrent-rasterbar
-    python3Packages.twisted
-    python3Packages.netifaces
-    python3Packages.pycrypto
-    python3Packages.pyasn1
-    python3Packages.requests
-    python3Packages.m2crypto
-    python3Packages.pyqt5
-    python3Packages.chardet
-    python3Packages.cherrypy
-    python3Packages.cryptography
-    python3Packages.libnacl
-    python3Packages.configobj
-    python3Packages.decorator
-    python3Packages.feedparser
-    python3Packages.service-identity
-    python3Packages.psutil
-    python3Packages.pillow
-    python3Packages.networkx
-    python3Packages.pony
-    python3Packages.lz4
-    python3Packages.pyqtgraph
+  pythonPath = with python3Packages; [
+    libtorrent-rasterbar
+    twisted
+    netifaces
+    pycrypto
+    pyasn1
+    requests
+    m2crypto
+    pyqt5
+    chardet
+    cherrypy
+    cryptography
+    libnacl
+    configobj
+    decorator
+    feedparser
+    service-identity
+    psutil
+    pillow
+    networkx
+    pony
+    lz4
+    pyqtgraph
 
     # there is a BTC feature, but it requires some unclear version of
     # bitcoinlib, so this doesn't work right now.
-    # python3Packages.bitcoinlib
+    # bitcoinlib
   ];
 
   postPatch = ''
     ${stdenv.lib.optionalString enablePlayer ''
       substituteInPlace "./TriblerGUI/vlc.py" --replace "ctypes.CDLL(p)" "ctypes.CDLL('${libvlc}/lib/libvlc.so')"
-      substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" --replace "if vlc and vlc.plugin_path" "if vlc"
-      substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" --replace "os.environ['VLC_PLUGIN_PATH'] = vlc.plugin_path" "os.environ['VLC_PLUGIN_PATH'] = '${libvlc}/lib/vlc/plugins'"
+      substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" \
+        --replace "if vlc and vlc.plugin_path" "if vlc" \
+        --replace "os.environ['VLC_PLUGIN_PATH'] = vlc.plugin_path" "os.environ['VLC_PLUGIN_PATH'] = '${libvlc}/lib/vlc/plugins'"
     ''}
   '';
 
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 217cd0c2099..c556ce35b2d 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -57,6 +57,7 @@ mkDerivation rec {
     wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
     wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}"
 
+    wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer
     wrapQtApp $out/bin/teamviewer
   '';
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 84b571a20f0..c6767f2e0ae 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,17 +3,17 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.12.0";
+      version = "1.12.1";
       name = "${stname}-${version}";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "09kqc66pnklhmlcn66c5zydnvy2mfs2hqzd1465ydww8bbgcncss";
+        sha256 = "1jyqkprb9ps8xc86qnf140wbx5kvshyihxxgym409kfks6dk3cq5";
       };
 
-      vendorSha256 = "1jw0k1wm9mfsa2yr2fi2j8mrlykrlcwfnii07rafv9dnnwabs022";
+      vendorSha256 = "1xlkc47wfhsf6gzq9sgimlzqnrqdsjgc1zzfkjp3xzbbv5ay7wca";
 
       doCheck = false;
 
diff --git a/pkgs/applications/radio/soundmodem/default.nix b/pkgs/applications/radio/soundmodem/default.nix
new file mode 100644
index 00000000000..d7410f92809
--- /dev/null
+++ b/pkgs/applications/radio/soundmodem/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkg-config, alsaLib, audiofile, gtk2, libxml2 }:
+
+stdenv.mkDerivation rec {
+  name = "soundmodem";
+  version = "0.20";
+
+  src = fetchurl {
+    url = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
+    sha256 = "156l3wjnh5rcisxb42kcmlf74swf679v4xnj09zy5j74rd4h721z";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ alsaLib audiofile gtk2 libxml2 ];
+
+  patches = [ ./matFix.patch ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Audio based modem for ham radio supporting ax.25";
+    longDescription = ''
+      This software allows a standard PC soundcard to be used as a packet radio "modem". The whole processing is done on the main processor CPU.
+      Unlike previous packet radio modem software, this new release offers several new benefits:
+        - Now uses standard operating system sound drivers (OSS/Free under Linux, /dev/audio under Solaris and DirectSound under Windows), thus runs on all soundcards for which drivers for the desired operating system are available.
+        - No fixed relationship between bitrate, sampling rate, and modem parameters. Modems may be parametrized, and multiple modems may even run on the same audio channel!
+        - Usermode solution allows the use of MMX, VIS, Floating point and other media instruction sets to speed up computation.
+        - Cross platform builds from a single source code provides ubiquitous availability.
+    '';
+    #homepage = "http://gna.org/projects/soundmodem"; # official, but "Connection refused"
+    homepage = "http://soundmodem.vk4msl.id.au/";
+    downloadPage = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ ymarkus ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/radio/soundmodem/matFix.patch b/pkgs/applications/radio/soundmodem/matFix.patch
new file mode 100644
index 00000000000..55436cda3d4
--- /dev/null
+++ b/pkgs/applications/radio/soundmodem/matFix.patch
@@ -0,0 +1,11 @@
+--- a/matlib/mat.hh	2003-01-06 23:47:26.000000000 +0100
++++ b/matlib/mat.copy.hh	2021-01-06 10:05:34.332415179 +0100
+@@ -91,7 +91,7 @@
+                 memcpy(c, r, d1 * d3 * sizeof(c[0]));
+ }
+
+-template<typename T> void mdet(const T *c, unsigned int d)
++template<typename T> int mdet(const T *c, unsigned int d)
+ {
+         T *c2;
+         unsigned int i, j, k, l;
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 88e1b4fbc0e..0684abd5ab3 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.23.0";
+  version = "3.24.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "09mklc1p6ms1jayg2f89hqfmhca3h5744lli936l38ypn1d00sxx";
+    sha256 = "npzBuZ37KrUYwC0TglryVTqui/3/t1ma1Zjpnty0d7c=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/math/sage/patches/sympy-1.7-update.patch b/pkgs/applications/science/math/sage/patches/sympy-1.7-update.patch
new file mode 100644
index 00000000000..1d21622a235
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/sympy-1.7-update.patch
@@ -0,0 +1,25 @@
+diff --git a/src/sage/interfaces/sympy.py b/src/sage/interfaces/sympy.py
+index cc35a42a9f..6e577d5d8d 100644
+--- a/src/sage/interfaces/sympy.py
++++ b/src/sage/interfaces/sympy.py
+@@ -397,7 +397,7 @@ def _sympysage_rf(self):
+         sage: from sympy import Symbol, rf
+         sage: _ = var('x, y')
+         sage: rfxy = rf(Symbol('x'), Symbol('y'))
+-        sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma')
++        sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma', piecewise=False)
+         sage: assert rising_factorial(x,y) == rfxy._sage_()
+     """
+     from sage.arith.all import rising_factorial
+diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
+index 7c18ec1efa..c2619ac42d 100644
+--- a/src/sage/symbolic/expression.pyx
++++ b/src/sage/symbolic/expression.pyx
+@@ -955,6 +955,6 @@ cdef class Expression(CommutativeRingElement):
+             sage: unicode_art(13 - I)
+             13 - â…ˆ
+             sage: unicode_art(1.3 - I)
+-            1.3 - 1.0â‹…â…ˆ
++            1.3 - â…ˆ
+             sage: unicode_art(cos(I))
+             cosh(1)
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 8948621a025..b8fb4159660 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -103,6 +103,9 @@ stdenv.mkDerivation rec {
 
     # adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971)
     ./patches/pillow-update.patch
+
+    # fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985)
+    ./patches/sympy-1.7-update.patch
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/terminal-emulators/germinal/default.nix b/pkgs/applications/terminal-emulators/germinal/default.nix
new file mode 100644
index 00000000000..b44e48fafae
--- /dev/null
+++ b/pkgs/applications/terminal-emulators/germinal/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, appstream-glib
+, dbus
+, pango
+, pcre2
+, tmux
+, vte
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "germinal";
+  version = "26";
+
+  src = fetchFromGitHub {
+    owner = "Keruspe";
+    repo = "Germinal";
+    rev = "v${version}";
+    sha256 = "sha256-HUi+skF4bJj5CY2cNTOC4tl7jhvpXYKqBx2rqKzjlo0=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
+  buildInputs = [
+    appstream-glib
+    dbus
+    pango
+    pcre2
+    vte
+  ];
+
+  configureFlags = [
+    "--with-dbusservicesdir=${placeholder "out"}/etc/dbus-1/system-services/"
+  ];
+
+  dontWrapGApps = true;
+
+  fixupPhase = ''
+    runHook preFixup
+    wrapProgram $out/bin/germinal \
+     --prefix PATH ":" "${stdenv.lib.makeBinPath [ tmux ]}" \
+      "''${gappsWrapperArgs[@]}"
+    runHook postFixup
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A minimal terminal emulator";
+    homepage = "https://github.com/Keruspe/Germinal";
+    license = with licenses; gpl3Plus;
+    platforms = with platforms; unix;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+}
diff --git a/pkgs/applications/version-management/dvc/default.nix b/pkgs/applications/version-management/dvc/default.nix
index b9ac8b139cb..ac1659cccf8 100644
--- a/pkgs/applications/version-management/dvc/default.nix
+++ b/pkgs/applications/version-management/dvc/default.nix
@@ -41,7 +41,7 @@ buildPythonApplication rec {
     distro
     appdirs
   ]
-  ++ lib.optional enableGoogle google_cloud_storage
+  ++ lib.optional enableGoogle google-cloud-storage
   ++ lib.optional enableAWS boto3
   ++ lib.optional enableAzure azure-storage-blob
   ++ lib.optional enableSSH paramiko;
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 46b27e95c79..2b0efdf6904 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -172,6 +172,8 @@ let
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  git-when-merged = callPackage ./git-when-merged { };
+
   git-workspace = callPackage ./git-workspace {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
diff --git a/pkgs/applications/version-management/git-and-tools/git-when-merged/default.nix b/pkgs/applications/version-management/git-and-tools/git-when-merged/default.nix
new file mode 100644
index 00000000000..8eee1469819
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-when-merged/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, python3 }:
+
+stdenv.mkDerivation rec {
+  pname = "git-when-merged";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "mhagger";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0sw98gmsnd4iki9fx455jga9m80bxvvfgys8i1r2fc7d5whc2qa6";
+  };
+
+  buildInputs = [ python3 ];
+
+  installPhase = ''
+    install -D --target-directory $out/bin/ bin/git-when-merged
+  '';
+
+  meta = with stdenv.lib; {
+    description =
+      "Helps you figure out when and why a commit was merged into a branch";
+    longDescription = ''
+      If you use standard Git workflows, then you create a feature
+      branch for each feature that you are working on. When the feature
+      is complete, you merge it into your master branch. You might even
+      have sub-feature branches that are merged into a feature branch
+      before the latter is merged.
+
+      In such a workflow, the first-parent history of master consists
+      mainly of merges of feature branches into the mainline. git
+      when-merged can be used to ask, "When (and why) was commit C
+      merged into the current branch?"
+    '';
+    homepage = "https://github.com/mhagger/git-when-merged";
+    license = licenses.gpl2Only;
+    platforms = python3.meta.platforms;
+    maintainers = with maintainers; [ DamienCassou ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix
index 3459f5099c9..437529cd73a 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -1,32 +1,32 @@
-{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg_utils }:
+{ lib, buildGoModule, fetchFromGitHub, makeWrapper, xdg_utils, installShellFiles, git }:
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.17.2";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "0zkwvmzgj7h8lc8jkg2a81392b28c8hkwqzj6dds6q4asbmymx5c";
+    sha256 = "1vl5ylix4h6z1vrdslv9qphgb6yqpqd4r54jzk5kd6zgrnf9c2zc";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "1lrmafvv5zfn9kc0p8g5vdz351n1zbaqwhwk861fxys0rdpqskyc";
+  vendorSha256 = "07zl5xhzgrgr5skba6cds5nal58pllf10gak0ap62j1k9gk2ych2";
 
   doCheck = false;
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
   postInstall = ''
-    mkdir -p "$out/share/bash-completion/completions" "$out/share/zsh/site-functions"
-    export LAB_CORE_HOST=a LAB_CORE_USER=b LAB_CORE_TOKEN=c
-    $out/bin/lab completion bash > $out/share/bash-completion/completions/lab
-    $out/bin/lab completion zsh > $out/share/zsh/site-functions/_lab
-    wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ xdg_utils ]}";
+    wrapProgram $out/bin/lab --prefix PATH ":" "${lib.makeBinPath [ git xdg_utils ]}";
+    for shell in bash fish zsh; do
+      $out/bin/lab completion $shell > lab.$shell
+      installShellCompletion lab.$shell
+    done
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index f7b6aa15314..9f0949aef52 100644
--- a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "radicle-upstream";
-  version = "0.1.5";
+  version = "0.1.6";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
-    sha256 =  "1q5p6bvzi5awxd9a3xvvdhy26bz0dx8drb1z0zzqdvqqcxxyydq7";
+    sha256 =  "1s299rxala6gqj69j5q4d4n5wfdk2zsb4r9qrhml0m79b4f79yar";
   };
 
   contents = appimageTools.extractType2 { inherit name src; };
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index db18e765b00..56e4f30d927 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.10";
+  version = "2.11";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "0jd28281wys2iy7pbyyrzkzrkzq9ms7p9pbj6j2fha6bg1bh7rkz";
+    sha256 = "sha256-eb35yNsE0F+xPA1j7Czag1aOZO4cr6OeRsBlCrQwCRk=";
   };
 
   patches = [ ./import-ssl-module.patch ];
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
index e5fc7c33860..493402bd2b1 100644
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/pkgs/applications/version-management/sourcehut/builds.nix
@@ -45,6 +45,8 @@ in buildPythonPackage rec {
     cp ${buildWorker "${src}/worker"}/bin/worker $out/bin/builds.sr.ht-worker
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/builds.sr.ht";
     description = "Continuous integration service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/dispatch.nix b/pkgs/applications/version-management/sourcehut/dispatch.nix
index fa557ce78aa..552b643951d 100644
--- a/pkgs/applications/version-management/sourcehut/dispatch.nix
+++ b/pkgs/applications/version-management/sourcehut/dispatch.nix
@@ -24,6 +24,8 @@ buildPythonPackage rec {
     export PKGVER=${version}
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://dispatch.sr.ht/~sircmpwn/dispatch.sr.ht";
     description = "Task dispatcher and service integration tool for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
index 3611ad93e17..46870dab413 100644
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ b/pkgs/applications/version-management/sourcehut/git.nix
@@ -67,6 +67,8 @@ in buildPythonPackage rec {
     cp ${buildAPI "${src}/api"}/bin/api $out/bin/gitsrht-api
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/git.sr.ht";
     description = "Git repository hosting service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
index 73c9dfeb71e..81c51324eb9 100644
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/pkgs/applications/version-management/sourcehut/hg.nix
@@ -25,6 +25,8 @@ buildPythonPackage rec {
     export PKGVER=${version}
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/hg.sr.ht";
     description = "Mercurial repository hosting service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/hub.nix b/pkgs/applications/version-management/sourcehut/hub.nix
index 5c9736564c3..b3cf8f0a9fb 100644
--- a/pkgs/applications/version-management/sourcehut/hub.nix
+++ b/pkgs/applications/version-management/sourcehut/hub.nix
@@ -22,6 +22,8 @@ buildPythonPackage rec {
     export PKGVER=${version}
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/hub.sr.ht";
     description = "Project hub service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 880dc60f0b3..d15aada6016 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -26,6 +26,8 @@ buildPythonPackage rec {
     export PKGVER=${version}
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/lists.sr.ht";
     description = "Mailing list service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
index 8072c74d2d0..9f00180ff18 100644
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ b/pkgs/applications/version-management/sourcehut/man.nix
@@ -23,6 +23,8 @@ buildPythonPackage rec {
     export PKGVER=${version}
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/man.sr.ht";
     description = "Wiki service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
index 6cbae671517..8887bdbb956 100644
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/pkgs/applications/version-management/sourcehut/meta.nix
@@ -48,6 +48,8 @@ in buildPythonPackage rec {
     cp ${buildAPI "${src}/api"}/bin/api $out/bin/metasrht-api
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/meta.sr.ht";
     description = "Account management service for the sr.ht network";
diff --git a/pkgs/applications/version-management/sourcehut/paste.nix b/pkgs/applications/version-management/sourcehut/paste.nix
index a2fdaa05efc..e5bb5b379d1 100644
--- a/pkgs/applications/version-management/sourcehut/paste.nix
+++ b/pkgs/applications/version-management/sourcehut/paste.nix
@@ -23,6 +23,8 @@ buildPythonPackage rec {
     export PKGVER=${version}
   '';
 
+  dontUseSetuptoolsCheck = true;
+
   meta = with stdenv.lib; {
     homepage = "https://git.sr.ht/~sircmpwn/paste.sr.ht";
     description = "Ad-hoc text file hosting service for the sr.ht network";
diff --git a/pkgs/applications/video/gnomecast/default.nix b/pkgs/applications/video/gnomecast/default.nix
index e4814e40c1f..48615913505 100644
--- a/pkgs/applications/video/gnomecast/default.nix
+++ b/pkgs/applications/video/gnomecast/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, gtk3, gobject-introspection, ffmpeg_3, wrapGAppsHook }:
+{ stdenv, lib, python3Packages, gtk3, gobject-introspection, ffmpeg_3, wrapGAppsHook }:
 
 with python3Packages;
 buildPythonApplication rec {
@@ -24,5 +24,6 @@ buildPythonApplication rec {
     description = "A native Linux GUI for Chromecasting local files";
     homepage = "https://github.com/keredson/gnomecast";
     license = with licenses; [ gpl3 ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/video/jellyfin-mpv-shim/default.nix b/pkgs/applications/video/jellyfin-mpv-shim/default.nix
index 825aac4dad2..475b04c5862 100644
--- a/pkgs/applications/video/jellyfin-mpv-shim/default.nix
+++ b/pkgs/applications/video/jellyfin-mpv-shim/default.nix
@@ -53,6 +53,10 @@ buildPythonApplication rec {
     pywebview
   ];
 
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "jellyfin_mpv_shim" ];
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/iwalton3/jellyfin-mpv-shim";
     description = "Allows casting of videos to MPV via the jellyfin mobile and web app";
diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix
index d9de3eb699d..d9d02ce792d 100644
--- a/pkgs/applications/video/mpc-qt/default.nix
+++ b/pkgs/applications/video/mpc-qt/default.nix
@@ -29,6 +29,7 @@ mkDerivation rec {
     homepage = "https://gitlab.com/mpc-qt/mpc-qt";
     license = licenses.gpl2;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/pkgs/applications/video/plex-mpv-shim/default.nix b/pkgs/applications/video/plex-mpv-shim/default.nix
index e25c101b5df..5006bf8ddaa 100644
--- a/pkgs/applications/video/plex-mpv-shim/default.nix
+++ b/pkgs/applications/video/plex-mpv-shim/default.nix
@@ -13,6 +13,9 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [ mpv requests python-mpv-jsonipc ];
 
+  # does not contain tests
+  doCheck = false;
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/iwalton3/plex-mpv-shim";
     description = "Allows casting of videos to MPV via the Plex mobile and web app";
diff --git a/pkgs/applications/virtualization/nvidia-docker/default.nix b/pkgs/applications/virtualization/nvidia-docker/default.nix
index d0d7125721f..6dfe3fb874e 100644
--- a/pkgs/applications/virtualization/nvidia-docker/default.nix
+++ b/pkgs/applications/virtualization/nvidia-docker/default.nix
@@ -1,47 +1,61 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, callPackage, makeWrapper
-, buildGoPackage, runc, glibc }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, callPackage
+, makeWrapper
+, buildGoModule
+, buildGoPackage
+, git
+, glibc
+}:
 
 with lib; let
-
   libnvidia-container = callPackage ./libnvc.nix { };
 
-  nvidia-container-runtime = fetchFromGitHub {
-    owner = "NVIDIA";
-    repo = "nvidia-container-runtime";
-    rev = "runtime-v2.0.0";
-    sha256 = "0jcj5xxbg7x7gyhbb67h3ds6vly62gx7j02zm6lg102h34jajj7a";
-  };
-
-  nvidia-container-runtime-hook = buildGoPackage {
-    pname = "nvidia-container-runtime-hook";
-    version = "1.4.0";
-
-    goPackagePath = "nvidia-container-runtime-hook";
-
-    src = "${nvidia-container-runtime}/hook/nvidia-container-runtime-hook";
+  nvidia-container-runtime = buildGoPackage rec {
+    pname = "nvidia-container-toolkit";
+    version = "3.4.0";
+    src = fetchFromGitHub {
+      owner = "NVIDIA";
+      repo = "nvidia-container-runtime";
+      rev = "v${version}";
+      sha256 = "095mks0r4079vawi50pk4zb5jk0g6s9idg2s1w55a0d27jkknldr";
+    };
+    goPackagePath = "github.com/nvidia-container-runtime/src";
+    buildFlagsArray = [ "-ldflags=" "-s -w" ];
+    postInstall = ''
+      mv $out/bin/{src,nvidia-container-runtime}
+    '';
   };
 
-  nvidia-runc = runc.overrideAttrs (oldAttrs: rec {
-    name = "nvidia-runc";
-    version = "1.0.0-rc6";
+  nvidia-container-toolkit = buildGoModule rec {
+    pname = "nvidia-container-toolkit";
+    version = "1.3.0";
     src = fetchFromGitHub {
-      owner = "opencontainers";
-      repo = "runc";
+      owner = "NVIDIA";
+      repo = "nvidia-container-toolkit";
       rev = "v${version}";
-      sha256 = "1jwacb8xnmx5fr86gximhbl9dlbdwj3rpf27hav9q1si86w5pb1j";
+      sha256 = "04284bhgx4j55vg9ifvbji2bvmfjfy3h1lq7q356ffgw3yr9n0hn";
     };
-    patches = [ "${nvidia-container-runtime}/runtime/runc/3f2f8b84a77f73d38244dd690525642a72156c64/0001-Add-prestart-hook-nvidia-container-runtime-hook-to-t.patch" ];
-  });
+    vendorSha256 = "17zpiyvf22skfcisflsp6pn56y6a793jcx89kw976fq2x5br1bz7";
+    buildFlagsArray = [ "-ldflags=" "-s -w" ];
+    postInstall = ''
+      mv $out/bin/{pkg,${pname}}
+      cp $out/bin/{${pname},nvidia-container-runtime-hook}
+    '';
+  };
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "nvidia-docker";
-  version = "2.0.3";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "nvidia-docker";
     rev = "v${version}";
-    sha256 = "1vx5m591mnvcb9vy0196x5lh3r8swjsk0fnlv5h62m7m4m07v6wx";
+    sha256 = "1n1k7fnimky67s12p2ycaq9mgk245fchq62vgd7bl3bzfcbg0z4h";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -50,8 +64,8 @@ in stdenv.mkDerivation rec {
     mkdir bin
     cp nvidia-docker bin
     cp ${libnvidia-container}/bin/nvidia-container-cli bin
-    cp ${nvidia-container-runtime-hook}/bin/nvidia-container-runtime-hook bin
-    cp ${nvidia-runc}/bin/runc bin/nvidia-container-runtime
+    cp ${nvidia-container-toolkit}/bin/nvidia-container-{toolkit,runtime-hook} bin
+    cp ${nvidia-container-runtime}/bin/nvidia-container-runtime bin
   '';
 
   installPhase = ''
@@ -68,5 +82,6 @@ in stdenv.mkDerivation rec {
     description = "NVIDIA container runtime for Docker";
     license = licenses.bsd3;
     platforms = platforms.linux;
+    maintainers = with lib.maintainers; [ cpcloud ];
   };
 }
diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch b/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch
index 9ae8d6b5e75..d4638791a01 100644
--- a/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch
+++ b/pkgs/applications/virtualization/nvidia-docker/libnvc-ldconfig-and-path-fixes.patch
@@ -86,7 +86,7 @@ index 30e3cfd..6d12a50 100644
          if (info->libs == NULL)
                  goto fail;
          if (ldcache_resolve(&ld, LIB_ARCH, root, libs,
--            info->libs, info->nlibs, select_libraries, info) < 0)
+-            info->libs, info->nlibs, select_libraries_fn, info) < 0)
 +            info->libs, info->nlibs, info->nvrm_version) < 0)
                  goto fail;
  
@@ -95,7 +95,7 @@ index 30e3cfd..6d12a50 100644
          if (info->libs32 == NULL)
                  goto fail;
          if (ldcache_resolve(&ld, LIB32_ARCH, root, libs,
--            info->libs32, info->nlibs32, select_libraries, info) < 0)
+-            info->libs32, info->nlibs32, select_libraries_fn, info) < 0)
 +            info->libs32, info->nlibs32, info->nvrm_version) < 0)
                  goto fail;
          rv = 0;
diff --git a/pkgs/applications/virtualization/nvidia-docker/libnvc.nix b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
index 6079f215ec8..95d66582618 100644
--- a/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
+++ b/pkgs/applications/virtualization/nvidia-docker/libnvc.nix
@@ -9,23 +9,23 @@
 , libtirpc
 }:
 let
-  modp-ver = "396.51";
+  modp-ver = "450.57";
   nvidia-modprobe = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "nvidia-modprobe";
     rev = modp-ver;
-    sha256 = "1fw2qwc84k64agw6fx2v0mjf88aggph9c6qhs4cv7l3gmflv8qbk";
+    sha256 = "0r4f6lpbbqqs9932xd2mr7bxn6a3xdalcwq332fc1amrrkgzfyv7";
   };
 in
 stdenv.mkDerivation rec {
   pname = "libnvidia-container";
-  version = "1.0.6";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "libnvidia-container";
     rev = "v${version}";
-    sha256 = "1pnpc9knwh8d1zqb28zc3spkjc00w0z10vd3jna8ksvpl35jl7w3";
+    sha256 = "0j6b8z9x9hrrs4xp11zyjjd7kyl7fzcicpiis8k1qb1q2afnqsrq";
   };
 
   patches = [
@@ -58,7 +58,10 @@ stdenv.mkDerivation rec {
     mkdir -p deps/src/nvidia-modprobe-${modp-ver}
     cp -r ${nvidia-modprobe}/* deps/src/nvidia-modprobe-${modp-ver}
     chmod -R u+w deps/src
-    touch deps/src/nvidia-modprobe-${modp-ver}/.download_stamp
+    pushd deps/src
+    patch -p0 < ${./modprobe.patch}
+    touch nvidia-modprobe-${modp-ver}/.download_stamp
+    popd
   '';
 
   NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
diff --git a/pkgs/applications/virtualization/nvidia-docker/modprobe.patch b/pkgs/applications/virtualization/nvidia-docker/modprobe.patch
new file mode 100644
index 00000000000..8e7b0a723ec
--- /dev/null
+++ b/pkgs/applications/virtualization/nvidia-docker/modprobe.patch
@@ -0,0 +1,29 @@
+diff -ruN nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c
+--- nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c	2020-07-09 17:06:05.000000000 +0000
++++ nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c	2020-08-18 12:43:03.223871514 +0000
+@@ -840,10 +840,10 @@
+     return mknod_helper(major, minor_num, vgpu_dev_name, NV_PROC_REGISTRY_PATH);
+ }
+
+-static int nvidia_cap_get_device_file_attrs(const char* cap_file_path,
+-                                            int *major,
+-                                            int *minor,
+-                                            char *name)
++int nvidia_cap_get_device_file_attrs(const char* cap_file_path,
++                                     int *major,
++                                     int *minor,
++                                     char *name)
+ {
+     char field[32];
+     FILE *fp;
+diff -ruN nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h
+--- nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h	2020-07-09 17:06:05.000000000 +0000
++++ nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h	2020-08-18 12:43:44.227745050 +0000
+@@ -81,6 +81,7 @@
+ int nvidia_nvswitch_get_file_state(int minor);
+ int nvidia_cap_mknod(const char* cap_file_path, int *minor);
+ int nvidia_cap_get_file_state(const char* cap_file_path);
++int nvidia_cap_get_device_file_attrs(const char* cap_file_path, int *major, int *minor, char *name);
+ int nvidia_get_chardev_major(const char *name);
+
+ #endif /* NV_LINUX */
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index 2bfd4f7e085..4287dd2db02 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, uthash, asciidoc, docbook_xml_dtd_45
+{ stdenv, lib, fetchFromGitHub, pkg-config, uthash, asciidoc, docbook_xml_dtd_45
 , docbook_xsl, libxslt, libxml2, makeWrapper, meson, ninja
 , xorgproto, libxcb ,xcbutilrenderutil, xcbutilimage, pixman, libev
 , dbus, libconfig, libdrm, libGL, pcre, libX11
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     meson ninja
-    pkgconfig
+    pkg-config
     uthash
     asciidoc
     docbook_xml_dtd_45
@@ -35,10 +35,10 @@ stdenv.mkDerivation rec {
     libxdg_basedir
   ];
 
-  NIX_CFLAGS_COMPILE = "-fno-strict-aliasing";
+  mesonBuildType = "release";
 
   mesonFlags = [
-    "-Dbuild_docs=true"
+    "-Dwith_docs=true"
   ];
 
   installFlags = [ "PREFIX=$(out)" ];
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     homepage = "https://github.com/yshui/picom";
-    maintainers = with maintainers; [ ertes twey ];
+    maintainers = with maintainers; [ ertes twey thiagokokada ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index fbae89bcf01..b86460a50fd 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -10,7 +10,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 5cb0b53114d..d86f1ea3cfd 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,24 +1,24 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "1s9nyq8gjmmah5rpflffl0wi0klnlsvzmy7b39vnpp2sp6ng9mv3";
-  iosevka-aile = "0x2ccjnmi9hqms5jkfnkn30y9gd3adiwjvn9gzq8d6a563h61fik";
-  iosevka-curly = "03n0f9nzjywb5q3w59ck5sq500ks5xxlgf9dpncr3c7i2dawss41";
-  iosevka-curly-slab = "09qnd2vzl4v59c0d534mj06zxwa3rdwrhkwy191v6p79lfxp482x";
-  iosevka-etoile = "0j3ah72dmk7fzcln9755y3xnzn7343lfrg95kb3xmqm2zyg0mbrw";
-  iosevka-slab = "0prnm3nh8rgn6jivfj2fw7x12m8qqam8xnl45ip5ck4348piypx3";
-  iosevka-sparkle = "1y180rwrxrvwd98hk1d07y0vs8h5rj7ipkhsqlv60h82pigxhl4a";
-  iosevka-ss01 = "04q9vby5q9ylvv2myl3h2xfyq3s594wnwj0b956pivwwamhp0g3v";
-  iosevka-ss02 = "14d5i88ls8zfbis5s7z95dcrpxqyqr2wzx90c5a4xpcdjd4n7fgg";
-  iosevka-ss03 = "1zqqq11rcjmifc4qf5p2xcqhqp5ca2pgvzv8xirr6mq4knrvxrpq";
-  iosevka-ss04 = "1xnnqyvyrz820dzfyjj84v3j1q8krykmwxw5xml4v7kk79agc7vk";
-  iosevka-ss05 = "07w78jw23hxwzx65ampwzv691p12n0pvk8vnw2mnnspflirpm62r";
-  iosevka-ss06 = "11brqklhk3sfhqyavyi5rggsn3286n404gphmh0frz65wj3k8lc6";
-  iosevka-ss07 = "037vaxpgdpa6p9nmqcsa1mi7pn94300cd71kbr9lw8mql9wc2y9n";
-  iosevka-ss08 = "0ga1bwb2d1rizr0910bcqabcj819dcd0bxp7cwbxnzq6i7ca4hj1";
-  iosevka-ss09 = "1khjhn0lfpk8g1yx3558w6kkj0pd5b7kxbf0z97w1nvah3d5v50m";
-  iosevka-ss10 = "0zp5173799vacssj0lsj3ck82b03qyk9cyfwa3j7xa2dhplrjfp2";
-  iosevka-ss11 = "124a3i7iy9z7adxcb8yw3795gk52cw7ngsim8qjhrhcd2bjr0jvg";
-  iosevka-ss12 = "1rd61ry3ihw311c926wjl9sc71bz0ligya07m7km1905dhlhirsv";
-  iosevka-ss13 = "0jm3djc4rlzk22jn3syv4mwd0fz82z4lnyk3dkq815yyw6vmqkz0";
-  iosevka-ss14 = "1a9a1bvzsbprmxfh19m78s82rfmxng4sambz6m4gd9mm14kjjp5r";
+  iosevka = "1m4qkn1abj6a9famy5cvnl9xk7690mglpj358xg01fnkmrm8ayzf";
+  iosevka-aile = "0ry949kdnxlahg9a2qn758klb9yvv2wniwadb4hj2xz65zzfyv7i";
+  iosevka-curly = "08ac8xprk3sq8lvgxlxp1z19bx0ndr7ga17kzxlqd4r96qjgab0p";
+  iosevka-curly-slab = "1zmihfk32clp4ajywg9w6pbq3dh068s9d4bxzpgvicsfvbl04irk";
+  iosevka-etoile = "09bk4myxg51m9xfyrljxm4r7gq1361x2yzlik99qp5anpxflf2jf";
+  iosevka-slab = "10x6wwcicwy7rawrg563l5qfbp6vsaim82q3ifd6zqxxc71m33yd";
+  iosevka-sparkle = "1f59j1cs11gabrk3m78bay96jpwz7lfc8z34ns9kx4bd43w0xnkx";
+  iosevka-ss01 = "1kvsgghqc04mdqmbn2c98yqr062lav6aqawbdk1nsqyzihb09wq3";
+  iosevka-ss02 = "06ri8ihinz6bd6swrxf500j1hfl8y9dfm7hjgm3hpdch4fcrhrnz";
+  iosevka-ss03 = "110bwfikcxyr8s6p5l29wiyyfhnfv5p2bjlqrzs46pzpyj9g4730";
+  iosevka-ss04 = "064nq0zphsik097ynv71p7007w0ysld1a0phfxmc0199s8qdahid";
+  iosevka-ss05 = "0c99yp2fxsmx6pwqdlr217rh5khk79fnl8i35a19wf0z3sm4kcna";
+  iosevka-ss06 = "0wfxcryhfwcqb2gd227qyiv1a3vzxig79bkp20cpb215w1hn6hkw";
+  iosevka-ss07 = "141qpwbjy34v088a29fmj7nipvdxwh4l99wwyaq5ycbgj8743k93";
+  iosevka-ss08 = "08yihjqp1fc6l1in9jk8dnlf9fwqahqv76di4xy9vk1dhgi1bd09";
+  iosevka-ss09 = "01ad5dif3hwd2yf3y3sa58acqbps5kyivbxmsdqwpl5cvl2f9i83";
+  iosevka-ss10 = "0aljyqqxw4mijkwzbq8hcpmpxm34ylp9pfcvisca2k7dspg17n2l";
+  iosevka-ss11 = "1cz8ri184mdj6q67rdasbg7fjbhla2vj85lrkhy2avk515av2c2g";
+  iosevka-ss12 = "0hif6sgk7r2d235sghaf9nqn7qr58rgj43ipc0pr5lykaraqi7md";
+  iosevka-ss13 = "1wrzn9m2vvnc2sfh3wqgmr5ci3mpi0fmbzlvkf0j2hspkfy4d8iw";
+  iosevka-ss14 = "1d71qbbd2b6nqdaxns70m3qm9qr03l5ld84fqlfcsmxdsnlhhx3k";
 }
diff --git a/pkgs/desktops/gnome-3/extensions/material-shell/default.nix b/pkgs/desktops/gnome-3/extensions/material-shell/default.nix
index 1b8341a281f..e7931fc4fc0 100644
--- a/pkgs/desktops/gnome-3/extensions/material-shell/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/material-shell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-material-shell";
-  version = "10";
+  version = "12";
 
   src = fetchFromGitHub {
     owner = "material-shell";
     repo = "material-shell";
     rev = version;
-    sha256 = "18d813n8s7ns8xp75zmlna7a8mi23rn9yqps51xvdd0sdgn72a1c";
+    sha256 = "0ikrh70drwr0pqjcdz7l1ky8xllpnk7myprjd4s61nqkx9j2iz44";
   };
 
   # This package has a Makefile, but it's used for building a zip for
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index baab0583fb0..3eea7f596b6 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -1,5 +1,4 @@
 { callPackage, dart }:
-
 let
   dart_stable = dart.override { version = "2.10.0"; };
   dart_beta = dart.override { version = "2.10.0"; };
@@ -8,7 +7,8 @@ let
   getPatches = dir:
     let files = builtins.attrNames (builtins.readDir dir);
     in map (f: dir + ("/" + f)) files;
-in {
+in
+{
   mkFlutter = mkFlutter;
   stable = mkFlutter rec {
     pname = "flutter";
diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix
index 7fda2d616f3..b7769e88af3 100644
--- a/pkgs/development/compilers/flutter/flutter.nix
+++ b/pkgs/development/compilers/flutter/flutter.nix
@@ -1,10 +1,36 @@
-{ channel, pname, version, sha256Hash, patches, dart
-, filename ? "flutter_linux_${version}-${channel}.tar.xz"}:
-
-{ bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv
-, fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb
-, libXcomposite, libXcursor, libXdamage, libXfixes, libGL, nspr, nss, systemd }:
-
+{ channel
+, pname
+, version
+, sha256Hash
+, patches
+, dart
+, filename ? "flutter_linux_${version}-${channel}.tar.xz"
+}:
+
+{ bash
+, buildFHSUserEnv
+, cacert
+, coreutils
+, git
+, runCommand
+, stdenv
+, fetchurl
+, alsaLib
+, dbus
+, expat
+, libpulseaudio
+, libuuid
+, libX11
+, libxcb
+, libXcomposite
+, libXcursor
+, libXdamage
+, libXfixes
+, libGL
+, nspr
+, nss
+, systemd
+}:
 let
   drvName = "flutter-${channel}-${version}";
   flutter = stdenv.mkDerivation {
@@ -16,7 +42,7 @@ let
       sha256 = sha256Hash;
     };
 
-    buildInputs = [ makeWrapper git ];
+    buildInputs = [ git ];
 
     inherit patches;
 
@@ -31,28 +57,27 @@ let
       SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
       STAMP_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.stamp"
       SCRIPT_PATH="$FLUTTER_TOOLS_DIR/bin/flutter_tools.dart"
-      DART_SDK_PATH="$FLUTTER_ROOT/bin/cache/dart-sdk"
-
-      DART="$DART_SDK_PATH/bin/dart"
-      PUB="$DART_SDK_PATH/bin/pub"
+      DART_SDK_PATH="${dart}"
 
       HOME=../.. # required for pub upgrade --offline, ~/.pub-cache
                  # path is relative otherwise it's replaced by /build/flutter
 
-      (cd "$FLUTTER_TOOLS_DIR" && "$PUB" upgrade --offline)
+      (cd "$FLUTTER_TOOLS_DIR" && ${dart}/bin/pub upgrade --offline)
 
       local revision="$(cd "$FLUTTER_ROOT"; git rev-parse HEAD)"
-      "$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
+      ${dart}/bin/dart --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
       echo "$revision" > "$STAMP_PATH"
       echo -n "${version}" > version
 
-      rm -rf bin/cache/{artifacts,downloads}
+      rm -rf bin/cache/{artifacts,dart-sdk,downloads}
       rm -f  bin/cache/*.stamp
     '';
 
     installPhase = ''
       mkdir -p $out
       cp -r . $out
+      mkdir -p $out/bin/cache/
+      ln -sf ${dart} $out/bin/cache/dart-sdk
     '';
   };
 
@@ -100,7 +125,9 @@ let
       ];
   };
 
-in runCommand drvName {
+in
+runCommand drvName
+{
   startScript = ''
     #!${bash}/bin/bash
     export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
@@ -126,8 +153,4 @@ in runCommand drvName {
 
   echo -n "$startScript" > $out/bin/${pname}
   chmod +x $out/bin/${pname}
-
-  mkdir -p $out/bin/cache/dart-sdk/
-  cp -r ${dart}/* $out/bin/cache/dart-sdk/
-  ln $out/bin/cache/dart-sdk/bin/dart $out/bin/dart
 ''
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix
index b3364b185da..99154101443 100644
--- a/pkgs/development/compilers/glslang/default.nix
+++ b/pkgs/development/compilers/glslang/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub
+{ stdenv
+, fetchFromGitHub
 , bison
 , cmake
 , jq
@@ -10,7 +11,7 @@
 }:
 # glslang requires custom versions of spirv-tools and spirb-headers.
 # The exact versions are taken from:
-# https://github.com/KhronosGroup/glslang/blob/master/known_good.json
+# https://github.com/KhronosGroup/glslang/blob/${version}/known_good.json
 
 let
   localSpirv-tools = if argSpirv-tools == null
@@ -18,8 +19,8 @@ let
       src = fetchFromGitHub {
         owner = "KhronosGroup";
         repo = "SPIRV-Tools";
-        rev = "fd8e130510a6b002b28eee5885a9505040a9bdc9";
-        sha256 = "00b7xgyrcb2qq63pp3cnw5q1xqx2d9rfn65lai6n6r89s1vh3vg6";
+        rev = "b27b1afd12d05bf238ac7368bb49de73cd620a8e";
+        sha256 = "0v26ws6qx23jn4dcpsq6rqmdxgyxpl5pcvfm90wb3nz6iqbqx294";
       };
     })
     else argSpirv-tools;
@@ -29,8 +30,8 @@ let
       src = fetchFromGitHub {
         owner = "KhronosGroup";
         repo = "SPIRV-Headers";
-        rev = "f8bf11a0253a32375c32cad92c841237b96696c0";
-        sha256 = "1znwjy02dl9rshqzl87rqsv9mfczw7gvwfhcirbl81idahgp4p6l";
+        rev = "f027d53ded7e230e008d37c8b47ede7cd308e19d";
+        sha256 = "12gp2mqcar6jj57jw9isfr62yn72kmvdcl0zga4gvrlyfhnf582q";
       };
     })
     else argSpirv-headers;
@@ -38,13 +39,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glslang";
-  version = "8.13.3743";
+  version = "11.1.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
     rev = version;
-    sha256 = "0d20wfpp2fmbnz1hnsjr9xc62lxpj86ik2qyviqbni0pqj212cry";
+    sha256 = "1j81pghy7whyr8ygk7lx6g6qph61rky7fkkc8xp87c7n695a48rw";
   };
 
   # These get set at all-packages, keep onto them for child drvs
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "Khronos reference front-end for GLSL and ESSL";
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.ralith ];
   };
 }
diff --git a/pkgs/development/compilers/openjdk/14.nix b/pkgs/development/compilers/openjdk/14.nix
new file mode 100644
index 00000000000..e851a5bf4b9
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/14.nix
@@ -0,0 +1,157 @@
+{ stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
+, zip, perl, cups, freetype, alsaLib, libjpeg, giflib, libpng, zlib, lcms2
+, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
+, libXcursor, libXrandr, fontconfig, openjdk14-bootstrap
+, setJavaClassPath
+, headless ? false
+, enableJavaFX ? openjfx.meta.available, openjfx
+, enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
+}:
+
+let
+  major = "14";
+  update = ".0.2";
+  build = "-ga";
+
+  openjdk = stdenv.mkDerivation rec {
+    pname = "openjdk" + lib.optionalString headless "-headless";
+    version = "${major}${update}${build}";
+
+    src = fetchurl {
+      url = "https://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz";
+      sha256 = "1s1pc6ihzf0awp4hbaqfxmbica0hnrg8nr7s0yd2hfn7nan8xmf3";
+    };
+
+    nativeBuildInputs = [ pkg-config autoconf ];
+    buildInputs = [
+      cpio file which unzip zip perl zlib cups freetype alsaLib libjpeg giflib
+      libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
+      libXi libXinerama libXcursor libXrandr fontconfig openjdk14-bootstrap
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      gtk3 gnome_vfs GConf glib
+    ];
+
+    patches = [
+      ./fix-java-home-jdk10.patch
+      ./read-truststore-from-env-jdk10.patch
+      ./currency-date-range-jdk10.patch
+      ./increase-javadoc-heap-jdk13.patch
+      # -Wformat etc. are stricter in newer gccs, per
+      # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677
+      # so grab the work-around from
+      # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24
+      (fetchurl {
+        url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch";
+        sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r";
+      })
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      ./swing-use-gtk-jdk13.patch
+    ];
+
+    prePatch = ''
+      chmod +x configure
+      patchShebangs --build configure
+    '';
+
+    configureFlags = [
+      "--with-boot-jdk=${openjdk14-bootstrap.home}"
+      "--enable-unlimited-crypto"
+      "--with-native-debug-symbols=internal"
+      "--with-libjpeg=system"
+      "--with-giflib=system"
+      "--with-libpng=system"
+      "--with-zlib=system"
+      "--with-lcms=system"
+      "--with-stdc++lib=dynamic"
+    ] ++ lib.optional stdenv.isx86_64 "--with-jvm-features=zgc"
+      ++ lib.optional headless "--enable-headless-only"
+      ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}";
+
+    separateDebugInfo = true;
+
+    NIX_CFLAGS_COMPILE = "-Wno-error";
+
+    NIX_LDFLAGS = toString (lib.optionals (!headless) [
+      "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
+    ] ++ lib.optionals (!headless && enableGnome2) [
+      "-lgtk-3" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
+    ]);
+
+    buildFlags = [ "all" ];
+
+    installPhase = ''
+      mkdir -p $out/lib
+
+      mv build/*/images/jdk $out/lib/openjdk
+
+      # Remove some broken manpages.
+      rm -rf $out/lib/openjdk/man/ja*
+
+      # Mirror some stuff in top-level.
+      mkdir -p $out/share
+      ln -s $out/lib/openjdk/include $out/include
+      ln -s $out/lib/openjdk/man $out/share/man
+      ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip
+
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+
+      # Remove crap from the installation.
+      rm -rf $out/lib/openjdk/demo
+      ${lib.optionalString headless ''
+        rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
+      ''}
+
+      ln -s $out/lib/openjdk/bin $out/bin
+    '';
+
+    preFixup = ''
+      # Propagate the setJavaClassPath setup hook so that any package
+      # that depends on the JDK has $CLASSPATH set up properly.
+      mkdir -p $out/nix-support
+      #TODO or printWords?  cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
+      echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
+
+      # Set JAVA_HOME automatically.
+      mkdir -p $out/nix-support
+      cat <<EOF > $out/nix-support/setup-hook
+      if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi
+      EOF
+    '';
+
+    postFixup = ''
+      # Build the set of output library directories to rpath against
+      LIBDIRS=""
+      for output in $outputs; do
+        if [ "$output" = debug ]; then continue; fi
+        LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort | uniq | tr '\n' ':'):$LIBDIRS"
+      done
+      # Add the local library paths to remove dependencies on the bootstrap
+      for output in $outputs; do
+        if [ "$output" = debug ]; then continue; fi
+        OUTPUTDIR=$(eval echo \$$output)
+        BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
+        echo "$BINLIBS" | while read i; do
+          patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
+          patchelf --shrink-rpath "$i" || true
+        done
+      done
+    '';
+
+    disallowedReferences = [ openjdk14-bootstrap ];
+
+    meta = with stdenv.lib; {
+      homepage = "https://openjdk.java.net/";
+      license = licenses.gpl2;
+      description = "The open-source Java Development Kit";
+      maintainers = with maintainers; [ edwtjo ];
+      platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
+    };
+
+    passthru = {
+      architecture = "";
+      home = "${openjdk}/lib/openjdk";
+      inherit gtk3;
+    };
+  };
+in openjdk
diff --git a/pkgs/development/compilers/openjdk/darwin/default.nix b/pkgs/development/compilers/openjdk/darwin/default.nix
index c6498cb4530..f10ede2506a 100644
--- a/pkgs/development/compilers/openjdk/darwin/default.nix
+++ b/pkgs/development/compilers/openjdk/darwin/default.nix
@@ -7,11 +7,11 @@ let
   };
 
   jdk = stdenv.mkDerivation rec {
-    name = "zulu14.28.21-ca-jdk14.0.1";
+    name = "zulu15.28.51-ca-jdk15.0.1";
 
     src = fetchurl {
       url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
-      sha256 = "1pc0y3fxhlf42a51qbdha1fabci61yzq70kk5c1rzk0ai78d92q8";
+      sha256 = "0h738pbnwcn7pjp0qyryzazqj5nw5sy2f8l0ycl39crm9ia6akvh";
       curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/";
     };
 
diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix
index 1dcd3e23e6f..ec0042809c6 100644
--- a/pkgs/development/compilers/openjdk/default.nix
+++ b/pkgs/development/compilers/openjdk/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, lib, fetchurl, bash, pkgconfig, autoconf, cpio, file, which, unzip
+{ stdenv, lib, fetchurl, bash, pkg-config, autoconf, cpio, file, which, unzip
 , zip, perl, cups, freetype, alsaLib, libjpeg, giflib, libpng, zlib, lcms2
 , libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama
-, libXcursor, libXrandr, fontconfig, openjdk14-bootstrap
+, libXcursor, libXrandr, fontconfig, openjdk15-bootstrap
 , setJavaClassPath
 , headless ? false
 , enableJavaFX ? openjfx.meta.available, openjfx
@@ -9,8 +9,8 @@
 }:
 
 let
-  major = "14";
-  update = ".0.2";
+  major = "15";
+  update = ".0.1";
   build = "-ga";
 
   openjdk = stdenv.mkDerivation rec {
@@ -18,15 +18,15 @@ let
     version = "${major}${update}${build}";
 
     src = fetchurl {
-      url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz";
-      sha256 = "1s1pc6ihzf0awp4hbaqfxmbica0hnrg8nr7s0yd2hfn7nan8xmf3";
+      url = "https://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/jdk-${version}.tar.gz";
+      sha256 = "1h8n5figc9q0k9p8b0qggyhvqagvxanfih1lj5j492c74cd1mx1l";
     };
 
-    nativeBuildInputs = [ pkgconfig autoconf ];
+    nativeBuildInputs = [ pkg-config autoconf ];
     buildInputs = [
       cpio file which unzip zip perl zlib cups freetype alsaLib libjpeg giflib
       libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst
-      libXi libXinerama libXcursor libXrandr fontconfig openjdk14-bootstrap
+      libXi libXinerama libXcursor libXrandr fontconfig openjdk15-bootstrap
     ] ++ lib.optionals (!headless && enableGnome2) [
       gtk3 gnome_vfs GConf glib
     ];
@@ -54,7 +54,7 @@ let
     '';
 
     configureFlags = [
-      "--with-boot-jdk=${openjdk14-bootstrap.home}"
+      "--with-boot-jdk=${openjdk15-bootstrap.home}"
       "--enable-unlimited-crypto"
       "--with-native-debug-symbols=internal"
       "--with-libjpeg=system"
@@ -138,10 +138,10 @@ let
       done
     '';
 
-    disallowedReferences = [ openjdk14-bootstrap ];
+    disallowedReferences = [ openjdk15-bootstrap ];
 
     meta = with stdenv.lib; {
-      homepage = "http://openjdk.java.net/";
+      homepage = "https://openjdk.java.net/";
       license = licenses.gpl2;
       description = "The open-source Java Development Kit";
       maintainers = with maintainers; [ edwtjo ];
diff --git a/pkgs/development/compilers/openjdk/openjfx/14.nix b/pkgs/development/compilers/openjdk/openjfx/15.nix
index 51512c5afca..f406a3959fd 100644
--- a/pkgs/development/compilers/openjdk/openjfx/14.nix
+++ b/pkgs/development/compilers/openjdk/openjfx/15.nix
@@ -3,9 +3,9 @@
 , ffmpeg_3, python, ruby }:
 
 let
-  major = "14";
-  update = "";
-  build = "-ga";
+  major = "15";
+  update = ".0.1";
+  build = "+1";
   repover = "${major}${update}${build}";
   gradle_ = (gradleGen.override {
     java = openjdk11_headless;
@@ -18,7 +18,7 @@ let
       owner = "openjdk";
       repo = "jfx";
       rev = repover;
-      sha256 = "16aj15xksc266gv3y42m0g277pfvp71901lrngndcnpr7i2zshnr";
+      sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1";
     };
 
     buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsaLib ffmpeg_3 ];
@@ -64,8 +64,10 @@ let
     outputHashMode = "recursive";
     # Downloaded AWT jars differ by platform.
     outputHash = {
-      x86_64-linux = "077zss95iq6iskx7ghz1c57ymydpzj0wm7r1pkznw99l9xwvdmqi";
-      i686-linux = "03gglr2sh77cyg16qw9g45ji33dg7i93s5s30hz3mh420g112qa0";
+      x86_64-linux = "0hmyr5nnjgwyw3fcwqf0crqg9lny27jfirycg3xmkzbcrwqd6qkw";
+      # The build-time dependencies don't currently build for i686, so no
+      # reason to fetch this one correctly either...
+      i686-linux = "0000000000000000000000000000000000000000000000000000";
     }.${stdenv.system} or (throw "Unsupported platform");
   };
 
diff --git a/pkgs/development/compilers/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix
index 06b1b9b1e64..7534a52fe0f 100644
--- a/pkgs/development/compilers/rust/rls/default.nix
+++ b/pkgs/development/compilers/rust/rls/default.nix
@@ -39,9 +39,9 @@ rustPlatform.buildRustPackage {
     $out/bin/rls --version
   '';
 
-  RUST_SRC_PATH = rustPlatform.rustcSrc;
+  RUST_SRC_PATH = rustPlatform.rustLibSrc;
   postInstall = ''
-    wrapProgram $out/bin/rls --set-default RUST_SRC_PATH ${rustPlatform.rustcSrc}
+    wrapProgram $out/bin/rls --set-default RUST_SRC_PATH ${rustPlatform.rustLibSrc}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/aws-c-cal/default.nix b/pkgs/development/libraries/aws-c-cal/default.nix
index 5a39e39390d..057aad447d5 100644
--- a/pkgs/development/libraries/aws-c-cal/default.nix
+++ b/pkgs/development/libraries/aws-c-cal/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, openssl }:
+{ lib, stdenv, fetchFromGitHub, cmake, aws-c-common, openssl, Security }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-cal";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ aws-c-common openssl ];
+  buildInputs = [ aws-c-common openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
   cmakeFlags = [
     "-DBUILD_SHARED_LIBS=ON"
diff --git a/pkgs/development/libraries/aws-c-io/default.nix b/pkgs/development/libraries/aws-c-io/default.nix
index c93b2748a3e..eda87ba2c53 100644
--- a/pkgs/development/libraries/aws-c-io/default.nix
+++ b/pkgs/development/libraries/aws-c-io/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
     "-DCMAKE_MODULE_PATH=${aws-c-common}/lib/cmake"
   ];
 
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error";
+
   meta = with lib; {
     description = "AWS SDK for C module for IO and TLS";
     homepage = "https://github.com/awslabs/aws-c-io";
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index a2f5e366e00..f428290e803 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -111,6 +111,7 @@
 , opensslExtlib ? false, openssl ? null
 , libpulseaudio ? null # Pulseaudio input support
 , rav1e ? null # AV1 encoder (focused on speed and safety)
+, svt-av1 ? null # AV1 encoder/decoder (focused on speed and correctness)
 , rtmpdump ? null # RTMP[E] support
 #, libquvi ? null # Quvi input support
 , samba ? null # Samba protocol
@@ -250,6 +251,11 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-dqpmpDFETTuWHWolMoLaubU4BeDEuQaBNA0wmzL1f8o=";
       name = "fix_libsrt.patch";
     })
+    # Patch ffmpeg for svt-av1 until version 4.4
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/AOMediaCodec/SVT-AV1/v0.8.4/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch";
+      sha256 = "1p4g8skr5gjw5h1648j7qrks81zx49lrnx9g0p81qgnrvxc2wwx0";
+    })
   ];
 
   prePatch = ''
@@ -393,6 +399,7 @@ stdenv.mkDerivation rec {
     (enableFeature (libpulseaudio != null) "libpulse")
     #(enableFeature quvi "libquvi")
     (enableFeature (rav1e != null) "librav1e")
+    (enableFeature (svt-av1 != null) "libsvtav1")
     (enableFeature (rtmpdump != null) "librtmp")
     #(enableFeature (schroedinger != null) "libschroedinger")
     (enableFeature (SDL2 != null) "sdl2")
@@ -429,7 +436,7 @@ stdenv.mkDerivation rec {
     bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
     libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
     libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
-    libxcb libXv libXext lzma openal openjpeg libpulseaudio rav1e rtmpdump opencore-amr
+    libxcb libXv libXext lzma openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
     samba SDL2 soxr speex srt vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
     zeromq4 zlib
   ] ++ optionals openglExtlib [ libGL libGLU ]
diff --git a/pkgs/development/libraries/flatbuffers/default.nix b/pkgs/development/libraries/flatbuffers/default.nix
index 922eba4335c..0b96a91e45f 100644
--- a/pkgs/development/libraries/flatbuffers/default.nix
+++ b/pkgs/development/libraries/flatbuffers/default.nix
@@ -31,14 +31,15 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ];
-  enableParallelBuilding = true;
 
   cmakeFlags = [ "-DFLATBUFFERS_BUILD_TESTS=${if doCheck then "ON" else "OFF"}" ];
 
-  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
+  # tests fail to compile
+  doCheck = false;
+  # doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
   checkTarget = "test";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Memory Efficient Serialization Library";
     longDescription = ''
       FlatBuffers is an efficient cross platform serialization library for
@@ -46,9 +47,9 @@ stdenv.mkDerivation rec {
       access serialized data without unpacking/parsing it first, while still
       having great forwards/backwards compatibility.
     '';
-    maintainers = [ stdenv.lib.maintainers.teh ];
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.teh ];
+    license = licenses.asl20;
+    platforms = platforms.unix;
     homepage = "https://google.github.io/flatbuffers/";
   };
 }
diff --git a/pkgs/development/libraries/libuvc/default.nix b/pkgs/development/libraries/libuvc/default.nix
new file mode 100644
index 00000000000..e2956a99432
--- /dev/null
+++ b/pkgs/development/libraries/libuvc/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, libusb1
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libuvc";
+  version = "unstable-2020-11-29";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "5cddef71b17d41f7e98875a840c50d9704c3d2b2";
+    sha256 = "0kranb0x1k5qad8rwxnn1w9963sbfj2cfzdgpfmlivb04544m2j7";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ libusb1 ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://ken.tossell.net/libuvc/";
+    description = "Cross-platform library for USB video devices";
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ prusnak ];
+  };
+}
diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix
index 9f7e84558f7..293cb21bb5d 100644
--- a/pkgs/development/libraries/libvmaf/default.nix
+++ b/pkgs/development/libraries/libvmaf/default.nix
@@ -2,24 +2,28 @@
 
 stdenv.mkDerivation rec {
   pname = "libvmaf";
-  version = "1.5.3";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "netflix";
     repo = "vmaf";
     rev = "v${version}";
-    sha256 = "0x3l3g0hgrrjh3ygmxr1pd3rd5589s07c7id35nvj76ch5b7gy63";
+    sha256 = "0gh4zwz975x9kvqdmzs45f96rk99apay57jc68rc8c2xm7gfis58";
   };
 
   sourceRoot = "source/libvmaf";
 
   nativeBuildInputs = [ meson ninja nasm ];
+
+  mesonFlags = [ "-Denable_avx512=true" ];
+
   outputs = [ "out" "dev" ];
-  doCheck = true;
+  doCheck = false;
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/Netflix/vmaf";
     description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
+    changelog = "https://github.com/Netflix/vmaf/blob/v${version}/CHANGELOG.md";
     platforms = platforms.unix;
     license = licenses.bsd2Patent;
     maintainers = [ maintainers.cfsmp3 maintainers.marsam ];
diff --git a/pkgs/development/libraries/openhmd/default.nix b/pkgs/development/libraries/openhmd/default.nix
index 66656a14234..ab1b9b7b1dd 100644
--- a/pkgs/development/libraries/openhmd/default.nix
+++ b/pkgs/development/libraries/openhmd/default.nix
@@ -1,45 +1,52 @@
-{ lib, stdenv, fetchFromGitHub, pkgconfig, cmake, hidapi
-, withExamples ? true, SDL2 ? null, libGL ? null, glew ? null
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, hidapi
+, SDL2
+, libGL
+, glew
+, withExamples ? true
 }:
 
-with lib;
+let examplesOnOff = if withExamples then "ON" else "OFF"; in
 
-let onoff = if withExamples then "ON" else "OFF"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "openhmd";
-  version = "0.3.0-rc1-20181218";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "OpenHMD";
     repo = "OpenHMD";
-    rev = "80d51bea575a5bf71bb3a0b9683b80ac3146596a";
-    sha256 = "09011vnlsn238r5vbb1ab57x888ljaa34xibrnfbm5bl9417ii4z";
+    rev = version;
+    sha256 = "1hkpdl4zgycag5k8njvqpx01apxmm8m8pvhlsxgxpqiqy9a38ccg";
   };
 
-  nativeBuildInputs = [ pkgconfig cmake ];
+  nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [
     hidapi
-  ] ++ optionals withExamples [
-    SDL2 libGL glew
+  ] ++ stdenv.lib.optionals withExamples [
+    SDL2
+    glew
+    libGL
   ];
 
   cmakeFlags = [
     "-DBUILD_BOTH_STATIC_SHARED_LIBS=ON"
-    "-DOPENHMD_EXAMPLE_SIMPLE=${onoff}"
-    "-DOPENHMD_EXAMPLE_SDL=${onoff}"
+    "-DOPENHMD_EXAMPLE_SIMPLE=${examplesOnOff}"
+    "-DOPENHMD_EXAMPLE_SDL=${examplesOnOff}"
     "-DOpenGL_GL_PREFERENCE=GLVND"
   ];
 
-  postInstall = optionalString withExamples ''
+  postInstall = stdenv.lib.optionalString withExamples ''
     mkdir -p $out/bin
     install -D examples/simple/simple $out/bin/openhmd-example-simple
     install -D examples/opengl/openglexample $out/bin/openhmd-example-opengl
   '';
 
-  meta = {
-    homepage = "http://www.openhmd.net";
+  meta = with stdenv.lib; {
+    homepage = "http://www.openhmd.net"; # https does not work
     description = "Library API and drivers immersive technology";
     longDescription = ''
       OpenHMD is a very simple FLOSS C library and a set of drivers
@@ -48,7 +55,7 @@ stdenv.mkDerivation {
       Oculus Rift, HTC Vive, Windows Mixed Reality, and etc.
     '';
     license = licenses.boost;
-    maintainers = [ maintainers.oxij ];
+    maintainers = with maintainers; [ oxij ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/rubberband/default.nix b/pkgs/development/libraries/rubberband/default.nix
index 54bb57e2e66..ee9bcea5e52 100644
--- a/pkgs/development/libraries/rubberband/default.nix
+++ b/pkgs/development/libraries/rubberband/default.nix
@@ -1,27 +1,18 @@
-{ stdenv, fetchurl, fetchpatch,  pkgconfig, libsamplerate, libsndfile, fftw
+{ stdenv, fetchurl, pkgconfig, libsamplerate, libsndfile, fftw
 , vamp-plugin-sdk, ladspaH }:
 
 stdenv.mkDerivation rec {
   pname = "rubberband";
-  version = "1.8.2";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://breakfastquay.com/files/releases/${pname}-${version}.tar.bz2";
-    sha256 = "1jn3ys16g4rz8j3yyj5np589lly0zhs3dr9asd0l9dhmf5mx1gl6";
+    sha256 = "4f5b9509364ea876b4052fc390c079a3ad4ab63a2683aad09662fb905c2dc026";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libsamplerate libsndfile fftw vamp-plugin-sdk ladspaH ];
 
-  # https://github.com/breakfastquay/rubberband/issues/17
-  # In master, but there hasn't been an official release
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/breakfastquay/rubberband/commit/419a9bcf7066473b0d31e9a8a81fe0b2a8e41fed.patch";
-      sha256 = "0drkfb2ahi31g4w1cawgsjjz26wszgg52yn3ih5l2ql1g25dqqn9";
-    })
-  ];
-
   meta = with stdenv.lib; {
     description = "High quality software library for audio time-stretching and pitch-shifting";
     homepage = "https://breakfastquay.com/rubberband/";
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 8f5c140d925..38fc84d5523 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -3550,13 +3550,13 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-8.0.0" = {
+    "@netlify/build-8.0.1" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "8.0.0";
+      version = "8.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-8.0.0.tgz";
-        sha512 = "yF9kmeMEn5qPc6D62AyuzaFD/L+TDvZH5+0zw5NpXs5caUysBDolV/rxQa4KTVCaPBBqx044/J69byMuoH5zpQ==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-8.0.1.tgz";
+        sha512 = "DOBUR4x0GEmi4hD8LagJfPCtxnaAtjRTJgZdTx9lFngC2OHY+xIwGZ3Ilct1b3vbAcl0SzHA+HZ4xrG2V/EWdw==";
       };
     };
     "@netlify/cache-utils-1.0.6" = {
@@ -3577,22 +3577,22 @@ let
         sha512 = "Z7yzbx5qCX2I5RLlNyo0MMQ6GKJc8o5Nej9yspCavjqgYlUS7VJfbeE67WNxC26FXwDUqq00zJ0MrCS0Un1YOw==";
       };
     };
-    "@netlify/config-2.4.2" = {
+    "@netlify/config-2.4.3" = {
       name = "_at_netlify_slash_config";
       packageName = "@netlify/config";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-2.4.2.tgz";
-        sha512 = "EODBhSJHBpN4IhL68881uF0jutc5xkodgRP1mq3bPpNidLJjfcxltFSnT3TjtZmRxcCwFdl+XMqJzvcI3UKf4A==";
+        url = "https://registry.npmjs.org/@netlify/config/-/config-2.4.3.tgz";
+        sha512 = "Uz7Oo3tJP2VTgNgsJtRlwAhO5jTozkpNMCKALb814ssJKx7nE/4QvNxJPCQNBDXY9BSeXVIPfy0vMfshxatL+g==";
       };
     };
-    "@netlify/functions-utils-1.3.3" = {
+    "@netlify/functions-utils-1.3.4" = {
       name = "_at_netlify_slash_functions-utils";
       packageName = "@netlify/functions-utils";
-      version = "1.3.3";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.3.tgz";
-        sha512 = "cZhdSzyQkd6ZVUxL7mcOlLq2u2+JUzKfxmAjwMLwFAZKqc0YL8dWXP2C4Fe1I0g9u7fe6yAgDGigAkMnIgAYtw==";
+        url = "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-1.3.4.tgz";
+        sha512 = "AkVd03D6K7Uwli+t5xTMm5c1jn1HRFY3YgslLV91huHI++3CjOsGpsnDfhoN2kj1aN8OLqliTOvs4PQHC2dKpw==";
       };
     };
     "@netlify/git-utils-1.0.6" = {
@@ -3694,6 +3694,15 @@ let
         sha512 = "7Fatc5OoRZ7V2tusx1CBWIdk9hXrr0JWoW547wsmopCkCl5O4TaLxw12CgfW6EQsjaufSnuQddzvnx5y1b5gGQ==";
       };
     };
+    "@netlify/zip-it-and-ship-it-2.0.0" = {
+      name = "_at_netlify_slash_zip-it-and-ship-it";
+      packageName = "@netlify/zip-it-and-ship-it";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-2.0.0.tgz";
+        sha512 = "DQQldFTRmEPHpvvKxAKLNk/RqVIfzZGsBcbmruy3zupPG2W+pGHnQUSMNXrUZmMkqekDh0nCHf8MfG0EakRqGg==";
+      };
+    };
     "@node-red/editor-api-1.2.6" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
@@ -4756,22 +4765,22 @@ let
         sha512 = "MjmH7GvFT4TW8xFdIeFS3wqIX646y5tACdxkTO+khbHvS3ZcVJL6vkAHLw2wqPmkhwCfWHoNsp15VYNwW6JEJA==";
       };
     };
-    "@rollup/plugin-commonjs-13.0.2" = {
+    "@rollup/plugin-commonjs-15.1.0" = {
       name = "_at_rollup_slash_plugin-commonjs";
       packageName = "@rollup/plugin-commonjs";
-      version = "13.0.2";
+      version = "15.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.2.tgz";
-        sha512 = "9JXf2k8xqvMYfqmhgtB6eCgMN9fbxwF1XDF3mGKJc6pkAmt0jnsqurxQ0tC1akQKNSXCm7c3unQxa3zuxtZ7mQ==";
+        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz";
+        sha512 = "xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==";
       };
     };
-    "@rollup/plugin-commonjs-15.1.0" = {
+    "@rollup/plugin-commonjs-17.0.0" = {
       name = "_at_rollup_slash_plugin-commonjs";
       packageName = "@rollup/plugin-commonjs";
-      version = "15.1.0";
+      version = "17.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz";
-        sha512 = "xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==";
+        url = "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz";
+        sha512 = "/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA==";
       };
     };
     "@rollup/plugin-inject-4.0.2" = {
@@ -4792,13 +4801,13 @@ let
         sha512 = "yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==";
       };
     };
-    "@rollup/plugin-node-resolve-8.4.0" = {
+    "@rollup/plugin-node-resolve-11.0.1" = {
       name = "_at_rollup_slash_plugin-node-resolve";
       packageName = "@rollup/plugin-node-resolve";
-      version = "8.4.0";
+      version = "11.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz";
-        sha512 = "LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==";
+        url = "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.0.1.tgz";
+        sha512 = "ltlsj/4Bhwwhb+Nb5xCz/6vieuEj2/BAkkqVIKmZwC7pIdl8srmgmglE4S0jFlZa32K4qvdQ6NHdmpRKD/LwoQ==";
       };
     };
     "@rollup/plugin-node-resolve-9.0.0" = {
@@ -4972,13 +4981,13 @@ let
         sha512 = "aI/cpGVUhWbJUR8QDMtPue28EU4ViG/L4/XKuZDfAN2uNQv3NRjwEFIBi/cxyfQnMTYVtMLe9wDjuwzOT4ENzA==";
       };
     };
-    "@serverless/utils-2.1.0" = {
+    "@serverless/utils-2.2.0" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-2.1.0.tgz";
-        sha512 = "3DJqUrBaFPam8XT2GZIErjJzKC4sm4XEmjiAxur7B2oAwSvH2rqSwBXUuG1O7azcVueQFcKzmSJTfNhsmaFguA==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-2.2.0.tgz";
+        sha512 = "0TqmLwH9r2GAewvz9mhZ+TSyQBoE9ANuB4nNhn6lJvVUgzlzji3aqeFbAuDt+Z60ZkaIDNipU/J5Vf2Lo/QTQQ==";
       };
     };
     "@serverless/utils-china-1.0.12" = {
@@ -6214,6 +6223,15 @@ let
         sha512 = "ZvO2tAcjmMi8V/5Z3JsyofMe3hasRcaw88cto5etSVMwVQfeivGAlEYmaQgceUSVYFofVjT+ioHsATjdWcFt1w==";
       };
     };
+    "@types/mocha-8.2.0" = {
+      name = "_at_types_slash_mocha";
+      packageName = "@types/mocha";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.0.tgz";
+        sha512 = "/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ==";
+      };
+    };
     "@types/multer-1.4.4" = {
       name = "_at_types_slash_multer";
       packageName = "@types/multer";
@@ -6250,31 +6268,31 @@ let
         sha512 = "vwX+/ija9xKc/z9VqMCdbf4WYcMTGsI0I/L/6shIF3qXURxZOhPQlPRHtjTpiNhAwn0paMJzlOQqw6mAGEQnTA==";
       };
     };
-    "@types/node-12.19.11" = {
+    "@types/node-12.12.70" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.19.11";
+      version = "12.12.70";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.19.11.tgz";
-        sha512 = "bwVfNTFZOrGXyiQ6t4B9sZerMSShWNsGRw8tC5DY1qImUNczS9SjT4G6PnzjCnxsu5Ubj6xjL2lgwddkxtQl5w==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.12.70.tgz";
+        sha512 = "i5y7HTbvhonZQE+GnUM2rz1Bi8QkzxdQmEv1LKOv4nWyaQk/gdeiTApuQR3PDJHX7WomAbpx2wlWSEpxXGZ/UQ==";
       };
     };
-    "@types/node-12.7.12" = {
+    "@types/node-12.19.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.7.12";
+      version = "12.19.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz";
-        sha512 = "KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.19.12.tgz";
+        sha512 = "UwfL2uIU9arX/+/PRcIkT08/iBadGN2z6ExOROA2Dh5mAuWTBj6iJbQX4nekiV5H8cTrEG569LeX+HRco9Cbxw==";
       };
     };
-    "@types/node-13.13.38" = {
+    "@types/node-13.13.39" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "13.13.38";
+      version = "13.13.39";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-13.13.38.tgz";
-        sha512 = "oxo8j9doh7ab9NwDA9bCeFfjHRF/uzk+fTljCy8lMjZ3YzZGAXNDKhTE3Byso/oy32UTUQIXB3HCVHu3d2T3xg==";
+        url = "https://registry.npmjs.org/@types/node/-/node-13.13.39.tgz";
+        sha512 = "wct+WgRTTkBm2R3vbrFOqyZM5w0g+D8KnhstG9463CJBVC3UVZHMToge7iMBR1vDl/I+NWFHUeK9X+JcF0rWKw==";
       };
     };
     "@types/node-14.11.1" = {
@@ -6286,13 +6304,13 @@ let
         sha512 = "oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==";
       };
     };
-    "@types/node-14.14.19" = {
+    "@types/node-14.14.20" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.19";
+      version = "14.14.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.19.tgz";
-        sha512 = "4nhBPStMK04rruRVtVc6cDqhu7S9GZai0fpXgPXrFpcPX6Xul8xnrjSdGB4KPBVYG/R5+fXWdCM8qBoiULWGPQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz";
+        sha512 = "Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==";
       };
     };
     "@types/node-6.14.13" = {
@@ -6745,13 +6763,13 @@ let
         sha512 = "HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-3.10.1" = {
+    "@typescript-eslint/eslint-plugin-4.12.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "3.10.1";
+      version = "4.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz";
-        sha512 = "PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.12.0.tgz";
+        sha512 = "wHKj6q8s70sO5i39H2g1gtpCXCvjVszzj6FFygneNFyIAxRvNSVz9GML7XpqrB9t7hNutXw+MHnLN/Ih6uyB8Q==";
       };
     };
     "@typescript-eslint/experimental-utils-3.10.1" = {
@@ -6763,6 +6781,15 @@ let
         sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
       };
     };
+    "@typescript-eslint/experimental-utils-4.12.0" = {
+      name = "_at_typescript-eslint_slash_experimental-utils";
+      packageName = "@typescript-eslint/experimental-utils";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.12.0.tgz";
+        sha512 = "MpXZXUAvHt99c9ScXijx7i061o5HEjXltO+sbYfZAAHxv3XankQkPaNi5myy0Yh0Tyea3Hdq1pi7Vsh0GJb0fA==";
+      };
+    };
     "@typescript-eslint/parser-3.10.1" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
@@ -6772,6 +6799,24 @@ let
         sha512 = "Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==";
       };
     };
+    "@typescript-eslint/parser-4.12.0" = {
+      name = "_at_typescript-eslint_slash_parser";
+      packageName = "@typescript-eslint/parser";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.12.0.tgz";
+        sha512 = "9XxVADAo9vlfjfoxnjboBTxYOiNY93/QuvcPgsiKvHxW6tOZx1W4TvkIQ2jB3k5M0pbFP5FlXihLK49TjZXhuQ==";
+      };
+    };
+    "@typescript-eslint/scope-manager-4.12.0" = {
+      name = "_at_typescript-eslint_slash_scope-manager";
+      packageName = "@typescript-eslint/scope-manager";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.12.0.tgz";
+        sha512 = "QVf9oCSVLte/8jvOsxmgBdOaoe2J0wtEmBr13Yz0rkBNkl5D8bfnf6G4Vhox9qqMIoG7QQoVwd2eG9DM/ge4Qg==";
+      };
+    };
     "@typescript-eslint/types-3.10.1" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
@@ -6781,6 +6826,15 @@ let
         sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
       };
     };
+    "@typescript-eslint/types-4.12.0" = {
+      name = "_at_typescript-eslint_slash_types";
+      packageName = "@typescript-eslint/types";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.12.0.tgz";
+        sha512 = "N2RhGeheVLGtyy+CxRmxdsniB7sMSCfsnbh8K/+RUIXYYq3Ub5+sukRCjVE80QerrUBvuEvs4fDhz5AW/pcL6g==";
+      };
+    };
     "@typescript-eslint/typescript-estree-2.34.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
@@ -6799,6 +6853,15 @@ let
         sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
       };
     };
+    "@typescript-eslint/typescript-estree-4.12.0" = {
+      name = "_at_typescript-eslint_slash_typescript-estree";
+      packageName = "@typescript-eslint/typescript-estree";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.12.0.tgz";
+        sha512 = "gZkFcmmp/CnzqD2RKMich2/FjBTsYopjiwJCroxqHZIY11IIoN0l5lKqcgoAPKHt33H2mAkSfvzj8i44Jm7F4w==";
+      };
+    };
     "@typescript-eslint/visitor-keys-3.10.1" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
@@ -6808,6 +6871,15 @@ let
         sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
       };
     };
+    "@typescript-eslint/visitor-keys-4.12.0" = {
+      name = "_at_typescript-eslint_slash_visitor-keys";
+      packageName = "@typescript-eslint/visitor-keys";
+      version = "4.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.12.0.tgz";
+        sha512 = "hVpsLARbDh4B9TKYz5cLbcdMIOAoBYgFPCSP9FFS/liSF+b33gVNq8JHY3QGhHNVz85hObvL7BEYLlgx553WCw==";
+      };
+    };
     "@uifabric/foundation-7.9.20" = {
       name = "_at_uifabric_slash_foundation";
       packageName = "@uifabric/foundation";
@@ -10084,13 +10156,13 @@ let
         sha512 = "gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==";
       };
     };
-    "async-lock-1.2.6" = {
+    "async-lock-1.2.8" = {
       name = "async-lock";
       packageName = "async-lock";
-      version = "1.2.6";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-lock/-/async-lock-1.2.6.tgz";
-        sha512 = "gobUp/bRWL/uJsxi4ZK7NM770s5d2Tx5Hl7uxFIcN6yTz1Kvy2RCSKEvzhLsjAAnYaNa8lDvcjy9ybM6lXFjIg==";
+        url = "https://registry.npmjs.org/async-lock/-/async-lock-1.2.8.tgz";
+        sha512 = "G+26B2jc0Gw0EG/WN2M6IczuGepBsfR1+DtqLnyFSH4p2C668qkOCtEkGNVEaaNAVlYwEMazy1+/jnLxltBkIQ==";
       };
     };
     "async-mutex-0.1.4" = {
@@ -10327,13 +10399,13 @@ let
         sha512 = "+KBkqH7t/XE91Fqn8eyJeNIWsnhSWL8bSUqFD7TfE3FN07MTlC0nprGYp+2WfcYNz5i8Bus1vY2DHNVhtTImnw==";
       };
     };
-    "aws-sdk-2.820.0" = {
+    "aws-sdk-2.821.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.820.0";
+      version = "2.821.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.820.0.tgz";
-        sha512 = "OwGHxprG4KX5QC+vc77Xl7RCkJdwwKYPB7Gw3odNlMfdljedw7ICBylsMSBEwi/YjwaPryKPevHdOJAHbTKvQg==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.821.0.tgz";
+        sha512 = "UtUlURMzmns1Wq8uAdJcyKsm/nW7iRYgTQEONQIpud0xwtjpPPR1pBFB0RSNZuYnZxcWboo807+jxq+LjaBEKA==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -12865,13 +12937,13 @@ let
         sha1 = "69fdf13ad9d91222baee109945faadc431534f86";
       };
     };
-    "bufferutil-4.0.2" = {
+    "bufferutil-4.0.3" = {
       name = "bufferutil";
       packageName = "bufferutil";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.2.tgz";
-        sha512 = "AtnG3W6M8B2n4xDQ5R+70EXvOpnXsFYg/AK2yTZd+HQ/oxAdz+GI+DvjmhBw3L0ole+LJ0ngqY4JMbDzkfNzhA==";
+        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz";
+        sha512 = "yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==";
       };
     };
     "bufferview-1.0.1" = {
@@ -13441,13 +13513,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001171" = {
+    "caniuse-lite-1.0.30001173" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001171";
+      version = "1.0.30001173";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001171.tgz";
-        sha512 = "5Alrh8TTYPG9IH4UkRqEBZoEToWRLvPbSQokvzSz0lii8/FOWKG4keO1HoYfPWs8IF/NH/dyNPg1cmJGvV3Zlg==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001173.tgz";
+        sha512 = "R3aqmjrICdGCTAnSXtNyvWYMK3YtV5jwudbq0T7nN9k4kmE4CBuwPqyJ+KBzepSTh0huivV2gLbSMEzTTmfeYw==";
       };
     };
     "canvas-2.6.1" = {
@@ -16024,13 +16096,13 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-3.2.90" = {
+    "constructs-3.2.94" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.2.90";
+      version = "3.2.94";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.2.90.tgz";
-        sha512 = "Hi0MN1NQOrqVUXE2YGQ0GL6LLPW7R9WP1QYOXvI2OW0wX43zd5sDT0D8PE116EKF8nRAFQenUPlD2EdgxoHPDg==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.2.94.tgz";
+        sha512 = "yK4FKT+hONiC0ebCM0Ln3xuLPF4WPyZSQ8Sl/ZOTTFUI+/csBBxGy7TkY2ZVTbOi7MCHUatZgW2ANsYRaaxoOQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -16511,22 +16583,22 @@ let
         sha512 = "vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==";
       };
     };
-    "core-js-3.8.1" = {
+    "core-js-3.8.2" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.8.1";
+      version = "3.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.8.1.tgz";
-        sha512 = "9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.8.2.tgz";
+        sha512 = "FfApuSRgrR6G5s58casCBd9M2k+4ikuu4wbW6pJyYU7bd9zvFc9qf7vr5xmrZOhT9nn+8uwlH1oRR9jTnFoA3A==";
       };
     };
-    "core-js-compat-3.8.1" = {
+    "core-js-compat-3.8.2" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.8.1";
+      version = "3.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.1.tgz";
-        sha512 = "a16TLmy9NVD1rkjUGbwuyWkiDoN0FDpAwrfLONvHFQx0D9k7J9y0srwMT8QP/Z6HE3MIFaVynEeYwZwPX1o5RQ==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz";
+        sha512 = "LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -18203,22 +18275,22 @@ let
         sha512 = "jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==";
       };
     };
-    "dayjs-1.8.36" = {
+    "dayjs-1.10.1" = {
       name = "dayjs";
       packageName = "dayjs";
-      version = "1.8.36";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.8.36.tgz";
-        sha512 = "3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==";
+        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.10.1.tgz";
+        sha512 = "2xg7JrHQeLBQFkvTumLoy62x1siyeocc98QwjtURgvRqOPYmAkMUdmSjrOA+MlmL6QMQn5MUhDf6rNZNuPc1LQ==";
       };
     };
-    "dayjs-1.9.8" = {
+    "dayjs-1.8.36" = {
       name = "dayjs";
       packageName = "dayjs";
-      version = "1.9.8";
+      version = "1.8.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.9.8.tgz";
-        sha512 = "F42qBtJRa30FKF7XDnOQyNUTsaxDkuaZRj/i7BejSHC34LlLfPoIU4aeopvWfM+m1dJ6/DHKAWLg2ur+pLgq1w==";
+        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.8.36.tgz";
+        sha512 = "3VmRXEtw7RZKAf+4Tv1Ym9AGeo8r8+CjDi26x+7SYQil1UqtqdaokhzoEJohqlzt0m5kacJSDhJQkG/LWhpRBw==";
       };
     };
     "deasync-0.1.20" = {
@@ -19013,6 +19085,15 @@ let
         sha512 = "OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==";
       };
     };
+    "denque-1.5.0" = {
+      name = "denque";
+      packageName = "denque";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz";
+        sha512 = "CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ==";
+      };
+    };
     "dep-graph-1.1.0" = {
       name = "dep-graph";
       packageName = "dep-graph";
@@ -20417,13 +20498,13 @@ let
         sha512 = "dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w==";
       };
     };
-    "electron-to-chromium-1.3.633" = {
+    "electron-to-chromium-1.3.634" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.633";
+      version = "1.3.634";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz";
-        sha512 = "bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.634.tgz";
+        sha512 = "QPrWNYeE/A0xRvl/QP3E0nkaEvYUvH3gM04ZWYtIa6QlSpEetRlRI1xvQ7hiMIySHHEV+mwDSX8Kj4YZY6ZQAw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -20743,13 +20824,22 @@ let
         sha512 = "b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==";
       };
     };
-    "engine.io-4.0.5" = {
+    "engine.io-3.5.0" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "4.0.5";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.0.5.tgz";
-        sha512 = "Ri+whTNr2PKklxQkfbGjwEo+kCBUM4Qxk4wtLqLrhH+b1up2NFL9g9pjYWiCV/oazwB0rArnvF/ZmZN2ab5Hpg==";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz";
+        sha512 = "21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==";
+      };
+    };
+    "engine.io-4.0.6" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "4.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-4.0.6.tgz";
+        sha512 = "rf7HAVZpcRrcKEKddgIzYUnwg0g5HE1RvJaTLwkcfJmce4g+po8aMuE6vxzp6JwlK8FEq/vi0KWN6tA585DjaA==";
       };
     };
     "engine.io-client-1.3.1" = {
@@ -20770,6 +20860,15 @@ let
         sha512 = "iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==";
       };
     };
+    "engine.io-client-3.5.0" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz";
+        sha512 = "12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==";
+      };
+    };
     "engine.io-parser-1.0.6" = {
       name = "engine.io-parser";
       packageName = "engine.io-parser";
@@ -21463,13 +21562,13 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.4.0" = {
+    "eslint-plugin-vue-7.4.1" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "7.4.0";
+      version = "7.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.4.0.tgz";
-        sha512 = "bYJV3nHSGV5IL40Ti1231vlY8I2DzjDHYyDjRv9Z1koEI7qyV2RR3+uKMafHdOioXYH9W3e1+iwe4wy7FIBNCQ==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.4.1.tgz";
+        sha512 = "W/xPNHYIkGJphLUM2UIYYGKbRw3BcDoMIPY9lu1TTa2YLiZoxurddfnmOP+UOVywxb5vi438ejzwvKdZqydtIw==";
       };
     };
     "eslint-scope-3.7.3" = {
@@ -24533,6 +24632,15 @@ let
         sha512 = "bTLYHSeC0UH/EFXS9KqWnXuOl/wHK5Z/d+ghd5AsFMYN7wIGkUCOJyzy88+wJKkZPGON8u4Z9f6U4FdgURE9qA==";
       };
     };
+    "fsevents-2.3.1" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz";
+        sha512 = "YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==";
+      };
+    };
     "fstream-0.1.31" = {
       name = "fstream";
       packageName = "fstream";
@@ -31015,6 +31123,15 @@ let
         sha1 = "6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30";
       };
     };
+    "js-yaml-4.0.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz";
+        sha512 = "pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==";
+      };
+    };
     "js2xmlparser-4.0.1" = {
       name = "js2xmlparser";
       packageName = "js2xmlparser";
@@ -31168,13 +31285,13 @@ let
         sha512 = "1FFGV+JmwyljCNjc9bkW40MIQXvPgNxq+V3zx8/0+FM51S/0O5EvTa/413LX8fzB8sWH0G42NqFa+8k3k9s2hw==";
       };
     };
-    "jsii-srcmak-0.1.176" = {
+    "jsii-srcmak-0.1.180" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.176";
+      version = "0.1.180";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.176.tgz";
-        sha512 = "lX2NuqUceoVVjr0Grm5DRYRyFIDv3cLK6zpAghCu4ZBUlQj8m1ZiOOTu7MUj0yAHi+6WMqP6DP7Q6aT34vo0dw==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.180.tgz";
+        sha512 = "U9CmoEM6A7ZhIT66N8r9flPKUsNnkCu5iWkzH9k6sdNwbiEC5KT4MdJUfJ42L1AbX1BXwhmQtFyj7QvKdGI44g==";
       };
     };
     "json-bigint-0.2.3" = {
@@ -31456,13 +31573,13 @@ let
         sha512 = "W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==";
       };
     };
-    "json2jsii-0.1.168" = {
+    "json2jsii-0.1.172" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.1.168";
+      version = "0.1.172";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.168.tgz";
-        sha512 = "ny9avMgMo4zNUnMagHhP2gp+1QTQjQuryO31s0579BwWrlXVTLlmxl/1A9+Bem6QNXqM6VFDEl4iesyD10ypoQ==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.172.tgz";
+        sha512 = "X78nchCnnN0M3x6byBMhR9X5fz5BETDxFmAE149WUpMn0Dh6Dg3c7H9FbQkRV1MVaqC0sLJHGIeO++hfgYpa7w==";
       };
     };
     "json3-3.2.6" = {
@@ -37586,13 +37703,13 @@ let
         sha512 = "nU7mOEuaXiQIB/EgTIjYZJ7g8KqMm2D8l4qp+DqA4jxWOb/tnb1KEoqp+tlbdQIDIAiC1i7j7X/3yHDFXLxr9g==";
       };
     };
-    "muxrpc-6.5.1" = {
+    "muxrpc-6.5.2" = {
       name = "muxrpc";
       packageName = "muxrpc";
-      version = "6.5.1";
+      version = "6.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.5.1.tgz";
-        sha512 = "QTHNncZlsEcBOOYqpCx/QeVLJYaov6Y1LCEDun0xu81zAJGKymiMd5TB/qzA+dm9o1K3axwdGOqPR3fzrDyGRw==";
+        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.5.2.tgz";
+        sha512 = "fgYhBfzevyUbwsB8YBlrnmzZOGxWv6OiAUNKQYwPLqbophsZ+GT8STKrCVHCYNjUx6btxFA5+BJPUCFMecyaSA==";
       };
     };
     "muxrpc-usage-2.1.0" = {
@@ -38163,22 +38280,13 @@ let
         sha512 = "x+VqJ+yop05OUpeaT4fhz/NAvJQFjtNhW1s+/i6oP/EZS6/+B0u+qCANF8uP9u3UJcmWvlJmrRoDhj62Xvtwug==";
       };
     };
-    "netlify-5.0.2" = {
+    "netlify-6.0.9" = {
       name = "netlify";
       packageName = "netlify";
-      version = "5.0.2";
+      version = "6.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/netlify/-/netlify-5.0.2.tgz";
-        sha512 = "xAbxN/7D3l8vp0KT2FpVqSm72LAukRaJpM2liKylJl1La54s8uLgILL6eUUCKsWrEGTiI1o8w/ApqKrIQdeNOg==";
-      };
-    };
-    "netlify-6.0.7" = {
-      name = "netlify";
-      packageName = "netlify";
-      version = "6.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/netlify/-/netlify-6.0.7.tgz";
-        sha512 = "FvCOaS3HLSeE+AwQvJVQd16UeZn6PYSnbCqEA94vhqIkFyjSOs3oyO0/C0zK8FgKGGZQxO98BTbj4/NKpPdAPg==";
+        url = "https://registry.npmjs.org/netlify/-/netlify-6.0.9.tgz";
+        sha512 = "izoELW+kE5ClHX85f5EExRo42H3hXESwSr69EJdCuDQlTP3JR09xQgZcWL5t7FNdkfBj7Kdhf62tk02TN4+YzA==";
       };
     };
     "netlify-plugin-deploy-preview-commenting-0.0.1-alpha.16" = {
@@ -38830,13 +38938,13 @@ let
         sha512 = "j1g/VtSCI2tBrBnCD+u8iSo9tH0nvn70k1O1SxkHk3+qx7tHUyOKQc7wNc4rUs9J1PkGngUC3qEDd5cL7Z/klg==";
       };
     };
-    "node-releases-1.1.67" = {
+    "node-releases-1.1.69" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "1.1.67";
+      version = "1.1.69";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz";
-        sha512 = "V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz";
+        sha512 = "DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==";
       };
     };
     "node-source-walk-4.2.0" = {
@@ -41342,13 +41450,13 @@ let
         sha512 = "+4S+qBUdqD57ka5MDd6nAYGBPril5eyLpbga2y0kPyYhrKvjb8CYTP9r40WLbSxgT/qEGmvgWOrvQe+FYtCI7w==";
       };
     };
-    "packet-stream-codec-1.1.2" = {
+    "packet-stream-codec-1.1.3" = {
       name = "packet-stream-codec";
       packageName = "packet-stream-codec";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.2.tgz";
-        sha1 = "79b302fc144cdfbb4ab6feba7040e6a5d99c79c7";
+        url = "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.3.tgz";
+        sha512 = "LUL4NK7sz01jdSUdCu3z1LyphCiFdQaFouaEDsAWmJpzS0lbeNfvZoX4bi1Tm1ilzheK5VAoD96QskDCZQr+jA==";
       };
     };
     "pacote-11.1.0" = {
@@ -42359,13 +42467,13 @@ let
         sha512 = "4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==";
       };
     };
-    "peek-readable-3.1.0" = {
+    "peek-readable-3.1.1" = {
       name = "peek-readable";
       packageName = "peek-readable";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.0.tgz";
-        sha512 = "KGuODSTV6hcgdZvDrIDBUkN0utcAVj1LL7FfGbM0viKTtCHmtZcuEJ+lGqsp0fTFkGqesdtemV2yUSMeyy3ddA==";
+        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.1.tgz";
+        sha512 = "QHJag0oYYPVkx6rVPEgCLEUMo6VRYbV3GUrqy00lxXJBEIw9LhPCP5MQI6mEfahJO9KYUP8W8qD8kC0V9RyZFQ==";
       };
     };
     "peek-stream-1.1.3" = {
@@ -47904,13 +48012,13 @@ let
         sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
       };
     };
-    "rollup-2.35.1" = {
+    "rollup-2.36.0" = {
       name = "rollup";
       packageName = "rollup";
-      version = "2.35.1";
+      version = "2.36.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-2.35.1.tgz";
-        sha512 = "q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA==";
+        url = "https://registry.npmjs.org/rollup/-/rollup-2.36.0.tgz";
+        sha512 = "L38QyQK77bkJy9nPyeydnHFK6xMofqumh4scTV2d4RG4EFq6pGdxnn67dVHFUDJ9J0PSEQx8zn1FiVS5TydsKg==";
       };
     };
     "rollup-plugin-babel-4.4.0" = {
@@ -48534,13 +48642,13 @@ let
         sha512 = "sDtmZDpibGH2ixj3FOmsC3Z/b08eaB2/KAvy2oSp4qvcGdhatBSfb1RdVpwjQl5c3J83WbBo1HSZ7DBtMu43lA==";
       };
     };
-    "secret-stack-6.3.1" = {
+    "secret-stack-6.3.2" = {
       name = "secret-stack";
       packageName = "secret-stack";
-      version = "6.3.1";
+      version = "6.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.1.tgz";
-        sha512 = "SyYRGgjxq8lbQyqdIbaNfteZ77B3Bd2TH+k5WpI6gHjTCOKZZmD8aiat+bUfhjsiqf0LMQauRH3KD6vIMdDPLg==";
+        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-6.3.2.tgz";
+        sha512 = "D46+4LWwsM1LnO4dg6FM/MfGmMk9uYsIcDElqyNeImBnyUueKi2xz10CHF9iSAtSUGReQDV4SCVUiVrPnaKnsA==";
       };
     };
     "secure-compare-3.0.1" = {
@@ -50109,13 +50217,22 @@ let
         sha512 = "2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==";
       };
     };
-    "socket.io-3.0.4" = {
+    "socket.io-2.4.0" = {
       name = "socket.io";
       packageName = "socket.io";
-      version = "3.0.4";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-2.4.0.tgz";
+        sha512 = "9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==";
+      };
+    };
+    "socket.io-3.0.5" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.0.4.tgz";
-        sha512 = "Vj1jUoO75WGc9txWd311ZJJqS9Dr8QtNJJ7gk2r7dcM/yGe9sit7qOijQl3GAwhpBOz/W8CwkD7R6yob07nLbA==";
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-3.0.5.tgz";
+        sha512 = "5yWQ43P/4IttmPCGKDQ3CVocBiJWGpibyhYJxgUhf69EHMzmK8XW0DkmHIoYdLmZaVZJyiEkUqpeC7rSCIqekw==";
       };
     };
     "socket.io-adapter-0.2.0" = {
@@ -50163,13 +50280,13 @@ let
         sha512 = "cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==";
       };
     };
-    "socket.io-client-2.3.1" = {
+    "socket.io-client-2.4.0" = {
       name = "socket.io-client";
       packageName = "socket.io-client";
-      version = "2.3.1";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.1.tgz";
-        sha512 = "YXmXn3pA8abPOY//JtYxou95Ihvzmg8U6kQyolArkIyLd0pgVhrfor/iMsox8cn07WCOOvvuJ6XKegzIucPutQ==";
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz";
+        sha512 = "M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==";
       };
     };
     "socket.io-parser-2.1.2" = {
@@ -50208,13 +50325,13 @@ let
         sha512 = "11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==";
       };
     };
-    "socket.io-parser-4.0.2" = {
+    "socket.io-parser-4.0.3" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.2.tgz";
-        sha512 = "Bs3IYHDivwf+bAAuW/8xwJgIiBNtlvnjYRc4PbXgniLmcP1BrakBoq/QhO24rgtgW7VZ7uAaswRGxutUnlAK7g==";
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.3.tgz";
+        sha512 = "m4ybFiP4UYVORRt7jcdqf8UWx+ywVdAqqsJyruXxAdD3Sv6MDemijWij34mOWdMJ55bEdIb9jACBhxUgNK6sxw==";
       };
     };
     "sockjs-0.3.20" = {
@@ -51261,13 +51378,13 @@ let
         sha512 = "/QX6+DJkghqq1ZTbgYpOvaI+gx2O7ee1TRUM9yiOlVjh1XAQBevcBj0zO+W3TsNllX86urqBrySd/AEfFfUpIw==";
       };
     };
-    "ssb-ref-2.14.2" = {
+    "ssb-ref-2.14.3" = {
       name = "ssb-ref";
       packageName = "ssb-ref";
-      version = "2.14.2";
+      version = "2.14.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.14.2.tgz";
-        sha512 = "pPkwNX/Rrr0bV/8d8dC/f+T/LcKA9ZF1SGHrUuVpoqo8iE3gLMu0Zz5TRoUReXKW6+ehNzUzIjcpYTw+wWeZkA==";
+        url = "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.14.3.tgz";
+        sha512 = "XhzVmezsUJLlKxTfWlicxhiPRTEYHfJLskYQNRSnw4USqgo9LVx53+MJAhdZOYpZTW2jINR0TeetWs9M27gcbA==";
       };
     };
     "ssb-replicate-1.3.2" = {
@@ -52566,13 +52683,13 @@ let
         sha1 = "0fdedc68e91addcfcb2e6be9c262581a6e8c28aa";
       };
     };
-    "strtok3-6.0.4" = {
+    "strtok3-6.0.6" = {
       name = "strtok3";
       packageName = "strtok3";
-      version = "6.0.4";
+      version = "6.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.0.4.tgz";
-        sha512 = "rqWMKwsbN9APU47bQTMEYTPcwdpKDtmf1jVhHzNW2cL1WqAxaM9iBb9t5P2fj+RV2YsErUWgQzHD5JwV0uCTEQ==";
+        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.0.6.tgz";
+        sha512 = "fVxvAEKDwHFfbQO1yKxKBPfkWZyBr0Zf20UQ/mblbkAQe5h0Xdd2jDb3Mh7yRZd7LSItJ9JWgQWelpEmVoBe2g==";
       };
     };
     "structured-source-3.0.2" = {
@@ -53151,13 +53268,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-4.33.5" = {
+    "systeminformation-4.34.2" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "4.33.5";
+      version = "4.34.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.33.5.tgz";
-        sha512 = "LxsyvCB4uYqzjEQUH5cNt8TCNZsEc5oHV5LfT96huYAj3w9U0TGQtg7CiTWYzU4aBnBAejXWct6O0nlZhzzaqQ==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-4.34.2.tgz";
+        sha512 = "1LynQMla38gIjzyupKBnBLIo4B0TQf3vdhs2bjKPtN02EymuSWpoAM1KX/6+gtFLVmn91MfllE3wSVGQcVTHDw==";
       };
     };
     "table-3.8.3" = {
@@ -53196,13 +53313,13 @@ let
         sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==";
       };
     };
-    "table-6.0.6" = {
+    "table-6.0.7" = {
       name = "table";
       packageName = "table";
-      version = "6.0.6";
+      version = "6.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-6.0.6.tgz";
-        sha512 = "OInCtPmDNieVBkVFi6C8RwU2S2H0h8mF3e3TQK4nreaUNCpooQUkI+A/KuEkm5FawfhWIfNqG+qfelVVR+V00g==";
+        url = "https://registry.npmjs.org/table/-/table-6.0.7.tgz";
+        sha512 = "rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==";
       };
     };
     "table-layout-0.4.5" = {
@@ -55069,13 +55186,13 @@ let
         sha512 = "g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==";
       };
     };
-    "tsutils-3.17.1" = {
+    "tsutils-3.18.0" = {
       name = "tsutils";
       packageName = "tsutils";
-      version = "3.17.1";
+      version = "3.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz";
-        sha512 = "kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==";
+        url = "https://registry.npmjs.org/tsutils/-/tsutils-3.18.0.tgz";
+        sha512 = "D9Tu8nE3E7D1Bsf/V29oMHceMf+gnVO+pDguk/A5YRo1cLpkiQ48ZnbbS57pvvHeY+OIeNQx1vf4ASPlEtRpcA==";
       };
     };
     "ttf2woff-2.0.2" = {
@@ -56960,13 +57077,13 @@ let
         sha1 = "8bb871a4741e085c70487ca7acdbd7d6d36029eb";
       };
     };
-    "utf-8-validate-5.0.3" = {
+    "utf-8-validate-5.0.4" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.3.tgz";
-        sha512 = "jtJM6fpGv8C1SoH4PtG22pGto6x+Y8uPprW0tw3//gGFhDDTiuksgradgFN6yRayDP4SyZZa6ZMGHLIa17+M8A==";
+        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz";
+        sha512 = "MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==";
       };
     };
     "utf7-1.0.2" = {
@@ -58247,15 +58364,6 @@ let
         sha512 = "dKQXRYNUY6BHALQJBJlyZyv9oWlYpbJ2vVoQNNVNPLAYQ3hzNp4zy+iSo7zGx1BPXByArJQDWTKLQh8dz3dnNw==";
       };
     };
-    "vscode-jsonrpc-6.0.0-next.7" = {
-      name = "vscode-jsonrpc";
-      packageName = "vscode-jsonrpc";
-      version = "6.0.0-next.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0-next.7.tgz";
-        sha512 = "1nG+6cuTtpzmXe7yYfO9GCkYlyV6Ai+jDnwidHiT2T7zhc+bJM+VTtc0T/CdTlDyTNTqIcCj0V1nD4TcVjJ7Ug==";
-      };
-    };
     "vscode-languageclient-4.0.1" = {
       name = "vscode-languageclient";
       packageName = "vscode-languageclient";
@@ -58265,13 +58373,13 @@ let
         sha512 = "0fuBZj9pMkeJ8OMyIvSGeRaRVhUaJt+yeFxi7a3sz/AbrngQdcxOovMXPgKuieoBSBKS05gXPS88BsWpJZfBkA==";
       };
     };
-    "vscode-languageclient-7.0.0-next.12" = {
+    "vscode-languageclient-7.0.0" = {
       name = "vscode-languageclient";
       packageName = "vscode-languageclient";
-      version = "7.0.0-next.12";
+      version = "7.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0-next.12.tgz";
-        sha512 = "OrzvOvhS5o26C0KctTJC7hkwh3avCwkVhllzy42AqwpIUZ3p2aVqkSG2uVxaeodq8ThBb3TLgtg50vxyWs6FEg==";
+        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz";
+        sha512 = "P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==";
       };
     };
     "vscode-languageserver-3.5.1" = {
@@ -58382,15 +58490,6 @@ let
         sha512 = "sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==";
       };
     };
-    "vscode-languageserver-protocol-3.16.0-next.10" = {
-      name = "vscode-languageserver-protocol";
-      packageName = "vscode-languageserver-protocol";
-      version = "3.16.0-next.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0-next.10.tgz";
-        sha512 = "YRTctHUZvts0Z1xXKNYU0ha0o+Tlgtwr+6O8OmDquM086N8exiSKBMwMC+Ra1QtIE+1mfW43Wxsme2FnMkAS9A==";
-      };
-    };
     "vscode-languageserver-protocol-3.16.0-next.2" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
@@ -58490,15 +58589,6 @@ let
         sha512 = "QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==";
       };
     };
-    "vscode-languageserver-types-3.16.0-next.4" = {
-      name = "vscode-languageserver-types";
-      packageName = "vscode-languageserver-types";
-      version = "3.16.0-next.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.4.tgz";
-        sha512 = "NlKJyGcET/ZBCCLBYIPaGo2c37R03bPYeWXozUtnjyye7+9dhlbMSODyoG2INcQf8zFmB4qhm2UOJjgYEgPCNA==";
-      };
-    };
     "vscode-languageserver-types-3.5.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -58598,13 +58688,13 @@ let
         sha512 = "8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==";
       };
     };
-    "vscode-uri-3.0.1" = {
+    "vscode-uri-3.0.2" = {
       name = "vscode-uri";
       packageName = "vscode-uri";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.1.tgz";
-        sha512 = "LnMgm97uZM2JDjX/vKbbCk+phm++Ih31e5Ao3lqokawhDRocp2ZAVMRiIhPZx6fS5Sqnquyhxh8ABn9TWCvHoA==";
+        url = "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.2.tgz";
+        sha512 = "jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA==";
       };
     };
     "vstream-0.1.0" = {
@@ -60507,13 +60597,13 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-3.2.1" = {
+    "y18n-3.2.2" = {
       name = "y18n";
       packageName = "y18n";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
-        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz";
+        sha512 = "uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==";
       };
     };
     "y18n-4.0.1" = {
@@ -61515,7 +61605,7 @@ in
       sources."append-buffer-1.0.2"
       sources."argparse-1.0.10"
       sources."asciidoctor.js-1.5.9"
-      sources."async-lock-1.2.6"
+      sources."async-lock-1.2.8"
       sources."balanced-match-1.0.0"
       sources."base64-js-0.0.2"
       sources."bl-4.0.3"
@@ -62007,7 +62097,7 @@ in
       sources."@types/estree-0.0.45"
       sources."@types/json-schema-7.0.6"
       sources."@types/json5-0.0.29"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/parse-json-4.0.0"
       sources."@types/source-list-map-0.1.2"
       sources."@types/tapable-1.0.6"
@@ -62058,7 +62148,7 @@ in
       sources."browserslist-4.16.0"
       sources."buffer-from-1.1.1"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.4.3"
@@ -62079,7 +62169,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-4.3.0"
@@ -62180,7 +62270,7 @@ in
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.10.0"
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."object-assign-4.1.1"
@@ -62674,7 +62764,7 @@ in
       sources."@types/long-4.0.1"
       sources."@types/mime-2.0.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       (sources."@types/node-fetch-2.5.7" // {
         dependencies = [
           sources."form-data-3.0.0"
@@ -62924,7 +63014,7 @@ in
         ];
       })
       sources."camelcase-4.1.0"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       (sources."capital-case-1.0.4" // {
         dependencies = [
           sources."tslib-2.0.3"
@@ -63055,8 +63145,8 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.8.1"
-      (sources."core-js-compat-3.8.1" // {
+      sources."core-js-3.8.2"
+      (sources."core-js-compat-3.8.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -63152,7 +63242,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."elegant-spinner-1.0.1"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
@@ -63655,7 +63745,7 @@ in
           sources."is-wsl-2.2.0"
         ];
       })
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       (sources."nodemon-1.19.4" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -64477,10 +64567,10 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.15.3";
+    version = "1.15.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.15.3.tgz";
-      sha512 = "RYp9vX+/ojXMCpxMOsZu9e4X5+k3Nlq3vW4gdMkIVXIlk7hfvNcBfAYMeq3ao68cyYQFLJWVkFY0DlQfn0hQhQ==";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.15.4.tgz";
+      sha512 = "bBFO/imgikyrGd6urHfiZDmceZzAMfWeAmt5Fd9du5B+rv6IIJsDZMrTcalKUhwL6NdM0mBwkFcLmQvjm8UMOw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
@@ -64616,7 +64706,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -65635,7 +65725,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-13.13.38"
+      sources."@types/node-13.13.39"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -66068,7 +66158,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.29.3"
-      sources."constructs-3.2.90"
+      sources."constructs-3.2.94"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-4.0.0"
@@ -66144,13 +66234,13 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.176" // {
+      (sources."jsii-srcmak-0.1.180" // {
         dependencies = [
           sources."fs-extra-9.0.1"
         ];
       })
       sources."json-schema-0.2.5"
-      sources."json2jsii-0.1.168"
+      sources."json2jsii-0.1.172"
       (sources."jsonfile-6.1.0" // {
         dependencies = [
           sources."universalify-2.0.0"
@@ -66250,7 +66340,7 @@ in
     };
     dependencies = [
       sources."@jsii/spec-1.16.0"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/readline-sync-1.4.3"
       sources."@types/uuid-8.3.0"
       sources."@types/yoga-layout-1.9.2"
@@ -66285,7 +66375,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.29.3"
-      sources."constructs-3.2.90"
+      sources."constructs-3.2.94"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-1.2.0"
@@ -66404,7 +66494,7 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.176" // {
+      (sources."jsii-srcmak-0.1.180" // {
         dependencies = [
           sources."fs-extra-9.0.1"
           (sources."jsonfile-6.1.0" // {
@@ -66724,14 +66814,15 @@ in
   coc-eslint = nodeEnv.buildNodePackage {
     name = "coc-eslint";
     packageName = "coc-eslint";
-    version = "1.3.2";
+    version = "1.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-eslint/-/coc-eslint-1.3.2.tgz";
-      sha512 = "4eKNFSYkwo2elYrtxRdQbe9HuSLVBYk5uBVHt7VPvEjysAGAZZJ8sUha8gl32mWbSrbbbrbIP1SfOomVJPQeNQ==";
+      url = "https://registry.npmjs.org/coc-eslint/-/coc-eslint-1.4.1.tgz";
+      sha512 = "dqzn4vqmEqIlzwpFxG6AnhXUwDSTMLsg2d4RDwHDhh1yioukSFR+turQxsq9fssuWeV208y54kb/AzmOIji9jA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
-      description = "eslint extension for coc";
+      description = "Eslint extension for coc.nvim";
+      homepage = "https://github.com/neoclide/coc-eslint#readme";
       license = "MIT";
     };
     production = true;
@@ -66769,7 +66860,7 @@ in
       sources."node-fetch-2.6.1"
       sources."tslib-2.0.3"
       sources."vscode-languageserver-textdocument-1.0.1"
-      sources."vscode-uri-3.0.1"
+      sources."vscode-uri-3.0.2"
       sources."which-2.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -67206,7 +67297,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."capture-stack-trace-1.0.1"
       sources."ccount-1.1.0"
       sources."chalk-2.4.2"
@@ -67263,7 +67354,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.8.1"
+      sources."core-js-3.8.2"
       sources."cosmiconfig-3.1.0"
       sources."create-error-class-3.0.2"
       (sources."cross-spawn-6.0.5" // {
@@ -67303,7 +67394,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-1.1.2"
@@ -67992,7 +68083,7 @@ in
           sources."tsutils-2.29.0"
         ];
       })
-      sources."tsutils-3.17.1"
+      sources."tsutils-3.18.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.8.1"
       sources."typescript-3.9.7"
@@ -68057,7 +68148,7 @@ in
       sources."x-is-string-0.1.0"
       sources."xdg-basedir-3.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yallist-4.0.0"
       (sources."yargs-11.1.1" // {
         dependencies = [
@@ -68144,10 +68235,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.25.0";
+    version = "0.26.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.25.0.tgz";
-      sha512 = "+Diufwhz7JMJlbdNuwkcfcWnGXS5neoJlSW897kI0zfYL9H0R+fJXwiEYy0/f2UWn2eO1pjy0svqyXlacyvAoQ==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.26.0.tgz";
+      sha512 = "Wn0m/IImB9BryAUhH5WTSqrkWh2tamuMVyMzxUmH1EW71TJKOavfV2DAmSNYSkGCD/H9icUbMIiSwyMI9JVYOw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -68268,7 +68359,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       (sources."chalk-4.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -68306,7 +68397,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -68401,7 +68492,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       (sources."normalize-package-data-3.0.0" // {
         dependencies = [
           sources."semver-7.3.4"
@@ -68500,7 +68591,7 @@ in
       sources."sugarss-2.0.0"
       sources."supports-color-5.5.0"
       sources."svg-tags-1.0.0"
-      sources."table-6.0.6"
+      sources."table-6.0.7"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."trim-newlines-3.0.0"
@@ -68728,7 +68819,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-1.0.5"
       sources."eslint-7.17.0"
-      sources."eslint-plugin-vue-7.4.0"
+      sources."eslint-plugin-vue-7.4.1"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-2.1.0" // {
         dependencies = [
@@ -68820,7 +68911,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.0.6" // {
+      (sources."table-6.0.7" // {
         dependencies = [
           sources."ajv-7.0.3"
           sources."json-schema-traverse-1.0.0"
@@ -69558,7 +69649,7 @@ in
       sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."systeminformation-4.33.5"
+      sources."systeminformation-4.34.2"
       sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -69645,7 +69736,7 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/normalize-package-data-2.4.0"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -70016,7 +70107,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -71096,7 +71187,7 @@ in
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.4"
@@ -71291,7 +71382,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -73204,7 +73295,7 @@ in
       sources."ws-7.4.2"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yallist-4.0.0"
       (sources."yargs-7.1.1" // {
         dependencies = [
@@ -73374,7 +73465,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.0.6" // {
+      (sources."table-6.0.7" // {
         dependencies = [
           sources."ajv-7.0.3"
           sources."json-schema-traverse-1.0.0"
@@ -73533,7 +73624,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.0.6" // {
+      (sources."table-6.0.7" // {
         dependencies = [
           sources."ajv-7.0.3"
           sources."json-schema-traverse-1.0.0"
@@ -74256,7 +74347,7 @@ in
       })
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."capture-stack-trace-1.0.1"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.0" // {
@@ -74385,8 +74476,8 @@ in
           sources."slash-3.0.0"
         ];
       })
-      sources."core-js-3.8.1"
-      (sources."core-js-compat-3.8.1" // {
+      sources."core-js-3.8.2"
+      (sources."core-js-compat-3.8.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -74448,7 +74539,7 @@ in
       sources."dag-map-1.0.2"
       sources."dashdash-1.14.1"
       sources."dateformat-3.0.3"
-      sources."dayjs-1.9.8"
+      sources."dayjs-1.10.1"
       sources."debug-4.3.2"
       sources."debuglog-1.0.1"
       sources."decache-4.4.0"
@@ -74533,7 +74624,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       (sources."elliptic-6.5.3" // {
         dependencies = [
           sources."bn.js-4.11.9"
@@ -75167,7 +75258,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
@@ -77061,7 +77152,7 @@ in
       (sources."@grpc/grpc-js-1.1.8" // {
         dependencies = [
           sources."@grpc/proto-loader-0.6.0-pre9"
-          sources."@types/node-12.19.11"
+          sources."@types/node-12.19.12"
           sources."semver-6.3.0"
         ];
       })
@@ -77091,7 +77182,7 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/duplexify-3.6.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -77653,7 +77744,7 @@ in
       sources."promise-breaker-5.0.0"
       (sources."protobufjs-6.10.2" // {
         dependencies = [
-          sources."@types/node-13.13.38"
+          sources."@types/node-13.13.39"
         ];
       })
       sources."proxy-addr-2.0.6"
@@ -77881,10 +77972,10 @@ in
   fixjson = nodeEnv.buildNodePackage {
     name = "fixjson";
     packageName = "fixjson";
-    version = "1.1.1";
+    version = "1.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fixjson/-/fixjson-1.1.1.tgz";
-      sha512 = "cKclzjy4yv7Byu/v7hW4a4hwNgrINI/g2K/d3dtcMScdtY8BwBApb1gGBTLppuRaQpfdM/z0xj+5l8xcVKCm8w==";
+      url = "https://registry.npmjs.org/fixjson/-/fixjson-1.1.2.tgz";
+      sha512 = "NptKAXT3UrePy8JfK6ww/yiwqjVipouoEYUucKVpLNOiOWsrZ7XtcG3iUWpb3yGUoaN7OEafsd3cEGFMIjoXUQ==";
     };
     dependencies = [
       sources."ansi-regex-5.0.0"
@@ -78538,7 +78629,7 @@ in
       sources."wordwrap-0.0.3"
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yargs-3.32.0"
     ];
     buildInputs = globalBuildInputs;
@@ -78701,7 +78792,7 @@ in
       sources."multiserver-3.7.0"
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
-      sources."muxrpc-6.5.1"
+      sources."muxrpc-6.5.2"
       sources."nearley-2.20.1"
       sources."node-gyp-build-4.2.3"
       sources."node-polyglot-1.0.0"
@@ -78709,7 +78800,7 @@ in
       sources."options-0.0.6"
       sources."os-homedir-1.0.2"
       sources."packet-stream-2.0.5"
-      sources."packet-stream-codec-1.1.2"
+      sources."packet-stream-codec-1.1.3"
       sources."pako-1.0.11"
       sources."private-box-0.3.1"
       sources."progress-1.1.8"
@@ -78805,7 +78896,7 @@ in
       })
       sources."ssb-msgs-5.2.0"
       sources."ssb-pull-requests-1.0.0"
-      sources."ssb-ref-2.14.2"
+      sources."ssb-ref-2.14.3"
       (sources."stream-to-pull-stream-1.7.3" // {
         dependencies = [
           sources."looper-3.0.0"
@@ -79215,7 +79306,7 @@ in
       sources."@nodelib/fs.walk-1.2.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.1"
       sources."aggregate-error-3.1.0"
@@ -80106,7 +80197,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-4.33.5"
+      sources."systeminformation-4.34.2"
       sources."term-canvas-0.0.5"
       sources."type-fest-0.11.0"
       sources."wordwrap-0.0.3"
@@ -80579,7 +80670,7 @@ in
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yargs-7.1.1"
       sources."yargs-parser-5.0.0-security.0"
     ];
@@ -80933,7 +81024,7 @@ in
       sources."which-1.3.1"
       sources."which-module-1.0.0"
       sources."wrap-ansi-2.1.0"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yargs-7.1.1"
       sources."yargs-parser-5.0.0-security.0"
     ];
@@ -82454,7 +82545,7 @@ in
       sources."wrappy-1.0.2"
       sources."xmldom-0.4.0"
       sources."xpath-0.0.32"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yallist-4.0.0"
       sources."yargs-6.6.0"
       sources."yargs-parser-4.2.1"
@@ -82647,7 +82738,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.820.0" // {
+      (sources."aws-sdk-2.821.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -83371,20 +83462,18 @@ in
   js-yaml = nodeEnv.buildNodePackage {
     name = "js-yaml";
     packageName = "js-yaml";
-    version = "3.14.1";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz";
-      sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
+      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz";
+      sha512 = "pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==";
     };
     dependencies = [
-      sources."argparse-1.0.10"
-      sources."esprima-4.0.1"
-      sources."sprintf-js-1.0.3"
+      sources."argparse-2.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "YAML 1.2 parser and serializer";
-      homepage = https://github.com/nodeca/js-yaml;
+      homepage = "https://github.com/nodeca/js-yaml#readme";
       license = "MIT";
     };
     production = true;
@@ -83870,19 +83959,16 @@ in
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.1"
       sources."arraybuffer.slice-0.0.7"
-      sources."async-limiter-1.0.1"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.0"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
-      sources."better-assert-1.0.2"
       sources."binary-extensions-2.1.0"
       sources."blob-0.0.5"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."bytes-3.1.0"
-      sources."callsite-1.0.0"
       sources."camelcase-5.3.1"
       sources."chokidar-3.4.3"
       sources."cliui-6.0.0"
@@ -83890,12 +83976,12 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."component-bind-1.0.0"
-      sources."component-emitter-1.2.1"
+      sources."component-emitter-1.3.0"
       sources."component-inherit-0.0.3"
       sources."concat-map-0.0.1"
       sources."connect-3.7.0"
       sources."content-type-1.0.4"
-      sources."cookie-0.3.1"
+      sources."cookie-0.4.1"
       sources."custom-event-1.0.1"
       sources."date-format-3.0.0"
       sources."debug-2.6.9"
@@ -83906,19 +83992,15 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-3.4.2" // {
+      (sources."engine.io-3.5.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
-      (sources."engine.io-client-3.4.4" // {
+      (sources."engine.io-client-3.5.0" // {
         dependencies = [
-          sources."component-emitter-1.3.0"
           sources."debug-3.1.0"
-          sources."parseqs-0.0.6"
-          sources."parseuri-0.0.6"
-          sources."ws-6.1.4"
         ];
       })
       sources."engine.io-parser-2.2.1"
@@ -83970,14 +84052,13 @@ in
       sources."ms-2.0.0"
       sources."negotiator-0.6.2"
       sources."normalize-path-3.0.0"
-      sources."object-component-0.0.3"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      sources."parseqs-0.0.5"
-      sources."parseuri-0.0.5"
+      sources."parseqs-0.0.6"
+      sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
@@ -83995,29 +84076,22 @@ in
       sources."safer-buffer-2.1.2"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
-      (sources."socket.io-2.3.0" // {
+      (sources."socket.io-2.4.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.3.0" // {
+      (sources."socket.io-client-2.4.0" // {
         dependencies = [
-          sources."base64-arraybuffer-0.1.5"
-          sources."debug-4.1.1"
-          sources."ms-2.1.3"
-          (sources."socket.io-parser-3.3.1" // {
-            dependencies = [
-              sources."component-emitter-1.3.0"
-              sources."debug-3.1.0"
-              sources."ms-2.0.0"
-            ];
-          })
+          sources."debug-3.1.0"
+          sources."socket.io-parser-3.3.1"
         ];
       })
       (sources."socket.io-parser-3.4.1" // {
         dependencies = [
+          sources."component-emitter-1.2.1"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
@@ -84388,7 +84462,7 @@ in
       sources."wrap-ansi-2.1.0"
       sources."wrappy-1.0.2"
       sources."xml-name-validator-2.0.1"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       (sources."yargs-12.0.4" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -84560,7 +84634,7 @@ in
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/normalize-package-data-2.4.0"
       sources."@zkochan/cmd-shim-3.1.0"
       sources."JSONStream-1.3.5"
@@ -85869,7 +85943,6 @@ in
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."async-each-1.0.3"
-      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -85884,7 +85957,6 @@ in
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."better-assert-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
       sources."blob-0.0.5"
@@ -85896,7 +85968,6 @@ in
           sources."isobject-3.0.1"
         ];
       })
-      sources."callsite-1.0.0"
       sources."caseless-0.12.0"
       sources."chokidar-1.7.0"
       (sources."class-utils-0.3.6" // {
@@ -85943,19 +86014,16 @@ in
       sources."ee-first-1.1.1"
       sources."emoji-regex-6.1.1"
       sources."encodeurl-1.0.2"
-      (sources."engine.io-3.4.2" // {
+      (sources."engine.io-3.5.0" // {
         dependencies = [
-          sources."cookie-0.3.1"
+          sources."cookie-0.4.1"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
-      (sources."engine.io-client-3.4.4" // {
+      (sources."engine.io-client-3.5.0" // {
         dependencies = [
           sources."debug-3.1.0"
-          sources."parseqs-0.0.6"
-          sources."parseuri-0.0.6"
-          sources."ws-6.1.4"
         ];
       })
       sources."engine.io-parser-2.2.1"
@@ -86100,7 +86168,6 @@ in
       sources."negotiator-0.6.2"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.9.0"
-      sources."object-component-0.0.3"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -86127,8 +86194,8 @@ in
       sources."on-finished-2.3.0"
       sources."opn-5.5.0"
       sources."parse-glob-3.0.4"
-      sources."parseqs-0.0.5"
-      sources."parseuri-0.0.5"
+      sources."parseqs-0.0.6"
+      sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
@@ -86253,27 +86320,18 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      (sources."socket.io-2.3.0" // {
+      (sources."socket.io-2.4.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.3.0" // {
+      (sources."socket.io-client-2.4.0" // {
         dependencies = [
-          sources."base64-arraybuffer-0.1.5"
-          sources."component-emitter-1.2.1"
-          sources."debug-4.1.1"
+          sources."debug-3.1.0"
           sources."isarray-2.0.1"
-          sources."ms-2.1.3"
-          (sources."socket.io-parser-3.3.1" // {
-            dependencies = [
-              sources."component-emitter-1.3.0"
-              sources."debug-3.1.0"
-              sources."ms-2.0.0"
-            ];
-          })
+          sources."socket.io-parser-3.3.1"
         ];
       })
       (sources."socket.io-parser-3.4.1" // {
@@ -86486,7 +86544,7 @@ in
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.6"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.12"
@@ -86656,7 +86714,7 @@ in
       sources."cached-path-relative-1.0.2"
       sources."call-bind-1.0.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -86729,7 +86787,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.8.1" // {
+      (sources."core-js-compat-3.8.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -86780,7 +86838,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       (sources."elliptic-6.5.3" // {
         dependencies = [
           sources."bn.js-4.11.9"
@@ -86875,7 +86933,7 @@ in
       sources."fs-constants-1.0.0"
       sources."fs-write-stream-atomic-1.0.10"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.2.1"
+      sources."fsevents-2.3.1"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
       sources."get-assigned-identifiers-1.2.0"
@@ -87090,7 +87148,7 @@ in
         ];
       })
       sources."node-modules-regexp-1.0.0"
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-2.0.2"
@@ -87979,7 +88037,7 @@ in
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/yauzl-2.9.1"
       sources."agent-base-5.1.1"
       sources."ansi-styles-4.3.0"
@@ -88659,10 +88717,10 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "2.69.11";
+    version = "2.70.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-2.69.11.tgz";
-      sha512 = "d6yj11oi+4lzS2dkXYGmhzYlU90S+2utjnrkwD2DdIPGuLLax0XISZ7TMdTPdPuhRF7o0Z9U0GcMMd/0VH3ukQ==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-2.70.0.tgz";
+      sha512 = "VET5LUeZP2TX+xBXYQdiKkVyQfeW+HkeL7pRE2fGOi14fLE3BYSjjdmnCHDX83hgYniHIxKJBH/52zkyQ+m+2Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.12.11"
@@ -88779,22 +88837,27 @@ in
       sources."@dabh/diagnostics-2.0.2"
       sources."@jest/types-24.9.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@netlify/build-8.0.0" // {
+      (sources."@netlify/build-8.0.1" // {
         dependencies = [
+          sources."@netlify/zip-it-and-ship-it-2.0.0"
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
           sources."resolve-2.0.0-next.2"
         ];
       })
       sources."@netlify/cache-utils-1.0.6"
-      (sources."@netlify/config-2.4.2" // {
+      (sources."@netlify/config-2.4.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-3.0.0"
-          sources."netlify-5.0.2"
         ];
       })
-      sources."@netlify/functions-utils-1.3.3"
+      (sources."@netlify/functions-utils-1.3.4" // {
+        dependencies = [
+          sources."@netlify/zip-it-and-ship-it-2.0.0"
+          sources."resolve-2.0.0-next.2"
+        ];
+      })
       (sources."@netlify/git-utils-1.0.6" // {
         dependencies = [
           sources."braces-3.0.2"
@@ -88804,7 +88867,7 @@ in
           sources."to-regex-range-5.0.1"
         ];
       })
-      sources."@netlify/open-api-0.18.1"
+      sources."@netlify/open-api-1.0.0"
       sources."@netlify/plugin-edge-handlers-1.10.0"
       sources."@netlify/plugins-list-2.2.0"
       sources."@netlify/run-utils-1.0.5"
@@ -88837,9 +88900,13 @@ in
           })
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
-          sources."has-flag-3.0.0"
+          sources."has-flag-4.0.0"
           sources."strip-ansi-5.2.0"
-          sources."supports-color-5.5.0"
+          (sources."supports-color-5.5.0" // {
+            dependencies = [
+              sources."has-flag-3.0.0"
+            ];
+          })
         ];
       })
       (sources."@oclif/command-1.8.0" // {
@@ -88913,7 +88980,6 @@ in
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
           sources."fs-extra-7.0.1"
-          sources."has-flag-3.0.0"
           sources."indent-string-3.2.0"
           sources."is-wsl-1.1.0"
           sources."semver-5.7.1"
@@ -89001,7 +89067,7 @@ in
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/minimatch-3.0.3"
       sources."@types/mkdirp-0.5.2"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/node-fetch-2.5.7"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse5-5.0.3"
@@ -89043,10 +89109,9 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
-      sources."argparse-1.0.10"
+      sources."argparse-2.0.1"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
@@ -89069,7 +89134,7 @@ in
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
       sources."atob-lite-2.0.0"
-      (sources."aws-sdk-2.820.0" // {
+      (sources."aws-sdk-2.821.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -89088,18 +89153,11 @@ in
       sources."base64-js-1.5.1"
       sources."before-after-hook-2.1.0"
       sources."binary-extensions-2.1.0"
-      (sources."bl-0.8.2" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."readable-stream-1.0.34"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."bl-4.0.3"
       sources."bn.js-5.1.3"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."qs-6.7.0"
           sources."raw-body-2.4.0"
         ];
       })
@@ -89146,7 +89204,7 @@ in
       sources."call-bind-1.0.0"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."cardinal-2.1.1"
       sources."caw-2.0.1"
       sources."ccount-1.1.0"
@@ -89156,7 +89214,6 @@ in
           sources."color-convert-1.9.3"
           sources."color-name-1.1.3"
           sources."escape-string-regexp-1.0.5"
-          sources."has-flag-3.0.0"
           sources."supports-color-5.5.0"
         ];
       })
@@ -89201,9 +89258,12 @@ in
         dependencies = [
           sources."ansi-escapes-4.3.1"
           sources."ansi-styles-4.3.0"
+          sources."argparse-1.0.10"
           sources."chalk-4.1.0"
           sources."clean-stack-3.0.1"
           sources."extract-stack-2.0.0"
+          sources."has-flag-4.0.0"
+          sources."js-yaml-3.14.1"
           sources."supports-hyperlinks-2.1.0"
           sources."tslib-2.0.3"
           sources."type-fest-0.11.0"
@@ -89236,7 +89296,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       sources."concat-map-0.0.1"
@@ -89244,7 +89303,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       (sources."concordance-4.0.0" // {
@@ -89253,12 +89311,7 @@ in
         ];
       })
       sources."config-chain-1.1.12"
-      (sources."configstore-5.0.1" // {
-        dependencies = [
-          sources."crypto-random-string-2.0.0"
-          sources."unique-string-2.0.0"
-        ];
-      })
+      sources."configstore-5.0.1"
       (sources."content-disposition-0.5.3" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -89279,10 +89332,9 @@ in
           sources."readable-stream-2.3.7"
           sources."readdirp-2.2.1"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
-      (sources."core-js-compat-3.8.1" // {
+      (sources."core-js-compat-3.8.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -89310,7 +89362,7 @@ in
         ];
       })
       sources."crypto-browserify-3.12.0"
-      sources."crypto-random-string-1.0.0"
+      sources."crypto-random-string-2.0.0"
       sources."cyclist-1.0.1"
       sources."date-time-2.1.0"
       (sources."debug-4.3.2" // {
@@ -89337,7 +89389,6 @@ in
           sources."file-type-5.2.0"
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
           sources."tar-stream-1.6.2"
         ];
       })
@@ -89423,7 +89474,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."elf-cam-0.1.1"
       (sources."elliptic-6.5.3" // {
         dependencies = [
@@ -89490,7 +89541,6 @@ in
         dependencies = [
           sources."cookie-0.4.0"
           sources."debug-2.6.9"
-          sources."qs-6.7.0"
           sources."safe-buffer-5.1.2"
         ];
       })
@@ -89560,7 +89610,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       sources."from2-array-0.0.4"
@@ -89636,7 +89685,7 @@ in
           sources."ansi-regex-0.2.1"
         ];
       })
-      sources."has-flag-4.0.0"
+      sources."has-flag-3.0.0"
       (sources."has-glob-1.0.0" // {
         dependencies = [
           sources."is-glob-3.1.0"
@@ -89787,7 +89836,7 @@ in
       sources."jmespath-0.15.0"
       sources."js-string-escape-1.0.1"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.1"
+      sources."js-yaml-4.0.0"
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.0"
       sources."json-parse-better-errors-1.0.2"
@@ -89810,7 +89859,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       (sources."level-blobs-0.1.7" // {
@@ -89846,6 +89894,7 @@ in
       })
       (sources."levelup-0.18.6" // {
         dependencies = [
+          sources."bl-0.8.2"
           sources."isarray-0.0.1"
           sources."prr-0.0.0"
           sources."readable-stream-1.0.34"
@@ -89972,24 +90021,30 @@ in
       sources."natural-orderby-2.0.3"
       sources."negotiator-0.6.2"
       sources."nested-error-stacks-2.1.0"
-      (sources."netlify-6.0.7" // {
+      (sources."netlify-6.0.9" // {
         dependencies = [
-          sources."@netlify/open-api-1.0.0"
+          sources."@netlify/zip-it-and-ship-it-2.0.0"
+          sources."qs-6.9.4"
+          sources."resolve-2.0.0-next.2"
         ];
       })
       sources."netlify-plugin-deploy-preview-commenting-0.0.1-alpha.16"
       (sources."netlify-redirect-parser-2.5.0" // {
         dependencies = [
           sources."@netlify/config-0.11.11"
+          sources."@netlify/open-api-0.18.1"
           sources."ansi-styles-4.3.0"
+          sources."argparse-1.0.10"
           sources."chalk-3.0.0"
+          sources."js-yaml-3.14.1"
           sources."netlify-4.9.0"
+          sources."qs-6.9.4"
         ];
       })
       sources."netlify-redirector-0.2.1"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.1"
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       sources."node-source-walk-4.2.0"
       sources."noop2-2.0.0"
       (sources."normalize-package-data-2.5.0" // {
@@ -90084,7 +90139,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       sources."parse-asn1-5.1.6"
@@ -90114,7 +90168,6 @@ in
       sources."posix-character-classes-0.1.1"
       (sources."postcss-7.0.35" // {
         dependencies = [
-          sources."has-flag-3.0.0"
           sources."source-map-0.6.1"
           sources."supports-color-6.1.0"
         ];
@@ -90147,7 +90200,7 @@ in
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
       sources."pupa-2.1.1"
-      sources."qs-6.9.4"
+      sources."qs-6.7.0"
       sources."query-string-5.1.1"
       sources."querystring-0.2.0"
       sources."random-bytes-1.0.0"
@@ -90207,7 +90260,7 @@ in
       sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."ripemd160-2.0.2"
-      sources."rollup-2.35.1"
+      sources."rollup-2.36.0"
       sources."rollup-plugin-node-builtins-2.1.2"
       sources."rollup-plugin-terser-7.0.2"
       sources."run-async-2.4.1"
@@ -90342,7 +90395,11 @@ in
       sources."strict-uri-encode-1.1.0"
       sources."string-range-1.2.2"
       sources."string-width-4.2.0"
-      sources."string_decoder-1.3.0"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."stringify-entities-3.1.0"
       (sources."strip-ansi-6.0.0" // {
         dependencies = [
@@ -90360,7 +90417,11 @@ in
           sources."escape-string-regexp-1.0.5"
         ];
       })
-      sources."supports-color-7.2.0"
+      (sources."supports-color-7.2.0" // {
+        dependencies = [
+          sources."has-flag-4.0.0"
+        ];
+      })
       (sources."supports-hyperlinks-1.0.1" // {
         dependencies = [
           sources."has-flag-2.0.0"
@@ -90371,15 +90432,13 @@ in
           })
         ];
       })
-      (sources."tar-stream-2.2.0" // {
-        dependencies = [
-          sources."bl-4.0.3"
-        ];
-      })
+      sources."tar-stream-2.2.0"
       sources."temp-dir-1.0.0"
       (sources."tempy-0.3.0" // {
         dependencies = [
+          sources."crypto-random-string-1.0.0"
           sources."type-fest-0.3.1"
+          sources."unique-string-1.0.0"
         ];
       })
       sources."term-size-2.2.1"
@@ -90394,7 +90453,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       sources."through2-filter-3.0.0"
@@ -90425,7 +90483,7 @@ in
       sources."triple-beam-1.3.0"
       sources."trough-1.0.5"
       sources."tslib-1.14.1"
-      sources."tsutils-3.17.1"
+      sources."tsutils-3.18.0"
       sources."tunnel-agent-0.6.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.8.1"
@@ -90446,7 +90504,7 @@ in
       })
       sources."union-value-1.0.1"
       sources."uniq-1.0.1"
-      sources."unique-string-1.0.0"
+      sources."unique-string-2.0.0"
       sources."unist-util-is-4.0.4"
       sources."unist-util-stringify-position-2.0.3"
       sources."unist-util-visit-2.0.3"
@@ -90519,7 +90577,6 @@ in
         dependencies = [
           sources."readable-stream-2.3.7"
           sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
         ];
       })
       sources."word-wrap-1.2.3"
@@ -90998,7 +91055,7 @@ in
       })
       sources."xmldom-0.1.31"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yargs-3.32.0"
     ];
     buildInputs = globalBuildInputs;
@@ -91998,7 +92055,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
       sources."@types/minimist-1.2.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/normalize-package-data-2.4.0"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -93294,7 +93351,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -93321,7 +93378,7 @@ in
       sources."convert-source-map-1.7.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.8.1" // {
+      (sources."core-js-compat-3.8.2" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -93429,7 +93486,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       (sources."elliptic-6.5.3" // {
         dependencies = [
           sources."bn.js-4.11.9"
@@ -93684,7 +93741,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
@@ -94941,7 +94998,6 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
-      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
@@ -94953,7 +95009,6 @@ in
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bencode-0.7.0"
-      sources."better-assert-1.0.2"
       sources."bitfield-0.1.0"
       sources."bittorrent-dht-6.4.2"
       (sources."bittorrent-tracker-7.7.0" // {
@@ -94978,7 +95033,6 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.1"
       sources."bytes-3.1.0"
-      sources."callsite-1.0.0"
       sources."caseless-0.12.0"
       sources."chrome-dgram-3.0.6"
       sources."chrome-dns-1.0.1"
@@ -94986,7 +95040,7 @@ in
       sources."combined-stream-1.0.8"
       sources."compact2string-1.4.1"
       sources."component-bind-1.0.0"
-      sources."component-emitter-1.2.1"
+      sources."component-emitter-1.3.0"
       sources."component-inherit-0.0.3"
       (sources."compress-commons-2.1.1" // {
         dependencies = [
@@ -95017,20 +95071,16 @@ in
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.4.2" // {
+      (sources."engine.io-3.5.0" // {
         dependencies = [
-          sources."cookie-0.3.1"
+          sources."cookie-0.4.1"
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
-      (sources."engine.io-client-3.4.4" // {
+      (sources."engine.io-client-3.5.0" // {
         dependencies = [
-          sources."component-emitter-1.3.0"
           sources."debug-3.1.0"
-          sources."parseqs-0.0.6"
-          sources."parseuri-0.0.6"
-          sources."ws-6.1.4"
         ];
       })
       sources."engine.io-parser-2.2.1"
@@ -95140,7 +95190,6 @@ in
       sources."negotiator-0.6.2"
       sources."normalize-path-3.0.0"
       sources."oauth-sign-0.9.0"
-      sources."object-component-0.0.3"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -95151,8 +95200,8 @@ in
         ];
       })
       sources."parse-torrent-file-2.1.4"
-      sources."parseqs-0.0.5"
-      sources."parseuri-0.0.5"
+      sources."parseqs-0.0.6"
+      sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
@@ -95215,30 +95264,23 @@ in
           sources."ws-2.3.1"
         ];
       })
-      (sources."socket.io-2.3.0" // {
+      (sources."socket.io-2.4.0" // {
         dependencies = [
           sources."debug-4.1.1"
           sources."ms-2.1.3"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.3.0" // {
+      (sources."socket.io-client-2.4.0" // {
         dependencies = [
-          sources."base64-arraybuffer-0.1.5"
-          sources."debug-4.1.1"
+          sources."debug-3.1.0"
           sources."isarray-2.0.1"
-          sources."ms-2.1.3"
-          (sources."socket.io-parser-3.3.1" // {
-            dependencies = [
-              sources."component-emitter-1.3.0"
-              sources."debug-3.1.0"
-              sources."ms-2.0.0"
-            ];
-          })
+          sources."socket.io-parser-3.3.1"
         ];
       })
       (sources."socket.io-parser-3.4.1" // {
         dependencies = [
+          sources."component-emitter-1.2.1"
           sources."debug-4.1.1"
           sources."isarray-2.0.1"
           sources."ms-2.1.3"
@@ -95557,7 +95599,7 @@ in
       sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
-      sources."systeminformation-4.33.5"
+      sources."systeminformation-4.34.2"
       sources."thunkify-2.1.2"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
@@ -95592,10 +95634,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "5.14.1";
+    version = "5.14.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-5.14.1.tgz";
-      sha512 = "zxdmGEMcvJq5JU4lb3s48xbDnT9C7PHk/aOO7kefgA2LklOuEakRx2sKyGyWRykyQMtOS7h1rD4kdCWsOrh6Hg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-5.14.3.tgz";
+      sha512 = "PFjHFWCsHgaNCpOwOAgN6H71PA8td8PnwSE1ArXz//OyfdfIwws1s23XLmokhHcnE3JsBSiIR3NOW8JZ5QcxlQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -96147,10 +96189,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.98";
+    version = "1.1.99";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.98.tgz";
-      sha512 = "zDynNde59nDGs58/FpOSndAAxbFTq0x3/RUHng+rN2Ir3Y9CUnYg1vH29q4RnMlwCT/ERrQbmOTxBeD9edUBvQ==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.99.tgz";
+      sha512 = "DAfK8uVLGF1nuBeFvEXhvApCecuHEpe8ncjnFW/WsBBIQ5JOsjjpwlUDvTutNjkoH9QCTqvg72g6ip9PdWFL/w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -96710,7 +96752,7 @@ in
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.3"
       sources."@redocly/react-dropdown-aria-2.0.11"
-      sources."@types/node-13.13.38"
+      sources."@types/node-13.13.39"
       sources."ajv-5.5.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
@@ -96768,7 +96810,7 @@ in
       sources."color-name-1.1.3"
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
-      sources."core-js-3.8.1"
+      sources."core-js-3.8.2"
       sources."core-util-is-1.0.2"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
@@ -97039,10 +97081,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.35.1";
+    version = "2.36.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.35.1.tgz";
-      sha512 = "q5KxEyWpprAIcainhVy6HfRttD9kutQpHbeqDTWnqAFNJotiojetK6uqmcydNMymBEtC4I8bCYR+J3mTMqeaUA==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.36.0.tgz";
+      sha512 = "L38QyQK77bkJy9nPyeydnHFK6xMofqumh4scTV2d4RG4EFq6pGdxnn67dVHFUDJ9J0PSEQx8zn1FiVS5TydsKg==";
     };
     dependencies = [
       sources."fsevents-2.1.3"
@@ -97070,34 +97112,37 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@eslint/eslintrc-0.2.2"
-      sources."@rollup/plugin-commonjs-13.0.2"
-      sources."@rollup/plugin-node-resolve-8.4.0"
-      sources."@rollup/pluginutils-3.1.0"
-      sources."@types/eslint-visitor-keys-1.0.0"
+      (sources."@eslint/eslintrc-0.2.2" // {
+        dependencies = [
+          sources."ignore-4.0.6"
+        ];
+      })
+      sources."@nodelib/fs.scandir-2.1.4"
+      sources."@nodelib/fs.stat-2.0.4"
+      sources."@nodelib/fs.walk-1.2.6"
+      sources."@rollup/plugin-commonjs-17.0.0"
+      sources."@rollup/plugin-node-resolve-11.0.1"
+      (sources."@rollup/pluginutils-3.1.0" // {
+        dependencies = [
+          sources."estree-walker-1.0.1"
+        ];
+      })
       sources."@types/estree-0.0.39"
       sources."@types/glob-7.1.3"
       sources."@types/json-schema-7.0.6"
       sources."@types/minimatch-3.0.3"
-      sources."@types/mocha-7.0.2"
-      sources."@types/node-12.7.12"
+      sources."@types/mocha-8.2.0"
+      sources."@types/node-12.12.70"
       sources."@types/node-fetch-2.5.7"
       sources."@types/resolve-1.17.1"
       sources."@types/vscode-1.52.0"
-      (sources."@typescript-eslint/eslint-plugin-3.10.1" // {
-        dependencies = [
-          sources."semver-7.3.4"
-        ];
-      })
-      sources."@typescript-eslint/experimental-utils-3.10.1"
-      sources."@typescript-eslint/parser-3.10.1"
-      sources."@typescript-eslint/types-3.10.1"
-      (sources."@typescript-eslint/typescript-estree-3.10.1" // {
-        dependencies = [
-          sources."semver-7.3.4"
-        ];
-      })
-      sources."@typescript-eslint/visitor-keys-3.10.1"
+      sources."@typescript-eslint/eslint-plugin-4.12.0"
+      sources."@typescript-eslint/experimental-utils-4.12.0"
+      sources."@typescript-eslint/parser-4.12.0"
+      sources."@typescript-eslint/scope-manager-4.12.0"
+      sources."@typescript-eslint/types-4.12.0"
+      sources."@typescript-eslint/typescript-estree-4.12.0"
+      sources."@typescript-eslint/visitor-keys-4.12.0"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.1"
@@ -97108,6 +97153,7 @@ in
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.1"
       sources."argparse-1.0.10"
+      sources."array-union-2.1.0"
       sources."astral-regex-2.0.0"
       sources."asynckit-0.4.0"
       sources."azure-devops-node-api-7.2.0"
@@ -97154,12 +97200,12 @@ in
       sources."css-what-4.0.0"
       sources."debug-4.3.2"
       sources."decamelize-1.2.0"
-      sources."deep-freeze-0.0.1"
       sources."deep-is-0.1.3"
       sources."deepmerge-4.2.2"
       sources."delayed-stream-1.0.0"
       sources."denodeify-1.2.1"
       sources."diff-4.0.2"
+      sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
       sources."dom-serializer-1.2.0"
       sources."domelementtype-2.1.0"
@@ -97180,14 +97226,21 @@ in
       sources."escape-string-regexp-1.0.5"
       (sources."eslint-7.17.0" // {
         dependencies = [
-          sources."eslint-visitor-keys-2.0.0"
-          sources."semver-7.3.4"
+          sources."ignore-4.0.6"
         ];
       })
       sources."eslint-scope-5.1.1"
-      sources."eslint-utils-2.1.0"
-      sources."eslint-visitor-keys-1.3.0"
-      sources."espree-7.3.1"
+      (sources."eslint-utils-2.1.0" // {
+        dependencies = [
+          sources."eslint-visitor-keys-1.3.0"
+        ];
+      })
+      sources."eslint-visitor-keys-2.0.0"
+      (sources."espree-7.3.1" // {
+        dependencies = [
+          sources."eslint-visitor-keys-1.3.0"
+        ];
+      })
       sources."esprima-4.0.1"
       (sources."esquery-1.3.1" // {
         dependencies = [
@@ -97200,11 +97253,13 @@ in
         ];
       })
       sources."estraverse-4.3.0"
-      sources."estree-walker-1.0.1"
+      sources."estree-walker-2.0.2"
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.4"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
+      sources."fastq-1.10.0"
       sources."fd-slicer-1.1.0"
       sources."file-entry-cache-6.0.0"
       sources."fill-range-7.0.1"
@@ -97221,6 +97276,7 @@ in
       sources."glob-7.1.6"
       sources."glob-parent-5.1.1"
       sources."globals-12.4.0"
+      sources."globby-11.0.1"
       sources."growl-1.10.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
@@ -97237,7 +97293,7 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."ignore-4.0.6"
+      sources."ignore-5.1.8"
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
@@ -97270,6 +97326,8 @@ in
         ];
       })
       sources."mdurl-1.0.1"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.2"
       sources."mime-1.6.0"
       sources."mime-db-1.45.0"
       sources."mime-types-2.1.28"
@@ -97311,6 +97369,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."path-parse-1.0.6"
+      sources."path-type-4.0.0"
       sources."pend-1.2.0"
       sources."picomatch-2.2.2"
       sources."prelude-ls-1.2.1"
@@ -97326,15 +97385,18 @@ in
       sources."require-main-filename-2.0.0"
       sources."resolve-1.19.0"
       sources."resolve-from-4.0.0"
+      sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
-      sources."rollup-2.35.1"
+      sources."rollup-2.36.0"
+      sources."run-parallel-1.1.10"
       sources."safe-buffer-5.2.1"
-      sources."semver-6.3.0"
+      sources."semver-7.3.4"
       sources."serialize-javascript-5.0.1"
       sources."set-blocking-2.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."sigmund-1.0.1"
+      sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -97348,7 +97410,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-5.5.0"
-      (sources."table-6.0.6" // {
+      (sources."table-6.0.7" // {
         dependencies = [
           sources."ajv-7.0.3"
           sources."json-schema-traverse-1.0.0"
@@ -97358,7 +97420,7 @@ in
       sources."tmp-0.0.29"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.0.3"
-      (sources."tsutils-3.17.1" // {
+      (sources."tsutils-3.18.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
@@ -97367,7 +97429,7 @@ in
       sources."type-check-0.4.0"
       sources."type-fest-0.8.1"
       sources."typed-rest-client-1.2.0"
-      sources."typescript-3.9.7"
+      sources."typescript-4.1.3"
       sources."typescript-formatter-7.2.2"
       sources."uc.micro-1.0.6"
       sources."underscore-1.8.3"
@@ -97381,10 +97443,10 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."vscode-jsonrpc-6.0.0-next.7"
-      sources."vscode-languageclient-7.0.0-next.12"
-      sources."vscode-languageserver-protocol-3.16.0-next.10"
-      sources."vscode-languageserver-types-3.16.0-next.4"
+      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-languageclient-7.0.0"
+      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-types-3.16.0"
       (sources."vscode-test-1.4.1" // {
         dependencies = [
           sources."rimraf-2.7.1"
@@ -97809,8 +97871,10 @@ in
         ];
       })
       sources."@serverless/template-1.1.4"
-      (sources."@serverless/utils-2.1.0" // {
+      (sources."@serverless/utils-2.2.0" // {
         dependencies = [
+          sources."argparse-2.0.1"
+          sources."js-yaml-4.0.0"
           sources."write-file-atomic-3.0.3"
         ];
       })
@@ -97824,7 +97888,7 @@ in
       sources."@types/keyv-3.1.1"
       sources."@types/lodash-4.14.167"
       sources."@types/long-4.0.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/request-2.48.5"
       sources."@types/request-promise-native-1.0.17"
       sources."@types/responselike-1.0.0"
@@ -97881,7 +97945,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.820.0" // {
+      (sources."aws-sdk-2.821.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -98014,7 +98078,7 @@ in
         ];
       })
       sources."dashdash-1.14.1"
-      sources."dayjs-1.9.8"
+      sources."dayjs-1.10.1"
       sources."debug-3.1.0"
       sources."decode-uri-component-0.2.0"
       sources."decompress-4.2.1"
@@ -98037,7 +98101,7 @@ in
       sources."deferred-0.7.11"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
-      sources."denque-1.4.1"
+      sources."denque-1.5.0"
       sources."detect-libc-1.0.3"
       sources."diagnostics-1.1.1"
       sources."dijkstrajs-1.0.1"
@@ -98077,11 +98141,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."enabled-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-client-3.4.4" // {
-        dependencies = [
-          sources."ws-6.1.4"
-        ];
-      })
+      sources."engine.io-client-3.5.0"
       sources."engine.io-parser-2.2.1"
       sources."env-variable-0.0.6"
       sources."es5-ext-0.10.53"
@@ -98396,7 +98456,7 @@ in
       sources."promise-queue-2.2.5"
       (sources."protobufjs-6.10.2" // {
         dependencies = [
-          sources."@types/node-13.13.38"
+          sources."@types/node-13.13.39"
           sources."long-4.0.0"
         ];
       })
@@ -98455,7 +98515,7 @@ in
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       sources."snappy-6.3.5"
-      sources."socket.io-client-2.3.1"
+      sources."socket.io-client-2.4.0"
       (sources."socket.io-parser-3.3.1" // {
         dependencies = [
           sources."isarray-2.0.1"
@@ -99294,7 +99354,7 @@ in
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/js-yaml-3.12.5"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/responselike-1.0.0"
       sources."@types/semver-5.5.0"
       sources."@yarnpkg/lockfile-1.1.0"
@@ -99874,32 +99934,32 @@ in
   "socket.io" = nodeEnv.buildNodePackage {
     name = "socket.io";
     packageName = "socket.io";
-    version = "3.0.4";
+    version = "3.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-3.0.4.tgz";
-      sha512 = "Vj1jUoO75WGc9txWd311ZJJqS9Dr8QtNJJ7gk2r7dcM/yGe9sit7qOijQl3GAwhpBOz/W8CwkD7R6yob07nLbA==";
+      url = "https://registry.npmjs.org/socket.io/-/socket.io-3.0.5.tgz";
+      sha512 = "5yWQ43P/4IttmPCGKDQ3CVocBiJWGpibyhYJxgUhf69EHMzmK8XW0DkmHIoYdLmZaVZJyiEkUqpeC7rSCIqekw==";
     };
     dependencies = [
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.9"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
       sources."component-emitter-1.3.0"
       sources."cookie-0.4.1"
       sources."cors-2.8.5"
-      sources."debug-4.1.1"
-      sources."engine.io-4.0.5"
+      sources."debug-4.3.2"
+      sources."engine.io-4.0.6"
       sources."engine.io-parser-4.0.2"
       sources."mime-db-1.45.0"
       sources."mime-types-2.1.28"
-      sources."ms-2.1.3"
+      sources."ms-2.1.2"
       sources."negotiator-0.6.2"
       sources."object-assign-4.1.1"
       sources."socket.io-adapter-2.0.3"
-      sources."socket.io-parser-4.0.2"
+      sources."socket.io-parser-4.0.3"
       sources."vary-1.1.2"
       sources."ws-7.4.2"
     ];
@@ -100461,7 +100521,7 @@ in
       sources."multiserver-address-1.0.1"
       sources."multiserver-scopes-1.0.0"
       sources."mutexify-1.3.1"
-      sources."muxrpc-6.5.1"
+      sources."muxrpc-6.5.2"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
       sources."muxrpcli-3.1.2"
@@ -100530,7 +100590,7 @@ in
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."packet-stream-2.0.5"
-      sources."packet-stream-codec-1.1.2"
+      sources."packet-stream-codec-1.1.3"
       sources."parse-entities-1.2.2"
       sources."parse-glob-3.0.4"
       sources."pascalcase-0.1.1"
@@ -100696,7 +100756,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."secret-handshake-1.1.20"
-      sources."secret-stack-6.3.1"
+      sources."secret-stack-6.3.2"
       sources."semver-5.7.1"
       sources."separator-escape-0.0.1"
       (sources."set-value-2.0.1" // {
@@ -100783,7 +100843,7 @@ in
       })
       sources."ssb-plugins-1.0.0"
       sources."ssb-query-2.4.5"
-      sources."ssb-ref-2.14.2"
+      sources."ssb-ref-2.14.3"
       sources."ssb-replicate-1.3.2"
       sources."ssb-unix-socket-1.0.0"
       sources."ssb-validate-4.1.3"
@@ -100994,7 +101054,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.820.0" // {
+      (sources."aws-sdk-2.821.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -101018,7 +101078,6 @@ in
       sources."base64url-3.0.1"
       sources."basic-auth-1.1.0"
       sources."bcrypt-pbkdf-1.0.2"
-      sources."better-assert-1.0.2"
       sources."bindings-1.2.1"
       sources."blob-0.0.5"
       sources."bluebird-2.11.0"
@@ -101039,7 +101098,6 @@ in
       sources."busboy-0.2.14"
       sources."bytebuffer-3.5.5"
       sources."bytes-3.1.0"
-      sources."callsite-1.0.0"
       sources."camelcase-1.2.1"
       sources."caseless-0.11.0"
       sources."center-align-0.1.3"
@@ -101054,7 +101112,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
       sources."component-bind-1.0.0"
-      sources."component-emitter-1.2.1"
+      sources."component-emitter-1.3.0"
       sources."component-inherit-0.0.3"
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
@@ -101130,21 +101188,18 @@ in
       sources."ejs-0.8.8"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-3.4.2" // {
+      (sources."engine.io-3.5.0" // {
         dependencies = [
-          sources."cookie-0.3.1"
+          sources."cookie-0.4.1"
           sources."debug-4.1.1"
           sources."ws-7.4.2"
         ];
       })
-      (sources."engine.io-client-3.4.4" // {
+      (sources."engine.io-client-3.5.0" // {
         dependencies = [
-          sources."component-emitter-1.3.0"
           sources."debug-3.1.0"
           sources."ms-2.0.0"
-          sources."parseqs-0.0.6"
-          sources."parseuri-0.0.6"
-          sources."ws-6.1.4"
+          sources."ws-7.4.2"
         ];
       })
       sources."engine.io-parser-2.2.1"
@@ -101381,7 +101436,6 @@ in
       sources."oauth-0.9.15"
       sources."oauth-sign-0.8.2"
       sources."object-assign-4.1.1"
-      sources."object-component-0.0.3"
       sources."object-hash-0.3.0"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
@@ -101397,8 +101451,8 @@ in
       sources."p-locate-3.0.0"
       sources."p-try-2.2.0"
       sources."parse-json-2.2.0"
-      sources."parseqs-0.0.5"
-      sources."parseuri-0.0.5"
+      sources."parseqs-0.0.6"
+      sources."parseuri-0.0.6"
       sources."parseurl-1.3.3"
       sources."passport-0.3.2"
       sources."passport-oauth2-1.5.0"
@@ -101526,28 +101580,23 @@ in
       sources."signal-exit-3.0.3"
       sources."slash-1.0.0"
       sources."sntp-1.0.9"
-      (sources."socket.io-2.3.0" // {
+      (sources."socket.io-2.4.0" // {
         dependencies = [
           sources."debug-4.1.1"
         ];
       })
       sources."socket.io-adapter-1.1.2"
-      (sources."socket.io-client-2.3.0" // {
+      (sources."socket.io-client-2.4.0" // {
         dependencies = [
-          sources."base64-arraybuffer-0.1.5"
-          sources."debug-4.1.1"
+          sources."debug-3.1.0"
           sources."isarray-2.0.1"
           sources."ms-2.0.0"
-          (sources."socket.io-parser-3.3.1" // {
-            dependencies = [
-              sources."component-emitter-1.3.0"
-              sources."debug-3.1.0"
-            ];
-          })
+          sources."socket.io-parser-3.3.1"
         ];
       })
       (sources."socket.io-parser-3.4.1" // {
         dependencies = [
+          sources."component-emitter-1.2.1"
           sources."debug-4.1.1"
           sources."isarray-2.0.1"
         ];
@@ -101736,7 +101785,7 @@ in
           sources."os-locale-1.4.0"
           sources."string-width-1.0.2"
           sources."which-module-1.0.0"
-          sources."y18n-3.2.1"
+          sources."y18n-3.2.2"
           sources."yargs-parser-4.2.1"
         ];
       })
@@ -101825,7 +101874,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       (sources."chalk-4.1.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -101863,7 +101912,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -101957,7 +102006,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       (sources."normalize-package-data-3.0.0" // {
         dependencies = [
           sources."semver-7.3.4"
@@ -102054,7 +102103,7 @@ in
       sources."sugarss-2.0.0"
       sources."supports-color-5.5.0"
       sources."svg-tags-1.0.0"
-      sources."table-6.0.6"
+      sources."table-6.0.7"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."trim-newlines-3.0.0"
@@ -103909,10 +103958,10 @@ in
   textlint-rule-stop-words = nodeEnv.buildNodePackage {
     name = "textlint-rule-stop-words";
     packageName = "textlint-rule-stop-words";
-    version = "2.0.7";
+    version = "2.0.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-2.0.7.tgz";
-      sha512 = "wBG1K2HfmQaHEjxMddRB9canjBbX6xaztVB5d0cgOBVj9NTvPVWf4z9OuTfYUEmIt84wAvQ6XxsIA9YTJ+N5Fg==";
+      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-2.0.8.tgz";
+      sha512 = "D945uyFkeMo6KJhMJaFTEHudP+Jkl00rLOQKRibV1zl933muR6NXqz+uXAvitPAEWH20kwQA40E0Cd1t8nJQ1w==";
     };
     dependencies = [
       sources."@textlint/ast-node-types-4.3.5"
@@ -104066,7 +104115,7 @@ in
       sources."@types/debug-4.1.5"
       sources."@types/http-cache-semantics-4.0.0"
       sources."@types/keyv-3.1.1"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -104142,7 +104191,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.8.1"
+      sources."core-js-3.8.2"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -104365,7 +104414,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-3.1.0"
+      sources."peek-readable-3.1.1"
       sources."performance-now-2.1.0"
       sources."pify-4.0.1"
       sources."precond-0.2.3"
@@ -104450,7 +104499,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.0.4"
+      sources."strtok3-6.0.6"
       sources."supports-color-7.2.0"
       sources."tar-4.4.13"
       sources."tlds-1.208.0"
@@ -105035,7 +105084,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.0"
       sources."@types/cors-2.8.9"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
@@ -105095,11 +105144,11 @@ in
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-4.0.5" // {
+      (sources."engine.io-4.0.6" // {
         dependencies = [
           sources."cookie-0.4.1"
-          sources."debug-4.1.1"
-          sources."ms-2.1.3"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."engine.io-parser-4.0.2"
@@ -105240,17 +105289,17 @@ in
       sources."signals-1.0.0"
       sources."simple-swizzle-0.2.2"
       sources."snapsvg-0.5.1"
-      (sources."socket.io-3.0.4" // {
+      (sources."socket.io-3.0.5" // {
         dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.3"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."socket.io-adapter-2.0.3"
-      (sources."socket.io-parser-4.0.2" // {
+      (sources."socket.io-parser-4.0.3" // {
         dependencies = [
-          sources."debug-4.1.1"
-          sources."ms-2.1.3"
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
         ];
       })
       sources."stack-trace-0.0.10"
@@ -106836,7 +106885,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/unist-2.0.3"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -107111,7 +107160,7 @@ in
       sources."format-0.2.2"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
-      sources."fsevents-2.2.1"
+      sources."fsevents-2.3.1"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-caller-file-1.0.3"
@@ -107725,7 +107774,7 @@ in
       sources."x-is-string-0.1.0"
       sources."xdg-basedir-3.0.0"
       sources."xtend-4.0.2"
-      sources."y18n-3.2.1"
+      sources."y18n-3.2.2"
       sources."yallist-2.1.2"
       (sources."yargs-11.1.1" // {
         dependencies = [
@@ -107782,7 +107831,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/yauzl-2.9.1"
       sources."JSONSelect-0.2.1"
       sources."acorn-7.4.1"
@@ -108698,7 +108747,7 @@ in
       sources."@types/eslint-scope-3.7.0"
       sources."@types/estree-0.0.45"
       sources."@types/json-schema-7.0.6"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@webassemblyjs/ast-1.9.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.1"
       sources."@webassemblyjs/helper-api-error-1.9.1"
@@ -108724,11 +108773,11 @@ in
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.16.0"
       sources."buffer-from-1.1.1"
-      sources."caniuse-lite-1.0.30001171"
+      sources."caniuse-lite-1.0.30001173"
       sources."chrome-trace-event-1.0.2"
       sources."colorette-1.2.1"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.3.633"
+      sources."electron-to-chromium-1.3.634"
       sources."enhanced-resolve-5.4.1"
       sources."escalade-3.1.1"
       sources."eslint-scope-5.1.1"
@@ -108754,7 +108803,7 @@ in
       sources."mime-db-1.45.0"
       sources."mime-types-2.1.28"
       sources."neo-async-2.6.2"
-      sources."node-releases-1.1.67"
+      sources."node-releases-1.1.69"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."path-exists-4.0.0"
@@ -108867,7 +108916,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ajv-errors-1.0.1"
@@ -109528,7 +109577,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-13.13.38"
+      sources."@types/node-13.13.39"
       sources."addr-to-ip-port-1.5.1"
       sources."airplay-js-0.3.0"
       sources."balanced-match-1.0.0"
@@ -109576,7 +109625,7 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.1"
       sources."buffer-indexof-1.1.1"
-      sources."bufferutil-4.0.2"
+      sources."bufferutil-4.0.3"
       (sources."castv2-0.1.10" // {
         dependencies = [
           sources."debug-4.3.2"
@@ -109791,7 +109840,7 @@ in
         ];
       })
       sources."ut_pex-2.0.1"
-      sources."utf-8-validate-5.0.3"
+      sources."utf-8-validate-5.0.4"
       sources."util-deprecate-1.0.2"
       sources."utp-native-2.2.2"
       sources."videostream-3.2.2"
@@ -109961,7 +110010,7 @@ in
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.1.3"
       sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.19"
+      sources."@types/node-14.14.20"
       sources."@types/normalize-package-data-2.4.0"
       sources."JSONStream-1.3.5"
       sources."aggregate-error-3.1.0"
@@ -110087,7 +110136,7 @@ in
       sources."config-chain-1.1.12"
       sources."configstore-3.1.5"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-3.8.1"
+      sources."core-js-3.8.2"
       sources."core-util-is-1.0.2"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 66b1dd67a9f..e860ad13d40 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -2,6 +2,7 @@
 , ocaml, findlib, ocamlbuild, ocaml_oasis,
  bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp,
  utop, libxml2,
+ ppx_bitstring,
  ppx_tools_versioned,
  which, makeWrapper, writeText
 , z3
@@ -40,7 +41,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which makeWrapper ];
 
   buildInputs = [ ocaml findlib ocamlbuild ocaml_oasis
-                  llvm ppx_tools_versioned
+                  llvm ppx_bitstring ppx_tools_versioned
                   z3
                   utop libxml2 ];
 
@@ -63,6 +64,10 @@ stdenv.mkDerivation rec {
 
   patches = [ ./dont-add-curses.patch ];
 
+  preConfigure = ''
+    substituteInPlace oasis/elf --replace bitstring.ppx ppx_bitstring
+  '';
+
   configureFlags = [ "--enable-everything ${disableIda}" "--with-llvm-config=${llvm}/bin/llvm-config" ];
 
   BAPBUILDFLAGS = "-j $(NIX_BUILD_CORES)";
diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix
index 386503039e0..583017d9dde 100644
--- a/pkgs/development/ocaml-modules/bitstring/default.nix
+++ b/pkgs/development/ocaml-modules/bitstring/default.nix
@@ -1,20 +1,21 @@
-{ stdenv, fetchFromGitHub, buildDunePackage, ppx_tools_versioned, ounit }:
+{ lib, fetchFromGitHub, buildDunePackage, stdlib-shims }:
 
 buildDunePackage rec {
   pname = "bitstring";
-  version = "3.1.1";
+  version = "4.0.1";
+
+  useDune2 = true;
 
   src = fetchFromGitHub {
     owner = "xguerin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ys8xx174jf8v5sm0lbxvzhdlcs5p0fhy1gvf58gad2g4gvgpvxc";
+    sha256 = "1z7jmgljvp52lvn3ml2cp6gssxqp4sikwyjf6ym97cycbcw0fjjm";
   };
 
-  buildInputs = [ ppx_tools_versioned ounit ];
-  doCheck = true;
+  propagatedBuildInputs = [ stdlib-shims ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml";
     homepage = "https://github.com/xguerin/bitstring";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/ocaml-modules/bitstring/ppx.nix b/pkgs/development/ocaml-modules/bitstring/ppx.nix
new file mode 100644
index 00000000000..ee0a8c51f73
--- /dev/null
+++ b/pkgs/development/ocaml-modules/bitstring/ppx.nix
@@ -0,0 +1,18 @@
+{ lib, buildDunePackage, ocaml
+, bitstring, ppxlib
+, ounit
+}:
+
+buildDunePackage rec {
+  pname = "ppx_bitstring";
+  inherit (bitstring) version useDune2 src;
+
+  buildInputs = [ bitstring ppxlib ];
+
+  doCheck = lib.versionAtLeast ocaml.version "4.08";
+  checkInputs = [ ounit ];
+
+  meta = bitstring.meta // {
+    description = "Bitstrings and bitstring matching for OCaml - PPX extension";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/eliom/default.nix b/pkgs/development/ocaml-modules/eliom/default.nix
index de2955e57c9..5d3c5310044 100644
--- a/pkgs/development/ocaml-modules/eliom/default.nix
+++ b/pkgs/development/ocaml-modules/eliom/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchzip, which, ocsigen_server, ocaml,
   lwt_react,
   opaline, ppx_deriving, findlib
+, ppx_tools_versioned
 , js_of_ocaml-ocamlbuild, js_of_ocaml-ppx, js_of_ocaml-ppx_deriving_json
 , js_of_ocaml-lwt
 , js_of_ocaml-tyxml
@@ -22,6 +23,7 @@ stdenv.mkDerivation rec
   };
 
   buildInputs = [ ocaml which findlib js_of_ocaml-ocamlbuild js_of_ocaml-ppx_deriving_json opaline
+    ppx_tools_versioned
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix
index f2707064f2a..2df17844d1a 100644
--- a/pkgs/development/ocaml-modules/lwt/ppx.nix
+++ b/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -1,8 +1,12 @@
-{ fetchzip, buildDunePackage, lwt, ppx_tools_versioned }:
+{ fetchzip, buildDunePackage, lwt, ppxlib }:
 
 buildDunePackage {
   pname = "lwt_ppx";
-  version = "2.0.1";
+  version = "2.0.2";
+
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.04";
 
   src = fetchzip {
     # `lwt_ppx` has a different release cycle than Lwt, but it's included in
@@ -12,12 +16,11 @@ buildDunePackage {
     #
     # This is particularly useful for overriding Lwt without breaking `lwt_ppx`,
     # as new Lwt releases may contain broken `lwt_ppx` code.
-    url = "https://github.com/ocsigen/lwt/archive/5.2.0.tar.gz";
-    sha256 = "1znw8ckwdmqsnrcgar4g33zgr659l4l904bllrz69bbwdnfmz2x3";
+    url = "https://github.com/ocsigen/lwt/archive/5.4.0.tar.gz";
+    sha256 = "1ay1zgadnw19r9hl2awfjr22n37l7rzxd9v73pjbahavwm2ay65d";
   };
 
-
-  propagatedBuildInputs = [ lwt ppx_tools_versioned ];
+  propagatedBuildInputs = [ lwt ppxlib ];
 
   meta = {
     description = "Ppx syntax extension for Lwt";
diff --git a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
index 958c088cd6a..5200c13d89f 100644
--- a/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_tools_versioned/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   pname = "ppx_tools_versioned";
   version = "5.4.0";
 
+  useDune2 = true;
+
   src = fetchFromGitHub {
     owner = "ocaml-ppx";
     repo = pname;
diff --git a/pkgs/development/python-modules/aiosqlite/default.nix b/pkgs/development/python-modules/aiosqlite/default.nix
index e616a536347..44cae12cba5 100644
--- a/pkgs/development/python-modules/aiosqlite/default.nix
+++ b/pkgs/development/python-modules/aiosqlite/default.nix
@@ -1,32 +1,31 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
-, setuptools
 , aiounittest
+, buildPythonPackage
+, fetchPypi
 , isPy27
-, pytest
+, pytestCheckHook
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "aiosqlite";
-  version = "0.12.0";
+  version = "0.16.0";
   disabled = isPy27;
 
-  src = fetchFromGitHub {
-    owner = "jreese";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "090vdv210zfry0bms5b3lmm06yhiyjb8ga96996cqs611l7c2a2j";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1a0fjmlvadyzsml10g5p1qif7192k0swy5zwjp8v48y5zc3yy56h";
   };
 
-  buildInputs = [
-    setuptools
-  ];
-
   checkInputs = [
     aiounittest
+    pytestCheckHook
+    typing-extensions
   ];
 
+  # tests are not pick-up automatically by the hook
+  pytestFlagsArray = [ "aiosqlite/tests/*.py" ];
+
   meta = with lib; {
     description = "Asyncio bridge to the standard sqlite3 module";
     homepage = "https://github.com/jreese/aiosqlite";
diff --git a/pkgs/development/python-modules/audio-metadata/default.nix b/pkgs/development/python-modules/audio-metadata/default.nix
index 1adee4403b9..fc3adf2534e 100644
--- a/pkgs/development/python-modules/audio-metadata/default.nix
+++ b/pkgs/development/python-modules/audio-metadata/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
+{ lib, buildPythonPackage, fetchPypi
 , attrs
 , bidict
 , bitstruct
@@ -18,9 +18,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "bidict>=0.17,<0.18" "bidict" \
-      --replace "more-itertools>=4.0,<8.0" "more-itertools" \
-      --replace "pendulum>=2.0,<=3.0,!=2.0.5,!=2.1.0" "pendulum>=2.0,<=3.0"
+      --replace "'attrs>=18.2,<19.4'" "'attrs'"
   '';
 
   propagatedBuildInputs = [
@@ -35,8 +33,6 @@ buildPythonPackage rec {
   # No tests
   doCheck = false;
 
-  disabled = pythonOlder "3.6";
-
   meta = with lib; {
     homepage = "https://github.com/thebigmunch/audio-metadata";
     description = "A library for reading and, in the future, writing metadata from audio files";
diff --git a/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix b/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix
new file mode 100644
index 00000000000..7db161b8611
--- /dev/null
+++ b/pkgs/development/python-modules/backports-datetime-fromisoformat/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "backports-datetime-fromisoformat";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0p0gyhfqq6gssf3prsy0pcfq5w0wx2w3pcjqbwx3imvc92ls4xwm";
+  };
+
+  # no tests in pypi package
+  doCheck = false;
+
+  pythonImportsCheck = [ "backports.datetime_fromisoformat" ];
+
+  meta = with lib; {
+    description = "Backport of Python 3.7's datetime.fromisoformat";
+    homepage = "https://github.com/movermeyer/backports.datetime_fromisoformat";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/bitbox02/default.nix b/pkgs/development/python-modules/bitbox02/default.nix
new file mode 100644
index 00000000000..e9cf4b36a49
--- /dev/null
+++ b/pkgs/development/python-modules/bitbox02/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, base58, ecdsa, hidapi, noiseprotocol, protobuf, semver, typing-extensions }:
+
+buildPythonPackage rec {
+  pname = "bitbox02";
+  version = "5.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hnjjjarr4q22wh03zyyqfhsizzsvg46030kks3qkzbsv29vqqh5";
+  };
+
+  propagatedBuildInputs = [ base58 ecdsa hidapi noiseprotocol protobuf semver typing-extensions ];
+
+  # does not contain tests
+  doCheck = false;
+  pythonImportsCheck = [ "bitbox02" ];
+
+  meta = with lib; {
+    description = "Firmware code of the BitBox02 hardware wallet";
+    homepage = "https://github.com/digitalbitbox/bitbox02-firmware/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index a40c9178358..de2095bd728 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname =  "boto3";
-  version = "1.16.48"; # N.B: if you change this, change botocore too
+  version = "1.16.50"; # N.B: if you change this, change botocore too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-5pFawWSgU2d4fbJBbuqoZirl4LnFOQLb8jtAdobvUCg=";
+    sha256 = "sha256-TVAqhCuB/axLlQ07iKW5BnzhGCE7Eisg9BkgA8sGeYY=";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index 50f7295b8d0..04690e86f5e 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.19.48"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.19.50"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uVTFlvi98x1f3x7/iiKWvegJTh4ilhp5uDu2Ld66ikk=";
+    sha256 = "sha256-cJCQumG7p9+oMbQ31hy0aahSmNjzzluOEs30G9KyvGE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cherrypy/default.nix b/pkgs/development/python-modules/cherrypy/default.nix
index f23d0600192..3e9f75795e4 100644
--- a/pkgs/development/python-modules/cherrypy/default.nix
+++ b/pkgs/development/python-modules/cherrypy/default.nix
@@ -45,6 +45,8 @@ buildPythonPackage rec {
         "--deselect=cherrypy/test/test_bus.py::BusMethodTests::test_block"}
   '';
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with stdenv.lib; {
     homepage = "https://www.cherrypy.org";
     description = "A pythonic, object-oriented HTTP framework";
diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix
index 537ffdbaf95..ebc0eb51df4 100644
--- a/pkgs/development/python-modules/cirq/default.nix
+++ b/pkgs/development/python-modules/cirq/default.nix
@@ -5,7 +5,7 @@
 , fetchFromGitHub
 , fetchpatch
 , freezegun
-, google_api_core
+, google-api-core
 , matplotlib
 , networkx
 , numpy
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     freezegun
-    google_api_core
+    google-api-core
     numpy
     matplotlib
     networkx
diff --git a/pkgs/development/python-modules/coronavirus/default.nix b/pkgs/development/python-modules/coronavirus/default.nix
new file mode 100644
index 00000000000..ddf87816b8f
--- /dev/null
+++ b/pkgs/development/python-modules/coronavirus/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "coronavirus";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "nabucasa";
+    repo = pname;
+    rev = version;
+    sha256 = "0mx6ifp8irj3669c67hs9r79k8gar6j4aq7d4ji21pllyhyahdwm";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # no tests are present
+  doCheck = false;
+  pythonImportsCheck = [ "coronavirus" ];
+
+  meta = with lib; {
+    description = "Python client for getting Corona virus info";
+    homepage = "https://github.com/nabucasa/coronavirus";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
index a8ae7574688..30807035579 100644
--- a/pkgs/development/python-modules/croniter/default.nix
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "0.3.36";
+  version = "0.3.37";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d3098e50f7edc7480470455d42f09c501fa1bb7e2fc113526ec6e90b068f32c";
+    sha256 = "12ced475dfc107bf7c6c1440af031f34be14cd97bbbfaf0f62221a9c11e86404";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/demjson/default.nix b/pkgs/development/python-modules/demjson/default.nix
index 58f2012aea7..9cd39c34ea0 100644
--- a/pkgs/development/python-modules/demjson/default.nix
+++ b/pkgs/development/python-modules/demjson/default.nix
@@ -10,6 +10,9 @@ buildPythonPackage rec {
     sha256 = "0ygbddpnvp5lby6mr5kz60la3hkvwwzv3wwb3z0w9ngxl0w21pii";
   };
 
+  doCheck = false;
+  pythonImportsCheck = [ "demjson" ];
+
   meta = with stdenv.lib; {
     description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)";
     homepage = "https://github.com/dmeranda/demjson";
diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix
index 9b9597c98be..27040526312 100644
--- a/pkgs/development/python-modules/elementpath/default.nix
+++ b/pkgs/development/python-modules/elementpath/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, isPy27 }:
 
 buildPythonPackage rec {
-  version = "2.0.4";
+  version = "2.1.0";
   pname = "elementpath";
   disabled = isPy27; # uses incompatible class syntax
 
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "elementpath";
     rev = "v${version}";
-    sha256 = "0812il5xn7cq0qa0vmkszrvprakfpyxmilk7s918l9kavdy4al8x";
+    sha256 = "17a0gcwmv87kikirgkgr305f5c7wz34hf7djssx4xbk9lfq9m2lg";
   };
 
   # avoid circular dependency with xmlschema which directly depends on this
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index 32ebd6a0307..dadfc41c68b 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -1,61 +1,58 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, uvicorn
-, starlette
 , pydantic
-, isPy3k
-, pytest
-, pytestcov
-, pyjwt
-, passlib
+, starlette
+, pytestCheckHook
+, pytest-asyncio
 , aiosqlite
-, peewee
+, databases
 , flask
+, httpx
+, passlib
+, peewee
+, python-jose
+, sqlalchemy
 }:
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.55.1";
+  version = "0.63.0";
   format = "flit";
-  disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "tiangolo";
     repo = "fastapi";
     rev = version;
-    sha256 = "1515nhwari48v0angyl5z3cfpvwn4al2nvqh0cjd9xgxzvm310s8";
+    sha256 = "0l3imrcs42pqf9d6k8c1q15k5sqcnapl5zk71xl52mrxhz49lgpi";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "starlette ==0.13.2" "starlette"
+      --replace "starlette ==0.13.6" "starlette"
   '';
 
   propagatedBuildInputs = [
-    uvicorn
     starlette
     pydantic
   ];
 
   checkInputs = [
-    pytest
-    pytestcov
-    pyjwt
-    passlib
     aiosqlite
-    peewee
+    databases
     flask
+    httpx
+    passlib
+    peewee
+    python-jose
+    pytestCheckHook
+    pytest-asyncio
+    sqlalchemy
   ];
 
-  # test_default_response_class.py: requires orjson, which requires rust toolchain
-  # test_custom_response/test_tutorial001b.py: requires orjson
-  # tests/test_tutorial/test_sql_databases/test_testing_databases.py: just broken, don't know why
-  checkPhase = ''
-    pytest --ignore=tests/test_default_response_class.py \
-           --ignore=tests/test_tutorial/test_custom_response/test_tutorial001b.py \
-           --ignore=tests/test_tutorial/test_sql_databases/test_testing_databases.py
-  '';
+  # disabled tests require orjson which requires rust nightly
+  pytestFlagsArray = [ "--ignore=tests/test_default_response_class.py" ];
+  disabledTests = [ "test_get_custom_response" ];
 
   meta = with lib; {
     homepage = "https://github.com/tiangolo/fastapi";
diff --git a/pkgs/development/python-modules/fastdiff/default.nix b/pkgs/development/python-modules/fastdiff/default.nix
new file mode 100644
index 00000000000..b3e27d7a5e8
--- /dev/null
+++ b/pkgs/development/python-modules/fastdiff/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pytest-benchmark, wasmer }:
+
+buildPythonPackage rec {
+  pname = "fastdiff";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ai95vjchl4396zjl1b69xfqvn9kn1y7c40d9l0qxdss0pcx6fk2";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'pytest-runner' ""
+  '';
+
+  propagatedBuildInputs = [ wasmer ];
+
+  checkInputs = [ pytestCheckHook pytest-benchmark ];
+
+  pythonImportsCheck = [ "fastdiff" ];
+  disabledTests = [ "test_native" ];
+
+  meta = with lib; {
+    description = "A fast native implementation of diff algorithm with a pure Python fallback";
+    homepage = "https://github.com/syrusakbary/fastdiff";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/fixerio/default.nix b/pkgs/development/python-modules/fixerio/default.nix
new file mode 100644
index 00000000000..786681df1c8
--- /dev/null
+++ b/pkgs/development/python-modules/fixerio/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pytestCheckHook
+, httpretty
+}:
+
+buildPythonPackage rec {
+  pname = "fixerio";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "amatellanes";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1k9ss5jc7sbpkjd2774vbmvljny0wm2lrc8155ha8yk2048jsaxk";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "requests==2.10.0" "requests"
+  '';
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    httpretty
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "fixerio" ];
+
+  meta = with lib; {
+    description = "Python client for Fixer.io";
+    longDescription = ''
+      Fixer.io is a free JSON API for current and historical foreign
+      exchange rates published by the European Central Bank.
+    '';
+    homepage = "https://github.com/amatellanes/fixerio";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_api_core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix
index efe74d47884..6715590dc32 100644
--- a/pkgs/development/python-modules/google_api_core/default.nix
+++ b/pkgs/development/python-modules/google-api-core/default.nix
@@ -1,27 +1,44 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, google_auth, protobuf
-, googleapis_common_protos, requests, grpcio, mock, pytest, pytest-asyncio, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-auth
+, googleapis_common_protos
+, grpcio
+, protobuf
+, pytz
+, requests
+, mock
+, pytest
+, pytest-asyncio
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "1.23.0";
-  disabled = pythonOlder "3.5";
+  version = "1.24.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bb3c485c38eacded8d685b1759968f6cf47dd9432922d34edb90359eaa391e2";
+    sha256 = "0sflnpgsvk2h1cr1m3mgxx6pzz55xw7sk4y4qdimhs5jdm2fw78g";
   };
 
-  propagatedBuildInputs =
-    [ googleapis_common_protos protobuf google_auth requests grpcio ];
+  propagatedBuildInputs = [
+    googleapis_common_protos
+    google-auth
+    grpcio
+    protobuf
+    pytz
+    requests
+  ];
 
-  checkInputs = [ google_auth mock protobuf pytest-asyncio pytestCheckHook ];
+  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
 
   # prevent google directory from shadowing google imports
   preCheck = ''
     rm -r google
   '';
 
-  pythonImportsCheck = [ "google.auth" "google.protobuf" "google.api" ];
+  pythonImportsCheck = [ "google.api_core" ];
 
   meta = with lib; {
     description = "Core Library for Google Client Libraries";
@@ -33,6 +50,6 @@ buildPythonPackage rec {
     changelog =
       "https://github.com/googleapis/python-api-core/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
index b14276b0a1a..2f6508c062f 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, google_auth, google-auth-httplib2, google_api_core
+, google-auth, google-auth-httplib2, google-api-core
 , httplib2, six, uritemplate, oauth2client }:
 
 buildPythonPackage rec {
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   propagatedBuildInputs = [
-    google_auth google-auth-httplib2 google_api_core
+    google-auth google-auth-httplib2 google-api-core
     httplib2 six uritemplate oauth2client
   ];
 
diff --git a/pkgs/development/python-modules/google_apputils/default.nix b/pkgs/development/python-modules/google-apputils/default.nix
index c7b386623ef..b679be9dbf7 100644
--- a/pkgs/development/python-modules/google_apputils/default.nix
+++ b/pkgs/development/python-modules/google-apputils/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
+, isPy3k
 , pytz
 , gflags
 , dateutil
@@ -11,10 +12,11 @@
 buildPythonPackage rec {
   pname = "google-apputils";
   version = "0.4.2";
+  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "47959d0651c32102c10ad919b8a0ffe0ae85f44b8457ddcf2bdc0358fb03dc29";
+    sha256 = "0afw0gxmh0yw5g7xsmw49gs8bbp0zyhbh6fr1b0h48f3a439v5a7";
   };
 
   preConfigure = ''
@@ -34,6 +36,6 @@ buildPythonPackage rec {
     description = "Google Application Utilities for Python";
     homepage = "https://github.com/google/google-apputils";
     license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
-
 }
diff --git a/pkgs/development/python-modules/google-auth-httplib2/default.nix b/pkgs/development/python-modules/google-auth-httplib2/default.nix
index ff5aa3b2bac..bb7836ef85d 100644
--- a/pkgs/development/python-modules/google-auth-httplib2/default.nix
+++ b/pkgs/development/python-modules/google-auth-httplib2/default.nix
@@ -3,13 +3,11 @@
 , buildPythonPackage
 , fetchPypi
 , flask
+, google-auth
+, httplib2
 , mock
-, six
-, pytest
+, pytestCheckHook
 , pytest-localserver
-, google_auth
-, httplib2
-
 }:
 
 buildPythonPackage rec {
@@ -18,28 +16,25 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8d092cc60fb16517b12057ec0bba9185a96e3b7169d86ae12eae98e645b7bc39";
+    sha256 = "0fdwnx2yd65f5vhnmn39f4xnxac5j6x0pv2p42qifrdi1z32q2cd";
   };
 
-  checkInputs = [
-    flask mock six pytest pytest-localserver
-  ];
-
   propagatedBuildInputs = [
-    google_auth httplib2
+    google-auth
+    httplib2
   ];
 
-  checkPhase = ''
-    py.test
-  '';
-
-  # ImportError: No module named google.auth
-  doCheck = isPy3k;
+  checkInputs = [
+    flask
+    mock
+    pytestCheckHook
+    pytest-localserver
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "Google Authentication Library: httplib2 transport";
     homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2";
-    license = lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
-
 }
diff --git a/pkgs/development/python-modules/google-auth-oauthlib/default.nix b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
index bdea58de899..7fa7200fbbe 100644
--- a/pkgs/development/python-modules/google-auth-oauthlib/default.nix
+++ b/pkgs/development/python-modules/google-auth-oauthlib/default.nix
@@ -1,44 +1,37 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pythonOlder
-, isPy3k
 , click
 , mock
-, pytest
-, futures
-, google_auth
+, pytestCheckHook
+, google-auth
 , requests_oauthlib
 }:
 
 buildPythonPackage rec {
   pname = "google-auth-oauthlib";
   version = "0.4.2";
-  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "65b65bc39ad8cab15039b35e5898455d3d66296d0584d96fe0e79d67d04c51d9";
+    sha256 = "1nai9k86g7g7w1pxk105dllncgax8nc5hpmk758b3jnqkb1mpdk5";
   };
 
-  checkInputs = [
-    click mock pytest
-  ] ++ lib.optionals (!isPy3k) [ futures ];
-
   propagatedBuildInputs = [
-    google_auth requests_oauthlib
+    google-auth
+    requests_oauthlib
   ];
 
-  doCheck = isPy3k;
-  checkPhase = ''
-    rm -fr tests/__pycache__/ google
-    py.test
-  '';
+  checkInputs = [
+    click
+    mock
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Google Authentication Library: oauthlib integration";
     homepage = "https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib";
     license = licenses.asl20;
-    maintainers = with maintainers; [ terlar ];
+    maintainers = with maintainers; [ SuperSandro2000 terlar ];
   };
 }
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
new file mode 100644
index 00000000000..abfe3754cce
--- /dev/null
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, pytestCheckHook
+, cachetools
+, flask
+, freezegun
+, mock
+, oauth2client
+, pyasn1-modules
+, pytest-localserver
+, responses
+, rsa
+}:
+
+buildPythonPackage rec {
+  pname = "google-auth";
+  version = "1.24.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bmdqkyv8k8n6s8dss4zpbcq1cdxwicpb42kwybd02ia85mh43hb";
+  };
+
+  propagatedBuildInputs = [ pyasn1-modules cachetools rsa ];
+
+  checkInputs = [
+    flask
+    freezegun
+    mock
+    oauth2client
+    pytestCheckHook
+    pytest-localserver
+    responses
+  ];
+
+  pythonImportsCheck = [
+    "google.auth"
+    "google.oauth2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Auth Python Library";
+    longDescription = ''
+      This library simplifies using Google’s various server-to-server
+      authentication mechanisms to access Google APIs.
+    '';
+    homepage = "https://github.com/googleapis/google-auth-library-python";
+    changelog = "https://github.com/googleapis/google-auth-library-python/blob/v${version}/CHANGELOG.md";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix b/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
index 01f7bc9ce33..3f614258a8f 100644
--- a/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
+++ b/pkgs/development/python-modules/google-cloud-access-context-manager/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, google_api_core }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, google-api-core }:
 
 buildPythonPackage rec {
   pname = "google-cloud-access-context-manager";
@@ -9,19 +9,19 @@ buildPythonPackage rec {
     sha256 = "1qy7wv1xn7g3x5z0vvv0pwmxhin4hw2m9fs9iklnghy00vg37v0b";
   };
 
-  disabled = pythonOlder "3.5";
-
-  propagatedBuildInputs = [ google_api_core ];
+  propagatedBuildInputs = [ google-api-core ];
 
   # No tests in repo
   doCheck = false;
 
-  pythonImportsCheck = [ "google.identity.accesscontextmanager" ];
+  pythonImportsCheck = [
+    "google.identity.accesscontextmanager"
+  ];
 
   meta = with lib; {
     description = "Protobufs for Google Access Context Manager.";
     homepage = "https://github.com/googleapis/python-access-context-manager";
     license = licenses.asl20;
-    maintainers = with maintainers; [ austinbutler ];
+    maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-asset/default.nix b/pkgs/development/python-modules/google-cloud-asset/default.nix
new file mode 100644
index 00000000000..d9baa821fa1
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-asset/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, grpc_google_iam_v1
+, google-api-core
+, google-cloud-access-context-manager
+, google-cloud-org-policy
+, google-cloud-os-config
+, google-cloud-testutils
+, libcst
+, proto-plus
+, pytest
+, pytest-asyncio
+, pytestCheckHook
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-asset";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05q0yaw6b553qmzylr45zin17h8mvi8yyyxhbv3cxa7f0ahviw8w";
+  };
+
+  propagatedBuildInputs = [
+    grpc_google_iam_v1
+    google-api-core
+    google-cloud-access-context-manager
+    google-cloud-org-policy
+    google-cloud-os-config
+    libcst
+    proto-plus
+  ];
+
+  checkInputs = [ google-cloud-testutils mock pytest-asyncio pytestCheckHook ];
+
+  pythonImportsCheck = [
+    "google.cloud.asset"
+    "google.cloud.asset_v1"
+    "google.cloud.asset_v1p1beta1"
+    "google.cloud.asset_v1p2beta1"
+    "google.cloud.asset_v1p4beta1"
+    "google.cloud.asset_v1p5beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Python Client for Google Cloud Asset API";
+    homepage = "https://github.com/googleapis/python-asset";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-automl/default.nix b/pkgs/development/python-modules/google-cloud-automl/default.nix
new file mode 100644
index 00000000000..ce2a9e116cd
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, libcst
+, google-api-core
+, google-cloud-storage
+, google-cloud-testutils
+, pandas
+, proto-plus
+, pytest-asyncio
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-automl";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "520dfe2ee04d28f3088c9c582fa2a534fc272647d5e2e59acc903c0152e61696";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [
+    google-cloud-storage
+    google-cloud-testutils
+    mock
+    pandas
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    # do not shadow imports
+    rm -r google
+    # requires credentials
+    rm tests/system/gapic/v1beta1/test_system_tables_client_v1.py
+  '';
+
+  disabledTests = [
+    # requires credentials
+    "test_prediction_client_client_info"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.automl"
+    "google.cloud.automl_v1"
+    "google.cloud.automl_v1beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud AutoML API client library";
+    homepage = "https://github.com/googleapis/python-automl";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
new file mode 100644
index 00000000000..fde46ab7f12
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, libcst
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-bigquery-datatransfer";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hmsqvs2srmqcwmli48vd5vw829zax3pwj63fsxig6sdhjlf6j7j";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pythonImportsCheck = [
+    "google.cloud.bigquery_datatransfer"
+    "google.cloud.bigquery_datatransfer_v1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "BigQuery Data Transfer API client library";
+    homepage = "https://github.com/googleapis/python-bigquery-datatransfer";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
new file mode 100644
index 00000000000..7206ee43af3
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, freezegun
+, google-cloud-core
+, google-cloud-testutils
+, google-resumable-media
+, grpcio
+, ipython
+, mock
+, pandas
+, proto-plus
+, pyarrow
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-bigquery";
+  version = "2.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vs4im0fixmszh6p77icys9g7fymwmkfc6va0ng9kpjv1h6gv68z";
+  };
+
+  propagatedBuildInputs = [
+    google-resumable-media
+    google-cloud-core
+    proto-plus
+    pyarrow
+  ];
+
+  checkInputs = [
+    freezegun
+    google-cloud-testutils
+    ipython
+    mock
+    pandas
+    pytestCheckHook
+  ];
+
+  # prevent google directory from shadowing google imports
+  preCheck = ''
+    rm -r google
+  '';
+
+  pythonImportsCheck = [
+    "google.cloud.bigquery"
+    "google.cloud.bigquery_v2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google BigQuery API client library";
+    homepage = "https://github.com/googleapis/python-bigquery";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_cloud_bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index bd12aa592d5..032a30bb242 100644
--- a/pkgs/development/python-modules/google_cloud_bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -2,8 +2,8 @@
 , buildPythonPackage
 , fetchPypi
 , grpc_google_iam_v1
-, google_api_core
-, google_cloud_core
+, google-api-core
+, google-cloud-core
 , pytest
 , mock
 }:
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ grpc_google_iam_v1 google_api_core google_cloud_core ];
+  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core google-cloud-core ];
 
   checkPhase = ''
     rm -r google
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
new file mode 100644
index 00000000000..011bb7b1967
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, grpc_google_iam_v1
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-container";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04f9mx1wxy3l9dvzvvr579fnjp1fdqhgplv5y2gl7h2mvn281k8d";
+  };
+
+  propagatedBuildInputs = [ google-api-core grpc_google_iam_v1 libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # requires credentials
+    "test_list_clusters"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.container"
+    "google.cloud.container_v1"
+    "google.cloud.container_v1beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Container Engine API client library";
+    homepage = "https://github.com/googleapis/python-container";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_cloud_core/default.nix b/pkgs/development/python-modules/google-cloud-core/default.nix
index 1ad08ea05af..c22c56a1ba4 100644
--- a/pkgs/development/python-modules/google_cloud_core/default.nix
+++ b/pkgs/development/python-modules/google-cloud-core/default.nix
@@ -1,31 +1,38 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytestCheckHook, python
-, google_api_core, grpcio, mock }:
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pytestCheckHook
+, python
+, google-api-core
+, grpcio
+, mock
+}:
 
 buildPythonPackage rec {
   pname = "google-cloud-core";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "21afb70c1b0bce8eeb8abb5dca63c5fd37fc8aea18f4b6d60e803bd3d27e6b80";
+    sha256 = "01liq4nrd2g3ingg8v0ly4c86db8agnr9h1fiz219c7fz0as0xqj";
   };
 
-  disabled = pythonOlder "3.5";
+  propagatedBuildInputs = [ google-api-core ];
 
-  propagatedBuildInputs = [ google_api_core grpcio ];
-  checkInputs = [ google_api_core mock pytestCheckHook ];
-
-  pythonImportsCheck = [ "google.cloud" ];
+  checkInputs = [ mock pytestCheckHook ];
 
   # prevent google directory from shadowing google imports
   preCheck = ''
     rm -r google
   '';
 
+  pythonImportsCheck = [ "google.cloud" ];
+
   meta = with stdenv.lib; {
     description = "API Client library for Google Cloud: Core Helpers";
     homepage = "https://github.com/googleapis/python-cloud-core";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-dataproc/default.nix b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
new file mode 100644
index 00000000000..f99b2c382fc
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-dataproc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, mock
+, libcst
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-dataproc";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07rv2kgbaqkbd71k5i2zn9kcxasfzkkyai8jnbszhkf92k0lmi41";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # requires credentials
+    "test_list_clusters"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.dataproc"
+    "google.cloud.dataproc_v1"
+    "google.cloud.dataproc_v1beta2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Dataproc API client library";
+    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-datastore/default.nix b/pkgs/development/python-modules/google-cloud-datastore/default.nix
new file mode 100644
index 00000000000..5daa2cdd81e
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-cloud-core
+, libcst
+, proto-plus
+, mock
+, pytestCheckHook
+, pytest-asyncio
+, google-cloud-testutils
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-datastore";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yyk9ix1jms5q4kk76cfxzy42wzzyl5qladdswjy5l0pg6iypr8i";
+  };
+
+  propagatedBuildInputs = [ google-api-core google-cloud-core libcst proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  preCheck = ''
+    # directory shadows imports
+    rm -r google
+    # requires credentials
+    rm tests/system/test_system.py
+  '';
+
+  pythonImportsCheck = [
+    "google.cloud.datastore"
+    "google.cloud.datastore_admin_v1"
+    "google.cloud.datastore_v1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Datastore API client library";
+    homepage = "https://github.com/googleapis/python-datastore";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix
new file mode 100644
index 00000000000..e02805c4076
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-cloud-testutils
+, libcst
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-dlp";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09rnzpdlycr1wv8agcfx05v1prn35ylphsbr07486zqdkh5wjk8p";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # requires credentials
+    "test_inspect_content"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.dlp"
+    "google.cloud.dlp_v2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud Data Loss Prevention (DLP) API API client library";
+    homepage = "https://github.com/googleapis/python-dlp";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-dns/default.nix b/pkgs/development/python-modules/google-cloud-dns/default.nix
new file mode 100644
index 00000000000..b6777fccec0
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-dns/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-cloud-core
+, pytestCheckHook
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-dns";
+  version = "0.32.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01l6pvfic0vxcvd97ckbxyc7ccr9vb9ln4lyhpp3amdmcy0far3j";
+  };
+
+  propagatedBuildInputs = [ google-api-core google-cloud-core ];
+
+  checkInputs = [ mock pytestCheckHook ];
+
+  preCheck = ''
+    # don#t shadow python imports
+    rm -r google
+  '';
+
+  disabledTests = [
+    # requires credentials
+    "test_quota"
+  ];
+
+  pythonImportsCheck = [ "google.cloud.dns" ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud DNS API client library";
+    homepage = "https://github.com/googleapis/python-dns";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_cloud_error_reporting/default.nix b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
index 19f90275ae9..cdd54a29124 100644
--- a/pkgs/development/python-modules/google_cloud_error_reporting/default.nix
+++ b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
@@ -1,6 +1,14 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_cloud_logging, google_cloud_testutils, libcst, mock, proto-plus
-, pytest-asyncio }:
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-cloud-logging
+, google-cloud-testutils
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
+}:
 
 buildPythonPackage rec {
   pname = "google-cloud-error-reporting";
@@ -11,13 +19,16 @@ buildPythonPackage rec {
     sha256 = "2fd6fe25343f7017c22e2733a0358c64b3171edc1669d0c8a1e1f07f86a048c4";
   };
 
-  disabled = pythonOlder "3.6";
+  propagatedBuildInputs = [ google-cloud-logging libcst proto-plus ];
 
-  checkInputs = [ google_cloud_testutils mock pytestCheckHook pytest-asyncio ];
-  propagatedBuildInputs = [ google_cloud_logging libcst proto-plus ];
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # require credentials
+    "test_report_error_event"
+    "test_report_exception"
+  ];
 
-  # Disable tests that require credentials
-  disabledTests = [ "test_report_error_event" "test_report_exception" ];
   # prevent google directory from shadowing google imports
   preCheck = ''
     rm -r google
@@ -27,6 +38,6 @@ buildPythonPackage rec {
     description = "Stackdriver Error Reporting API client library";
     homepage = "https://github.com/googleapis/python-error-reporting";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-firestore/default.nix b/pkgs/development/python-modules/google-cloud-firestore/default.nix
new file mode 100644
index 00000000000..1de3ea11b37
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-firestore/default.nix
@@ -0,0 +1,64 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, aiounittest
+, google-api-core
+, google-cloud-testutils
+, google-cloud-core
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-firestore";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1q5s2gpkibnjxal9zrz02jfnazf7rxk0bi0ln5a3di6i47kjnga9";
+  };
+
+  propagatedBuildInputs = [
+    google-api-core
+    google-cloud-core
+    proto-plus
+  ];
+
+  checkInputs = [
+    aiounittest
+    google-cloud-testutils
+    mock
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  preCheck = ''
+    # do not shadow imports
+    rm -r google
+  '';
+
+  pytestFlagsArray = [
+    # tests are broken
+    "--ignore=tests/system/test_system.py"
+    "--ignore=tests/system/test_system_async.py"
+  ];
+
+  disabledTests = [
+    # requires credentials
+    "test_collections"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.firestore_v1"
+    "google.cloud.firestore_admin_v1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Firestore API client library";
+    homepage = "https://github.com/googleapis/python-firestore";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-iam/default.nix b/pkgs/development/python-modules/google-cloud-iam/default.nix
index 9d612062938..f96940f4e67 100644
--- a/pkgs/development/python-modules/google-cloud-iam/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iam/default.nix
@@ -1,5 +1,14 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_api_core, libcst, mock, proto-plus, pytest-asyncio }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
+}:
 
 buildPythonPackage rec {
   pname = "google-cloud-iam";
@@ -10,13 +19,19 @@ buildPythonPackage rec {
     sha256 = "1zxsx5avs8njiyw32zvsx2yblmmiwxy771x334hbgmy0aqms4lak";
   };
 
-  propagatedBuildInputs = [ google_api_core libcst proto-plus ];
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
   checkInputs = [ mock pytestCheckHook pytest-asyncio ];
 
+  pythonImportsCheck = [
+    "google.cloud.iam_credentials"
+    "google.cloud.iam_credentials_v1"
+  ];
+
   meta = with lib; {
-    description = "Google Cloud IAM API client library";
+    description = "IAM Service Account Credentials API client library";
     homepage = "https://github.com/googleapis/python-iam";
     license = licenses.asl20;
-    maintainers = with maintainers; [ austinbutler ];
+    maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-iot/default.nix b/pkgs/development/python-modules/google-cloud-iot/default.nix
new file mode 100644
index 00000000000..7e8a224256d
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-iot/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, grpc_google_iam_v1
+, google-api-core
+, libcst
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-iot";
+  version = "2.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08spn5g0s386x21dgwb46na8aknbwq5d1sn8bh6kayk9fjfbxwla";
+  };
+
+  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # requires credentials
+    "test_list_device_registries"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.iot"
+    "google.cloud.iot_v1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud IoT API API client library";
+    homepage = "https://github.com/googleapis/python-iot";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_cloud_kms/default.nix b/pkgs/development/python-modules/google-cloud-kms/default.nix
index a4d2439fb49..49f088478ee 100644
--- a/pkgs/development/python-modules/google_cloud_kms/default.nix
+++ b/pkgs/development/python-modules/google-cloud-kms/default.nix
@@ -1,5 +1,13 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, grpc_google_iam_v1, google_api_core, libcst, mock, proto-plus, pytest-asyncio
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, grpc_google_iam_v1
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
 }:
 
 buildPythonPackage rec {
@@ -11,19 +19,22 @@ buildPythonPackage rec {
     sha256 = "0f3k2ixp1zsgydpvkj75bs2mb805389snyw30hn41c38qq5ksdga";
   };
 
-  disabled = pythonOlder "3.6";
+  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
 
   checkInputs = [ mock pytestCheckHook pytest-asyncio ];
-  propagatedBuildInputs =
-    [ grpc_google_iam_v1 google_api_core libcst proto-plus ];
 
   # Disable tests that need credentials
   disabledTests = [ "test_list_global_key_rings" ];
 
+  pythonImportsCheck = [
+    "google.cloud.kms"
+    "google.cloud.kms_v1"
+  ];
+
   meta = with stdenv.lib; {
     description = "Cloud Key Management Service (KMS) API API client library";
     homepage = "https://github.com/googleapis/python-kms";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-language/default.nix b/pkgs/development/python-modules/google-cloud-language/default.nix
new file mode 100644
index 00000000000..2074b1edb1d
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-language/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-language";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "123vqfrn7pyn3ia7cmhx8bgafd4gxxlmhf33s3vgspyjck6sprxb";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pythonImportsCheck = [
+    "google.cloud.language"
+    "google.cloud.language_v1"
+    "google.cloud.language_v1beta2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Natural Language API client library";
+    homepage = "https://github.com/googleapis/python-language";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-logging/default.nix b/pkgs/development/python-modules/google-cloud-logging/default.nix
new file mode 100644
index 00000000000..dba00274021
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-logging/default.nix
@@ -0,0 +1,59 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+, flask
+, google-api-core
+, google-cloud-core
+, google-cloud-testutils
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+, webapp2
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-logging";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0s09vs4rnq4637j8zw7grv3f4j7njqprm744b1knzldj91rg0vmi";
+  };
+
+  propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
+
+  checkInputs = [
+    django
+    flask
+    google-cloud-testutils
+    mock
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  disabledTests = [
+    # requires credentials
+    "test_write_log_entries"
+  ];
+
+  preCheck = ''
+    # prevent google directory from shadowing google imports
+    rm -r google
+    # requires credentials
+    rm tests/system/test_system.py tests/unit/test__gapic.py
+  '';
+
+  pythonImortsCheck = [
+    "google.cloud.logging"
+    "google.cloud.logging_v2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Stackdriver Logging API client library";
+    homepage = "https://github.com/googleapis/python-logging";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-monitoring/default.nix b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
new file mode 100644
index 00000000000..10d7264c560
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-monitoring/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-cloud-testutils
+, libcst
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-monitoring";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07r0y995fin6cbnqlhmd38fv3pfhhqyw04l7nr38sldrd82gmsqx";
+  };
+
+  propagatedBuildInputs = [ libcst google-api-core proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # requires credentials
+    "test_list_monitored_resource_descriptors"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.monitoring"
+    "google.cloud.monitoring_v3"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Stackdriver Monitoring API client library";
+    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/pkgs/development/python-modules/google-cloud-org-policy/default.nix
index 39cc0dc9c24..10ee559b8f0 100644
--- a/pkgs/development/python-modules/google-cloud-org-policy/default.nix
+++ b/pkgs/development/python-modules/google-cloud-org-policy/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder, google_api_core }:
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, google-api-core }:
 
 buildPythonPackage rec {
   pname = "google-cloud-org-policy";
@@ -9,9 +9,7 @@ buildPythonPackage rec {
     sha256 = "0ncgcnbvmgqph54yh2pjx2hh82gnkhsrw5yirp4wlf7jclh6j9xh";
   };
 
-  disabled = pythonOlder "3.5";
-
-  propagatedBuildInputs = [ google_api_core ];
+  propagatedBuildInputs = [ google-api-core ];
 
   # No tests in repo
   doCheck = false;
@@ -22,6 +20,6 @@ buildPythonPackage rec {
     description = "Protobufs for Google Cloud Organization Policy.";
     homepage = "https://github.com/googleapis/python-org-policy";
     license = licenses.asl20;
-    maintainers = with maintainers; [ austinbutler ];
+    maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-os-config/default.nix b/pkgs/development/python-modules/google-cloud-os-config/default.nix
new file mode 100644
index 00000000000..94d8d4738f5
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchPypi, google-api-core, libcst, mock, proto-plus, pytestCheckHook, pytest-asyncio }:
+
+buildPythonPackage rec {
+  pname = "google-cloud-os-config";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07zvagy9hwaccwvg1xad5nkalgkria0maa5yxiwqf1yk9f7gbyq1";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pythonImportsCheck = [ "google.cloud.osconfig" ];
+
+  disabledTests = [
+    "test_patch_deployment"
+    "test_patch_job"
+  ];
+
+  meta = with lib; {
+    description = "Google Cloud OS Config API client library";
+    homepage = "https://github.com/googleapis/python-os-config";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
new file mode 100644
index 00000000000..e946f74ed3b
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-api-core
+, google-cloud-testutils
+, grpc_google_iam_v1
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-pubsub";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rfdbkxbndi00wx9dx733ihp3hmcsk6k23pcjni0ki7m0c4acl5w";
+  };
+
+  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  preCheck = ''
+    # prevent google directory from shadowing google imports
+    rm -r google
+    # Tests in pubsub_v1 attempt to contact pubsub.googleapis.com
+    rm -r tests/unit/pubsub_v1
+  '';
+
+  pythonImportsCheck = [ "google.cloud.pubsub" ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Pub/Sub API client library";
+    homepage = "https://pypi.org/project/google-cloud-pubsub";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-redis/default.nix b/pkgs/development/python-modules/google-cloud-redis/default.nix
new file mode 100644
index 00000000000..9408c6642d9
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-redis";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1f67mr473vzv0qgjm4hycfnrjgiqrsv47vqrynwjy9yrca2130y7";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pythonImportsCheck = [
+    "google.cloud.redis"
+    "google.cloud.redis_v1"
+    "google.cloud.redis_v1beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Memorystore for Redis API client library";
+    homepage = "https://github.com/googleapis/python-redis";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-resource-manager/default.nix b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
new file mode 100644
index 00000000000..36e8d0bcc52
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-resource-manager/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-cloud-core
+, google-api-core
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-resource-manager";
+  version = "0.30.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1la643vkf6fm2gapz57cm92xzvmhzgpzv3bb6112yz1cizrvnxrm";
+  };
+
+  propagatedBuildInputs = [ google-api-core google-cloud-core ];
+
+  checkInputs = [ mock pytestCheckHook ];
+
+  # prevent google directory from shadowing google imports
+  preCheck = ''
+    rm -r google
+  '';
+
+  pythonImportsCheck = [ "google.cloud.resource_manager" ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Resource Manager API client library";
+    homepage = "https://github.com/googleapis/python-resource-manager";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix b/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
index d4fb4c59a18..c4e569b88ad 100644
--- a/pkgs/development/python-modules/google_cloud_runtimeconfig/default.nix
+++ b/pkgs/development/python-modules/google-cloud-runtimeconfig/default.nix
@@ -1,5 +1,11 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_api_core, google_cloud_core, mock }:
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-cloud-core
+, mock
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "google-cloud-runtimeconfig";
@@ -7,28 +13,27 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "57143ec3c5ed3e0bee590a98857eec06c68aa2eacbce477403226a0d2e85a8ad";
+    sha256 = "1bd8hlp0ssi20ds4gknbxai8mih6xiz8b60ab7p0ngpdqp1kw52p";
   };
 
-  disabled = pythonOlder "3.5";
+  propagatedBuildInputs = [ google-api-core google-cloud-core ];
 
   checkInputs = [ mock pytestCheckHook ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
 
-  # api_url test broken, fix not yet released
-  # https://github.com/googleapis/python-resource-manager/pull/31
   # Client tests require credentials
-  disabledTests = [ "build_api_url_w_custom_endpoint" "client_options" ];
+  disabledTests = [ "client_options" ];
 
   # prevent google directory from shadowing google imports
   preCheck = ''
     rm -r google
   '';
 
+  pythonImportsCheck = [ "google.cloud.runtimeconfig" ];
+
   meta = with stdenv.lib; {
     description = "Google Cloud RuntimeConfig API client library";
     homepage = "https://pypi.org/project/google-cloud-runtimeconfig";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-secret-manager/default.nix b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
new file mode 100644
index 00000000000..bb18b72caad
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-secret-manager/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, grpc_google_iam_v1
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-secret-manager";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0c2w8ny3n84faq1mq86f16lzqgqbk1977q2f5qxn5a5ccj8v821g";
+  };
+
+  propagatedBuildInputs = [
+    google-api-core
+    grpc_google_iam_v1
+    libcst
+    proto-plus
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.secretmanager"
+    "google.cloud.secretmanager_v1"
+    "google.cloud.secretmanager_v1beta1"
+  ];
+
+  meta = with lib; {
+    description = "Secret Manager API API client library";
+    homepage = "https://github.com/googleapis/python-secret-manager";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ siriobalmelli SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
new file mode 100644
index 00000000000..4784dbe4473
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, grpc_google_iam_v1
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-securitycenter";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lgz6qpsfv4b7p5ff4sdpjpaddxpbazdvlcrqr1i0c0qil2lkm2i";
+  };
+
+  propagatedBuildInputs = [ grpc_google_iam_v1 google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pythonImportsCheck = [
+    "google.cloud.securitycenter"
+    "google.cloud.securitycenter_v1"
+    "google.cloud.securitycenter_v1beta1"
+    "google.cloud.securitycenter_v1p1beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud Security Command Center API API client library";
+    homepage = "https://github.com/googleapis/python-securitycenter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
new file mode 100644
index 00000000000..2591fd9dc68
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, grpc_google_iam_v1
+, google-cloud-core
+, google-cloud-testutils
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+, sqlparse
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-spanner";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0mkkx6l3cbwfwng12zpisbv6m919fkhdb48xk24ayc19193bi86n";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"proto-plus == 1.11.0"' '"proto-plus"'
+  '';
+
+  propagatedBuildInputs = [ google-cloud-core grpc_google_iam_v1 libcst proto-plus sqlparse ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  preCheck = ''
+    # prevent google directory from shadowing google imports
+    rm -r google
+    # disable tests which require credentials
+    rm tests/system/test_{system,system_dbapi}.py
+    rm tests/unit/spanner_dbapi/test_{connect,connection,cursor}.py
+  '';
+
+  pythonImportsCheck = [
+    "google.cloud.spanner_admin_database_v1"
+    "google.cloud.spanner_admin_instance_v1"
+    "google.cloud.spanner_dbapi"
+    "google.cloud.spanner_v1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud Spanner API client library";
+    homepage = "https://github.com/googleapis/python-spanner";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-speech/default.nix b/pkgs/development/python-modules/google-cloud-speech/default.nix
new file mode 100644
index 00000000000..a1d6762eafb
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-speech";
+  version = "2.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ch85h5xrb15fcml5v0f30s0niw02k4v8gi7i8a40161yj882hm7";
+  };
+
+  propagatedBuildInputs = [ libcst google-api-core proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pytestFlagsArray = [
+    # requrire credentials
+    "--ignore=tests/system/gapic/v1/test_system_speech_v1.py"
+    "--ignore=tests/system/gapic/v1p1beta1/test_system_speech_v1p1beta1.py"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.speech"
+    "google.cloud.speech_v1"
+    "google.cloud.speech_v1p1beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Speech API client library";
+    homepage = "https://github.com/googleapis/python-speech";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
new file mode 100644
index 00000000000..cf869d5c8ef
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -0,0 +1,64 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-auth
+, google-cloud-iam
+, google-cloud-core
+, google-cloud-kms
+, google-cloud-testutils
+, google-resumable-media
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-storage";
+  version = "1.35.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17kal75wmyjpva7g04cb9yg7qbyrgwfn575z4gqijd4gz2r0sp2m";
+  };
+
+  propagatedBuildInputs = [
+    google-auth
+    google-cloud-core
+    google-resumable-media
+  ];
+
+  checkInputs = [
+    google-cloud-iam
+    google-cloud-kms
+    google-cloud-testutils
+    mock
+    pytestCheckHook
+  ];
+
+  # disable tests which require credentials and network access
+  disabledTests = [
+    "create"
+    "download"
+    "get"
+    "post"
+    "test_build_api_url"
+  ];
+
+  pytestFlagsArray = [
+    "--ignore=tests/unit/test_bucket.py"
+    "--ignore=tests/system/test_system.py"
+  ];
+
+  # prevent google directory from shadowing google imports
+  preCheck = ''
+    rm -r google
+  '';
+
+  pythonImportsCheck = [ "google.cloud.storage" ];
+
+  meta = with lib; {
+    description = "Google Cloud Storage API client library";
+    homepage = "https://github.com/googleapis/python-storage";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
new file mode 100644
index 00000000000..8f86e71daed
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, grpc_google_iam_v1
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-tasks";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jsf7y88lvln9r08pmx673ibmgw397qmir5drrcfvlmgqvszp7qx";
+  };
+
+  propagatedBuildInputs = [ google-api-core grpc_google_iam_v1 libcst proto-plus ];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # requires credentials
+    "test_list_queues"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.tasks"
+    "google.cloud.tasks_v2"
+    "google.cloud.tasks_v2beta2"
+    "google.cloud.tasks_v2beta3"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud Tasks API API client library";
+    homepage = "https://github.com/googleapis/python-tasks";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_cloud_testutils/default.nix b/pkgs/development/python-modules/google-cloud-testutils/default.nix
index dfd6354dcc4..7358c61f59a 100644
--- a/pkgs/development/python-modules/google_cloud_testutils/default.nix
+++ b/pkgs/development/python-modules/google-cloud-testutils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, google_auth, pytest, six }:
+{ stdenv, buildPythonPackage, fetchPypi, google-auth, six }:
 
 buildPythonPackage rec {
   pname = "google-cloud-testutils";
@@ -9,15 +9,17 @@ buildPythonPackage rec {
     sha256 = "1bn1pz00lxym3vkl6l45b3nydpmfdvmylwggh2lspldrxwx39a0k";
   };
 
-  propagatedBuildInputs = [ google_auth six ];
+  propagatedBuildInputs = [ google-auth six ];
 
-  # There are no tests
+  # does not contain tests
   doCheck = false;
 
+  pythonImportsCheck = [ "test_utils" ];
+
   meta = with stdenv.lib; {
     description = "System test utilities for google-cloud-python";
     homepage = "https://github.com/googleapis/python-test-utils";
     license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-cloud-texttospeech/default.nix b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
new file mode 100644
index 00000000000..7c8f738f57b
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-texttospeech/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-texttospeech";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17igfwh34369gkvsbrm46j1ii61i6268wg2g2dl9c65nf9z3kgfb";
+  };
+
+  propagatedBuildInputs = [ libcst google-api-core proto-plus ];
+
+  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
+
+  disabledTests = [
+    # Disable tests that require credentials
+    "test_list_voices"
+    "test_synthesize_speech"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.texttospeech"
+    "google.cloud.texttospeech_v1"
+    "google.cloud.texttospeech_v1beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Text-to-Speech API client library";
+    homepage = "https://github.com/googleapis/python-texttospeech";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix
new file mode 100644
index 00000000000..200f3dc1816
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, google-cloud-core
+, google-cloud-testutils
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-trace";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lvcm4w1l7hiqg64kdscch3f3bq19q9ii49xj4lljn2a4xffxl8v";
+  };
+
+  propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # require credentials
+    "test_batch_write_spans"
+    "test_list_traces"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.trace"
+    "google.cloud.trace_v1"
+    "google.cloud.trace_v2"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud Trace API client library";
+    homepage = "https://github.com/googleapis/python-trace";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-translate/default.nix b/pkgs/development/python-modules/google-cloud-translate/default.nix
new file mode 100644
index 00000000000..41ec5e76fec
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-translate/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-api-core
+, google-cloud-core
+, google-cloud-testutils
+, grpcio
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-translate";
+  version = "3.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1s2gvlzfqd2gsrzaz7yl9q8s1k03dlsjahgg95s017vlcn21d0v1";
+  };
+
+  propagatedBuildInputs = [ google-api-core google-cloud-core libcst proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  preCheck = ''
+    # prevent shadowing imports
+    rm -r google
+  '';
+
+  pythonImportsCheck = [
+    "google.cloud.translate"
+    "google.cloud.translate_v2"
+    "google.cloud.translate_v3"
+    "google.cloud.translate_v3beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Translation API client library";
+    homepage = "https://github.com/googleapis/python-translate";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
new file mode 100644
index 00000000000..72a7f42e4f5
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -0,0 +1,45 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+, google-api-core
+, google-cloud-testutils
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-videointelligence";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yhmizig41ymr2dz0i6ccrwszp0ivyykmq11vqxp82l9ncjima82";
+  };
+
+  propagatedBuildInputs = [ google-api-core proto-plus ];
+
+  checkInputs = [ google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  disabledTests = [
+    # require credentials
+    "test_annotate_video"
+  ];
+
+  pythonImportsCheck = [
+    "google.cloud.videointelligence"
+    "google.cloud.videointelligence_v1"
+    "google.cloud.videointelligence_v1beta2"
+    "google.cloud.videointelligence_v1p1beta1"
+    "google.cloud.videointelligence_v1p2beta1"
+    "google.cloud.videointelligence_v1p3beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Video Intelligence API client library";
+    homepage = "https://github.com/googleapis/python-videointelligence";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-vision/default.nix b/pkgs/development/python-modules/google-cloud-vision/default.nix
new file mode 100644
index 00000000000..42e0aa61f74
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-vision/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-vision";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qbwhapmn5ia853c4nfnz1qiksngvr8j0xxjasrykwhxcsd7s1ka";
+  };
+
+  propagatedBuildInputs = [ libcst google-api-core proto-plus];
+
+  checkInputs = [ mock pytestCheckHook pytest-asyncio ];
+
+  pythonImportsCheck = [
+    "google.cloud.vision"
+    "google.cloud.vision_helpers"
+    "google.cloud.vision_v1"
+    "google.cloud.vision_v1p1beta1"
+    "google.cloud.vision_v1p2beta1"
+    "google.cloud.vision_v1p3beta1"
+    "google.cloud.vision_v1p4beta1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Cloud Vision API API client library";
+    homepage = "https://github.com/googleapis/python-vision";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
new file mode 100644
index 00000000000..c145bf9837d
--- /dev/null
+++ b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, google-api-core
+, libcst
+, mock
+, proto-plus
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "google-cloud-websecurityscanner";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14sky9bkl00n65ksig3f6psm31pkmkvlcprlk6s9if470j40zrhx";
+  };
+
+  propagatedBuildInputs = [ google-api-core libcst proto-plus ];
+
+  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
+
+  pythonImportsCheck = [
+    "google.cloud.websecurityscanner_v1alpha"
+    "google.cloud.websecurityscanner_v1beta"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Google Cloud Web Security Scanner API client library";
+    homepage = "https://github.com/googleapis/python-websecurityscanner";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google-crc32c/default.nix b/pkgs/development/python-modules/google-crc32c/default.nix
index fbed406cebc..aaf16d9e7c8 100644
--- a/pkgs/development/python-modules/google-crc32c/default.nix
+++ b/pkgs/development/python-modules/google-crc32c/default.nix
@@ -1,31 +1,31 @@
-{ lib, buildPythonPackage, isPy3k, fetchFromGitHub, cffi, crc32c, pytestCheckHook }:
+{ lib, buildPythonPackage, fetchFromGitHub, cffi, crc32c, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "google-crc32c";
-  version = "1.0.0";
-
-  disabled = !isPy3k;
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "googleapis";
     repo = "python-crc32c";
     rev = "v${version}";
-    sha256 = "0n3ggsxmk1fhq0kz6p5rcj4gypfb05i26fcn7lsawakgl7fzxqyl";
+    sha256 = "0vbidg9yrv9k8xvk8rl43lsf4cg3dci4a9k4srwwrchbxivz1gr6";
   };
 
-  buildInputs = [ crc32c  ];
+  buildInputs = [ crc32c ];
+
   propagatedBuildInputs = [ cffi ];
 
   LDFLAGS = "-L${crc32c}/lib";
   CFLAGS = "-I${crc32c}/include";
 
   checkInputs = [ pytestCheckHook crc32c ];
+
   pythonImportsCheck = [ "google_crc32c" ];
 
   meta = with lib; {
     homepage = "https://github.com/googleapis/python-crc32c";
     description = "Wrapper the google/crc32c hardware-based implementation of the CRC32C hashing algorithm";
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ freezeboy ];
+    maintainers = with maintainers; [ freezeboy SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/google-i18n-address/default.nix b/pkgs/development/python-modules/google-i18n-address/default.nix
index 56a77258c8a..590962590e5 100644
--- a/pkgs/development/python-modules/google-i18n-address/default.nix
+++ b/pkgs/development/python-modules/google-i18n-address/default.nix
@@ -1,4 +1,4 @@
-{ buildPythonPackage, fetchPypi, lib, requests, pytest, pytestcov, mock }:
+{ buildPythonPackage, fetchPypi, lib, requests, pytestCheckHook, mock }:
 
 buildPythonPackage rec {
   pname = "google-i18n-address";
@@ -11,12 +11,12 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ requests ];
 
-  checkInputs = [ pytest pytestcov mock ];
+  checkInputs = [ pytestCheckHook mock ];
 
   meta = with lib; {
     description = "Google's i18n address data packaged for Python";
     homepage = "https://pypi.org/project/google-i18n-address/";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/google-music-proto/default.nix b/pkgs/development/python-modules/google-music-proto/default.nix
index 16363192c81..a883f707bdf 100644
--- a/pkgs/development/python-modules/google-music-proto/default.nix
+++ b/pkgs/development/python-modules/google-music-proto/default.nix
@@ -1,4 +1,7 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
 , attrs
 , audio-metadata
 , importlib-metadata
@@ -10,7 +13,6 @@
 buildPythonPackage rec {
   pname = "google-music-proto";
   version = "2.10.0";
-  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -20,7 +22,7 @@ buildPythonPackage rec {
   postPatch = ''
     sed -i -e "/audio-metadata/c\'audio-metadata'," -e "/marshmallow/c\'marshmallow'," setup.py
     substituteInPlace setup.py \
-      --replace "pendulum>=2.0,<=3.0,!=2.0.5,!=2.1.0" "pendulum>=2.0,<=3.0"
+      --replace "'attrs>=18.2,<19.4'" "'attrs'"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-music-utils/default.nix b/pkgs/development/python-modules/google-music-utils/default.nix
index b7fd2738e04..801b4b78a17 100644
--- a/pkgs/development/python-modules/google-music-utils/default.nix
+++ b/pkgs/development/python-modules/google-music-utils/default.nix
@@ -1,30 +1,35 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder
-, audio-metadata, multidict, wrapt
-, pytest
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, audio-metadata
+, multidict
+, poetry
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "google-music-utils";
-  version = "2.1.0";
+  version = "2.5.0";
 
   # Pypi tarball doesn't contain tests
   src = fetchFromGitHub {
     owner = "thebigmunch";
     repo = "google-music-utils";
     rev = version;
-    sha256 = "0fn4zp0gf1wx2x06dbc840qcq21j4p3ajghxp7646w2n6n9gxhh7";
+    sha256 = "0vwbrgakk23fypjspmscz4gllnb3dksv2njy4j4bm8vyr6fwbi5f";
   };
+  format = "pyproject";
 
-  propagatedBuildInputs = [
-    audio-metadata multidict wrapt
-  ];
-
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    pytest
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'multidict = "^4.0"' 'multidict = ">4.0"'
   '';
 
-  disabled = pythonOlder "3.6";
+  nativeBuildInputs = [ poetry ];
+
+  propagatedBuildInputs = [ audio-metadata multidict ];
+
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     homepage = "https://github.com/thebigmunch/google-music-utils";
diff --git a/pkgs/development/python-modules/google-music/default.nix b/pkgs/development/python-modules/google-music/default.nix
index 9d2f0def99b..e5b42c5310f 100644
--- a/pkgs/development/python-modules/google-music/default.nix
+++ b/pkgs/development/python-modules/google-music/default.nix
@@ -1,4 +1,6 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
+{ lib
+, buildPythonPackage
+, fetchPypi
 , appdirs
 , audio-metadata
 , google-music-proto
@@ -14,7 +16,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b79956cc0df86345c74436ae6213b700345403c91d51947288806b174322573b";
+    sha256 = "0fsp491ifsw0i1r98l8xr41m8d00nw9n5bin8k3laqzq1p65d6dp";
   };
 
   postPatch = ''
@@ -35,8 +37,6 @@ buildPythonPackage rec {
   # No tests
   doCheck = false;
 
-  disabled = pythonOlder "3.6";
-
   meta = with lib; {
     homepage = "https://github.com/thebigmunch/google-music";
     description = "A Google Music API wrapper";
diff --git a/pkgs/development/python-modules/google-resumable-media/default.nix b/pkgs/development/python-modules/google-resumable-media/default.nix
new file mode 100644
index 00000000000..531dc1a2860
--- /dev/null
+++ b/pkgs/development/python-modules/google-resumable-media/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google-auth
+, google-cloud-testutils
+, google-crc32c
+, mock
+, pytestCheckHook
+, pytest-asyncio
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "google-resumable-media";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hwxdgsqh6933kp4jkv6hwwdcqs7bgjn9j08ga399njv3s9b367f";
+  };
+
+  propagatedBuildInputs = [ google-auth google-crc32c requests ];
+
+  checkInputs = [ google-auth google-cloud-testutils mock pytestCheckHook pytest-asyncio ];
+
+  preCheck = ''
+    # prevent shadowing imports
+    rm -r google
+    # fixture 'authorized_transport' not found
+    rm tests/system/requests/test_upload.py
+    # requires network
+    rm tests/system/requests/test_download.py
+  '';
+
+  pythonImportsCheck = [
+    "google._async_resumable_media"
+    "google.resumable_media"
+  ];
+
+  meta = with lib; {
+    description = "Utilities for Google Media Downloads and Resumable Uploads";
+    homepage = "https://github.com/GoogleCloudPlatform/google-resumable-media-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/google_auth/default.nix b/pkgs/development/python-modules/google_auth/default.nix
deleted file mode 100644
index 3f47a366fba..00000000000
--- a/pkgs/development/python-modules/google_auth/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, buildPythonPackage, fetchpatch, fetchPypi, pythonOlder
-, pytestCheckHook, cachetools, flask, freezegun, mock, oauth2client
-, pyasn1-modules, pytest, pytest-localserver, requests, responses, rsa
-, setuptools, six, urllib3 }:
-
-buildPythonPackage rec {
-  pname = "google-auth";
-  version = "1.23.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5176db85f1e7e837a646cd9cede72c3c404ccf2e3373d9ee14b2db88febad440";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  propagatedBuildInputs = [ six pyasn1-modules cachetools rsa setuptools ];
-
-  checkInputs = [
-    flask
-    freezegun
-    mock
-    oauth2client
-    pytestCheckHook
-    pytest-localserver
-    requests
-    responses
-    urllib3
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Google Auth Python Library";
-    longDescription = ''
-      This library simplifies using Google’s various server-to-server
-      authentication mechanisms to access Google APIs.
-    '';
-    homepage = "https://github.com/googleapis/google-auth-library-python";
-    changelog =
-      "https://github.com/googleapis/google-auth-library-python/blob/v${version}/CHANGELOG.md";
-    # Documentation: https://googleapis.dev/python/google-auth/latest/index.html
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_asset/default.nix b/pkgs/development/python-modules/google_cloud_asset/default.nix
deleted file mode 100644
index 87b1fdf8fc9..00000000000
--- a/pkgs/development/python-modules/google_cloud_asset/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, grpc_google_iam_v1
-, google_api_core, google-cloud-access-context-manager, google-cloud-org-policy
-, libcst, proto-plus, pytest, pytest-asyncio, pytestCheckHook, mock }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-asset";
-  version = "2.2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1cf1b8a102eea8cec65eb07bef51dc15c1136cfc8564ea7fc5a39465b8f20017";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
-  disabledTests = [ "asset_service_transport_auth_adc" ];
-  propagatedBuildInputs = [
-    grpc_google_iam_v1
-    google_api_core
-    google-cloud-access-context-manager
-    google-cloud-org-policy
-    libcst
-    proto-plus
-  ];
-
-  # Remove tests intended to be run in VPC
-  preCheck = ''
-    rm -rf tests/system
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Python Client for Google Cloud Asset API";
-    homepage = "https://github.com/googleapis/python-asset";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_automl/default.nix b/pkgs/development/python-modules/google_cloud_automl/default.nix
deleted file mode 100644
index 3ad8dcb12fb..00000000000
--- a/pkgs/development/python-modules/google_cloud_automl/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytestCheckHook, libcst
-, google_api_core, google_cloud_storage, google_cloud_testutils, pandas
-, proto-plus, pytest-asyncio, mock }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-automl";
-  version = "2.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "520dfe2ee04d28f3088c9c582fa2a534fc272647d5e2e59acc903c0152e61696";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  checkInputs = [
-    google_cloud_storage
-    google_cloud_testutils
-    mock
-    pandas
-    pytest-asyncio
-    pytestCheckHook
-  ];
-  propagatedBuildInputs = [ google_api_core libcst proto-plus ];
-
-  # ignore tests which need credentials
-  disabledTests = [ "test_prediction_client_client_info" ];
-  preCheck = ''
-    rm -r google
-    rm tests/system/gapic/v1beta1/test_system_tables_client_v1.py
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud AutoML API client library";
-    homepage = "https://github.com/googleapis/python-automl";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_bigquery/default.nix b/pkgs/development/python-modules/google_cloud_bigquery/default.nix
deleted file mode 100644
index 3255475fbf5..00000000000
--- a/pkgs/development/python-modules/google_cloud_bigquery/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, freezegun
-, google_api_core, google_cloud_core, google_cloud_testutils
-, google_resumable_media, grpcio, ipython, mock, pandas, proto-plus, pyarrow }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-bigquery";
-  version = "2.6.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1f99fd0c0c5bde999e056a1be666e5d5bbf392f62c9e730dfcbaf6e8408d44ef";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  checkInputs =
-    [ freezegun google_cloud_testutils ipython mock pytestCheckHook ];
-  propagatedBuildInputs = [
-    google_resumable_media
-    google_api_core
-    google_cloud_core
-    pandas
-    proto-plus
-    pyarrow
-  ];
-
-  # prevent google directory from shadowing google imports
-  # test_magics requires modifying sys.path
-  preCheck = ''
-    rm -r google
-    rm tests/unit/test_magics.py
-  '';
-
-  # call_api_applying_custom_retry_on_timeout requires credentials
-  # to_dataframe_timestamp_out_of_pyarrow_bounds has inconsistent results
-  disabledTests = [
-    "call_api_applying_custom_retry_on_timeout"
-    "to_dataframe_timestamp_out_of_pyarrow_bounds"
-  ];
-
-  meta = with stdenv.lib; {
-    description = "Google BigQuery API client library";
-    homepage = "https://pypi.org/project/google-cloud-bigquery";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix b/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix
deleted file mode 100644
index 8c71ac92c99..00000000000
--- a/pkgs/development/python-modules/google_cloud_bigquery_datatransfer/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-bigquery-datatransfer";
-  version = "2.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0cca79f6ee312159ec3f3b7fea218c3dd51408d39c429ecbea037982e91cc827";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "BigQuery Data Transfer API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_container/default.nix b/pkgs/development/python-modules/google_cloud_container/default.nix
deleted file mode 100644
index c5415b84ba1..00000000000
--- a/pkgs/development/python-modules/google_cloud_container/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, google_api_core
-, grpc_google_iam_v1, libcst, mock, proto-plus, pytest, pytest-asyncio }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-container";
-  version = "2.3.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0dcd8084dd55c0439ff065d3fb206e2e5c695d3a25effd774b74f8ce43afc911";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  checkInputs = [ mock pytest pytest-asyncio ];
-  propagatedBuildInputs =
-    [ google_api_core grpc_google_iam_v1 libcst proto-plus ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Container Engine API client library";
-    homepage = "https://github.com/googleapis/python-container";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_dataproc/default.nix b/pkgs/development/python-modules/google_cloud_dataproc/default.nix
deleted file mode 100644
index b0067d4316d..00000000000
--- a/pkgs/development/python-modules/google_cloud_dataproc/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, pytest
-, mock
-, libcst
-, proto-plus
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-dataproc";
-  version = "2.2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "81c44ac114c94df8f5b21245e5e7fc4eabce66b25fc432c3696b62b5de143b1f";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core libcst proto-plus ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Dataproc API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_datastore/default.nix b/pkgs/development/python-modules/google_cloud_datastore/default.nix
deleted file mode 100644
index 07c6cd87237..00000000000
--- a/pkgs/development/python-modules/google_cloud_datastore/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, google_cloud_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-datastore";
-  version = "2.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ebf3b0bcb483e066dfe73679e019e2d7b8c1652e26984702cf5e3f020592f6a";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
-
-  checkPhase = ''
-    rm -r google
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Datastore API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_dlp/default.nix b/pkgs/development/python-modules/google_cloud_dlp/default.nix
deleted file mode 100644
index a5a602dbead..00000000000
--- a/pkgs/development/python-modules/google_cloud_dlp/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-dlp";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "112c8a46979eebd60c3651037e62572fed413977ff2811901aa925c7b7ab9a5a";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ enum34 google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud Data Loss Prevention (DLP) API API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_dns/default.nix b/pkgs/development/python-modules/google_cloud_dns/default.nix
deleted file mode 100644
index d488b7ad563..00000000000
--- a/pkgs/development/python-modules/google_cloud_dns/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, google_cloud_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-dns";
-  version = "0.32.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7264e58067b55535ee859e124bd3da29337698ef6bb293da667d0316ddbe8606";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
-
-  checkPhase = ''
-    rm -r google
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud DNS API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_firestore/default.nix b/pkgs/development/python-modules/google_cloud_firestore/default.nix
deleted file mode 100644
index 4f819bbf9bf..00000000000
--- a/pkgs/development/python-modules/google_cloud_firestore/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, google_cloud_core
-, pytest
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-firestore";
-  version = "2.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "ae1f58d9174a6fb2c9fd2758c6d4fd237fb4f0decc632b80c217bfbceda38eb6";
-  };
-
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
-
-  # tests were not included with release
-  # See issue https://github.com/googleapis/google-cloud-python/issues/6380
-  doCheck = false;
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Firestore API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_iot/default.nix b/pkgs/development/python-modules/google_cloud_iot/default.nix
deleted file mode 100644
index 96364cfd702..00000000000
--- a/pkgs/development/python-modules/google_cloud_iot/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, grpc_google_iam_v1
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-iot";
-  version = "2.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "8af2be9c74697a350d5cc8ead00ae6cb4e85943564f1d782e8060d0d5eb15723";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ enum34 grpc_google_iam_v1 google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud IoT API API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    # maintainers = [ maintainers. ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_language/default.nix b/pkgs/development/python-modules/google_cloud_language/default.nix
deleted file mode 100644
index 4f3defb4e4b..00000000000
--- a/pkgs/development/python-modules/google_cloud_language/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-language";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "abe7abcd64d25ffdf6d063385869ef8f34a7de421d5676541cd6df63b3c37b88";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ enum34 google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Natural Language API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_logging/default.nix b/pkgs/development/python-modules/google_cloud_logging/default.nix
deleted file mode 100644
index 96473edd583..00000000000
--- a/pkgs/development/python-modules/google_cloud_logging/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder, django
-, flask, google_api_core, google_cloud_core, google_cloud_testutils, mock
-, webapp2 }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-logging";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "c8e4869ec22aa7958ff937c1acbd34d7a2a8a446af9a09ce442f24128eee063c";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  checkInputs =
-    [ django flask google_cloud_testutils mock pytestCheckHook webapp2 ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
-
-  # api_url test broken, fix not yet released
-  # https://github.com/googleapis/python-logging/pull/66
-  disabledTests =
-    [ "test_build_api_url_w_custom_endpoint" "test_write_log_entries" ];
-
-  # prevent google directory from shadowing google imports
-  # remove system integration tests
-  preCheck = ''
-    rm -r google
-    rm tests/system/test_system.py
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Stackdriver Logging API client library";
-    homepage = "https://github.com/googleapis/python-logging";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_monitoring/default.nix b/pkgs/development/python-modules/google_cloud_monitoring/default.nix
deleted file mode 100644
index 99557565e63..00000000000
--- a/pkgs/development/python-modules/google_cloud_monitoring/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, pandas
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-monitoring";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1debfa046ab9518d46b68712c03d86d0ddb11d1aad428aed62c6465752f2201f";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core pandas ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Stackdriver Monitoring API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_pubsub/default.nix b/pkgs/development/python-modules/google_cloud_pubsub/default.nix
deleted file mode 100644
index b7b810370f9..00000000000
--- a/pkgs/development/python-modules/google_cloud_pubsub/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pythonOlder, pytestCheckHook
-, google_api_core, google_cloud_testutils, grpc_google_iam_v1, libcst, mock
-, proto-plus, pytest-asyncio }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-pubsub";
-  version = "2.2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bc50a60803f5c409a295ec0e31cdd4acc271611ce3f4963a072036bbfa5ccde5";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  checkInputs = [ google_cloud_testutils mock pytestCheckHook pytest-asyncio ];
-  propagatedBuildInputs =
-    [ grpc_google_iam_v1 google_api_core libcst proto-plus ];
-
-  # prevent google directory from shadowing google imports
-  # Tests in pubsub_v1 attempt to contact pubsub.googleapis.com
-  preCheck = ''
-    rm -r google
-    rm -r tests/unit/pubsub_v1
-  '';
-
-  pythonImportsCheck = [ "google.cloud.pubsub" ];
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Pub/Sub API client library";
-    homepage = "https://pypi.org/project/google-cloud-pubsub";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_redis/default.nix b/pkgs/development/python-modules/google_cloud_redis/default.nix
deleted file mode 100644
index 3337d9f3c55..00000000000
--- a/pkgs/development/python-modules/google_cloud_redis/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-redis";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "c783118462d9272fb9f519ef43b6ce383e99ad631e922a1f06fbef7148aec7b8";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ enum34 google_api_core ];
-
-  # requires old version of google-api-core (override)
-  preBuild = ''
-    sed -i "s/'google-api-core\[grpc\] >= 0.1.0, < 0.2.0dev'/'google-api-core'/g" setup.py
-    sed -i "s/google-api-core\[grpc\]<0.2.0dev,>=0.1.0/google-api-core/g" google_cloud_redis.egg-info/requires.txt
-  '';
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Memorystore for Redis API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_resource_manager/default.nix b/pkgs/development/python-modules/google_cloud_resource_manager/default.nix
deleted file mode 100644
index 815ecc118f9..00000000000
--- a/pkgs/development/python-modules/google_cloud_resource_manager/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_cloud_core, google_api_core, mock, pytest }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-resource-manager";
-  version = "0.30.3";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3577bbf38f2c7c2f42306b8dfdeffbb0eedf45aaec947fd513d51937f72046d1";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  checkInputs = [ mock pytestCheckHook ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
-
-  # api_url test broken, fix not yet released
-  # https://github.com/googleapis/python-resource-manager/pull/31
-  disabledTests =
-    [ "api_url_no_extra_query_param" "api_url_w_custom_endpoint" ];
-
-  # prevent google directory from shadowing google imports
-  preCheck = ''
-    rm -r google
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Resource Manager API client library";
-    homepage = "https://github.com/googleapis/python-resource-manager";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_secret_manager/default.nix b/pkgs/development/python-modules/google_cloud_secret_manager/default.nix
deleted file mode 100644
index c744701c778..00000000000
--- a/pkgs/development/python-modules/google_cloud_secret_manager/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi
-, grpc_google_iam_v1, google_api_core, libcst, proto-plus
-, pytest, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-secret-manager";
-  version = "2.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "2f08b49164aca8623b2e4ee07352980b3ffca909ce205c03568e203bbc455c30";
-  };
-
-  propagatedBuildInputs = [
-    google_api_core
-    grpc_google_iam_v1
-    libcst
-    proto-plus
-  ];
-
-  checkInputs = [
-    mock
-    pytest
-  ];
-  checkPhase = ''
-    pytest
-  '';
-
-  meta = with lib; {
-    description = "Secret Manager API: Stores, manages, and secures access to application secrets";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ siriobalmelli ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_securitycenter/default.nix b/pkgs/development/python-modules/google_cloud_securitycenter/default.nix
deleted file mode 100644
index cad4b0799c2..00000000000
--- a/pkgs/development/python-modules/google_cloud_securitycenter/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, grpc_google_iam_v1
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-securitycenter";
-  version = "1.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "45d47a4389f2f19958a9db8e5c2f169c9b9385e74338fef0a4e49160153df7f7";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ enum34 grpc_google_iam_v1 google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud Security Command Center API API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_spanner/default.nix b/pkgs/development/python-modules/google_cloud_spanner/default.nix
deleted file mode 100644
index 38bd65aa091..00000000000
--- a/pkgs/development/python-modules/google_cloud_spanner/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, grpc_google_iam_v1, grpcio-gcp, google_api_core, google_cloud_core
-, google_cloud_testutils, mock, pytest }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-spanner";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "edac9d86ea2d8e87c048423f610cd3e5dbb6f9db7f1f9353ff133014689e97c6";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  checkInputs = [ google_cloud_testutils mock pytestCheckHook ];
-  propagatedBuildInputs =
-    [ grpcio-gcp grpc_google_iam_v1 google_api_core google_cloud_core ];
-
-  # prevent google directory from shadowing google imports
-  # remove tests that require credentials
-  preCheck = ''
-    rm -r google
-    rm tests/system/test_system.py
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud Spanner API client library";
-    homepage = "https://pypi.org/project/google-cloud-spanner";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_speech/default.nix b/pkgs/development/python-modules/google_cloud_speech/default.nix
deleted file mode 100644
index 57b2efb9ebb..00000000000
--- a/pkgs/development/python-modules/google_cloud_speech/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, google_api_core, pytest, mock }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-speech";
-  version = "2.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a7428190f4c10440148a273eb4c91480470b34180eec422b7325acdc0b2c0832";
-  };
-
-  propagatedBuildInputs = [ google_api_core ];
-  checkInputs = [ pytest mock ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud Speech API enables integration of Google speech recognition into applications.";
-    homepage = "https://github.com/googleapis/google-cloud-python/tree/master/speech";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_storage/default.nix b/pkgs/development/python-modules/google_cloud_storage/default.nix
deleted file mode 100644
index a1b572db11e..00000000000
--- a/pkgs/development/python-modules/google_cloud_storage/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_api_core, google_auth, google-cloud-iam, google_cloud_core
-, google_cloud_kms, google_cloud_testutils, google_resumable_media, mock
-, requests }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-storage";
-  version = "1.33.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "900ba027bdee6b97f21cd22d1db3d1a6233ede5de2db4754db860438bdad72d2";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  propagatedBuildInputs = [
-    google_api_core
-    google_auth
-    google_cloud_core
-    google_resumable_media
-    requests
-  ];
-  checkInputs = [
-    google-cloud-iam
-    google_cloud_kms
-    google_cloud_testutils
-    mock
-    pytestCheckHook
-  ];
-
-  # disable tests which require credentials
-  disabledTests = [ "create" "get" "post" "test_build_api_url" ];
-
-  # prevent google directory from shadowing google imports
-  # remove tests which require credentials
-  preCheck = ''
-    rm -r google
-    rm tests/system/test_system.py tests/unit/test_client.py
-  '';
-
-  meta = with lib; {
-    description = "Google Cloud Storage API client library";
-    homepage = "https://github.com/googleapis/python-storage";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_tasks/default.nix b/pkgs/development/python-modules/google_cloud_tasks/default.nix
deleted file mode 100644
index ca252b2c5ed..00000000000
--- a/pkgs/development/python-modules/google_cloud_tasks/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, grpc_google_iam_v1
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-tasks";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a9dd004057fc441eee8c18bb2dc3bb20ba7b85f353d66894c61e42aeb8764e76";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ enum34 grpc_google_iam_v1 google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud Tasks API API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_texttospeech/default.nix b/pkgs/development/python-modules/google_cloud_texttospeech/default.nix
deleted file mode 100644
index 32e8fa223a8..00000000000
--- a/pkgs/development/python-modules/google_cloud_texttospeech/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_api_core, libcst, mock, proto-plus, pytest-asyncio, }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-texttospeech";
-  version = "2.2.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cbbd397e72b6189668134f3c8e8c303198188334a4e6a5f77cc90c3220772f9e";
-  };
-
-  disabled = pythonOlder "3.5";
-
-  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
-  propagatedBuildInputs = [ google_api_core libcst proto-plus ];
-
-  # Disable tests that require credentials
-  disabledTests = ["test_synthesize_speech" "test_list_voices"];
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Text-to-Speech API client library";
-    homepage = "https://github.com/googleapis/python-texttospeech";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_trace/default.nix b/pkgs/development/python-modules/google_cloud_trace/default.nix
deleted file mode 100644
index b0efb65d0d2..00000000000
--- a/pkgs/development/python-modules/google_cloud_trace/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, google_cloud_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-trace";
-  version = "1.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1bd1ee5c274a584929913d9118134e01afe106644cb749ccc3111e1a38a96cd3";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Stackdriver Trace API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_translate/default.nix b/pkgs/development/python-modules/google_cloud_translate/default.nix
deleted file mode 100644
index 1049895bda1..00000000000
--- a/pkgs/development/python-modules/google_cloud_translate/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_api_core, google_cloud_core, google_cloud_testutils, grpcio, libcst
-, mock, proto-plus, pytest-asyncio }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-translate";
-  version = "3.0.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6183168465749f007449ef4125356d03cca0114ed49faf7ed64f34ec3edd4fe8";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  # google_cloud_core[grpc] -> grpcio
-  propagatedBuildInputs =
-    [ google_api_core google_cloud_core grpcio libcst proto-plus ];
-
-  checkInputs = [ google_cloud_testutils mock pytest-asyncio pytestCheckHook ];
-
-  # test_http.py broken, fix not yet released
-  # https://github.com/googleapis/python-translate/pull/69
-  disabledTests = [
-    "test_build_api_url_w_extra_query_params"
-    "test_build_api_url_no_extra_query_params"
-    "test_build_api_url_w_custom_endpoint"
-  ];
-
-  preCheck = ''
-    rm -r google
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Translation API client library";
-    homepage = "https://github.com/googleapis/python-translate";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_videointelligence/default.nix b/pkgs/development/python-modules/google_cloud_videointelligence/default.nix
deleted file mode 100644
index b823e105b84..00000000000
--- a/pkgs/development/python-modules/google_cloud_videointelligence/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, google_api_core
-, pytest
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-videointelligence";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "02a91a25b3890a743bde21e03abddf11dcaf7966cc44f09bc8d507f2e28f15fa";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core ];
-
-  checkPhase = ''
-    pytest tests/unit
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Video Intelligence API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_vision/default.nix b/pkgs/development/python-modules/google_cloud_vision/default.nix
deleted file mode 100644
index fd738a52266..00000000000
--- a/pkgs/development/python-modules/google_cloud_vision/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, enum34
-, google_api_core
-, mock
-}:
-
-buildPythonPackage rec {
-  pname = "google-cloud-vision";
-  version = "2.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6a067d9a661df2e9b356b2772051decfea1971f8d659c246412a165baf827c61";
-  };
-
-  checkInputs = [ mock ];
-  propagatedBuildInputs = [ enum34 google_api_core ];
-
-  # pytest seems to pick up some file which overrides PYTHONPATH
-  checkPhase = ''
-    cd tests/unit
-    python -m unittest discover
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Cloud Vision API API client library";
-    homepage = "https://github.com/GoogleCloudPlatform/google-cloud-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix b/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix
deleted file mode 100644
index 356759f9bcb..00000000000
--- a/pkgs/development/python-modules/google_cloud_websecurityscanner/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, buildPythonPackage, fetchPypi, pytestCheckHook, pythonOlder
-, google_api_core, libcst, mock, proto-plus, pytest-asyncio }:
-
-buildPythonPackage rec {
-  pname = "google-cloud-websecurityscanner";
-  version = "1.0.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1de60f880487b898b499345f46f7acf38651f5356ebca8673116003a57f25393";
-  };
-
-  disabled = pythonOlder "3.6";
-
-  checkInputs = [ mock pytest-asyncio pytestCheckHook ];
-  propagatedBuildInputs = [ google_api_core libcst proto-plus ];
-
-  meta = with stdenv.lib; {
-    description = "Google Cloud Web Security Scanner API client library";
-    homepage = "https://github.com/googleapis/python-websecurityscanner";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/google_resumable_media/default.nix b/pkgs/development/python-modules/google_resumable_media/default.nix
deleted file mode 100644
index 37bfbfc481b..00000000000
--- a/pkgs/development/python-modules/google_resumable_media/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, buildPythonPackage
-, isPy3k
-, fetchPypi
-, six
-, requests
-, setuptools
-, pytest
-, mock
-, crcmod
-, google-crc32c
-}:
-
-buildPythonPackage rec {
-  pname = "google-resumable-media";
-  version = "1.1.0";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "dcdab13e95bc534d268f87d5293e482cce5bc86dfce6ca0f2e2e89cbb73ef38c";
-  };
-
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ requests setuptools six ]
-    ++ lib.optional isPy3k google-crc32c
-    ++ lib.optional (!isPy3k) crcmod;
-
-  checkPhase = ''
-    py.test tests/unit
-  '';
-
-  meta = with lib; {
-    description = "Utilities for Google Media Downloads and Resumable Uploads";
-    homepage = "https://github.com/GoogleCloudPlatform/google-resumable-media-python";
-    license = licenses.asl20;
-    maintainers = [ maintainers.costrouc ];
-  };
-}
diff --git a/pkgs/development/python-modules/googleapis_common_protos/default.nix b/pkgs/development/python-modules/googleapis_common_protos/default.nix
index 507c3ba229a..ea49beee30b 100644
--- a/pkgs/development/python-modules/googleapis_common_protos/default.nix
+++ b/pkgs/development/python-modules/googleapis_common_protos/default.nix
@@ -1,5 +1,10 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, protobuf, pytest, setuptools }:
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, grpc
+, protobuf
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "googleapis-common-protos";
@@ -7,18 +12,26 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "560716c807117394da12cecb0a54da5a451b5cf9866f1d37e9a5e2329a665351";
+    sha256 = "0lakcsd35qm5x4visvw6z5f1niasv9a0mjyf2bd98wqi0z41c1sn";
   };
 
-  propagatedBuildInputs = [ protobuf setuptools ];
-  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ grpc protobuf ];
 
-  doCheck = false;  # there are no tests
+  # does not contain tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "google.api"
+    "google.logging"
+    "google.longrunning"
+    "google.rpc"
+    "google.type"
+  ];
 
   meta = with stdenv.lib; {
     description = "Common protobufs used in Google APIs";
-    homepage = "https://github.com/googleapis/googleapis";
+    homepage = "https://github.com/googleapis/python-api-common-protos";
     license = licenses.asl20;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/googlemaps/default.nix b/pkgs/development/python-modules/googlemaps/default.nix
index 7e13aedec47..39219000bfd 100644
--- a/pkgs/development/python-modules/googlemaps/default.nix
+++ b/pkgs/development/python-modules/googlemaps/default.nix
@@ -1,6 +1,11 @@
-{ stdenv, buildPythonPackage, fetchFromGitHub
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
 , requests
-, responses, pytestCheckHook, pytest, pytestcov, isPy27
+, responses
+, pytestCheckHook
+, pytestcov
+, isPy27
 }:
 
 buildPythonPackage rec {
diff --git a/pkgs/development/python-modules/googletrans/default.nix b/pkgs/development/python-modules/googletrans/default.nix
index 06d00820005..32b839ab11c 100644
--- a/pkgs/development/python-modules/googletrans/default.nix
+++ b/pkgs/development/python-modules/googletrans/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, requests, pytest, coveralls }:
+{ lib, buildPythonPackage, fetchFromGitHub, requests }:
 
 buildPythonPackage rec {
   pname = "googletrans";
@@ -11,17 +11,10 @@ buildPythonPackage rec {
     sha256 = "0wzzinn0k9rfv9z1gmfk9l4kljyd4n6kizsjw4wjxv91kfhj92hz";
   };
 
-  propagatedBuildInputs = [
-    requests
-  ];
-
-  checkInputs = [ pytest coveralls ];
+  propagatedBuildInputs = [ requests ];
 
   # majority of tests just try to ping Google's Translate API endpoint
   doCheck = false;
-  checkPhase = ''
-    pytest
-  '';
 
   pythonImportsCheck = [ "googletrans" ];
 
diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix
new file mode 100644
index 00000000000..860bb504cf1
--- /dev/null
+++ b/pkgs/development/python-modules/graphene/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aniso8601
+, iso8601
+, graphql-core
+, graphql-relay
+, pytestCheckHook
+, pytest-asyncio
+, pytest-benchmark
+, pytest-mock
+, pytz
+, snapshottest
+}:
+
+buildPythonPackage rec {
+  pname = "graphene";
+  version = "3.0.0b6";
+
+  src = fetchFromGitHub {
+    owner = "graphql-python";
+    repo = "graphene";
+    rev = "v${version}";
+    sha256 = "1q6qmyc4jbi9cws4d98x7bgi7gppd09dmzijkb19fwbh4giy938r";
+  };
+
+  propagatedBuildInputs = [
+    aniso8601
+    graphql-core
+    graphql-relay
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-asyncio
+    pytest-benchmark
+    pytest-mock
+    pytz
+    snapshottest
+  ];
+
+  pythonImportsCheck = [ "graphene" ];
+
+  meta = with lib; {
+    description = "GraphQL Framework for Python";
+    homepage = "https://github.com/graphql-python/graphene";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/graphql-relay/default.nix b/pkgs/development/python-modules/graphql-relay/default.nix
new file mode 100644
index 00000000000..fa6a9ec60a7
--- /dev/null
+++ b/pkgs/development/python-modules/graphql-relay/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, graphql-core, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "graphql-relay";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0mjmpf4abrxfyln0ykxq4xa6lp7xwgqr8631qp011hv0nfl6jgxd";
+  };
+
+  propagatedBuildInputs = [ graphql-core ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "graphql_relay" ];
+
+  meta = with lib; {
+    description = "A library to help construct a graphql-py server supporting react-relay";
+    homepage = "https://github.com/graphql-python/graphql-relay-py/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/grpcio/default.nix b/pkgs/development/python-modules/grpcio/default.nix
index 55d569c9054..e50f63fe37a 100644
--- a/pkgs/development/python-modules/grpcio/default.nix
+++ b/pkgs/development/python-modules/grpcio/default.nix
@@ -1,6 +1,18 @@
-{ stdenv, buildPythonPackage, darwin, grpc
-, six, protobuf, enum34, futures, isPy27, pkgconfig
-, cython, c-ares, openssl, zlib }:
+{ stdenv
+, buildPythonPackage
+, darwin
+, grpc
+, six
+, protobuf
+, enum34
+, futures
+, isPy27
+, pkg-config
+, cython
+, c-ares
+, openssl
+, zlib
+}:
 
 buildPythonPackage rec {
   inherit (grpc) src version;
@@ -8,12 +20,12 @@ buildPythonPackage rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cython pkgconfig ]
-                    ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
+  nativeBuildInputs = [ cython pkg-config ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
 
   buildInputs = [ c-ares openssl zlib ];
   propagatedBuildInputs = [ six protobuf ]
-                        ++ stdenv.lib.optionals (isPy27) [ enum34 futures ];
+    ++ stdenv.lib.optionals (isPy27) [ enum34 futures ];
 
   preBuild = stdenv.lib.optionalString stdenv.isDarwin "unset AR";
 
@@ -22,10 +34,15 @@ buildPythonPackage rec {
   GRPC_PYTHON_BUILD_SYSTEM_ZLIB = 1;
   GRPC_PYTHON_BUILD_SYSTEM_CARES = 1;
 
+  # does not contain any tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "grpc" ];
+
   meta = with stdenv.lib; {
     description = "HTTP/2-based RPC framework";
     license = licenses.asl20;
     homepage = "https://grpc.io/grpc/python/";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix
index 5fd73541dd4..9ad1d0c685d 100644
--- a/pkgs/development/python-modules/gspread/default.nix
+++ b/pkgs/development/python-modules/gspread/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , requests
-, google_auth
+, google-auth
 , google-auth-oauthlib
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     sha256 = "e04f1a6267b3929fc1600424c5ec83906d439672cafdd61a9d5b916a139f841c";
   };
 
-  propagatedBuildInputs = [ requests google_auth google-auth-oauthlib ];
+  propagatedBuildInputs = [ requests google-auth google-auth-oauthlib ];
 
   meta = with stdenv.lib; {
     description = "Google Spreadsheets client library";
diff --git a/pkgs/development/python-modules/h11/default.nix b/pkgs/development/python-modules/h11/default.nix
index 28461311021..f3d37dacfa3 100644
--- a/pkgs/development/python-modules/h11/default.nix
+++ b/pkgs/development/python-modules/h11/default.nix
@@ -1,33 +1,26 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, fetchpatch }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "h11";
-  version = "0.9.0";
+  version = "0.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1qfad70h59hya21vrzz8dqyyaiqhac0anl2dx3s3k80gpskvrm1k";
+    sha256 = "0hk0nll6qazsambp3kl8cxxsbl4gv5y9252qadyk0jky0sv2q8j7";
   };
 
-  patches = [
-    # pytest5 compatability
-    (fetchpatch {
-      url = "https://github.com/python-hyper/h11/commit/241e220493a511a5f5a5d472cb88d72661a92ab1.patch";
-      sha256 = "1s3ipf9s41m1lksws3xv3j133q7jnjdqvmgk4sfnm8q7li2dww39";
-    })
-  ];
-
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    py.test
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
     description = "Pure-Python, bring-your-own-I/O implementation of HTTP/1.1";
+    homepage = "https://github.com/python-hyper/h11";
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index 1f527b47ec0..6e81cc92193 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -56,6 +56,8 @@ buildPythonPackage rec {
     "test_sync_proxy_close"
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "The next generation HTTP client";
     homepage = "https://github.com/encode/httpx";
diff --git a/pkgs/development/python-modules/hwi/default.nix b/pkgs/development/python-modules/hwi/default.nix
index 6431791d65e..7c34235a190 100644
--- a/pkgs/development/python-modules/hwi/default.nix
+++ b/pkgs/development/python-modules/hwi/default.nix
@@ -1,46 +1,47 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, mnemonic
+, fetchFromGitHub
+, bitbox02
 , ecdsa
-, typing-extensions
 , hidapi
 , libusb1
+, mnemonic
 , pyaes
-, trezor
-, btchip
-, ckcc-protocol
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
   pname = "hwi";
   version = "1.2.1";
+  disabled = pythonAtLeast "3.9";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d0d220a4967d7f106b828b12a98b78c220d609d7cc6c811898e24fcf1a6f04f3";
+  src = fetchFromGitHub {
+    owner = "bitcoin-core";
+    repo = "HWI";
+    rev = version;
+    sha256 = "0fs3152lw7y5l9ssr5as8gd739m9lb7wxpv1vc5m77k5nw7l8ax5";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'ecdsa>=0.13.0,<0.14.0'" "'ecdsa'" \
+      --replace "'hidapi>=0.7.99,<0.8.0'" "'hidapi'" \
+      --replace "'mnemonic>=0.18.0,<0.19.0'" "'mnemonic'"
+  '';
+
   propagatedBuildInputs = [
-    mnemonic
+    bitbox02
     ecdsa
-    typing-extensions
     hidapi
     libusb1
+    mnemonic
     pyaes
-    trezor
-    btchip
-    ckcc-protocol
   ];
 
-  patches = [ ./relax-deps.patch ];
-
-  # tests are not packaged in the released tarball
+  # tests require to clone quite a few firmwares
   doCheck = false;
 
-  pythonImportsCheck = [
-    "hwilib"
-  ];
+  pythonImportsCheck = [ "hwilib" ];
 
   meta = {
     description = "Bitcoin Hardware Wallet Interface";
diff --git a/pkgs/development/python-modules/hwi/relax-deps.patch b/pkgs/development/python-modules/hwi/relax-deps.patch
deleted file mode 100644
index ff6c6b9768f..00000000000
--- a/pkgs/development/python-modules/hwi/relax-deps.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -98,10 +98,10 @@ package_data = \
- modules = \
- ['hwi', 'hwi-qt']
- install_requires = \
--['ecdsa>=0.13.0,<0.14.0',
-- 'hidapi>=0.7.99,<0.8.0',
-+['ecdsa',
-+ 'hidapi',
-  'libusb1>=1.7,<2.0',
-+ 'mnemonic',
-- 'mnemonic>=0.18.0,<0.19.0',
-  'pyaes>=1.6,<2.0',
-  'typing-extensions>=3.7,<4.0']
- 
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index 833e1e3dd29..7f2f8c26339 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.5.10";
+  version = "1.5.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "943cd299ac7f5715fcb3f684e2fc1594c1e0f22a90d15398e5888143bd4144b5";
+    sha256 = "b2c71bf9f5c482c389cef816f3a15f1c9d7429ad70f497d4a2e522442d80c6de";
   };
 
   # Tests not included in PyPI tarball
diff --git a/pkgs/development/python-modules/keepkey_agent/default.nix b/pkgs/development/python-modules/keepkey_agent/default.nix
index fec2d198fdd..279cc50d174 100644
--- a/pkgs/development/python-modules/keepkey_agent/default.nix
+++ b/pkgs/development/python-modules/keepkey_agent/default.nix
@@ -20,6 +20,9 @@ buildPythonPackage rec {
     keepkey libagent setuptools wheel
   ];
 
+  doCheck = false;
+  pythonImportsChecks = [ "keepkey_agent" ];
+
   meta = with stdenv.lib; {
     description = "Using KeepKey as hardware-based SSH/PGP agent";
     homepage = "https://github.com/romanz/trezor-agent";
diff --git a/pkgs/development/python-modules/kubernetes/default.nix b/pkgs/development/python-modules/kubernetes/default.nix
index 2679c81de0f..0be1ae0353f 100644
--- a/pkgs/development/python-modules/kubernetes/default.nix
+++ b/pkgs/development/python-modules/kubernetes/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchPypi, pythonAtLeast,
-  ipaddress, websocket_client, urllib3, pyyaml, requests_oauthlib, python-dateutil, google_auth, adal,
+  ipaddress, websocket_client, urllib3, pyyaml, requests_oauthlib, python-dateutil, google-auth, adal,
   isort, pytest, coverage, mock, sphinx, autopep8, pep8, codecov, recommonmark, nose }:
 
 buildPythonPackage rec {
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [ isort coverage pytest mock sphinx autopep8 pep8 codecov recommonmark nose ];
-  propagatedBuildInputs = [ ipaddress websocket_client urllib3 pyyaml requests_oauthlib python-dateutil google_auth adal ];
+  propagatedBuildInputs = [ ipaddress websocket_client urllib3 pyyaml requests_oauthlib python-dateutil google-auth adal ];
 
   meta = with stdenv.lib; {
     description = "Kubernetes python client";
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index 0556411ee47..1efe0109212 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -8,7 +8,8 @@
 , shapely
 , ndjson
 , backoff
-, google_api_core
+, google-api-core
+, backports-datetime-fromisoformat
 }:
 
 buildPythonPackage rec {
@@ -22,12 +23,11 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     jinja2 requests pillow rasterio shapely ndjson backoff
-    google_api_core
+    google-api-core backports-datetime-fromisoformat
   ];
 
   # Test cases are not running on pypi or GitHub
   doCheck = false;
-
   pythonImportsCheck = [ "labelbox" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ledger_agent/default.nix b/pkgs/development/python-modules/ledger_agent/default.nix
index 605fbed98a1..2f3404fa921 100644
--- a/pkgs/development/python-modules/ledger_agent/default.nix
+++ b/pkgs/development/python-modules/ledger_agent/default.nix
@@ -20,6 +20,9 @@ buildPythonPackage rec {
     ledgerblue libagent setuptools wheel
   ];
 
+  # no tests
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Using Ledger as hardware-based SSH/PGP agent";
     homepage = "https://github.com/romanz/trezor-agent";
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 671de812f27..bda0553b8ee 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1b14b1f5f91ceeff5cf228613e76577d7b41e790dccd53a0f647ef816fb5495c";
+    sha256 = "2e3e4d02f9b3197f9119e737bc704fba52f34459d4bc96d8ad8f183d600747ba";
   };
 
   checkInputs = [ mock pytest pytestrunner requests-mock ];
diff --git a/pkgs/development/python-modules/liquidctl/default.nix b/pkgs/development/python-modules/liquidctl/default.nix
index 888f09dba95..97d80fbbbda 100644
--- a/pkgs/development/python-modules/liquidctl/default.nix
+++ b/pkgs/development/python-modules/liquidctl/default.nix
@@ -27,6 +27,10 @@ buildPythonPackage rec {
     smbus-cffi
   ];
 
+  # does not contain tests
+  doCheck = false;
+  pythonImportsCheck = [ "liquidctl" ];
+
   meta = with lib; {
     description = "Cross-platform CLI and Python drivers for AIO liquid coolers and other devices";
     homepage    = "https://github.com/liquidctl/liquidctl";
diff --git a/pkgs/development/python-modules/lmdb/default.nix b/pkgs/development/python-modules/lmdb/default.nix
index 76cd2acd743..3dc2fec4b74 100644
--- a/pkgs/development/python-modules/lmdb/default.nix
+++ b/pkgs/development/python-modules/lmdb/default.nix
@@ -1,8 +1,10 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
 , cffi
+, lmdb
+, ludios_wpull
 }:
 
 buildPythonPackage rec {
@@ -14,10 +16,13 @@ buildPythonPackage rec {
     sha256 = "4136ffdf0aad61da86d1402808029d002a771b2a9ccc9b39c6bcafa7847c21b6";
   };
 
-  checkInputs = [ pytest cffi ];
-  checkPhase = ''
-    py.test
-  '';
+  buildInputs = [ lmdb ];
+
+  propogatedBuildInputs = [ ludios_wpull ];
+
+  checkInputs = [ cffi pytestCheckHook ];
+
+  LMDB_FORCE_SYSTEM=1;
 
   meta = with stdenv.lib; {
     description = "Universal Python binding for the LMDB 'Lightning' Database";
@@ -25,5 +30,4 @@ buildPythonPackage rec {
     license = licenses.openldap;
     maintainers = with maintainers; [ copumpkin ivan ];
   };
-
 }
diff --git a/pkgs/development/python-modules/marionette-harness/mozdevice.nix b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
index 03187c00bef..56c8fc5254d 100644
--- a/pkgs/development/python-modules/marionette-harness/mozdevice.nix
+++ b/pkgs/development/python-modules/marionette-harness/mozdevice.nix
@@ -12,9 +12,8 @@ buildPythonPackage rec {
   format = "wheel";
 
   src = fetchPypi {
-    inherit pname version;
+    inherit pname version format;
     sha256 = "1n7l3drdh3rm3320v98c9hhh37ljk9l861hyw18psca7jdd717n5";
-    format = "wheel";
   };
 
   propagatedBuildInputs = [ mozlog moznetwork mozprocess ];
diff --git a/pkgs/development/python-modules/nitime/default.nix b/pkgs/development/python-modules/nitime/default.nix
index 8fa40465c10..68eeab46afc 100644
--- a/pkgs/development/python-modules/nitime/default.nix
+++ b/pkgs/development/python-modules/nitime/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , python
 , fetchPypi
-, pytest
+, pytestCheckHook
 , cython
 , numpy
 , scipy
@@ -21,11 +21,11 @@ buildPythonPackage rec {
     sha256 = "0hb3x5196z2zaawb8s7lhja0vd3n983ncaynqfl9qg315x9ax7i6";
   };
 
-  checkInputs = [ pytest ];
   buildInputs = [ cython ];
+
   propagatedBuildInputs = [ numpy scipy matplotlib networkx nibabel ];
 
-  checkPhase = "pytest nitime/tests";
+  checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
     homepage = "https://nipy.org/nitime";
diff --git a/pkgs/development/python-modules/noiseprotocol/default.nix b/pkgs/development/python-modules/noiseprotocol/default.nix
new file mode 100644
index 00000000000..76ed1b1fc2a
--- /dev/null
+++ b/pkgs/development/python-modules/noiseprotocol/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchFromGitHub, cryptography, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "noiseprotocol";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "plizonczyk";
+    repo = "noiseprotocol";
+    rev = "v${version}";
+    sha256 = "1mk0rqpjifdv3v1cjwkdnjbrfmzzjm9f3qqs1r8vii4j2wvhm6am";
+  };
+
+  propagatedBuildInputs = [ cryptography ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "noise" ];
+
+  meta = with lib; {
+    description = "Noise Protocol Framework";
+    homepage = "https://github.com/plizonczyk/noiseprotocol/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/openwebifpy/default.nix b/pkgs/development/python-modules/openwebifpy/default.nix
index 5cf070d610f..60f94072681 100644
--- a/pkgs/development/python-modules/openwebifpy/default.nix
+++ b/pkgs/development/python-modules/openwebifpy/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "openwebifpy";
-  version = "3.1.1";
+  version = "3.2.7";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zqa74i54ww9qjciiv8s58mxbs6vxq06cq5k4pxfarc0l75l4gh2";
+    sha256 = "0n9vi6b0y8b41fd7m9p361y3qb5m3b9p9d8g4fasqi7yy4mw2hns";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/orm/default.nix b/pkgs/development/python-modules/orm/default.nix
index dece359b0c0..872a5407612 100644
--- a/pkgs/development/python-modules/orm/default.nix
+++ b/pkgs/development/python-modules/orm/default.nix
@@ -4,8 +4,9 @@
 , databases
 , typesystem
 , aiosqlite
-, pytest
+, pytestCheckHook
 , pytestcov
+, typing-extensions
 }:
 
 buildPythonPackage rec {
@@ -26,13 +27,12 @@ buildPythonPackage rec {
 
   checkInputs = [
     aiosqlite
-    pytest
+    pytestCheckHook
     pytestcov
+    typing-extensions
   ];
 
-  checkPhase = ''
-    PYTHONPATH=$PYTHONPATH:. pytest
-  '';
+  pythonImportsCheck = [ "orm" ];
 
   meta = with lib; {
     description = "An async ORM";
diff --git a/pkgs/development/python-modules/pgpy/default.nix b/pkgs/development/python-modules/pgpy/default.nix
index 9067817a3ba..2c527d87d18 100644
--- a/pkgs/development/python-modules/pgpy/default.nix
+++ b/pkgs/development/python-modules/pgpy/default.nix
@@ -1,7 +1,6 @@
 { lib, isPy3k, fetchFromGitHub, buildPythonPackage
 , six, enum34, pyasn1, cryptography, singledispatch
-, fetchPypi
-, gpgme, flake8, pytest, pytestcov, pep8-naming, pytest-ordering }:
+, fetchPypi, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "pgpy";
@@ -22,17 +21,10 @@ buildPythonPackage rec {
   ] ++ lib.optional (!isPy3k) enum34;
 
   checkInputs = [
-    gpgme
-    flake8
-    pytest
-    pytestcov
-    pep8-naming
-    pytest-ordering
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    pytest
-  '';
+  disabledTests = [ "test_sign_string" "test_verify_string" ];
 
   meta = with lib; {
     homepage = "https://github.com/SecurityInnovation/PGPy";
diff --git a/pkgs/development/python-modules/poster3/default.nix b/pkgs/development/python-modules/poster3/default.nix
index 269995717aa..09e8055bdd9 100644
--- a/pkgs/development/python-modules/poster3/default.nix
+++ b/pkgs/development/python-modules/poster3/default.nix
@@ -15,8 +15,7 @@ buildPythonPackage rec {
   disabled = !isPy3k;
 
   src = fetchPypi {
-    inherit pname version;
-    format = "wheel";
+    inherit pname version format;
     python = "py3";
     sha256 = "1b27d7d63e3191e5d7238631fc828e4493590e94dcea034e386c079d853cce14";
   };
diff --git a/pkgs/development/python-modules/proto-plus/default.nix b/pkgs/development/python-modules/proto-plus/default.nix
index 4a36b625298..71949d0d4e0 100644
--- a/pkgs/development/python-modules/proto-plus/default.nix
+++ b/pkgs/development/python-modules/proto-plus/default.nix
@@ -3,28 +3,31 @@
 , fetchPypi
 , isPy3k
 , protobuf
-, google_api_core
+, googleapis_common_protos
 , pytestCheckHook
+, pytz
 }:
 
 buildPythonPackage rec {
   pname = "proto-plus";
-  version = "1.11.0";
+  version = "1.13.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "416a0f13987789333cd8760a0ee998f8eccd6d7165ee9f283d64ca2de3e8774d";
+    sha256 = "1i5jjnwpd288378h37zads08h695iwmhxm0sxbr3ln6aax97rdb1";
   };
 
   propagatedBuildInputs = [ protobuf ];
 
-  checkInputs = [ pytestCheckHook google_api_core ];
+  checkInputs = [ pytestCheckHook pytz googleapis_common_protos ];
+
+  pythonImportsCheck = [ "proto" ];
 
   meta = with stdenv.lib; {
     description = "Beautiful, idiomatic protocol buffers in Python";
     homepage = "https://github.com/googleapis/proto-plus-python";
     license = licenses.asl20;
-    maintainers = [ maintainers.ruuda ];
+    maintainers = with maintainers; [ ruuda SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index ab95eeb51f9..4925c3dfd02 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -1,6 +1,18 @@
-{ buildPackages, stdenv, fetchpatch, python, buildPythonPackage, isPy37
-, protobuf, google_apputils, pyext, libcxx, isPy27
-, disabled, doCheck ? true }:
+{ buildPackages
+, stdenv
+, fetchpatch
+, python
+, buildPythonPackage
+, isPy37
+, protobuf
+, google-apputils
+, six
+, pyext
+, libcxx
+, isPy27
+, disabled
+, doCheck ? true
+}:
 
 with stdenv.lib;
 
@@ -17,9 +29,9 @@ buildPythonPackage {
 
   outputs = [ "out" "dev" ];
 
-  propagatedBuildInputs = [ google_apputils ];
-  propagatedNativeBuildInputs = [ buildPackages.protobuf ];  # For protoc.
-  nativeBuildInputs = [ google_apputils pyext ];
+  propagatedBuildInputs = [ six ] ++ optionals isPy27 [ google-apputils ];
+  propagatedNativeBuildInputs = [ buildPackages.protobuf ]; # For protoc.
+  nativeBuildInputs = [ pyext ] ++ optionals isPy27 [ google-apputils ];
   buildInputs = [ protobuf ];
 
   patches = optional (isPy37 && (versionOlder protobuf.version "3.6.1.2"))
diff --git a/pkgs/development/python-modules/pyairvisual/default.nix b/pkgs/development/python-modules/pyairvisual/default.nix
index 084852fa537..2e9aa97f1f2 100644
--- a/pkgs/development/python-modules/pyairvisual/default.nix
+++ b/pkgs/development/python-modules/pyairvisual/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "pyairvisual";
-  version = "5.0.4";
+  version = "5.0.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "0z769xrb6w6bhqcq02sjryl1qyvk9dc1xfn06fc3mdqnrbr0xxj3";
+    sha256 = "0jjvng3py5g97gvx6rdbk5zxbn5rw8gq1ki4qi4vfsypchxbpz2q";
   };
 
   nativeBuildInputs = [ poetry ];
@@ -43,13 +43,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [
-    "tests"
-  ];
+  # Ignore the examples as they are prefixed with test_
+  pytestFlagsArray = [ "--ignore examples/" ];
+  pythonImportsCheck = [ "pyairvisual" ];
 
   meta = with lib; {
-    description = "A simple, clean, well-tested Python library for interacting with AirVisual©";
-    license = licenses.mit;
+    description = "Python library for interacting with AirVisual";
     homepage = "https://github.com/bachya/pyairvisual";
+    changelog = "https://github.com/bachya/pyairvisual/releases/tag/${version}";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
   };
 }
diff --git a/pkgs/development/python-modules/pyarlo/default.nix b/pkgs/development/python-modules/pyarlo/default.nix
new file mode 100644
index 00000000000..76fe9bc0a10
--- /dev/null
+++ b/pkgs/development/python-modules/pyarlo/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, pytestCheckHook
+, requests
+, requests-mock
+, sseclient-py
+}:
+
+buildPythonPackage rec {
+  pname = "pyarlo";
+  version = "0.2.4";
+
+  src = fetchFromGitHub {
+    owner = "tchellomello";
+    repo = "python-arlo";
+    rev = version;
+    sha256 = "0pp7y2llk4xnf6zh57j5xas0gw5zqm42qaqssd8p4qa3g5rds8k3";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    sseclient-py
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    mock
+    requests-mock
+  ];
+
+  pythonImportsCheck = [ "pyarlo" ];
+
+  meta = with lib; {
+    description = "Python library to work with Netgear Arlo cameras";
+    homepage = "https://github.com/tchellomello/python-arlo";
+    license = with licenses; [ lgpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyatv/default.nix b/pkgs/development/python-modules/pyatv/default.nix
index 647866b143f..cbb61b21b10 100644
--- a/pkgs/development/python-modules/pyatv/default.nix
+++ b/pkgs/development/python-modules/pyatv/default.nix
@@ -46,6 +46,8 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with stdenv.lib; {
     description = "A python client library for the Apple TV";
     homepage = "https://github.com/postlund/pyatv";
diff --git a/pkgs/development/python-modules/pygobject/default.nix b/pkgs/development/python-modules/pygobject/default.nix
index a7b25e57a33..0b72561e870 100644
--- a/pkgs/development/python-modules/pygobject/default.nix
+++ b/pkgs/development/python-modules/pygobject/default.nix
@@ -1,9 +1,10 @@
-{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib, isPy3k }:
+{ stdenv, fetchurl, python, buildPythonPackage, pkgconfig, glib, isPy3k, pythonAtLeast }:
 
 buildPythonPackage rec {
   pname = "pygobject";
   version = "2.28.7";
   format = "other";
+  disabled = pythonAtLeast "3.9";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pygobject/2.28/${pname}-${version}.tar.xz";
diff --git a/pkgs/development/python-modules/pymodbus/default.nix b/pkgs/development/python-modules/pymodbus/default.nix
new file mode 100644
index 00000000000..76f2e9a9338
--- /dev/null
+++ b/pkgs/development/python-modules/pymodbus/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, asynctest
+, buildPythonPackage
+, fetchFromGitHub
+, mock
+, pyserial
+, pyserial-asyncio
+, pytestCheckHook
+, pythonOlder
+, redis
+, sqlalchemy
+, tornado
+, twisted
+}:
+
+buildPythonPackage rec {
+  pname = "pymodbus";
+  version = "2.4.0";
+
+  src = fetchFromGitHub {
+    owner = "riptideio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0x0dv02shcc2yxxm9kvcbhip111sna74dvcfssxdzzy967vnq76v";
+  };
+
+  # Twisted asynchronous version is not supported due to a missing dependency
+  propagatedBuildInputs = [
+    pyserial
+    pyserial-asyncio
+    tornado
+  ];
+
+  checkInputs = [
+    asynctest
+    mock
+    pyserial-asyncio
+    pytestCheckHook
+    redis
+    sqlalchemy
+    tornado
+    twisted
+  ];
+
+  pythonImportsCheck = [ "pymodbus" ];
+
+  meta = with lib; {
+    description = "Python implementation of the Modbus protocol";
+    longDescription = ''
+      Pymodbus is a full Modbus protocol implementation using twisted,
+      torndo or asyncio for its asynchronous communications core. It can
+      also be used without any third party dependencies if a more
+      lightweight project is needed.
+    '';
+    homepage = "https://github.com/riptideio/pymodbus";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-snapshot/default.nix b/pkgs/development/python-modules/pytest-snapshot/default.nix
new file mode 100644
index 00000000000..42f399bb67f
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-snapshot/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, packaging, pytest, setuptools-scm }:
+
+buildPythonPackage rec {
+  pname = "pytest-snapshot";
+  version = "0.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1p33fcplfykwf5mdwg25n8hjgzxpx8w1iprjnfzibpxclfrxmy5i";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [ packaging pytest ];
+
+  # pypi does not contain tests and GitHub archive is not supported because setuptools-scm can't detect the version
+  doCheck = false;
+  pythonImportsCheck = [ "pytest_snapshot" ];
+
+  meta = with lib; {
+    description = "A plugin to enable snapshot testing with pytest";
+    homepage = "https://github.com/joseph-roitman/pytest-snapshot/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/rfc3986/default.nix b/pkgs/development/python-modules/rfc3986/default.nix
index 3af6d2f022b..859b2cc3e1a 100644
--- a/pkgs/development/python-modules/rfc3986/default.nix
+++ b/pkgs/development/python-modules/rfc3986/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi,
-  pytest }:
+{ stdenv, buildPythonPackage, fetchPypi, idna, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "rfc3986";
@@ -10,14 +9,14 @@ buildPythonPackage rec {
     sha256 = "17dvx15m3r49bmif5zlli8kzjd6bys6psixzbp14sd5367d9h8qi";
   };
 
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    pytest
-  '';
+  propagatedBuildInputs = [ idna ];
+
+  checkInputs = [ pytestCheckHook ];
 
   meta = with stdenv.lib; {
+    description = "Validating URI References per RFC 3986";
     homepage = "https://rfc3986.readthedocs.org";
     license = licenses.asl20;
-    description = "Validating URI References per RFC 3986";
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 055341dfd1d..0b042288fb7 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , python
 , buildPythonPackage
 , fetchpatch
@@ -20,30 +21,37 @@
 , cffi
 , tzlocal
 , simplegeneric
-, pytest
+, pytestCheckHook
 , extraRPackages ? []
 }:
 
 buildPythonPackage rec {
-    version = "3.3.6";
+    version = "3.4.1";
     pname = "rpy2";
 
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      sha256 = "0xvfkxvh01r5ibd5mpisp8bz385hgpn27b988y8v65z7hqr3y1nf";
+      sha256 = "1qnjjlgh6i31z45jykwd29n1336gq678fn9zw7gh0rv5d6sn0hv4";
     };
 
+    patches = [
+      # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
+      # This patch sets R_LIBS_SITE when rpy2 is imported.
+      ./rpy2-3.x-r-libs-site.patch
+    ];
+
+    postPatch = ''
+      substituteInPlace 'rpy2/rinterface_lib/embedded.py' --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+      substituteInPlace 'requirements.txt' --replace 'pytest' ""
+    '';
+
     buildInputs = [
-      R
       pcre
       lzma
       bzip2
       zlib
       icu
-
-      # is in the upstream `requires` although it shouldn't be -- this is easier than patching it away
-      pytest
     ] ++ (with rPackages; [
       # packages expected by the test framework
       ggplot2
@@ -58,23 +66,10 @@ buildPythonPackage rec {
       tidyr
     ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
 
-    checkPhase = ''
-      pytest
-    '';
-
     nativeBuildInputs = [
       R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
     ];
 
-    patches = [
-      # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
-      # This patch sets R_LIBS_SITE when rpy2 is imported.
-      ./rpy2-3.x-r-libs-site.patch
-    ];
-    postPatch = ''
-      substituteInPlace 'rpy2/rinterface_lib/embedded.py' --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
-    '';
-
     propagatedBuildInputs = [
       ipython
       jinja2
@@ -86,8 +81,10 @@ buildPythonPackage rec {
       simplegeneric
     ];
 
+    doCheck = !stdenv.isDarwin;
+
     checkInputs = [
-      pytest
+      pytestCheckHook
     ];
 
     meta = {
diff --git a/pkgs/development/python-modules/salmon-mail/default.nix b/pkgs/development/python-modules/salmon-mail/default.nix
index a33bec431d6..187f526b72f 100644
--- a/pkgs/development/python-modules/salmon-mail/default.nix
+++ b/pkgs/development/python-modules/salmon-mail/default.nix
@@ -20,6 +20,8 @@ buildPythonPackage rec {
   # The tests use salmon executable installed by salmon itself so we need to add
   # that to PATH
   checkPhase = ''
+    # tests fail and pytest is not supported
+    rm tests/server_tests.py
     PATH=$out/bin:$PATH python setup.py test
   '';
 
diff --git a/pkgs/development/python-modules/sanic-auth/default.nix b/pkgs/development/python-modules/sanic-auth/default.nix
index 4642b69f7d2..c78b6f13d15 100644
--- a/pkgs/development/python-modules/sanic-auth/default.nix
+++ b/pkgs/development/python-modules/sanic-auth/default.nix
@@ -1,21 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, pytest, sanic }:
+{ lib, buildPythonPackage, fetchPypi, sanic, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "Sanic-Auth";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b7cb9e93296c035ada0aa1ebfb33f9f7b62f7774c519e374b7fe703ff73589cb";
+    sha256 = "0dc24ynqjraqwgvyk0g9bj87zgpq4xnssl24hnsn7l5vlkmk8198";
   };
 
   propagatedBuildInputs = [ sanic ];
 
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
-  checkPhase = ''
-    pytest tests
-  '';
+  pythonImportsCheck = [ "sanic_auth" ];
 
   meta = with lib; {
     description = "Simple Authentication for Sanic";
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index aaedaa5ef8c..f503b0b8556 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -36,6 +36,8 @@ buildPythonPackage rec {
     "test_zero_downtime" # No "examples.delayed_response.app" module in pypi distribution.
   ];
 
+  __darwinAllowLocalNetworking = true;
+
   meta = with lib; {
     description = "A microframework based on uvloop, httptools, and learnings of flask";
     homepage = "http://github.com/channelcat/sanic/";
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 9df9453b2b4..5f640d44b1c 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -42,12 +42,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ urllib3 certifi ];
 
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/getsentry/sentry-python";
-    description = "New Python SDK for Sentry.io";
-    license = licenses.bsd2;
-    maintainers = with maintainers; [ gebner ];
-  };
 
   # The Sentry tests need access to `/etc/protocols` (the tests call
   # `socket.getprotobyname('tcp')`, which reads from this file). Normally
@@ -57,5 +51,17 @@ buildPythonPackage rec {
     export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols
     export LD_PRELOAD=${libredirect}/lib/libredirect.so
   '';
+
   postCheck = "unset NIX_REDIRECTS LD_PRELOAD";
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "sentry_sdk" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/getsentry/sentry-python";
+    description = "New Python SDK for Sentry.io";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ gebner ];
+  };
 }
diff --git a/pkgs/development/python-modules/smbus-cffi/default.nix b/pkgs/development/python-modules/smbus-cffi/default.nix
index b762730914b..6715cfd60d9 100644
--- a/pkgs/development/python-modules/smbus-cffi/default.nix
+++ b/pkgs/development/python-modules/smbus-cffi/default.nix
@@ -42,5 +42,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/bivab/smbus-cffi";
     license = licenses.gpl2;
     maintainers = with maintainers; [ mic92 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/snapshottest/default.nix b/pkgs/development/python-modules/snapshottest/default.nix
new file mode 100644
index 00000000000..b20f9afff9e
--- /dev/null
+++ b/pkgs/development/python-modules/snapshottest/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fastdiff
+, six
+, termcolor
+, pytestCheckHook
+, pytest-cov
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "snapshottest";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0g35ggqw4jd9zmazw55kj6gfjdghv49qx4jw5q231qyqj8fzijmv";
+  };
+
+  propagatedBuildInputs = [ fastdiff six termcolor ];
+
+  checkInputs = [ django pytestCheckHook pytest-cov ];
+
+  pythonImportsCheck = [ "snapshottest" ];
+
+  meta = with lib; {
+    description = "Snapshot testing for pytest, unittest, Django, and Nose";
+    homepage = "https://github.com/syrusakbary/snapshottest";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index 727a840476a..99a6369de55 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.1.1";
+  version = "3.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54df73364662ff3c763da3b42b9d27b1771ebfb3361caa255e44e1bf1544015b";
+    sha256 = "83d60e0f0de5e4a367e2ad414dc008c0602e2af35325b09e41c7b2c69808dcc1";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index ff8a93d335e..d802a230003 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -2,25 +2,26 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, isPy27
 , aiofiles
 , graphene
 , itsdangerous
 , jinja2
+, python-multipart
 , pyyaml
 , requests
 , ujson
-, python-multipart
-, pytest
-, uvicorn
-, isPy27
-, darwin
-, databases
 , aiosqlite
+, databases
+, pytestCheckHook
+, pytest-asyncio
+, pytestcov
+, typing-extensions
+, ApplicationServices
 }:
 
 buildPythonPackage rec {
   pname = "starlette";
-
   version = "0.13.8";
   disabled = isPy27;
 
@@ -36,22 +37,21 @@ buildPythonPackage rec {
     graphene
     itsdangerous
     jinja2
+    python-multipart
     pyyaml
     requests
     ujson
-    uvicorn
-    python-multipart
-    databases
-  ] ++ stdenv.lib.optional stdenv.isDarwin [ darwin.apple_sdk.frameworks.ApplicationServices ];
+  ] ++ lib.optional stdenv.isDarwin [ ApplicationServices ];
 
   checkInputs = [
-    pytest
     aiosqlite
+    databases
+    pytestCheckHook
+    typing-extensions
   ];
 
-  checkPhase = ''
-    pytest --ignore=tests/test_graphql.py
-  '';
+  pytestFlagsArray = [ "--ignore=tests/test_graphql.py" ];
+
   pythonImportsCheck = [ "starlette" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/sympy/default.nix b/pkgs/development/python-modules/sympy/default.nix
index 9c3353aa2e7..c935176e0d5 100644
--- a/pkgs/development/python-modules/sympy/default.nix
+++ b/pkgs/development/python-modules/sympy/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "sympy";
-  version = "1.6.2";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cfadcc80506e4b793f5b088558ca1fcbeaec24cd6fc86f1fdccaa3ee1d48708";
+    sha256 = "sha256-o96SYel1Nbg7uGB7DaLH0DEmZQ+v6isniWV7Ipwkay4=";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/tasklib/default.nix b/pkgs/development/python-modules/tasklib/default.nix
index 319dd98234d..591f4cdabe9 100644
--- a/pkgs/development/python-modules/tasklib/default.nix
+++ b/pkgs/development/python-modules/tasklib/default.nix
@@ -8,11 +8,11 @@ wsl_stub = writeShellScriptBin "wsl" "true";
 
 in buildPythonPackage rec {
   pname = "tasklib";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "21525a34469928876b64edf8abf79cf788bb3fa796d4554ba22a68bc1f0693f5";
+    sha256 = "7fe8676acb4559129c4e958be7704c12dccdbae302fff47c5398bc0dd1c9e563";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tbm-utils/default.nix b/pkgs/development/python-modules/tbm-utils/default.nix
index 2d0efeceda0..bcc5cbbef94 100644
--- a/pkgs/development/python-modules/tbm-utils/default.nix
+++ b/pkgs/development/python-modules/tbm-utils/default.nix
@@ -5,17 +5,15 @@
 , pendulum
 , pprintpp
 , wrapt
-, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tbm-utils";
   version = "2.6.0";
-  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "235748cceeb22c042e32d2fdfd4d710021bac9b938c4f2c35e1fce1cfd58f7ec";
+    sha256 = "1v7pb3yirkhzbv1z5i1qp74vl880f56zvzfj68p08b5jxv64hmr3";
   };
 
   propagatedBuildInputs = [ attrs pendulum pprintpp wrapt ];
@@ -24,7 +22,7 @@ buildPythonPackage rec {
   # issues with package failing to build from source, but nixpkgs is better
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "pendulum>=2.0,<=3.0,!=2.0.5,!=2.1.0" "pendulum>=2.0,<=3.0"
+      --replace "'attrs>=18.2,<19.4'" "'attrs'"
   '';
 
   # No tests in archive.
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix
index 6cc3636b7f3..f58b1a20771 100644
--- a/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix
+++ b/pkgs/development/python-modules/tensorflow-tensorboard/1/default.nix
@@ -20,8 +20,7 @@ buildPythonPackage rec {
 
   src = fetchPypi ({
     pname = "tensorboard";
-    inherit version;
-    format = "wheel";
+    inherit version format;
   } // (if isPy3k then {
     python = "py3";
     sha256 = "1g62i3nrgp8q9wfsyqqjkkfnsz7x2k018c26kdh527h1yrjjrbac";
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/2/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/2/default.nix
index 945896dda01..d0cf7f28f4d 100644
--- a/pkgs/development/python-modules/tensorflow-tensorboard/2/default.nix
+++ b/pkgs/development/python-modules/tensorflow-tensorboard/2/default.nix
@@ -21,8 +21,7 @@ buildPythonPackage rec {
 
   src = fetchPypi ({
     pname = "tensorboard";
-    inherit version;
-    format = "wheel";
+    inherit version format;
   } // (if isPy3k then {
     python = "py3";
     sha256 = "1wpjdzhjpcdkyaahzd4bl71k4l30z5c55280ndiwj32hw70lxrp6";
diff --git a/pkgs/development/python-modules/trezor_agent/default.nix b/pkgs/development/python-modules/trezor_agent/default.nix
index 82cb14b31cb..fa9c11e95de 100644
--- a/pkgs/development/python-modules/trezor_agent/default.nix
+++ b/pkgs/development/python-modules/trezor_agent/default.nix
@@ -24,6 +24,9 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ setuptools trezor libagent ecdsa ed25519 mnemonic keepkey semver wheel pinentry ];
 
+  doCheck = false;
+  pythonImportsCheck = [ "libagent" ];
+
   meta = with stdenv.lib; {
     description = "Using Trezor as hardware SSH agent";
     homepage = "https://github.com/romanz/trezor-agent";
diff --git a/pkgs/development/python-modules/typesystem/default.nix b/pkgs/development/python-modules/typesystem/default.nix
index bfaed58b13f..e993363769a 100644
--- a/pkgs/development/python-modules/typesystem/default.nix
+++ b/pkgs/development/python-modules/typesystem/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , isPy27
-, pytest
+, pytestCheckHook
 , pytestcov
 , jinja2
 , pyyaml
@@ -26,14 +26,11 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
     pytestcov
   ];
 
-  # for some reason jinja2 not picking up forms directory (1% of tests)
-  checkPhase = ''
-    pytest --ignore=tests/test_forms.py
-  '';
+  disabledTests = [ "test_to_json_schema_complex_regular_expression" ];
 
   meta = with lib; {
     description = "A type system library for Python";
diff --git a/pkgs/development/python-modules/uvicorn/default.nix b/pkgs/development/python-modules/uvicorn/default.nix
index 55511be4926..36e8b12929e 100644
--- a/pkgs/development/python-modules/uvicorn/default.nix
+++ b/pkgs/development/python-modules/uvicorn/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , click
@@ -7,21 +8,26 @@
 , uvloop
 , websockets
 , wsproto
-, pytest
+, pytestCheckHook
+, pytest-mock
+, pyyaml
 , requests
+, trustme
+, typing-extensions
 , isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.11.5";
+  version = "0.13.2";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "0cf0vw6kzxwlkvk5gw85wv3kg1kdil0wkq3s7rmxpvrk6gjk8jvq";
+    sha256 = "04zgmp9z46k72ay6cz7plga6d3w3a6x41anabm7ramp7jdqf6na9";
   };
 
   propagatedBuildInputs = [
@@ -31,25 +37,33 @@ buildPythonPackage rec {
     uvloop
     websockets
     wsproto
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "h11==0.8.*" "h11" \
-      --replace "httptools==0.0.13" "httptools"
-  '';
-
-  checkInputs = [ pytest requests ];
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+    pyyaml
+    requests
+    trustme
+  ];
 
   doCheck = !stdenv.isDarwin;
 
-  # watchgod required the watchgod package, which isn't available in nixpkgs
-  checkPhase = ''
-    pytest --ignore=tests/supervisors/test_watchgodreload.py \
-      -k 'not test_supported_upgrade_request and not test_invalid_upgrade[WSProtocol]'
-  '';
+  __darwinAllowLocalNetworking = true;
+
+  pytestFlagsArray = [
+    # watchgod required the watchgod package, which isn't available in nixpkgs
+    "--ignore=tests/supervisors/test_reload.py"
+  ];
+
+  disabledTests = [
+    "test_supported_upgrade_request"
+    "test_invalid_upgrade"
+  ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = "https://www.uvicorn.org/";
     description = "The lightning-fast ASGI server";
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index 4d5b5d48fda..7c5c99a0bec 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "voluptuous";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p5j3fgbpqj31fajkaisdrz10ah9667sijz4kp3m0sbgw6ag4kis";
+    sha256 = "0js4avmhmmys78z376xk1w9305hq5nad8zqrnksgmpc1j90p4db6";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix
new file mode 100644
index 00000000000..e8307365574
--- /dev/null
+++ b/pkgs/development/python-modules/wasmer/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, maturin
+, buildPythonPackage
+, isPy38
+, python
+}:
+let
+  pname = "wasmer";
+  version = "1.0.0-beta1";
+
+  wheel = rustPlatform.buildRustPackage rec {
+    name = "${pname}-${version}-py${python.version}";
+
+    src = fetchFromGitHub {
+      owner = "wasmerio";
+      repo = "wasmer-python";
+      rev = version;
+      sha256 = "0302lcfjlw7nz18nf86z6swhhpp1qnpwcsm2fj4avl22rsv0h78j";
+    };
+
+    cargoSha256 = "0d83dniijjq8rc4fcwj6ja5x4hxh187afnqfd8c9fzb8nx909a0v";
+
+    nativeBuildInputs = [ maturin python ];
+
+    preBuild = ''
+      cd packages/api
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+      maturin build --release --manylinux off --strip
+      runHook postBuild
+    '';
+
+    postBuild = ''
+      cd ../..
+    '';
+
+    doCheck = false;
+
+    installPhase = ''
+      runHook preInstall
+      install -Dm644 -t $out target/wheels/*.whl
+      runHook postInstall
+    '';
+  };
+
+in
+buildPythonPackage rec {
+  inherit pname version;
+  # we can only support one python version because the cargo hash changes with the python version
+  disabled = !isPy38;
+
+  format = "wheel";
+  src = wheel;
+
+  unpackPhase = ''
+    mkdir -p dist
+    cp $src/*.whl dist
+  '';
+
+  pythonImportsCheck = [ "wasmer" ];
+
+  meta = with lib; {
+    description = "Python extension to run WebAssembly binaries";
+    homepage = "https://github.com/wasmerio/wasmer-python";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/xlib/default.nix b/pkgs/development/python-modules/xlib/default.nix
index 599abf1974c..30a30232088 100644
--- a/pkgs/development/python-modules/xlib/default.nix
+++ b/pkgs/development/python-modules/xlib/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "xlib";
-  version = "0.28";
+  version = "0.29";
 
   src = fetchFromGitHub {
     owner = "python-xlib";
     repo = "python-xlib";
     rev = version;
-    sha256 = "13551vi65034pjf2g7zkw5dyjqcjfyk32a640g5jr055ssf0bjkc";
+    sha256 = "sha256-zOG1QzRa5uN36Ngv8i5s3mq+VIoRzxFj5ltUbKdonJ0=";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/ydiff/default.nix b/pkgs/development/python-modules/ydiff/default.nix
index 822bb40783e..3b9cf6530a6 100644
--- a/pkgs/development/python-modules/ydiff/default.nix
+++ b/pkgs/development/python-modules/ydiff/default.nix
@@ -24,6 +24,6 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/ymattw/ydiff";
     license = licenses.bsd3;
-    maintainers = [ maintainers.limeytexan ];
+    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index a8715a2133c..72d6d48f977 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchPypi
 , ifaddr
@@ -29,7 +30,10 @@ buildPythonPackage rec {
     "test_launch_and_close_v4_v6"
     "test_launch_and_close_v6_only"
     "test_integration_with_listener_ipv6"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_lots_of_names"
   ];
+  __darwinAllowLocalNetworking = true;
 
   pythonImportsCheck = [ "zeroconf" ];
 
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 0c6ac7dbf49..752d2eeda8d 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -1,19 +1,27 @@
-{ lib, buildPythonPackage, fetchPypi
-, aiohttp, zigpy, conftest, asynctest
-, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, zigpy
+, conftest
+, asynctest
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.47";
+  version = "0.0.51";
+
+  src = fetchFromGitHub {
+    owner = "zigpy";
+    repo = "zha-device-handlers";
+    rev = version;
+    sha256 = "14v01kclf096ax88cd6ckfs8gcffqissli9vpr0wfzli08afmbi9";
+  };
 
   propagatedBuildInputs = [ aiohttp zigpy ];
   checkInputs = [ pytestCheckHook conftest asynctest ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bf7dbd5d1c1a3849b059e62afcef248b6955f5ceef78f87201ae2fc8420738de";
-  };
-
   meta = with lib; {
     description = "ZHA Device Handlers are custom quirks implementations for Zigpy";
     homepage = "https://github.com/dmulcahey/zha-device-handlers";
diff --git a/pkgs/development/python-modules/zigpy-deconz/default.nix b/pkgs/development/python-modules/zigpy-deconz/default.nix
index 12964652752..d9c7854bf98 100644
--- a/pkgs/development/python-modules/zigpy-deconz/default.nix
+++ b/pkgs/development/python-modules/zigpy-deconz/default.nix
@@ -1,20 +1,29 @@
-{ stdenv, buildPythonPackage, fetchPypi
-, pyserial, pyserial-asyncio, zigpy
-, pytest, pytest-asyncio, asynctest }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pyserial
+, pyserial-asyncio
+, zigpy
+, pytestCheckHook
+, pytest-asyncio
+, asynctest
+}:
 
 buildPythonPackage rec {
   pname = "zigpy-deconz";
-  version = "0.11.0";
+  version = "0.11.1";
 
-  propagatedBuildInputs = [ pyserial pyserial-asyncio zigpy ];
-  checkInputs = [ pytest pytest-asyncio asynctest ];
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a2263f8bc5807ebac55bb665eca553b514384ce270b66f83df02c39184193020";
+  src = fetchFromGitHub {
+    owner = "zigpy";
+    repo = pname;
+    rev = version;
+    sha256 = "1p9mdsfc200iyszppcflazzfwqg4v8nqqwqsx114nip5km7a5s37";
   };
 
-  meta = with stdenv.lib; {
+  propagatedBuildInputs = [ pyserial pyserial-asyncio zigpy ];
+  checkInputs = [ pytestCheckHook pytest-asyncio asynctest ];
+
+  meta = with lib; {
     description = "Library which communicates with Deconz radios for zigpy";
     homepage = "https://github.com/zigpy/zigpy-deconz";
     license = licenses.gpl3Plus;
diff --git a/pkgs/development/python-modules/zigpy-zigate/default.nix b/pkgs/development/python-modules/zigpy-zigate/default.nix
index 018017c89a4..5ebb17dd498 100644
--- a/pkgs/development/python-modules/zigpy-zigate/default.nix
+++ b/pkgs/development/python-modules/zigpy-zigate/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-zigate";
-  version = "0.7.3";
+  version = "0.7.4";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-zigate";
     rev = version;
-    sha256 = "068v8n8yimmpnwqcdz5m9g35z1x0dir478cbc1s1nyhw1xn50vg1";
+    sha256 = "0xl8qgljvmypi602f52m89iv9pcrzsdal3jw619vrcavp40rc04d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix
index 9b8e65e23d0..01b3e9c6137 100644
--- a/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -45,6 +45,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # zigpy-znp was too slow to sync up with the zigpy 0.29 release and has API breakage, remove >0.3.0
+    "test_force_remove"
+  ];
+
   meta = with stdenv.lib; {
     description = "A library for zigpy which communicates with TI ZNP radios";
     homepage = "https://github.com/zha-ng/zigpy-znp";
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 54f0df34016..483c239ae5d 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -1,5 +1,6 @@
 { lib
 , aiohttp
+, aiosqlite
 , asynctest
 , buildPythonPackage
 , crccheck
@@ -14,17 +15,18 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.26.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "ba8Ru6RCbFOHhctFtklnrxVD3uEpxF4XDvO5RMgXPBs=";
+    sha256 = "1r4i2ya9f241rls9mi24dksx4srrzi8agshnqy12rclxlh7qb1aw";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    aiosqlite
     crccheck
     pycrypto
     pycryptodome
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 292653d75e5..9eb5ffb52cc 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -380,6 +380,7 @@ let
     rmutil = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
     robustbase = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
     SparseM = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
+    hexbin = lib.optionals stdenv.isDarwin [ pkgs.libiconv ];
     svKomodo = [ pkgs.which ];
     nat = [ pkgs.which ];
     nat_templatebrains = [ pkgs.which ];
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 00a285c67d0..30a013dac11 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "buildkit";
-  version = "0.8.0";
+  version = "0.8.1";
 
   goPackagePath = "github.com/moby/buildkit";
   subPackages = [ "cmd/buildctl" ] ++ stdenv.lib.optionals stdenv.isLinux [ "cmd/buildkitd" ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    sha256 = "0qcgq93wj77i912xqhwrzkzaqz608ilczfn5kcsrf9jk2m1gnx7m";
+    sha256 = "0lqfz097nyb6q6bn5mmfg6vl1nmgb6k4lmwxc8anza6zp8qh7wif";
   };
 
   buildFlagsArray = [ "-ldflags=-s -w -X ${goPackagePath}/version.Version=${version} -X ${goPackagePath}/version.Revision=${src.rev}" ];
diff --git a/pkgs/development/tools/database/timescaledb-tune/default.nix b/pkgs/development/tools/database/timescaledb-tune/default.nix
index 2079925049d..787c7c3131b 100644
--- a/pkgs/development/tools/database/timescaledb-tune/default.nix
+++ b/pkgs/development/tools/database/timescaledb-tune/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "timescaledb-tune";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vncwwvw7y6g3crd4n5vvd6jwdsa8vsvsmfwy5mad4j6lix09ajx";
+    sha256 = "0vrbbswmg6z3n012mqd1jasqk01navypzv5m00r6c9bxj72hgcxl";
   };
 
   vendorSha256 = "0hbpprbxs19fcar7xcy42kn9yfzhal2zsv5pml9ghiv2s61yns4z";
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index 79c48458611..4235912c24f 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -2,9 +2,9 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "3.8.7";
+  version = "3.9.1";
   # rev is the 3.8.7 commit, mainly for kustomize version command output
-  rev = "ad092cc7a91c07fdf63a2e4b7f13fa588a39af4f";
+  rev = "7439f1809e5ccd4677ed52be7f98f2ad75122a93";
 
   buildFlagsArray = let t = "sigs.k8s.io/kustomize/api/provenance"; in
     ''
@@ -17,13 +17,13 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    sha256 = "1942cyaj6knf8mc3q2vcz6rqqc6lxdd6nikry9m0idk5l1b09x1m";
+    sha256 = "1v8yfiwzg84bpdh3k3h5v2smxx0dymq717r2mh3pjz3nifkg3ilm";
   };
 
   # avoid finding test and development commands
   sourceRoot = "source/kustomize";
 
-  vendorSha256 = "0y77ykfcbn4l0x85c3hb1lgjpy64kimx3s1qkn38gpmi4lphvkkl";
+  vendorSha256 = "1nixkmyqzq7387rwam0bsa6qjd40k5p15npq0iz1z2k1ws8pvrg6";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
@@ -34,6 +34,6 @@ buildGoModule rec {
     '';
     homepage = "https://github.com/kubernetes-sigs/kustomize";
     license = licenses.asl20;
-    maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime ];
+    maintainers = with maintainers; [ carlosdagos vdemeester periklis zaninime Chili-Man];
   };
 }
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 7f6a4eddcab..68140904aad 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure-lsp";
-  version = "20201228T020543";
+  version = "2021.01.03-00.42.23";
 
   src = fetchurl {
-    url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/release-${version}/${pname}.jar";
-    sha256 = "0jkpw7dx7976p63c08bp43fiwk6f2h2nxj9vv1zr103hgywpplri";
+    url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/${pname}.jar";
+    sha256 = "06h69hwm3kl1nr94l43j91pnvkzgnacsg6a6cly4abrg041qhbv3";
   };
 
   dontUnpack = true;
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     install -Dm644 $src $out/share/java/${pname}.jar
     makeWrapper ${jre}/bin/java $out/bin/${pname} \
-      --add-flags "-jar $out/share/java/${pname}.jar" \
       --add-flags "-Xmx2g" \
-      --add-flags "-server"
+      --add-flags "-server" \
+      --add-flags "-jar $out/share/java/${pname}.jar"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/pry/Gemfile.lock b/pkgs/development/tools/pry/Gemfile.lock
index d76845bc05a..87f7e81fbe3 100644
--- a/pkgs/development/tools/pry/Gemfile.lock
+++ b/pkgs/development/tools/pry/Gemfile.lock
@@ -1,11 +1,11 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    coderay (1.1.2)
-    method_source (0.9.2)
-    pry (0.12.2)
-      coderay (~> 1.1.0)
-      method_source (~> 0.9.0)
+    coderay (1.1.3)
+    method_source (1.0.0)
+    pry (0.13.1)
+      coderay (~> 1.1)
+      method_source (~> 1.0)
 
 PLATFORMS
   ruby
diff --git a/pkgs/development/tools/pry/gemset.nix b/pkgs/development/tools/pry/gemset.nix
index e779c48aebf..05e5e1dcfb8 100644
--- a/pkgs/development/tools/pry/gemset.nix
+++ b/pkgs/development/tools/pry/gemset.nix
@@ -4,20 +4,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.1.3";
   };
   method_source = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "1.0.0";
   };
   pry = {
     dependencies = ["coderay" "method_source"];
@@ -25,9 +25,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00rm71x0r1jdycwbs83lf9l6p494m99asakbvqxh8rz7zwnlzg69";
+      sha256 = "0iyw4q4an2wmk8v5rn2ghfy2jaz9vmw2nk8415nnpx2s866934qk";
       type = "gem";
     };
-    version = "0.12.2";
+    version = "0.13.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index a398b7e504d..a031d552253 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -2,10 +2,10 @@
 
 {
   rust-analyzer-unwrapped = callPackage ./generic.nix rec {
-    rev = "2020-11-09";
+    rev = "2021-01-04";
     version = "unstable-${rev}";
-    sha256 = "sha256-SX9dvx2JtYZBxA3+dHQKX/jrjbAMy37/SAybDjlYcSs=";
-    cargoSha256 = "sha256-+td+wMmI+MyGz9oPC+SPO2TmAV0+3lOORNY7xf6s3vI=";
+    sha256 = "sha256-VRnmx5SfmdMIVQjixWBSaMioqFUlo9VOIKsPvC5t3t4=";
+    cargoSha256 = "sha256-X63FjFpfwjvQayw4X6Sqfyh4FHsc3flE3OtQpzqowjc=";
   };
 
   rust-analyzer = callPackage ./wrapper.nix {} {
diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh
index f08ea67cf22..1bd46862692 100755
--- a/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -26,7 +26,7 @@ sha256=$(nix-prefetch -f "$nixpkgs" rust-analyzer-unwrapped.src --rev "$rev")
 # Clear cargoSha256 to avoid inconsistency.
 sed -e "s#rev = \".*\"#rev = \"$rev\"#" \
     -e "s#sha256 = \".*\"#sha256 = \"$sha256\"#" \
-    -e "s#cargoSha256 = \".*\"#cargoSha256 = \"\"#" \
+    -e "s#cargoSha256 = \".*\"#cargoSha256 = \"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"#" \
     --in-place ./default.nix
 node_src="$(nix-build "$nixpkgs" -A rust-analyzer.src --no-out-link)/editors/code"
 
diff --git a/pkgs/development/tools/tabnine/default.nix b/pkgs/development/tools/tabnine/default.nix
index 6c54e8f3c40..f18be619f26 100644
--- a/pkgs/development/tools/tabnine/default.nix
+++ b/pkgs/development/tools/tabnine/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, unzip }:
 
 let
-  version = "3.1.1";
+  version = "3.2.63";
   src =
     if stdenv.hostPlatform.system == "x86_64-darwin" then
       fetchurl {
-        url = "https://update.tabnine.com/${version}/x86_64-apple-darwin/TabNine";
-        sha256 = "w+Ufy4pICfQmseKCeohEQIP0VD6YrkYTEn41HX40Zlw=";
+        url = "https://update.tabnine.com/bundles/${version}/x86_64-apple-darwin/TabNine.zip";
+        sha256 = "0y0wb3jdr2qk4k21c11w8c9a5fl0h2rm1wm7m8hqdywy4lz9ppgy";
       }
     else if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
-        url = "https://update.tabnine.com/${version}/x86_64-unknown-linux-musl/TabNine";
-        sha256 = "hSltZWQz2BRFut0NDI4fS/N8XxFJaYGHRtV3llBVOY4=";
+        url = "https://update.tabnine.com/bundles/${version}/x86_64-unknown-linux-musl/TabNine.zip";
+        sha256 = "0zzk2w5azk5f0svjxlj2774x01xdflb767xxvbglj4223dgyx2x5";
       }
     else throw "Not supported on ${stdenv.hostPlatform.system}";
 in stdenv.mkDerivation rec {
@@ -20,10 +20,15 @@ in stdenv.mkDerivation rec {
   inherit version src;
 
   dontBuild = true;
-  dontUnpack = true;
+
+  # Work around the "unpacker appears to have produced no directories"
+  # case that happens when the archive doesn't have a subdirectory.
+  setSourceRoot = "sourceRoot=`pwd`";
+
+  nativeBuildInputs = [ unzip ];
 
   installPhase = ''
-    install -Dm755 $src $out/bin/TabNine
+    install -Dm755 TabNine $out/bin/TabNine
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/turbogit/default.nix b/pkgs/development/tools/turbogit/default.nix
new file mode 100644
index 00000000000..68bd1068354
--- /dev/null
+++ b/pkgs/development/tools/turbogit/default.nix
@@ -0,0 +1,42 @@
+{ fetchFromGitHub, buildGoModule, lib, installShellFiles }:
+buildGoModule rec {
+  pname = "turbogit";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "b4nst";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-alVgXnsoC2nmUe6i/l0ttUjoXpKLHr0n/7p6WbIIGBU=";
+  };
+
+  vendorSha256 = "sha256-6fxbxpROYiNw5SYdQAIdy5NfqzOcFfAlJ+vTQyFtink=";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ installShellFiles ];
+  postInstall = ''
+    # Move turbogit binary to tug
+    ln -s $out/bin/turbogit $out/bin/tug
+
+    # Generate completion files
+    mkdir -p share/completions
+    $out/bin/tug completion bash > share/completions/tug.bash
+    $out/bin/tug completion fish > share/completions/tug.fish
+    $out/bin/tug completion zsh > share/completions/tug.zsh
+
+    installShellCompletion share/completions/tug.{bash,fish,zsh}
+  '';
+
+  meta = with lib; {
+    description = "Keep your git workflow clean without headache.";
+    longDescription = ''
+      turbogit (tug) is a cli tool built to help you deal with your day-to-day git work.
+      turbogit enforces convention (e.g. The Conventional Commits) but tries to keep things simple and invisible for you.
+      turbogit is your friend.
+    '';
+    homepage = "https://b4nst.github.io/turbogit";
+    license = licenses.mit;
+    maintainers = [ maintainers.yusdacra ];
+  };
+}
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index b4c90545035..840913550f7 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,12 +2,12 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.5.tar.xz",
+        "name": "factorio_alpha_x64-1.1.7.tar.xz",
         "needsAuth": true,
-        "sha256": "17hm62mhldms41wv0vv2bzg8zg1mg7ga61h3yzw9dfvic661khmp",
+        "sha256": "0wqrs5w5giybq47hfv5wwg7c36351kfsa5x06nvxls2znyl43qv8",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.5/alpha/linux64",
-        "version": "1.1.5"
+        "url": "https://factorio.com/get-download/1.1.7/alpha/linux64",
+        "version": "1.1.7"
       },
       "stable": {
         "name": "factorio_alpha_x64-1.0.0.tar.xz",
@@ -38,12 +38,12 @@
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.5.tar.xz",
+        "name": "factorio_headless_x64-1.1.7.tar.xz",
         "needsAuth": false,
-        "sha256": "1s4ajj8kkz1q5rivv2q6c8ii73nxa11g4fs6hic3r43l52n89ml1",
+        "sha256": "1s52p6cvd2v0pmj4gppc2pf8r6bpbzkmwpw8451j3ic58fhjvypr",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.5/headless/linux64",
-        "version": "1.1.5"
+        "url": "https://factorio.com/get-download/1.1.7/headless/linux64",
+        "version": "1.1.7"
       },
       "stable": {
         "name": "factorio_headless_x64-1.0.0.tar.xz",
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index 6104ac5635c..731a63f90f9 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -3,7 +3,7 @@
 , makeDesktopItem
 , fetchFromGitHub
 , gradleGen
-, jdk14
+, jdk
 , perl
 , jre
 , alsaLib
@@ -58,7 +58,7 @@ let
   '';
 
   # The default one still uses jdk8 (#89731)
-  gradle_6 = (gradleGen.override (old: { java = jdk14; })).gradle_6_7;
+  gradle_6 = (gradleGen.override (old: { java = jdk; })).gradle_6_7;
 
   # fake build to pre-download deps into fixed-output derivation
   deps = stdenv.mkDerivation {
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index b740f5091fa..b29463d61dd 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -2,7 +2,7 @@
 , pkgconfig
 , cups, zlib, libjpeg, libusb1, python3Packages, sane-backends
 , dbus, file, ghostscript, usbutils
-, net-snmp, openssl, perl, nettools
+, net-snmp, openssl, perl, nettools, avahi
 , bash, coreutils, util-linux
 # To remove references to gcc-unwrapped
 , removeReferencesTo, qt5
@@ -13,17 +13,17 @@
 
 let
 
-  name = "hplip-${version}";
-  version = "3.20.5";
+  pname = "hplip";
+  version = "3.20.11";
 
   src = fetchurl {
-    url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "004bbd78487b7803cdcf2a96b00de938797227068c4de43ee7ad7d174c4e475a";
+    url = "mirror://sourceforge/hplip/${pname}-${version}.tar.gz";
+    sha256 = "CxZ1s9jnCaEyX+hj9arOO9NxB3mnPq6Gj3su6aVv2xE=";
   };
 
   plugin = fetchurl {
-    url = "https://developers.hp.com/sites/default/files/${name}-plugin.run";
-    sha256 = "ff3dedda3158be64b985efbf636890ddda5b271ae1f1fbd788219e1344a9c2e7";
+    url = "https://developers.hp.com/sites/default/files/${pname}-${version}-plugin.run";
+    sha256 = "r8PoQQFfjdHKySPCFwtDR8Tl6v5Eag9gXpBAp6sCF9Q=";
   };
 
   hplipState = substituteAll {
@@ -50,7 +50,7 @@ assert withPlugin -> builtins.elem hplipArch pluginArches
   || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}";
 
 python3Packages.buildPythonApplication {
-  inherit name src;
+  inherit pname version src;
   format = "other";
 
   buildInputs = [
@@ -65,6 +65,7 @@ python3Packages.buildPythonApplication {
     openssl
     perl
     zlib
+    avahi
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/misc/drivers/steamcontroller/default.nix b/pkgs/misc/drivers/steamcontroller/default.nix
index ca5607b5307..4877886d500 100644
--- a/pkgs/misc/drivers/steamcontroller/default.nix
+++ b/pkgs/misc/drivers/steamcontroller/default.nix
@@ -21,10 +21,12 @@ buildPythonApplication {
   '';
 
   buildInputs = [ libusb1 ];
-  propagatedBuildInputs =
-    [ psutil python3Packages.libusb1 ]
+  propagatedBuildInputs = [ psutil python3Packages.libusb1 ]
     ++ lib.optionals GyroplotSupport [ pyqtgraph pyside ];
 
+  doCheck = false;
+  pythonImportsCheck = [ "steamcontroller" ];
+
   meta = with stdenv.lib; {
     description = "A standalone Steam controller driver";
     homepage    = "https://github.com/ynsta/steamcontroller";
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 33bff019536..e41427d89e5 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -290,6 +290,7 @@ in rec {
 
   onedark-theme = mkDerivation {
     pluginName = "onedark-theme";
+    rtpFilePath = "tmux-onedark-theme.tmux";
     version = "unstable-2020-06-07";
     src = fetchFromGitHub {
       owner = "odedlaz";
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 5d98044fa35..4f24e88ca9e 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -65,12 +65,12 @@ let
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2020-12-28";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "7fca451cf9a3068efe5e93fcc4b5494d939245fb";
-      sha256 = "0428dj8gk781p9mns3q2lhhfmcsav8z3d79ggyb3ldsjnmsc1lds";
+      rev = "7e4c125d38181a0e0d0c7883091e2fe683243ce4";
+      sha256 = "0ngmcdbsqxjc00c1jab0h3dic5q1l781bhih30m5xx8qylqhf4g2";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -209,12 +209,12 @@ let
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2020-12-26";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "e006f28803c4f4f3e69e792ea347ef51623dd442";
-      sha256 = "1brsi5xrcza3wp7nkypqkk0imvb2cw0xpzg90llc504h62z5lbic";
+      rev = "ae48abdd39e24e187dac904c14caf6458b76838c";
+      sha256 = "12a31l2ggzihl1m1bjgmpmvw8zlqgvql01ryz1zrrhwmgzk8jk1h";
     };
     meta.homepage = "https://github.com/rafi/awesome-vim-colorschemes/";
   };
@@ -293,12 +293,12 @@ let
 
   brainfuck-vim = buildVimPluginFrom2Nix {
     pname = "brainfuck-vim";
-    version = "2020-12-31";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "fruit-in";
       repo = "brainfuck-vim";
-      rev = "2e5480e654221677dbf4652d2dd6d0cd6278a449";
-      sha256 = "1ki6gv6v2pff1azif753b80yy48wx9k8knm2maw9bl333563hpm9";
+      rev = "4b85810e1e826dcbb9a38122d4c52e85e470e81a";
+      sha256 = "1q25w1v7kimq0cnjk8afy8ackfshhs25ra8w11l7qra3lrxkwj9b";
     };
     meta.homepage = "https://github.com/fruit-in/brainfuck-vim/";
   };
@@ -449,12 +449,12 @@ let
 
   coc-explorer = buildVimPluginFrom2Nix {
     pname = "coc-explorer";
-    version = "2020-12-30";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "weirongxu";
       repo = "coc-explorer";
-      rev = "5c6532d7d3cfe8321df79c82fc47a1bb7145913d";
-      sha256 = "1zhhrmjngz50wsw3qqfwfdimbxbczk13pznhhrfsjxg85kk47ahc";
+      rev = "1b88de2322b2f9adad4d5c1739289ed861afc8d0";
+      sha256 = "1xcc2zdgkc72vvnl83c97cyx12mx93ryik9wlyw48clsi02kw6aq";
     };
     meta.homepage = "https://github.com/weirongxu/coc-explorer/";
   };
@@ -497,12 +497,12 @@ let
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc-nvim";
-    version = "2021-01-02";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "dda9114c36c6cac3aafbc0e9220c978b8f06da0c";
-      sha256 = "0y60kqfylg8f3dsz0y9jsxfg3xl0c8ijm8ra48y8mfhwr1y4vzvv";
+      rev = "5b4b18d2ed2b18870034c7ee853164e1274ab158";
+      sha256 = "0bgprss79nbwc3wd8yi0j90prxmh8saxswfpvpp3x8hilvwiyrrq";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -582,12 +582,12 @@ let
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-01-01";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "3abd4955558769be384690760b98d817ed4daabc";
-      sha256 = "1pjzn3k04j44qr1m63nwnpaybaq3lgsinsvbld7w4afsv94kfq2b";
+      rev = "a31127e97feaef9ef70499b1241d41579d42dba2";
+      sha256 = "17q5z9rkc64yx2fifna6wsw43iinjfwbijmfjlxxkhgwmlg5y9cx";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -630,12 +630,12 @@ let
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2020-12-30";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "ae460466a9343fbf07bdd36b61966693eea8aa6f";
-      sha256 = "049gwdwwzk484akhia8b60g8c4xlnyd9nz3q11nwqa4xs5x9zhws";
+      rev = "e966ef58720fa0a2739aa33e9307809925b36597";
+      sha256 = "1baf3r6fmdwn1pbn5sfrrmzi4dxp9a298bajr4sqds05avk4z2dc";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -654,12 +654,12 @@ let
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2020-12-30";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "617b38a2ceda860a89ef27f78bcb12111319c54f";
-      sha256 = "0sgkych6w6bdby11zprd2v9wqywwi7pi03sb67dr7qrag9hpk15a";
+      rev = "8c3cced82a5ea8051fbbe2ade25fac557ca976f0";
+      sha256 = "1ayzpwc9bi6x5l5yhmhlfqifizpya9z57f0qdm64diwqvr8lvyb2";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -798,12 +798,12 @@ let
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2020-12-28";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "df165c33ecc5002553593884e309089faf7575bd";
-      sha256 = "0zva29hs1xzgyqzhlplmvm63gzc2lj96fxpv4705vbkr0vv9j4hz";
+      rev = "f44e9486509482ae20c785d39be05581c3dbad15";
+      sha256 = "1s1qmn5v3ghy79da03pf805zdg8j5w0ybri3z36fr2y5s9k7mj4d";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -858,12 +858,12 @@ let
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2021-01-02";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "cf80179e8f75b891bcb34364b90e537063936813";
-      sha256 = "1cf4834xjszk8cxjmpjvf78v7nh8kqr4iw7iq912cavbid8c01w5";
+      rev = "9582a7dc191f3569644092fb0d3b2ad7bf608bca";
+      sha256 = "0kpnzzg1pigjrw8g58iajw8apb7dczapm7jwdh8q5ixhmh31xn6v";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1294,12 +1294,12 @@ let
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern-vim";
-    version = "2020-12-22";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "f936fdf27d9b0c288e4854c3ca0ea53f5f52be89";
-      sha256 = "0hdk7v4ag763lwr2gc2vcryhq8nhy0fp52vmb0ws203h4nkkilaf";
+      rev = "9783dff6ac69c4e99b78807b08912c4c34100e22";
+      sha256 = "141bifgf06bi43blw6wz7bdsb9l52iqxm9v7b609y49cz71z7n2c";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1823,12 +1823,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2020-12-26";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "3a1c900a2629cba2f63ee2bc32611f8ce28c8bfb";
-      sha256 = "1y4n3xvbxjxxapiw9b2rs8q4l65xwmx8djhfr21y97qj8205kcfd";
+      rev = "960eaa8053e5516195966321e06568750b2feb28";
+      sha256 = "1ap9h7a6ybv6yvvszizyhzmgjhxd5xzaw2f6x7wn8dcsk7isy0a5";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/davidhalter/jedi-vim/";
@@ -1956,12 +1956,12 @@ let
 
   lean-vim = buildVimPluginFrom2Nix {
     pname = "lean-vim";
-    version = "2020-11-01";
+    version = "2021-01-02";
     src = fetchFromGitHub {
       owner = "leanprover";
       repo = "lean.vim";
-      rev = "d1b3037680be79f114a87620844117e20ca7efcf";
-      sha256 = "0x3cz4is30jsrp7dym4rz4xngv9mimybl4kqnry9x0nkqzn55910";
+      rev = "313fd1e09e7a14352f87d44c82005b6e6316c9bc";
+      sha256 = "0f6jq0hliy4jignjc1d30bsvfkb4xl4nzj900hphbc7l2aw7scqr";
     };
     meta.homepage = "https://github.com/leanprover/lean.vim/";
   };
@@ -2016,12 +2016,12 @@ let
 
   lh-brackets = buildVimPluginFrom2Nix {
     pname = "lh-brackets";
-    version = "2020-12-30";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "c9369d9289e18b3143288a9c55d0874d4635cf3a";
-      sha256 = "0yxvwkw301v090bj5pfvd3d9axvznjm06c7asfnvaz7y4r9j8y0f";
+      rev = "7af393f8212759aaea2d2721855fb2f46345ba3e";
+      sha256 = "0wzd1q26bd6b6adaxn9vnr0xd2l8sk73av0b35ga3yv9kfr2j4qb";
     };
     meta.homepage = "https://github.com/LucHermitte/lh-brackets/";
   };
@@ -2256,12 +2256,12 @@ let
 
   ncm2-jedi = buildVimPluginFrom2Nix {
     pname = "ncm2-jedi";
-    version = "2020-08-06";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-jedi";
-      rev = "d378d3e80e15368c1714fd6c20dd461dc7db9796";
-      sha256 = "0bphij55pjh87wcy0xk9yvgi0w3i0wvhbg71vddq0jn6m3r2gmlf";
+      rev = "f2e9007783b1f543b00d336a94210b4bc76b67e0";
+      sha256 = "1vrrz5zp39xk7c35dz737gfbr8j3yhqmmwmdwrxl5nibjwph4c30";
     };
     meta.homepage = "https://github.com/ncm2/ncm2-jedi/";
   };
@@ -2712,12 +2712,12 @@ let
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2020-12-31";
+    version = "2021-01-01";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "f908593bdcb2f2ce7d8225c08caf343b520a1dfe";
-      sha256 = "1z78yvavpjs6776x0yr7h3yl4y7wbmm2bmbljsw2kkl8ybbvfdz1";
+      rev = "97f0ef219241ec8379feada8ab46c7da8c69f9ca";
+      sha256 = "10q0fdib4mcbih13f7wknfs99wjqf1flhrj13qwlw0p5sswjz0z3";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -2736,12 +2736,12 @@ let
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2020-12-28";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "5e88c14c2c3ff22b519c7b6a2ef1e35039268bd9";
-      sha256 = "0hniyf1a8ihlyv9prg5h40vsh989i7ly7gnsna2sndxybg6zp56z";
+      rev = "1f899535a01ae9fb8c9ca8a6ccff651188fe78d3";
+      sha256 = "1gmyy5l5zy0j59z8rpyablav62zrss4312dpjfr8d6mcxmfa53wd";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
@@ -2772,12 +2772,12 @@ let
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-01-01";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "dbbca130c487b6a89a1c4bfa48cb05de5cf08f64";
-      sha256 = "0xjxw91rb83ilhmrm2i9ishwdqb1qhradnm7a6mqfiz1faj3gxg4";
+      rev = "384e512a640b2b18f3d2c3e9dcb6e870814ed1eb";
+      sha256 = "1fkmnkvpp27azi3g3iqkrhch0a4q6in16cp29zs0dvgrk7iv0cg1";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -2794,6 +2794,18 @@ let
     meta.homepage = "https://github.com/RishabhRD/nvim-lsputils/";
   };
 
+  nvim-scrollview = buildVimPluginFrom2Nix {
+    pname = "nvim-scrollview";
+    version = "2021-01-05";
+    src = fetchFromGitHub {
+      owner = "dstein64";
+      repo = "nvim-scrollview";
+      rev = "f729b1dd9077f8b1818752adc7416f357c057325";
+      sha256 = "0fdwgzn329y9mdrl98wl4aa14sh4l0my0kch5gszk5b9872zir69";
+    };
+    meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
+  };
+
   nvim-terminal-lua = buildVimPluginFrom2Nix {
     pname = "nvim-terminal-lua";
     version = "2019-10-17";
@@ -2820,12 +2832,12 @@ let
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-01-02";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "6114a6ed97527ffd1938815f2276d77d908c94c2";
-      sha256 = "1bdwfllgdipsf65kw6v0dvckz34a2215g65q0fqkcx7xmmid4rr6";
+      rev = "f2c219cddcaf6d7237bdc957c84ef4cdb9072a89";
+      sha256 = "0b2a9rcbp647z620brcchw83dkdsar3d0j881dr0qcxxf496w9cz";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -3662,12 +3674,12 @@ let
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2020-11-06";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "vim-syntastic";
       repo = "syntastic";
-      rev = "63741646a9e87bbe105674747555aded6f52c490";
-      sha256 = "0x1rn76zjig4kdbs719fcpc22mbh2jz93ni8zpzpkn8r186f05s5";
+      rev = "d97a664b9adbd1a0a9cba6c1c3baf071a1059d1e";
+      sha256 = "1azranlzdm1w98ifmczp1zx1w66yrpdi9h3k05v126rwaqkd6bsj";
     };
     meta.homepage = "https://github.com/vim-syntastic/syntastic/";
   };
@@ -3758,12 +3770,12 @@ let
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-01-01";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "f15af583ebdce3c1b89cdfec05664c84e3d3ff51";
-      sha256 = "1vfb28a97g85m2zb4964qyl3fqrpi95a6nmb46h24z25p0m6s130";
+      rev = "f750159203077b00cecdd9f68c254aa70d10f879";
+      sha256 = "01m5ydj56y87b05ppaxr1697f2ncbm28w6njvd3gh0z3nhdmd69n";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -4251,12 +4263,12 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-01-01";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "5601c0928e450a608527593439899671250d403b";
-      sha256 = "1725fbjilscwvwi76mldw034njf689plzjwxa17y0r0ylfalwql8";
+      rev = "30bcbb07c3d08703cc26a918b78251e636d7b1fe";
+      sha256 = "0qcg01br8sb67hmsvkg37kahnzz3m3vgs5pivvfypl98a1lgpszm";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -4738,7 +4750,7 @@ let
       rev = "d8b545ef138a9ff013f8243f85c79b277b26f5e1";
       sha256 = "0c1bxryw4rg4cyql7vfp2gwhkl2d0b8inc6shmgfy7jg4svhzs0w";
     };
-    meta.homepage = "https://github.com/Konfekt/vim-DetectSpellLang/";
+    meta.homepage = "https://github.com/konfekt/vim-DetectSpellLang/";
   };
 
   vim-devicons = buildVimPluginFrom2Nix {
@@ -5055,12 +5067,12 @@ let
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2021-01-01";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "f3537456b3f2639e8c8140c2138e9bed09a7cd52";
-      sha256 = "1wa7v14qv4jk86mck6ibyf2jz157hqyif995x12dl5ilb5csicz2";
+      rev = "e8f65534e607d8bd82ba2c4a8ada1adc6cb36c96";
+      sha256 = "010zr13y3016zfd6fqmknqg1ld19n9isfbgwl8hqgfrgjh9mn9p3";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -5199,7 +5211,7 @@ let
 
   vim-gnupg = buildVimPluginFrom2Nix {
     pname = "vim-gnupg";
-    version = "2021-01-03";
+    version = "2020-11-11";
     src = fetchFromGitHub {
       owner = "jamessan";
       repo = "vim-gnupg";
@@ -5211,12 +5223,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2020-12-27";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "9d676ce4128fec22da44b9a5e1eead994f8941e6";
-      sha256 = "0a61dkxr4kwcbnnkvz21zihsa458fkn31i962a7xjx332lfrpymz";
+      rev = "706c73bb369d9bab0fadca6b755a7244626f61aa";
+      sha256 = "07rbrk1qah16mi1f7dkp6ixi2kwgimgms23pfqiqjfrqgk304b6d";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -5464,12 +5476,12 @@ let
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2020-12-30";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "6d4a062345a471f0af2cbe4024d1a0e69fb40da3";
-      sha256 = "0n10r2jg0qy0lfanvl605pxgmnqx1s8y4qikr2idjwcv9xpf3sj7";
+      rev = "f52857989c14c2f27d72ffa78d6af906fa436cd1";
+      sha256 = "1sbb3nkd3n3y9r5gs03lmwrmra7j8w8450q444g7b3h5hhx4b92l";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -5560,12 +5572,12 @@ let
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2020-12-29";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "91592a3613600f65c6985211894fb65f28f389c7";
-      sha256 = "1rl6jsc54nkh0jdaxa132qz9sp506wzq5dc7iqnr9ndhyzz8m2n0";
+      rev = "c59ac683bd2fd6164e8ab772ab16c1f4c82130a5";
+      sha256 = "04mk200wbgg007qm3qxzckcz1nxrmvr6da31bf82ilzjf5vwhr52";
     };
     meta.homepage = "https://github.com/artur-shaik/vim-javacomplete2/";
   };
@@ -5837,24 +5849,24 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2020-12-30";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "161e875c388e7b584fabf06539ec81df25bb2c0b";
-      sha256 = "0zsm1kvi3j1m1hbis4cjhn8ny8m0z5iwga5zpk692na2nydxlhi6";
+      rev = "9f914a4859d911d8a152ff828ad093198fee8763";
+      sha256 = "0xvzwnfmgix6cz3xzzl9v9aslassnp6jkjpv5q2qngfrf33z8j9j";
     };
     meta.homepage = "https://github.com/natebosch/vim-lsc/";
   };
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2021-01-02";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "f6a66a11b51e03afd4b896e63196390c6d43b81a";
-      sha256 = "0djv5i2kqml63241vrxdf67q917688y7swjf0l4fm864dss2p1b9";
+      rev = "87cd0e6137e0ebb1c0b451c20ba39f14e1a95f60";
+      sha256 = "0j1948ns6kwhfazcsvpy61w0a1dbpcy6hhvs54v6kil8ffgdcmh6";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -6256,6 +6268,18 @@ let
     meta.homepage = "https://github.com/fcpg/vim-osc52/";
   };
 
+  vim-oscyank = buildVimPluginFrom2Nix {
+    pname = "vim-oscyank";
+    version = "2021-01-05";
+    src = fetchFromGitHub {
+      owner = "ojroques";
+      repo = "vim-oscyank";
+      rev = "755561cd3e4532009dc75c997f8cb0e5f50c9ed7";
+      sha256 = "18vgmmnds5zfnn1v285g4s0yq7zpj9nwkdm1l5rcnx986rdrbgyw";
+    };
+    meta.homepage = "https://github.com/ojroques/vim-oscyank/";
+  };
+
   vim-over = buildVimPluginFrom2Nix {
     pname = "vim-over";
     version = "2020-01-26";
@@ -6354,12 +6378,12 @@ let
 
   vim-pathogen = buildVimPluginFrom2Nix {
     pname = "vim-pathogen";
-    version = "2020-01-17";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-pathogen";
-      rev = "c6bc42404597c718e4a032a98e21e63321cbb05a";
-      sha256 = "1scj84vlrn2kavnq2wabhdzhnlkb3w046grv9j3976i5ykjmyiif";
+      rev = "e0a3efbda5ea8e5b181b2b232ef6453c05d07732";
+      sha256 = "1b9v6k0560b7yf2l9v8n23bm27k3akycrv19wfi50havxdjagw1f";
     };
     meta.homepage = "https://github.com/tpope/vim-pathogen/";
   };
@@ -6438,12 +6462,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2021-01-01";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "05b8bbc938bdeac4a5ee2d3ae5cf7a7f05e822d3";
-      sha256 = "0l7f80gas6rmiw5m0varsyv3sk3sfkqx0z05hlh4719a304b16pv";
+      rev = "7bde552a463999897320a1899a6ca4f8806041ea";
+      sha256 = "1rc9dfpl7x2fmqcm954x1syfcl392vsrcgid2pm6p91j3drm78nq";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -6942,12 +6966,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2020-12-26";
+    version = "2021-01-04";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "275bfd8d6aebabd1140b18656d1bda32ca076dbb";
-      sha256 = "0g7nfvp9zqx1as4djajckl8aqv9931qhlnix1x8dnvqik9x4rny7";
+      rev = "6159e8e820656e4370d54ddbf11278bf92794139";
+      sha256 = "1kwdcx429kw39f8fsav3lcnahkbzbdmny1d81pq6c24k1r7hfp1h";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -7159,12 +7183,12 @@ let
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2020-12-01";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "180c8ced850ed288bf7ce9c44c6b4451f995f275";
-      sha256 = "0yza1lgilgg1qlpcw4kg5232mylbqjb0gar0l4rjxk6i7xvpxryi";
+      rev = "d170b48bd167ff06ac83d71834135f42bf4dad4a";
+      sha256 = "0pqh5zqn11fv0653zdkiad066clw29amhdqnm5nz1rcx8vmpparq";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -7447,12 +7471,12 @@ let
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2020-12-31";
+    version = "2021-01-05";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "c62a86d46236e74d5059de0ba987a79a9e6be0c9";
-      sha256 = "1iw44y0b1v9677cw65idj3f458ski2mp9d0s66f48i92gcbpk90k";
+      rev = "879dc259bb3fbb850473982d64c441c16a4daa38";
+      sha256 = "103mws249r6rxg7mc28fv9avk60arn8jxspddvynd27srvzrbif8";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
@@ -7711,12 +7735,12 @@ let
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2020-12-23";
+    version = "2021-01-02";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "41a98026fa0bc29be35fc8392e38b1caabab0a3a";
-      sha256 = "14x6fmz7yy377zhgrmcv718bnqyh46c6rrb2f3ypfbbrk0nbd7k6";
+      rev = "65708f55e0a1186c76af9a5a1f14e9157cf588b9";
+      sha256 = "1m16i4s89q5ff9qi79qyq34184cfnfbglnfqxg6zsp8pb8kfpiix";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -7724,12 +7748,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2020-12-30";
+    version = "2021-01-03";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "401bea84b863f34a04b227fa60d2f498d7c9b7fb";
-      sha256 = "0ygss9dw64xiixdwhqhsn0y8dzlfl0gd0avjs075mkpzx5qfrsbx";
+      rev = "e5214dd3fe5b2b7f3092d43e58b430032dfebe40";
+      sha256 = "1vni0kyf9cglvsnwgi6nalygj291gb337rdmi0jn0i0x76h0g65p";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -7892,12 +7916,12 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2021-01-01";
+    version = "2021-01-02";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "3c1d985ed8761eb5917b57b7a7b26401c796c994";
-      sha256 = "0vf8nadhh0z920j2qzhsnklszn1ppy8cnyzaywlz46nmd4nys15s";
+      rev = "9039d2421b8fe4c70b743d2c28df935290026dca";
+      sha256 = "1yv46b041340jq4s0471w5l1ryikkczp09rsnxh0piyp7fqmb0qh";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index afc5f1d7748..237f7faacf3 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -91,6 +91,7 @@ dpelle/vim-LanguageTool
 dracula/vim as dracula-vim
 drewtempelmeyer/palenight.vim
 drmingdrmer/xptemplate
+dstein64/nvim-scrollview@main
 dylanaraps/wal.vim
 eagletmt/ghcmod-vim
 eagletmt/neco-ghc
@@ -402,7 +403,8 @@ nvim-treesitter/nvim-treesitter-textobjects
 nvim-treesitter/playground
 ocaml/vim-ocaml
 octol/vim-cpp-enhanced-highlight
-Olical/conjure@main
+ojroques/vim-oscyank@main
+Olical/conjure
 OrangeT/vim-csharp
 osyo-manga/shabadou.vim
 osyo-manga/vim-anzu
diff --git a/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json b/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
index ea91b6d6470..aba4ba44097 100644
--- a/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
+++ b/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
@@ -3,24 +3,24 @@
   "version": "0.4.0-dev",
   "dependencies": {
     "node-fetch": "^2.6.1",
-    "vscode-languageclient": "7.0.0-next.12",
-    "@rollup/plugin-commonjs": "^13.0.2",
-    "@rollup/plugin-node-resolve": "^8.4.0",
+    "vscode-languageclient": "7.0.0",
+    "@rollup/plugin-commonjs": "^17.0.0",
+    "@rollup/plugin-node-resolve": "^11.0.0",
     "@types/glob": "^7.1.3",
-    "@types/mocha": "^7.0.2",
-    "@types/node": "~12.7.0",
+    "@types/mocha": "^8.0.4",
+    "@types/node": "~12.12.6",
     "@types/node-fetch": "^2.5.7",
-    "@types/vscode": "^1.47.1",
-    "@typescript-eslint/eslint-plugin": "^3.10.1",
-    "@typescript-eslint/parser": "^3.10.1",
-    "eslint": "^7.8.0",
+    "@types/vscode": "^1.52.0",
+    "@typescript-eslint/eslint-plugin": "^4.9.0",
+    "@typescript-eslint/parser": "^4.9.0",
+    "eslint": "^7.15.0",
     "glob": "^7.1.6",
-    "mocha": "^8.1.3",
-    "rollup": "^2.26.9",
-    "tslib": "^2.0.1",
-    "typescript": "^3.9.7",
+    "mocha": "^8.2.1",
+    "rollup": "^2.34.2",
+    "tslib": "^2.0.3",
+    "typescript": "^4.1.2",
     "typescript-formatter": "^7.2.2",
-    "vsce": "^1.79.5",
-    "vscode-test": "^1.4.0"
+    "vsce": "^1.81.1",
+    "vscode-test": "^1.4.1"
   }
 }
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index 00c0bb0d5d3..e51b8c4bb2f 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -5,19 +5,19 @@
         "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.213.a/linux-hardened-4.14.213.a.patch"
     },
     "4.19": {
-        "name": "linux-hardened-4.19.164.a.patch",
-        "sha256": "0fzv2sjmf0dmhzp58yr4ggzi3pxbjjhbhmav46pv98rbdm2vjwvk",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.164.a/linux-hardened-4.19.164.a.patch"
+        "name": "linux-hardened-4.19.165.a.patch",
+        "sha256": "06v34jaj4jg6f3v05wbkkfnr69ahxqyyq0gam4ma3wgm74x6cf3s",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.165.a/linux-hardened-4.19.165.a.patch"
     },
     "5.10": {
-        "name": "linux-hardened-5.10.4.a.patch",
-        "sha256": "0apnmcis41vz5k74g1ssq0apwxzhl6zg31nyjbplilm3b068a1h4",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.4.a/linux-hardened-5.10.4.a.patch"
+        "name": "linux-hardened-5.10.5.a.patch",
+        "sha256": "1fq2n60brhi6wjazkdgj2aqc4maskvlymbznl03hvj0x5kahjxvx",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.5.a/linux-hardened-5.10.5.a.patch"
     },
     "5.4": {
-        "name": "linux-hardened-5.4.86.a.patch",
-        "sha256": "0j1wr6d42rbxd66vhsp9l3lp3nv0p1j0cpir9pxshd8w9zlbdy88",
-        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.86.a/linux-hardened-5.4.86.a.patch"
+        "name": "linux-hardened-5.4.87.a.patch",
+        "sha256": "01hpww6lm00iry8z4z86hh86x66h3xbmxknxhmmhh2zwz6ahkmfd",
+        "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.87.a/linux-hardened-5.4.87.a.patch"
     },
     "5.9": {
         "name": "linux-hardened-5.9.16.a.patch",
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index d37fa3c1914..6c559103f49 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.164";
+  version = "4.19.165";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1amafhydq934a04pizc5w4h4y4ny982zn33yrz7q0h2d6sskmyp5";
+    sha256 = "1l72wka1dli0jdb91sx4zr13vy0q5l6p37fh6hf093gjn14mdh51";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index abe28da8126..28f03143183 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.10.4";
+  version = "5.10.5";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1v2nbpp21c3fkw23dgrrfznnnlvi0538kj8wrlb2m6g94rn3jklh";
+    sha256 = "1x1fc4cywqnjm514q376d5540zsxmqv95n0lykaphz8qdbhsk49r";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index a5db9e7f6d1..2fc1b6013c1 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4.86";
+  version = "5.4.87";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "12qf7gza94s4f7smi3dk6i6hqcz0fbc64ghapan57fgpdvybadpb";
+    sha256 = "0cawb7md97i0hz83hf7l4ihn9lyrg8q64j8jam8n9fw45qzfjd3a";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 8bdf9efd445..59719922987 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -176,11 +176,6 @@ let
         maintainers = with maintainers; [ hmenke jcumming jonringer wizeman fpletz globin mic92 ];
       };
     };
-
-  linux-rt-patch = fetchpatch {
-    url = "https://github.com/openzfs/zfs/commit/ab4fb9b74e9d089fc9a261c4f41e19697ad6a4ca.patch";
-    sha256 = "1nrxmb4rhrkgncav6dzwm66l0700fi72qkkcs0w6pkm850srws36";
-  };
 in {
   # also check if kernel version constraints in
   # ./nixos/modules/tasks/filesystems/zfs.nix needs
@@ -190,11 +185,11 @@ in {
     # incompatibleKernelVersion = "4.20";
 
     # this package should point to the latest release.
-    version = "2.0.0";
+    version = "2.0.1";
 
-    sha256 = "1kriz6pg8wj98izvjc60wp23lgcp4k3mzhpkgj74np73rzgy6v8r";
+    sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
 
-    extraPatches = [ linux-rt-patch ];
+    extraPatches = [ ];
   };
 
   zfsUnstable = common {
@@ -202,10 +197,10 @@ in {
     # incompatibleKernelVersion = "4.19";
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2.0.0";
+    version = "2.0.1";
 
-    sha256 = "1kriz6pg8wj98izvjc60wp23lgcp4k3mzhpkgj74np73rzgy6v8r";
+    sha256 = "0wmw823ildwm9rcfyk22pvzg100yhps3y9hfjlrpspfd1hhkbp0d";
 
-    extraPatches = [ linux-rt-patch ];
+    extraPatches = [ ];
   };
 }
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index 1eb33dc3226..d50a94f9d66 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "caddy";
-  version = "2.2.1";
+  version = "2.3.0";
 
   subPackages = [ "cmd/caddy" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "caddyserver";
     repo = pname;
     rev = "v${version}";
-    sha256 = "065kxnyapjk4r07qrr55zs5w72p8rb8mapq3dh9lr1y13b8sgka9";
+    sha256 = "03cbbr8z9g156lgx7pyn1p1i4mh8ayhhhv24r1z3h1vgq6y4ka7r";
   };
 
-  vendorSha256 = "1rm7v03v6rf9fdqrrl639z8a46cdzswjp8rdpygcsndqfznn5w7b";
+  vendorSha256 = "0gpzxjiyv7l1nibh1gas4mvinamiyyfgidd8cy4abz95v6z437lp";
 
   passthru.tests = { inherit (nixosTests) caddy; };
 
diff --git a/pkgs/servers/gotify/source-sha.nix b/pkgs/servers/gotify/source-sha.nix
index 5e3531497d4..7176070742d 100644
--- a/pkgs/servers/gotify/source-sha.nix
+++ b/pkgs/servers/gotify/source-sha.nix
@@ -1 +1 @@
-"0d82girrhw9k68f5kcy8d0bl0bnsq651l4bb60xmqrilylp7qgmp"
+"1rb7gmkinp3nwdng3xw2nrim10iw374rwhzlviqgmz87djgajh3l"
diff --git a/pkgs/servers/gotify/version.nix b/pkgs/servers/gotify/version.nix
index 5783e8bd78f..7dbc4529073 100644
--- a/pkgs/servers/gotify/version.nix
+++ b/pkgs/servers/gotify/version.nix
@@ -1 +1 @@
-"2.0.20"
+"2.0.21"
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 6df1239537e..220645a0b10 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 = "2020.12.2";
+  version = "2021.1.0";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
@@ -45,7 +45,7 @@
     "arcam_fmj" = ps: with ps; [ ]; # missing inputs: arcam-fmj
     "arduino" = ps: with ps; [ ]; # missing inputs: PyMata
     "arest" = ps: with ps; [ ];
-    "arlo" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: pyarlo
+    "arlo" = ps: with ps; [ ha-ffmpeg pyarlo ];
     "arris_tg2492lg" = ps: with ps; [ ]; # missing inputs: arris-tg2492lg
     "aruba" = ps: with ps; [ pexpect ];
     "arwn" = ps: with ps; [ aiohttp-cors paho-mqtt ];
@@ -60,9 +60,8 @@
     "aurora_abb_powerone" = ps: with ps; [ ]; # missing inputs: aurorapy
     "auth" = ps: with ps; [ aiohttp-cors ];
     "automation" = ps: with ps; [ aiohttp-cors ];
-    "avea" = ps: with ps; [ ]; # missing inputs: avea
+    "avea" = ps: with ps; [ avea ];
     "avion" = ps: with ps; [ ]; # missing inputs: avion
-    "avri" = ps: with ps; [ pycountry ]; # missing inputs: avri-api
     "awair" = ps: with ps; [ ]; # missing inputs: python_awair
     "aws" = ps: with ps; [ aiobotocore ];
     "axis" = ps: with ps; [ aiohttp-cors paho-mqtt ]; # missing inputs: axis
@@ -137,7 +136,7 @@
     "control4" = ps: with ps; [ ]; # missing inputs: pyControl4
     "conversation" = ps: with ps; [ aiohttp-cors ];
     "coolmaster" = ps: with ps; [ ]; # missing inputs: pycoolmasternet-async
-    "coronavirus" = ps: with ps; [ ]; # missing inputs: coronavirus
+    "coronavirus" = ps: with ps; [ coronavirus ];
     "counter" = ps: with ps; [ ];
     "cover" = ps: with ps; [ ];
     "cppm_tracker" = ps: with ps; [ ]; # missing inputs: clearpasspy
@@ -256,9 +255,9 @@
     "fireservicerota" = ps: with ps; [ ]; # missing inputs: pyfireservicerota
     "firmata" = ps: with ps; [ ]; # missing inputs: pymata-express
     "fitbit" = ps: with ps; [ aiohttp-cors fitbit ];
-    "fixer" = ps: with ps; [ ]; # missing inputs: fixerio
+    "fixer" = ps: with ps; [ fixerio ];
     "fleetgo" = ps: with ps; [ ]; # missing inputs: ritassist
-    "flexit" = ps: with ps; [ ]; # missing inputs: pyflexit pymodbus
+    "flexit" = ps: with ps; [ pymodbus ]; # missing inputs: pyflexit
     "flic" = ps: with ps; [ ]; # missing inputs: pyflic-homeassistant
     "flick_electric" = ps: with ps; [ ]; # missing inputs: PyFlick
     "flo" = ps: with ps; [ ]; # missing inputs: aioflo
@@ -310,10 +309,10 @@
     "gogogate2" = ps: with ps; [ ]; # missing inputs: gogogate2-api
     "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client ];
     "google_assistant" = ps: with ps; [ aiohttp-cors ];
-    "google_cloud" = ps: with ps; [ google_cloud_texttospeech ];
+    "google_cloud" = ps: with ps; [ google-cloud-texttospeech ];
     "google_domains" = ps: with ps; [ ];
     "google_maps" = ps: with ps; [ ]; # missing inputs: locationsharinglib
-    "google_pubsub" = ps: with ps; [ google_cloud_pubsub ];
+    "google_pubsub" = ps: with ps; [ google-cloud-pubsub ];
     "google_translate" = ps: with ps; [ gtts ];
     "google_travel_time" = ps: with ps; [ googlemaps ];
     "google_wifi" = ps: with ps; [ ];
@@ -503,7 +502,7 @@
     "mjpeg" = ps: with ps; [ ];
     "mobile_app" = ps: with ps; [ pynacl aiohttp-cors emoji hass-nabucasa pillow ];
     "mochad" = ps: with ps; [ ]; # missing inputs: pymochad
-    "modbus" = ps: with ps; [ ]; # missing inputs: pymodbus
+    "modbus" = ps: with ps; [ pymodbus ];
     "modem_callerid" = ps: with ps; [ ]; # missing inputs: basicmodem
     "mold_indicator" = ps: with ps; [ ];
     "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice
@@ -528,7 +527,7 @@
     "nad" = ps: with ps; [ ]; # missing inputs: nad_receiver
     "namecheapdns" = ps: with ps; [ defusedxml ];
     "nanoleaf" = ps: with ps; [ pynanoleaf ];
-    "neato" = ps: with ps; [ pybotvac ];
+    "neato" = ps: with ps; [ aiohttp-cors pybotvac ];
     "nederlandse_spoorwegen" = ps: with ps; [ ]; # missing inputs: nsapi
     "nello" = ps: with ps; [ ]; # missing inputs: pynello
     "ness_alarm" = ps: with ps; [ ]; # missing inputs: nessclient
@@ -624,7 +623,7 @@
     "plex" = ps: with ps; [ aiohttp-cors plexapi plexauth plexwebsocket pysonos ];
     "plugwise" = ps: with ps; [ ]; # missing inputs: plugwise
     "plum_lightpad" = ps: with ps; [ ]; # missing inputs: plumlightpad
-    "pocketcasts" = ps: with ps; [ ]; # missing inputs: pocketcasts
+    "pocketcasts" = ps: with ps; [ ]; # missing inputs: pycketcasts
     "point" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pypoint
     "poolsense" = ps: with ps; [ ]; # missing inputs: poolsense
     "powerwall" = ps: with ps; [ ]; # missing inputs: tesla-powerwall
@@ -785,7 +784,7 @@
     "statistics" = ps: with ps; [ sqlalchemy ];
     "statsd" = ps: with ps; [ statsd ];
     "steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
-    "stiebel_eltron" = ps: with ps; [ ]; # missing inputs: pymodbus pystiebeleltron
+    "stiebel_eltron" = ps: with ps; [ pymodbus ]; # missing inputs: pystiebeleltron
     "stookalert" = ps: with ps; [ ]; # missing inputs: stookalert
     "stream" = ps: with ps; [ aiohttp-cors av ];
     "streamlabswater" = ps: with ps; [ ]; # missing inputs: streamlabswater
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 68d11e85fd2..4f9698c536f 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -62,7 +62,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2020.12.2";
+  hassVersion = "2021.1.0";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -71,6 +71,9 @@ in with py.pkgs; buildPythonApplication rec {
   # check REQUIRED_PYTHON_VER in homeassistant/const.py
   disabled = pythonOlder "3.7.1";
 
+  # don't try and fail to strip 6600+ python files, it takes minutes!
+  dontStrip = true;
+
   inherit availableComponents;
 
   # PyPI tarball is missing tests/ directory
@@ -78,7 +81,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "1hd3z0bvscrg0ihy26djm1x9cj1pkdbnsgpzhdy42j8vy80q9bxr";
+    sha256 = "14njb2j16h536xq5df4zpna874fxjcd6fqr881y6mq081f00i0r0";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -176,6 +179,11 @@ in with py.pkgs; buildPythonApplication rec {
     "test_cached_event_message"
     # ValueError: count must be a positive integer (got 0)
     "test_media_view"
+    # AssertionError: len(events) == 1
+    "test_error_posted_as_event"
+    # keyring.errors.NoKeyringError: No recommended backend was available.
+    "test_secrets_from_unrelated_fails"
+    "test_secrets_credstash"
   ];
 
   preCheck = ''
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 36f89dc0069..9606f8645a1 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,13 +4,16 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20201212.0";
+  version = "20201229.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1nz5f7bpj0xs740af8i6j33idff6yzx7z9vydlah2sxcdgpwmz84";
+    sha256 = "sha256-3JMWugAiVDq/NBgX8ft2Bchim2g493jy7wZvvXrX+Ws=";
   };
 
+  # there is nothing to strip in this package
+  dontStrip = true;
+
   # no Python tests implemented
   doCheck = false;
 
diff --git a/pkgs/servers/home-assistant/update.sh b/pkgs/servers/home-assistant/update.sh
index 11189cf3577..e80b7acbed0 100755
--- a/pkgs/servers/home-assistant/update.sh
+++ b/pkgs/servers/home-assistant/update.sh
@@ -31,4 +31,4 @@ sed -i -e "s/hassVersion =.*/hassVersion = \"${TARGET_VERSION}\";/" \
 )
 
 git add ./component-packages.nix ./default.nix ./frontend.nix
-git commit -m "homeassistant: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
+git commit -m "home-assistant: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
diff --git a/pkgs/servers/jitsi-videobridge/default.nix b/pkgs/servers/jitsi-videobridge/default.nix
index 37cffa2e920..09d7af18561 100644
--- a/pkgs/servers/jitsi-videobridge/default.nix
+++ b/pkgs/servers/jitsi-videobridge/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dpkg, jre_headless, nixosTests }:
+{ stdenv, fetchurl, makeWrapper, dpkg, jre_headless, nixosTests }:
 
 let
   pname = "jitsi-videobridge2";
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $src debcontents";
 
+  buildInputs = [ makeWrapper ];
+
   installPhase = ''
     substituteInPlace usr/share/jitsi-videobridge/jvb.sh \
       --replace "exec java" "exec ${jre_headless}/bin/java"
@@ -24,6 +26,10 @@ stdenv.mkDerivation {
     cp ${./logging.properties-journal} $out/etc/jitsi/videobridge/logging.properties-journal
     mv usr/share/jitsi-videobridge/* $out/share/jitsi-videobridge/
     ln -s $out/share/jitsi-videobridge/jvb.sh $out/bin/jitsi-videobridge
+
+    # work around https://github.com/jitsi/jitsi-videobridge/issues/1547
+    wrapProgram $out/bin/jitsi-videobridge \
+      --set VIDEOBRIDGE_GC_TYPE G1GC
   '';
 
   passthru.tests = {
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index c474c501cee..afdd2ea860d 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -2,11 +2,11 @@
 
 perlPackages.buildPerlPackage rec {
   pname = "SpamAssassin";
-  version = "3.4.3";
+  version = "3.4.4";
 
   src = fetchurl {
     url = "mirror://apache/spamassassin/source/Mail-${pname}-${version}.tar.bz2";
-    sha256 = "1380cmrgjsyidnznr844c5yr9snz36dw7xchdfryi2s61vjzvf55";
+    sha256 = "0ga5mi2nv2v91kakk9xakkg71rnxnddlzv76ca13vfyd4jgcfasf";
   };
 
   buildInputs = [ makeWrapper ] ++ (with perlPackages; [
@@ -37,6 +37,6 @@ perlPackages.buildPerlPackage rec {
     description = "Open-Source Spam Filter";
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ peti qknight ];
+    maintainers = with stdenv.lib.maintainers; [ peti qknight qyliss ];
   };
 }
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 8d4b52a0159..a1c38cdbe28 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -53,7 +53,7 @@ in {
     version = "19.0.6";
     sha256 = "sha256-pqqIayE0OyTailtd2zeYi+G1APjv/YHqyO8jCpq7KJg=";
     extraVulnerabilities = [
-      "Nextcloud 19 is still supported, but CVE-2020-8259 & CVE-2020-8152 are unfixed!"
+      "Nextcloud 19 is still supported, but CVE-2020-8259 & CVE-2020-8152 are unfixed! Please note that both CVEs only affect the file encryption module which is turned off by default. Alternatively, `pkgs.nextcloud20` can be used."
     ];
   };
 
diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix
index 8be2cc15d4a..d045543813c 100644
--- a/pkgs/servers/slimserver/default.nix
+++ b/pkgs/servers/slimserver/default.nix
@@ -14,6 +14,7 @@ perlPackages.buildPerlPackage rec {
     makeWrapper
     perlPackages.perl
     perlPackages.AnyEvent
+    perlPackages.ArchiveZip
     perlPackages.AudioScan
     perlPackages.CarpClan
     perlPackages.CGI
diff --git a/pkgs/servers/sql/patroni/default.nix b/pkgs/servers/sql/patroni/default.nix
index bd06aa2ff7d..682dbe45f7d 100644
--- a/pkgs/servers/sql/patroni/default.nix
+++ b/pkgs/servers/sql/patroni/default.nix
@@ -52,6 +52,6 @@ pythonPackages.buildPythonApplication rec {
     description = "A Template for PostgreSQL HA with ZooKeeper, etcd or Consul";
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = [ maintainers.limeytexan ];
+    maintainers = teams.deshaw.members;
   };
 }
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index fda404e3fee..2d13bf8e925 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -5,15 +5,15 @@
 , nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
 
 stdenv.mkDerivation rec {
-  version = "2021-01-04";
+  version = "2021-01-05";
   pname = "oh-my-zsh";
-  rev = "2118d35e017eb8c599f3c25863c8263aca307541";
+  rev = "86f805280f6a8cf65d8d0a9380489aae4b72f767";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "ohmyzsh";
     repo = "ohmyzsh";
-    sha256 = "132wh37grxz19djnbgyihvgjacr6jqx8jjsxwzsknv7v49b6gp8z";
+    sha256 = "1wf4g1z7fvravsp020xdqvczf4kcw1nh3b22djlsgd97n8qgziaz";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 38c03aaaebc..2a0e5959b91 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -28,11 +28,11 @@ let
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.18.208"; # N.B: if you change this, change botocore to a matching version too
+  version = "1.18.210"; # N.B: if you change this, change botocore to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/YgXHSCteHPf/BVJmbeS7rAtxentCSqELAi+Wy2GmdA=";
+    sha256 = "sha256-kt12Dc58UpsdlMen3IeTvRzcZ0HnwArs2q3ojqUBEPw=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/backup/grab-site/default.nix b/pkgs/tools/backup/grab-site/default.nix
index e69823ab45d..7ef1f110b69 100644
--- a/pkgs/tools/backup/grab-site/default.nix
+++ b/pkgs/tools/backup/grab-site/default.nix
@@ -1,5 +1,4 @@
 { stdenv, python37, fetchFromGitHub }:
-
 let
   python = python37.override {
     self = python;
@@ -8,19 +7,32 @@ let
     };
   };
 
-in with python.pkgs; buildPythonApplication rec {
-  version = "2.1.19";
-  name = "grab-site-${version}";
+in
+with python.pkgs; buildPythonApplication rec {
+  pname = "grab-site";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "ArchiveTeam";
     repo = "grab-site";
-    sha256 = "1v1hnhv5knzdl0kj3574ccwlh171vcb7faddp095ycdmiiybalk4";
+    sha256 = "1jxcv9dral6h7vfpfqkp1yif6plj0vspzakymkj8hfl75nh0wpv8";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"wpull @ https://github.com/ArchiveTeam/ludios_wpull/tarball/master#egg=wpull-3.0.7"' '"wpull"'
+  '';
+
   propagatedBuildInputs = [
-    click ludios_wpull manhole lmdb autobahn fb-re2 websockets cchardet
+    click
+    ludios_wpull
+    manhole
+    lmdb
+    autobahn
+    fb-re2
+    websockets
+    cchardet
   ];
 
   checkPhase = ''
diff --git a/pkgs/tools/backup/s3ql/default.nix b/pkgs/tools/backup/s3ql/default.nix
index 346f8d27964..7e4cc66278c 100644
--- a/pkgs/tools/backup/s3ql/default.nix
+++ b/pkgs/tools/backup/s3ql/default.nix
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
   checkInputs = [ which ] ++ (with python3Packages; [ cython pytest ]);
   propagatedBuildInputs = with python3Packages; [
     sqlite apsw pycrypto requests defusedxml dugong llfuse
-    cython pytest pytest-catchlog google_auth google-auth-oauthlib
+    cython pytest pytest-catchlog google-auth google-auth-oauthlib
   ];
 
   preBuild = ''
diff --git a/pkgs/tools/backup/wal-e/default.nix b/pkgs/tools/backup/wal-e/default.nix
index a6d5b6b4801..b3e9bfd56c0 100644
--- a/pkgs/tools/backup/wal-e/default.nix
+++ b/pkgs/tools/backup/wal-e/default.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
   propagatedBuildInputs = (with python3Packages; [
     boto
     gevent
-    google_cloud_storage
+    google-cloud-storage
   ]) ++ [
     postgresql
     lzop
diff --git a/pkgs/tools/graphics/fim/default.nix b/pkgs/tools/graphics/fim/default.nix
index 6a3d9a29db3..9a3163951d2 100644
--- a/pkgs/tools/graphics/fim/default.nix
+++ b/pkgs/tools/graphics/fim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoconf, automake, pkgconfig
+{ gcc9Stdenv, fetchurl, autoconf, automake, pkgconfig, lib
 , perl, flex, bison, readline, libexif
 , x11Support ? true, SDL
 , svgSupport ? true, inkscape
@@ -9,7 +9,7 @@
 , pngSupport ? true, libpng
 }:
 
-stdenv.mkDerivation rec {
+gcc9Stdenv.mkDerivation rec {
   pname = "fim";
   version = "0.6";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake pkgconfig ];
 
-  buildInputs = with stdenv.lib;
+  buildInputs = with lib;
     [ perl flex bison readline libexif ]
     ++ optional x11Support SDL
     ++ optional svgSupport inkscape
@@ -35,9 +35,9 @@ stdenv.mkDerivation rec {
     ++ optional jpegSupport libjpeg
     ++ optional pngSupport libpng;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString x11Support "-lSDL";
+  NIX_CFLAGS_COMPILE = lib.optionalString x11Support "-lSDL";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A lightweight, highly customizable and scriptable image viewer";
     longDescription = ''
       FIM (Fbi IMproved) is a lightweight, console based image viewer that aims
diff --git a/pkgs/tools/inputmethods/evdevremapkeys/default.nix b/pkgs/tools/inputmethods/evdevremapkeys/default.nix
index 0dc6f673925..d70bf80d1ce 100644
--- a/pkgs/tools/inputmethods/evdevremapkeys/default.nix
+++ b/pkgs/tools/inputmethods/evdevremapkeys/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
-let
-  pythonPackages = python3Packages;
-
-in pythonPackages.buildPythonPackage rec {
-  name = "${pname}-0.1.0";
+python3Packages.buildPythonPackage rec {
   pname = "evdevremapkeys";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "philipl";
@@ -14,13 +11,18 @@ in pythonPackages.buildPythonPackage rec {
     sha256 = "0c9slflakm5jqd8s1zpxm7gmrrk0335m040d7m70hnsak42jvs2f";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ 
+  propagatedBuildInputs = with python3Packages; [
     pyyaml
     pyxdg
     python-daemon
     evdev
   ];
 
+  # hase no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "evdevremapkeys" ];
+
   meta = with stdenv.lib; {
     homepage = "https://github.com/philipl/evdevremapkeys";
     description = "Daemon to remap events on linux input devices";
diff --git a/pkgs/tools/misc/foma/default.nix b/pkgs/tools/misc/foma/default.nix
new file mode 100644
index 00000000000..d5fed006173
--- /dev/null
+++ b/pkgs/tools/misc/foma/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, zlib, flex, bison, readline }:
+
+stdenv.mkDerivation rec {
+  pname = "foma";
+  version = "0.9.18alpha";
+
+  src = fetchFromGitHub {
+    owner = "mhulden";
+    repo = "foma";
+    rev = "4456a40e81f46e3fe909c5a97a15fcf1d2a3b6c1";
+    sha256 = "188yxj8wahlj2yf93rj1vx549j5cq0085d2jmj3vwzbfjq1mi1f0";
+  };
+
+  sourceRoot = "source/foma";
+
+  nativeBuildInputs = [ flex bison ];
+  buildInputs = [ zlib readline ];
+
+  patchPhase = ''
+    substituteInPlace Makefile \
+      --replace '-ltermcap' ' ' \
+      --replace '/usr/local' '$(out)'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A multi-purpose finite-state toolkit designed for applications ranging from natural language processing to research in automata theory";
+    homepage = "https://github.com/mhulden/foma";
+    license = licenses.asl20;
+    maintainers = [ maintainers.tckmn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index b114ee2373c..837277a5c85 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -1,20 +1,28 @@
-{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl }:
+{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl, fetchpatch }:
 
 buildGoModule rec {
   pname = "fzf";
-  version = "0.24.4";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "junegunn";
     repo = pname;
     rev = version;
-    sha256 = "17k32wr70sp7ag69xww2q9mrgnzakgkjw6la04n3jlhfa5z37dzj";
+    sha256 = "1j5bfxl4w8w3n89p051y8dhxg0py9l98v7r2gkr63bg4lj32faz8";
   };
 
   vendorSha256 = "0dd0qm1fxp3jnlrhfaas8fw87cj7rygaac35a9nk3xh2xsk7q35p";
 
   outputs = [ "out" "man" ];
 
+  patches = [
+    # Fix test failure on go 1.15
+    (fetchpatch {
+      url = "https://github.com/junegunn/fzf/commit/82791f7efccde5b30da0b4d44f10d214ae5c0c0d.patch";
+      sha256 = "1nybsz09h8cnvxjnkmx9c52g8z0x6pvrn230hw1va5a3pvmg01z1";
+    })
+  ];
+
   fishHook = writeText "load-fzf-keybindings.fish" "fzf_key_bindings";
 
   buildInputs = [ ncurses ];
@@ -24,7 +32,7 @@ buildGoModule rec {
   ];
 
   # The vim plugin expects a relative path to the binary; patch it to abspath.
-  patchPhase = ''
+  postPatch = ''
     sed -i -e "s|expand('<sfile>:h:h')|'$out'|" plugin/fzf.vim
 
     if ! grep -q $out plugin/fzf.vim; then
diff --git a/pkgs/tools/networking/rdrview/default.nix b/pkgs/tools/networking/rdrview/default.nix
new file mode 100644
index 00000000000..628bd985341
--- /dev/null
+++ b/pkgs/tools/networking/rdrview/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, libxml2, curl, libseccomp }:
+
+stdenv.mkDerivation {
+  name = "rdrview";
+  version = "unstable-2020-12-22";
+
+  src = fetchFromGitHub {
+    owner = "eafer";
+    repo = "rdrview";
+    rev = "7be01fb36a6ab3311a9ad1c8c2c75bf5c1345d93";
+    sha256 = "00hnvrrrkyp5429rzcvabq2z00lp1l8wsqxw4h7qsdms707mjnxs";
+  };
+
+  buildInputs = [ libxml2 curl libseccomp ];
+
+  installPhase = ''
+    install -Dm755 rdrview -t $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line tool to extract main content from a webpage";
+    homepage = "https://github.com/eafer/rdrview";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ djanatyn ];
+  };
+}
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index fd7b203fbbf..fa555ad4f99 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libpcap, perl }:
+{ stdenv, fetchurl, libpcap, perl, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "tcpdump";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c";
   };
 
+  patches = [
+    # Patch for CVE-2020-8037
+    (fetchpatch {
+      url = "https://github.com/the-tcpdump-group/tcpdump/commit/32027e199368dad9508965aae8cd8de5b6ab5231.patch";
+      sha256 = "sha256-bO3aV032ru9+M/9isBRjmH8jTZLKj9Zf9ha2rmOaZwc=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs tests
   '';
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index f10b90d0173..fff774d2aef 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "1.10.2";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "08qz9zfk19iwf8qfv7vmzvbl8w1vpjrry25w3pxsg93gyjw8v7mi";
+    sha256 = "0qv7xw74hf4fzi7v40fpgjyf01dyz6665dmd2pacpd9n6klnr1h3";
   };
 
-  vendorSha256 = "0qnfd47ykb6g28d3mnfncgmkvqd1myx47x563sxx4lcsq542q83n";
+  vendorSha256 = "0mdh4qrafdxlqqh0kl7wil7w3g5p499qi3yiw8znjkd49g85ws3w";
 
   doCheck = false;
 
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
new file mode 100644
index 00000000000..9786fd41663
--- /dev/null
+++ b/pkgs/tools/security/grype/default.nix
@@ -0,0 +1,35 @@
+{ buildGoModule
+, docker
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "grype";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "anchore";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0schq11vckvdj538mnkdzhxl452nrssqrfapab9qc44yxdi1wf8k";
+  };
+
+  vendorSha256 = "0lna7zhsj3wnw83nv0dp93aj869pplb51gqzrkka7vnqp0rjcw50";
+
+  propagatedBuildInputs = [ docker ];
+
+  # tests require a running Docker instance
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Vulnerability scanner for container images and filesystems";
+    longDescription = ''
+      As a vulnerability scanner is grype abale to scan the contents of a container
+      image or filesystem to find known vulnerabilities.
+    '';
+    homepage = "https://github.com/anchore/grype";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/urlhunter/default.nix b/pkgs/tools/security/urlhunter/default.nix
new file mode 100644
index 00000000000..239eabbe8b3
--- /dev/null
+++ b/pkgs/tools/security/urlhunter/default.nix
@@ -0,0 +1,29 @@
+{ buildGoModule
+, fetchFromGitHub
+, stdenv
+}:
+
+buildGoModule rec {
+  pname = "urlhunter";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "utkusen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ph0pwfd8bb5499bsx3bd8sqhn69y00zk32ayc3n61gpcc6rmvn7";
+  };
+
+  vendorSha256 = "165kplaqigis0anafvzfqzwc3jjhsn2mwgf4phb4ck75n3yf85ys";
+
+  meta = with stdenv.lib; {
+    description = "Recon tool that allows searching shortened URLs";
+    longDescription = ''
+      urlhunter is a recon tool that allows searching on URLs that are
+      exposed via shortener services such as bit.ly and goo.gl.
+    '';
+    homepage = "https://github.com/utkusen/urlhunter";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/system/clinfo/default.nix b/pkgs/tools/system/clinfo/default.nix
index 9e9b4df8088..7db7386c111 100644
--- a/pkgs/tools/system/clinfo/default.nix
+++ b/pkgs/tools/system/clinfo/default.nix
@@ -4,16 +4,19 @@ stdenv.mkDerivation rec {
   pname = "clinfo";
   version = "3.0.20.11.20";
 
-    src = fetchFromGitHub {
-      owner = "Oblomov";
-      repo = "clinfo";
-      rev = version;
-      sha256 = "052xfkbmgfpalmhfwn0dj5114x2mzwz29y37qqhhsdpaxsz0y422";
-    };
+  src = fetchFromGitHub {
+    owner = "Oblomov";
+    repo = "clinfo";
+    rev = version;
+    sha256 = "052xfkbmgfpalmhfwn0dj5114x2mzwz29y37qqhhsdpaxsz0y422";
+  };
 
   buildInputs = [ ocl-icd opencl-headers ];
 
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=stringop-truncation" ];
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=stringop-overflow"
+    "-Wno-error=stringop-truncation"
+  ];
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
@@ -21,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Print all known information about all available OpenCL platforms and devices in the system";
     homepage = "https://github.com/Oblomov/clinfo";
     license = licenses.cc0;
-    platforms = platforms.linux;
     maintainers = with maintainers; [ athas ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 8e035017742..d95f9854d54 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.4.4";
+  version = "0.4.5";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "0nqr5a27i91m71fhpycf60q54qplc920y1fmk9hav3pbb9wcc5dl";
+    sha256 = "11v2x0q8pn7hbmznqy872ksr7szyiki9cfhapymjhkf5nwfvcdbb";
   };
 
-  cargoSha256 = "1p72iwl9ca7a92nf6wyjjbn0qns0xxb4xrbz2r2nmd83cxs0fplg";
+  cargoSha256 = "1psgqj04hzv7p18h4phsahxg4rj9yz38b8mh111k6l8m4r83kd75";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix
new file mode 100644
index 00000000000..c3d2de311b1
--- /dev/null
+++ b/pkgs/tools/video/svt-av1/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, cmake, nasm }:
+
+stdenv.mkDerivation rec {
+  pname = "svt-av1";
+  version = "0.8.6";
+
+  src = fetchFromGitHub {
+    owner = "AOMediaCodec";
+    repo = "SVT-AV1";
+    rev = "v${version}";
+    sha256 = "1wzamg89azi1f93wxvdy7silsgklckc754ca066k33drvyacicyw";
+  };
+
+  nativeBuildInputs = [ cmake nasm ];
+
+  meta = with stdenv.lib; {
+    description = "AV1-compliant encoder/decoder library core";
+    homepage = "https://github.com/AOMediaCodec/SVT-AV1";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    broken = stdenv.isAarch64; # undefined reference to `cpuinfo_arm_linux_init'
+    maintainers = with maintainers; [ chiiruno ];
+  };
+}
diff --git a/pkgs/tools/virtualization/shipyard/default.nix b/pkgs/tools/virtualization/shipyard/default.nix
new file mode 100644
index 00000000000..e3017e98a07
--- /dev/null
+++ b/pkgs/tools/virtualization/shipyard/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "shipyard";
+  version = "0.1.17";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "shipyard-run";
+    repo = pname;
+    sha256 = "13cp7qpxchnyxdm26xwdcp557nj16f4h8vlj0p4h79z5g7pcklln";
+  };
+  vendorSha256 = "0gib9s09lz91wawbms9zq4wc5k6bdxfzpxm8q92h0bsjw1bj1hzs";
+
+  buildFlagsArray = [
+    "-ldflags=-s -w -X main.version=${version}"
+  ];
+
+  # Tests require a large variety of tools and resources to run including
+  # Kubernetes, Docker, and GCC.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Shipyard is a tool for building modern cloud native development environments";
+    homepage = "https://shipyard.run";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/tools/wayland/wtype/default.nix b/pkgs/tools/wayland/wtype/default.nix
index a1c4744318e..3476f3abcda 100644
--- a/pkgs/tools/wayland/wtype/default.nix
+++ b/pkgs/tools/wayland/wtype/default.nix
@@ -10,15 +10,15 @@
 , wayland
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "wtype";
-  version = "2020-09-14";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "atx";
     repo = "wtype";
-    rev = "74071228dea4047157ae82960a2541ecc431e4a1";
-    sha256 = "1ncspxpnbwv1vkfmxs58q7aykjb6skaa1pg5sw5h798pss5j80rd";
+    rev = "v${version}";
+    hash = "sha256-8q2PxI3ItR4tsP/KOiSlqnuK4ZSe7OdekheolEFVmys=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d2839cf2e9b..f39e097ec08 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -730,6 +730,8 @@ in
 
   foot = callPackage ../applications/terminal-emulators/foot { };
 
+  germinal = callPackage ../applications/terminal-emulators/germinal { };
+
   guake = callPackage ../applications/terminal-emulators/guake { };
 
   havoc = callPackage ../applications/terminal-emulators/havoc { };
@@ -2486,6 +2488,8 @@ in
 
   monetdb = callPackage ../servers/sql/monetdb { };
 
+  monado = callPackage ../applications/graphics/monado {};
+
   mons = callPackage ../tools/misc/mons {};
 
   mousetweaks = callPackage ../applications/accessibility/mousetweaks {
@@ -2626,6 +2630,8 @@ in
 
   simdjson = callPackage ../development/libraries/simdjson { };
 
+  shipyard = callPackage ../tools/virtualization/shipyard { };
+
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
   simplenes = callPackage ../misc/emulators/simplenes { };
@@ -2668,6 +2674,8 @@ in
 
   syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
 
+  svt-av1 = callPackage ../tools/video/svt-av1 { };
+
   inherit (callPackages ../servers/rainloop { })
     rainloop-community
     rainloop-standard;
@@ -4568,6 +4576,8 @@ in
 
   gssdp = callPackage ../development/libraries/gssdp { };
 
+  grype = callPackage ../tools/security/grype { };
+
   gt5 = callPackage ../tools/system/gt5 { };
 
   gtest = callPackage ../development/libraries/gtest { };
@@ -6136,17 +6146,17 @@ in
   nomad_0_11 = callPackage ../applications/networking/cluster/nomad/0.11.nix {
     buildGoPackage = buildGo114Package;
     inherit (linuxPackages) nvidia_x11;
-    nvidiaGpuSupport = config.cudaSupport or (!stdenv.isLinux);
+    nvidiaGpuSupport = config.cudaSupport or false;
   };
   nomad_0_12 = callPackage ../applications/networking/cluster/nomad/0.12.nix {
     buildGoPackage = buildGo114Package;
     inherit (linuxPackages) nvidia_x11;
-    nvidiaGpuSupport = config.cudaSupport or (!stdenv.isLinux);
+    nvidiaGpuSupport = config.cudaSupport or false;
   };
   nomad_1_0 = callPackage ../applications/networking/cluster/nomad/1.0.nix {
     buildGoPackage = buildGo115Package;
     inherit (linuxPackages) nvidia_x11;
-    nvidiaGpuSupport = config.cudaSupport or (!stdenv.isLinux);
+    nvidiaGpuSupport = config.cudaSupport or false;
   };
 
   notable = callPackage ../applications/misc/notable { };
@@ -7014,6 +7024,7 @@ in
 
   rdma-core = callPackage ../os-specific/linux/rdma-core { };
 
+  rdrview = callPackage ../tools/networking/rdrview {};
 
   real_time_config_quick_scan = callPackage ../applications/audio/real_time_config_quick_scan { };
 
@@ -7867,7 +7878,7 @@ in
 
   tikzit = libsForQt5.callPackage ../tools/typesetting/tikzit { };
 
-  tinc_pre = callPackage ../tools/networking/tinc/pre.nix {};
+  tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
 
   tinycbor = callPackage ../development/libraries/tinycbor { };
 
@@ -7875,13 +7886,13 @@ in
 
   tinyemu = callPackage ../applications/virtualization/tinyemu { };
 
-  tinyfecvpn = callPackage ../tools/networking/tinyfecvpn {};
+  tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { };
 
   tinyobjloader = callPackage ../development/libraries/tinyobjloader { };
 
   tinyprog = callPackage ../development/tools/misc/tinyprog { };
 
-  tinyproxy = callPackage ../tools/networking/tinyproxy {};
+  tinyproxy = callPackage ../tools/networking/tinyproxy { };
 
   tio = callPackage ../tools/misc/tio { };
 
@@ -8490,6 +8501,8 @@ in
 
   urjtag = callPackage ../tools/misc/urjtag { };
 
+  urlhunter = callPackage ../tools/security/urlhunter { };
+
   urlwatch = callPackage ../tools/networking/urlwatch { };
 
   valum = callPackage ../development/web/valum { };
@@ -9702,7 +9715,7 @@ in
 
   openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { };
 
-  openjfx14 = callPackage ../development/compilers/openjdk/openjfx/14.nix { };
+  openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { };
 
   openjdk8-bootstrap =
     if adoptopenjdk-hotspot-bin-8.meta.available then
@@ -9752,21 +9765,27 @@ in
     else
       openjdk11.override { headless = true; };
 
-  openjdk14-bootstrap =
-    if adoptopenjdk-hotspot-bin-13.meta.available then
-      adoptopenjdk-hotspot-bin-13
+  openjdk15-bootstrap =
+    if adoptopenjdk-hotspot-bin-14.meta.available then
+      adoptopenjdk-hotspot-bin-14
     else
-      /* adoptopenjdk not available for i686, so fall back to our old builds of 12 & 13 for bootstrapping */
-      callPackage ../development/compilers/openjdk/13.nix {
+      /* adoptopenjdk not available for i686, so fall back to our old builds of 12, 13, & 14 for bootstrapping */
+      callPackage ../development/compilers/openjdk/14.nix {
         openjfx = openjfx11; /* need this despite next line :-( */
         enableJavaFX = false;
         headless = true;
         inherit (gnome2) GConf gnome_vfs;
-        openjdk13-bootstrap = callPackage ../development/compilers/openjdk/12.nix {
+        openjdk14-bootstrap = callPackage ../development/compilers/openjdk/13.nix {
           openjfx = openjfx11; /* need this despite next line :-( */
           enableJavaFX = false;
           headless = true;
           inherit (gnome2) GConf gnome_vfs;
+          openjdk13-bootstrap = callPackage ../development/compilers/openjdk/12.nix {
+            openjfx = openjfx11; /* need this despite next line :-( */
+            enableJavaFX = false;
+            headless = true;
+            inherit (gnome2) GConf gnome_vfs;
+          };
         };
       };
 
@@ -9774,27 +9793,27 @@ in
   jdk11_headless = openjdk11_headless;
 
   /* Latest JDK */
-  openjdk14 =
+  openjdk15 =
     if stdenv.isDarwin then
       callPackage ../development/compilers/openjdk/darwin { }
     else
       callPackage ../development/compilers/openjdk {
-        openjfx = openjfx14;
+        openjfx = openjfx15;
         inherit (gnome2) GConf gnome_vfs;
       };
 
-  openjdk14_headless =
+  openjdk15_headless =
     if stdenv.isDarwin then
-      openjdk14
+      openjdk15
     else
-      openjdk14.override { headless = true; };
+      openjdk15.override { headless = true; };
 
-  jdk14 = openjdk14;
-  jdk14_headless = openjdk14_headless;
+  jdk15 = openjdk15;
+  jdk15_headless = openjdk15_headless;
 
   /* default JDK */
 
-  jdk = jdk14;
+  jdk = jdk15;
 
   # Since the introduction of the Java Platform Module System in Java 9, Java
   # no longer ships a separate JRE package.
@@ -9803,13 +9822,13 @@ in
   # 'jre_minimal' to build a bespoke JRE containing only the modules you need.
   #
   # For a general-purpose system, 'jre' defaults to the full JDK:
-  jre = jdk14;
-  jre_headless = jdk14_headless;
+  jre = jdk15;
+  jre_headless = jdk15_headless;
 
   jre_minimal = callPackage ../development/compilers/openjdk/jre.nix { };
 
-  openjdk = openjdk14;
-  openjdk_headless = openjdk14_headless;
+  openjdk = openjdk15;
+  openjdk_headless = openjdk15_headless;
 
   inherit (callPackages ../development/compilers/graalvm {
     gcc = if stdenv.targetPlatform.isDarwin then gcc8 else gcc;
@@ -12357,6 +12376,8 @@ in
 
   ttyd = callPackage ../servers/ttyd { };
 
+  turbogit = callPackage ../development/tools/turbogit { };
+
   tweak = callPackage ../applications/editors/tweak { };
 
   tychus = callPackage ../development/tools/tychus {
@@ -12578,7 +12599,9 @@ in
     inherit (darwin.apple_sdk.frameworks) AudioUnit CoreServices;
   };
 
-  aws-c-cal = callPackage ../development/libraries/aws-c-cal { };
+  aws-c-cal = callPackage ../development/libraries/aws-c-cal {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   aws-c-common = callPackage ../development/libraries/aws-c-common { };
 
@@ -13026,6 +13049,7 @@ in
   ffmpeg = ffmpeg_4;
 
   ffmpeg-full = callPackage ../development/libraries/ffmpeg-full {
+    svt-av1 = if stdenv.isAarch64 then null else svt-av1;
     # The following need to be fixed on Darwin
     libjack2 = if stdenv.isDarwin then null else libjack2;
     libmodplug = if stdenv.isDarwin then null else libmodplug;
@@ -14942,6 +14966,8 @@ in
     inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
   };
 
+  libuvc = callPackage ../development/libraries/libuvc { };
+
   libv4l = lowPrio (v4l-utils.override {
     withUtils = false;
   });
@@ -24564,6 +24590,8 @@ in
 
   taskwarrior = callPackage ../applications/misc/taskwarrior { };
 
+  taskwarrior-tui = callPackage ../applications/misc/taskwarrior-tui { };
+
   dstask = callPackage ../applications/misc/dstask { };
 
   tasksh = callPackage ../applications/misc/tasksh { };
@@ -28020,6 +28048,8 @@ in
   fahcontrol = callPackage ../applications/science/misc/foldingathome/control.nix {};
   fahviewer = callPackage ../applications/science/misc/foldingathome/viewer.nix {};
 
+  foma = callPackage ../tools/misc/foma { };
+
   foo2zjs = callPackage ../misc/drivers/foo2zjs {};
 
   foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
@@ -28659,6 +28689,8 @@ in
 
   snscrape = with python3Packages; toPythonApplication snscrape;
 
+  soundmodem = callPackage ../applications/radio/soundmodem {};
+
   soundOfSorting = callPackage ../misc/sound-of-sorting { };
 
   sourceAndTags = callPackage ../misc/source-and-tags {
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 0615fe128bb..b123658a3ff 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -851,6 +851,8 @@ let
 
     posix-types = callPackage ../development/ocaml-modules/posix/types.nix { };
 
+    ppx_bitstring = callPackage ../development/ocaml-modules/bitstring/ppx.nix { };
+
     ppxfind = callPackage ../development/ocaml-modules/ppxfind { };
 
     ppxlib = callPackage ../development/ocaml-modules/ppxlib { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 9c19463923f..b88a6e37fbe 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -14,7 +14,7 @@
 # cpan2nix assumes that perl-packages.nix will be used only with perl 5.30.3 or above
 assert stdenv.lib.versionAtLeast perl.version "5.30.3";
 let
-  inherit (stdenv.lib) maintainers;
+  inherit (stdenv.lib) maintainers teams;
   self = _self // (overrides pkgs);
   _self = with self; {
 
@@ -1395,7 +1395,7 @@ let
       sha256 = "0g8c7825ng2m0yz5sy6838rvfdl8j3vm29524wjgf66ccfhgn74x";
     };
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "BSD process resource limit and priority functions";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -2796,7 +2796,7 @@ let
     meta = {
       description = "Base class for hierarchally ordered objects";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -3405,7 +3405,7 @@ let
     meta = {
       description = "A module for reading .ini-style configuration files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -7843,7 +7843,7 @@ let
       sha256 = "05p9m7kpmjv8bmmbs5chb5fqyshcgmskbbzq5c9qpskbx2w5894n";
     };
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "simple filename and pathname matching";
       license = stdenv.lib.licenses.free; # Same as Perl
     };
@@ -7858,7 +7858,7 @@ let
     };
     meta = {
       description = "Find matches to a pattern in a series of files and related functions";
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -8061,7 +8061,7 @@ let
     meta = {
       license = stdenv.lib.licenses.free; # Same as Perl
       description = "Pid File Manipulation";
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -8234,7 +8234,7 @@ let
     meta = {
       description = "Perl extension for reading from continously updated files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -8249,7 +8249,7 @@ let
       homepage = "https://github.com/neilb/File-Touch";
       description = "Update file access and modification times, optionally creating files if needed";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -8630,7 +8630,7 @@ let
     };
     propagatedBuildInputs = [ Error ];
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "This is the Git.pm, plus the other files in the perl/Git directory, from github's git/git";
       license = stdenv.lib.licenses.free;
     };
@@ -8941,7 +8941,7 @@ let
     };
     propagatedBuildInputs = [ pkgs.krb5Full.dev ];
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "Perl extension providing access to the GSSAPIv2 library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11153,7 +11153,7 @@ let
     buildInputs = [ pkgs.acl ];
     NIX_CFLAGS_LINK = "-L${pkgs.acl.out}/lib -lacl";
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "Perl extension for reading and setting Access Control Lists for files by libacl linux library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12047,7 +12047,7 @@ let
       perl -I blib/lib -MMail::Sendmail -e 'print "1..1\nok 1\n"'
     '';
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "Simple platform independent mailer";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15830,7 +15830,7 @@ let
       rm t/45_class.t
     '';
     meta = {
-      maintainers = with maintainers; [ limeytexan ztzg ];
+      maintainers = teams.deshaw.members ++ [ maintainers.ztzg ];
       homepage = "https://github.com/mark-5/p5-net-zookeeper";
       license = stdenv.lib.licenses.asl20;
     };
@@ -16039,7 +16039,7 @@ let
     meta = {
       description = "General function library for safer, more secure programming";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -16134,7 +16134,7 @@ let
     meta = {
       description = "Parser/Generator of human-readable conf files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -16543,7 +16543,7 @@ let
       homepage = "http://ldap.perl.org/";
       description = "LDAP client library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -16597,7 +16597,7 @@ let
     meta = {
       description = "Pure-Perl Core-Only replacement for pkg-config";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
     };
   };
 
@@ -16813,7 +16813,7 @@ let
     # not present (see below).
     propagatedBuildInputs = [ pkgs.cacert IOPipely IOTty POETestLoops ];
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "Portable multitasking and networking framework for any event loop";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -16843,7 +16843,7 @@ let
       sha256 = "0yx4wsljfmdzsiv0ni98x6lw975cm82ahngbwqvzv60wx5pwkl5y";
     };
     meta = {
-      maintainers = [ maintainers.limeytexan ];
+      maintainers = teams.deshaw.members;
       description = "Reusable tests for POE::Loop authors";
       license = stdenv.lib.licenses.artistic2;
     };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ad775f0712b..70b2cbdf0e1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -782,6 +782,8 @@ in {
 
   backports_csv = callPackage ../development/python-modules/backports_csv { };
 
+  backports-datetime-fromisoformat = callPackage ../development/python-modules/backports-datetime-fromisoformat { };
+
   backports_functools_lru_cache = callPackage ../development/python-modules/backports_functools_lru_cache { };
 
   backports_lzma = callPackage ../development/python-modules/backports_lzma { };
@@ -892,6 +894,8 @@ in {
 
   bitarray = callPackage ../development/python-modules/bitarray { };
 
+  bitbox02 = callPackage ../development/python-modules/bitbox02 { };
+
   bitbucket_api = callPackage ../development/python-modules/bitbucket-api { };
 
   bitbucket-cli = callPackage ../development/python-modules/bitbucket-cli { };
@@ -1384,6 +1388,8 @@ in {
 
   cornice = callPackage ../development/python-modules/cornice { };
 
+  coronavirus = callPackage ../development/python-modules/coronavirus { };
+
   cot = callPackage ../development/python-modules/cot { };
 
   covCore = callPackage ../development/python-modules/cov-core { };
@@ -2067,6 +2073,8 @@ in {
 
   fastcache = callPackage ../development/python-modules/fastcache { };
 
+  fastdiff = callPackage ../development/python-modules/fastdiff { };
+
   fastdtw = callPackage ../development/python-modules/fastdtw { };
 
   fastecdsa = callPackage ../development/python-modules/fastecdsa { };
@@ -2149,6 +2157,8 @@ in {
 
   fitbit = callPackage ../development/python-modules/fitbit { };
 
+  fixerio = callPackage ../development/python-modules/fixerio { };
+
   fixtures = callPackage ../development/python-modules/fixtures { };
 
   flake8-blind-except = callPackage ../development/python-modules/flake8-blind-except { };
@@ -2500,7 +2510,7 @@ in {
 
   goocalendar = callPackage ../development/python-modules/goocalendar { };
 
-  google_api_core = callPackage ../development/python-modules/google_api_core { };
+  google-api-core = callPackage ../development/python-modules/google-api-core { };
 
   google_api_python_client =
     let google_api_python_client = callPackage ../development/python-modules/google-api-python-client { };
@@ -2517,9 +2527,9 @@ in {
 
   googleapis_common_protos = callPackage ../development/python-modules/googleapis_common_protos { };
 
-  google_apputils = callPackage ../development/python-modules/google_apputils { };
+  google-apputils = callPackage ../development/python-modules/google-apputils { };
 
-  google_auth = callPackage ../development/python-modules/google_auth { };
+  google-auth = callPackage ../development/python-modules/google-auth { };
 
   google-auth-httplib2 = callPackage ../development/python-modules/google-auth-httplib2 { };
 
@@ -2527,79 +2537,81 @@ in {
 
   google-cloud-access-context-manager = callPackage ../development/python-modules/google-cloud-access-context-manager { };
 
-  google_cloud_asset = callPackage ../development/python-modules/google_cloud_asset { };
+  google-cloud-asset = callPackage ../development/python-modules/google-cloud-asset { };
 
-  google_cloud_automl = callPackage ../development/python-modules/google_cloud_automl { };
+  google-cloud-automl = callPackage ../development/python-modules/google-cloud-automl { };
 
-  google_cloud_bigquery = callPackage ../development/python-modules/google_cloud_bigquery { };
+  google-cloud-bigquery = callPackage ../development/python-modules/google-cloud-bigquery { };
 
-  google_cloud_bigquery_datatransfer = callPackage ../development/python-modules/google_cloud_bigquery_datatransfer { };
+  google-cloud-bigquery-datatransfer = callPackage ../development/python-modules/google-cloud-bigquery-datatransfer { };
 
-  google_cloud_bigtable = callPackage ../development/python-modules/google_cloud_bigtable { };
+  google-cloud-bigtable = callPackage ../development/python-modules/google-cloud-bigtable { };
 
-  google_cloud_container = callPackage ../development/python-modules/google_cloud_container { };
+  google-cloud-container = callPackage ../development/python-modules/google-cloud-container { };
 
-  google_cloud_core = callPackage ../development/python-modules/google_cloud_core { };
+  google-cloud-core = callPackage ../development/python-modules/google-cloud-core { };
 
-  google_cloud_dataproc = callPackage ../development/python-modules/google_cloud_dataproc { };
+  google-cloud-dataproc = callPackage ../development/python-modules/google-cloud-dataproc { };
 
-  google_cloud_datastore = callPackage ../development/python-modules/google_cloud_datastore { };
+  google-cloud-datastore = callPackage ../development/python-modules/google-cloud-datastore { };
 
-  google_cloud_dlp = callPackage ../development/python-modules/google_cloud_dlp { };
+  google-cloud-dlp = callPackage ../development/python-modules/google-cloud-dlp { };
 
-  google_cloud_dns = callPackage ../development/python-modules/google_cloud_dns { };
+  google-cloud-dns = callPackage ../development/python-modules/google-cloud-dns { };
 
-  google_cloud_error_reporting = callPackage ../development/python-modules/google_cloud_error_reporting { };
+  google-cloud-error-reporting = callPackage ../development/python-modules/google-cloud-error-reporting { };
 
-  google_cloud_firestore = callPackage ../development/python-modules/google_cloud_firestore { };
+  google-cloud-firestore = callPackage ../development/python-modules/google-cloud-firestore { };
 
   google-cloud-iam = callPackage ../development/python-modules/google-cloud-iam { };
 
-  google_cloud_iot = callPackage ../development/python-modules/google_cloud_iot { };
+  google-cloud-iot = callPackage ../development/python-modules/google-cloud-iot { };
 
-  google_cloud_kms = callPackage ../development/python-modules/google_cloud_kms { };
+  google-cloud-kms = callPackage ../development/python-modules/google-cloud-kms { };
 
-  google_cloud_language = callPackage ../development/python-modules/google_cloud_language { };
+  google-cloud-language = callPackage ../development/python-modules/google-cloud-language { };
 
-  google_cloud_logging = callPackage ../development/python-modules/google_cloud_logging { };
+  google-cloud-logging = callPackage ../development/python-modules/google-cloud-logging { };
 
-  google_cloud_monitoring = callPackage ../development/python-modules/google_cloud_monitoring { };
+  google-cloud-monitoring = callPackage ../development/python-modules/google-cloud-monitoring { };
 
   google-cloud-org-policy = callPackage ../development/python-modules/google-cloud-org-policy { };
 
-  google_cloud_pubsub = callPackage ../development/python-modules/google_cloud_pubsub { };
+  google-cloud-os-config = callPackage ../development/python-modules/google-cloud-os-config { };
 
-  google_cloud_redis = callPackage ../development/python-modules/google_cloud_redis { };
+  google-cloud-pubsub = callPackage ../development/python-modules/google-cloud-pubsub { };
 
-  google_cloud_resource_manager = callPackage ../development/python-modules/google_cloud_resource_manager { };
+  google-cloud-redis = callPackage ../development/python-modules/google-cloud-redis { };
 
-  google_cloud_runtimeconfig = callPackage ../development/python-modules/google_cloud_runtimeconfig { };
+  google-cloud-resource-manager = callPackage ../development/python-modules/google-cloud-resource-manager { };
 
-  google_cloud_secret_manager = callPackage ../development/python-modules/google_cloud_secret_manager { };
+  google-cloud-runtimeconfig = callPackage ../development/python-modules/google-cloud-runtimeconfig { };
 
-  google_cloud_securitycenter = callPackage ../development/python-modules/google_cloud_securitycenter { };
+  google-cloud-secret-manager = callPackage ../development/python-modules/google-cloud-secret-manager { };
 
-  google_cloud_spanner = callPackage ../development/python-modules/google_cloud_spanner { };
+  google-cloud-securitycenter = callPackage ../development/python-modules/google-cloud-securitycenter { };
 
-  google_cloud_speech = callPackage ../development/python-modules/google_cloud_speech { };
+  google-cloud-spanner = callPackage ../development/python-modules/google-cloud-spanner { };
 
-  google_cloud_storage = callPackage ../development/python-modules/google_cloud_storage { };
+  google-cloud-speech = callPackage ../development/python-modules/google-cloud-speech { };
 
-  google_cloud_tasks = callPackage ../development/python-modules/google_cloud_tasks { };
+  google-cloud-storage = callPackage ../development/python-modules/google-cloud-storage { };
 
-  google_cloud_testutils = callPackage ../development/python-modules/google_cloud_testutils { };
+  google-cloud-tasks = callPackage ../development/python-modules/google-cloud-tasks { };
 
-  google_cloud_texttospeech = callPackage ../development/python-modules/google_cloud_texttospeech { };
+  google-cloud-testutils = callPackage ../development/python-modules/google-cloud-testutils { };
 
-  google_cloud_trace = callPackage ../development/python-modules/google_cloud_trace { };
+  google-cloud-texttospeech = callPackage ../development/python-modules/google-cloud-texttospeech { };
 
-  google_cloud_translate = callPackage ../development/python-modules/google_cloud_translate { };
+  google-cloud-trace = callPackage ../development/python-modules/google-cloud-trace { };
 
-  google_cloud_videointelligence = callPackage ../development/python-modules/google_cloud_videointelligence { };
+  google-cloud-translate = callPackage ../development/python-modules/google-cloud-translate { };
 
-  google_cloud_vision = callPackage ../development/python-modules/google_cloud_vision { };
+  google-cloud-videointelligence = callPackage ../development/python-modules/google-cloud-videointelligence { };
 
-  google_cloud_websecurityscanner = callPackage ../development/python-modules/google_cloud_websecurityscanner { };
+  google-cloud-vision = callPackage ../development/python-modules/google-cloud-vision { };
+
+  google-cloud-websecurityscanner = callPackage ../development/python-modules/google-cloud-websecurityscanner { };
 
   google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { };
 
@@ -2619,7 +2631,7 @@ in {
 
   google-pasta = callPackage ../development/python-modules/google-pasta { };
 
-  google_resumable_media = callPackage ../development/python-modules/google_resumable_media { };
+  google-resumable-media = callPackage ../development/python-modules/google-resumable-media { };
 
   googletrans = callPackage ../development/python-modules/googletrans { };
 
@@ -2661,8 +2673,12 @@ in {
 
   graph_nets = callPackage ../development/python-modules/graph_nets { };
 
+  graphene = callPackage ../development/python-modules/graphene { };
+
   graphql-core = callPackage ../development/python-modules/graphql-core { };
 
+  graphql-relay = callPackage ../development/python-modules/graphql-relay { };
+
   graphql-server-core = callPackage ../development/python-modules/graphql-server-core { };
 
   graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix { inherit (pkgs) pkg-config; };
@@ -3634,7 +3650,9 @@ in {
     llvm = pkgs.llvm_9;
   }; # llvmlite always requires a specific version of llvm.
 
-  lmdb = callPackage ../development/python-modules/lmdb { };
+  lmdb = callPackage ../development/python-modules/lmdb {
+    inherit (pkgs) lmdb;
+  };
 
   lml = callPackage ../development/python-modules/lml { };
 
@@ -4239,6 +4257,8 @@ in {
 
   noise = callPackage ../development/python-modules/noise { };
 
+  noiseprotocol = callPackage ../development/python-modules/noiseprotocol { };
+
   nose2 = callPackage ../development/python-modules/nose2 { };
 
   nose = callPackage ../development/python-modules/nose { };
@@ -5004,6 +5024,8 @@ in {
 
   pyannotate = callPackage ../development/python-modules/pyannotate { };
 
+  pyarlo = callPackage ../development/python-modules/pyarlo { };
+
   pyarrow = callPackage ../development/python-modules/pyarrow { inherit (pkgs) arrow-cpp cmake pkgconfig; };
 
   pyasn1 = callPackage ../development/python-modules/pyasn1 { };
@@ -5419,6 +5441,8 @@ in {
 
   pymetno = callPackage ../development/python-modules/pymetno { };
 
+  pymodbus = callPackage ../development/python-modules/pymodbus { };
+
   pymongo = callPackage ../development/python-modules/pymongo { };
 
   pympler = callPackage ../development/python-modules/pympler { };
@@ -5492,6 +5516,8 @@ in {
 
   pyopengl = callPackage ../development/python-modules/pyopengl { };
 
+  pyopengl-accelerate = callPackage ../development/python-modules/pyopengl-accelerate { };
+
   pyopenssl = callPackage ../development/python-modules/pyopenssl { };
 
   pyosf = callPackage ../development/python-modules/pyosf { };
@@ -5820,6 +5846,7 @@ in {
 
   pytest-black = callPackage ../development/python-modules/pytest-black { };
 
+  pytest-cache = self.pytestcache; # added 2021-01-04
   pytestcache = callPackage ../development/python-modules/pytestcache { };
 
   pytest-catchlog = callPackage ../development/python-modules/pytest-catchlog { };
@@ -5830,6 +5857,7 @@ in {
 
   pytest-click = callPackage ../development/python-modules/pytest-click { };
 
+  pytest-cov = self.pytestcov; # self 2021-01-04
   pytestcov = callPackage ../development/python-modules/pytest-cov { };
 
   pytest-cram = callPackage ../development/python-modules/pytest-cram { };
@@ -5866,8 +5894,6 @@ in {
 
   pytest-helpers-namespace = callPackage ../development/python-modules/pytest-helpers-namespace { };
 
-  pyopengl-accelerate = callPackage ../development/python-modules/pyopengl-accelerate { };
-
   pytest-html = callPackage ../development/python-modules/pytest-html { };
 
   pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { };
@@ -5895,6 +5921,7 @@ in {
 
   pytest-pep257 = callPackage ../development/python-modules/pytest-pep257 { };
 
+  pytest-pep8 = self.pytestpep8; # added 2021-01-04
   pytestpep8 = throw "pytestpep8 was removed because it is abandoned and no longer compatible with pytest v6.0"; # added 2020-12-10
 
   pytest-pylint = callPackage ../development/python-modules/pytest-pylint { };
@@ -5903,6 +5930,7 @@ in {
 
   pytest-qt = callPackage ../development/python-modules/pytest-qt { };
 
+  pytest-quickcheck = self.pytestquickcheck;
   pytestquickcheck = callPackage ../development/python-modules/pytest-quickcheck { };
 
   pytest-raisesregexp = callPackage ../development/python-modules/pytest-raisesregexp { };
@@ -5919,6 +5947,7 @@ in {
 
   pytest-rerunfailures = callPackage ../development/python-modules/pytest-rerunfailures { };
 
+  pytest-runner = self.pytestrunner; # added 2021-01-04
   pytestrunner = callPackage ../development/python-modules/pytestrunner { };
 
   pytest-sanic = callPackage ../development/python-modules/pytest-sanic { };
@@ -5927,6 +5956,8 @@ in {
 
   pytest-services = callPackage ../development/python-modules/pytest-services { };
 
+  pytest-snapshot = callPackage ../development/python-modules/pytest-snapshot { };
+
   pytest-shutil = callPackage ../development/python-modules/pytest-shutil { };
 
   pytest-socket = callPackage ../development/python-modules/pytest-socket { };
@@ -5955,6 +5986,7 @@ in {
 
   pytest-watch = callPackage ../development/python-modules/pytest-watch { };
 
+  pytest-xdist = self.pytest_xdist; # added 2021-01-04
   pytest_xdist = if isPy27 then
     callPackage ../development/python-modules/pytest-xdist/1.nix { }
   else
@@ -6823,6 +6855,7 @@ in {
 
   setuptools-rust = callPackage ../development/python-modules/setuptools-rust { };
 
+  setuptools-scm = self.setuptools_scm; # added 2021-01-04
   setuptools_scm = callPackage ../development/python-modules/setuptools_scm { };
 
   setuptools-scm-git-archive = callPackage ../development/python-modules/setuptools-scm-git-archive { };
@@ -6960,6 +6993,8 @@ in {
 
   snapperGUI = callPackage ../development/python-modules/snappergui { };
 
+  snapshottest = callPackage ../development/python-modules/snapshottest { };
+
   sniffio = callPackage ../development/python-modules/sniffio { };
 
   snitun = callPackage ../development/python-modules/snitun { };
@@ -7169,7 +7204,9 @@ in {
 
   stack-data = callPackage ../development/python-modules/stack-data { };
 
-  starlette = callPackage ../development/python-modules/starlette { };
+  starlette = callPackage ../development/python-modules/starlette {
+    inherit (pkgs.darwin.apple_sdk.frameworks) ApplicationServices;
+  };
 
   staticjinja = callPackage ../development/python-modules/staticjinja { };
 
@@ -7881,6 +7918,8 @@ in {
 
   wasabi = callPackage ../development/python-modules/wasabi { };
 
+  wasmer = callPackage ../development/python-modules/wasmer { };
+
   watchdog = callPackage ../development/python-modules/watchdog { };
 
   WazeRouteCalculator = callPackage ../development/python-modules/WazeRouteCalculator { };