summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/builders/packages/cataclysm-dda.section.md35
-rw-r--r--doc/languages-frameworks/beam.section.md217
-rw-r--r--lib/systems/doubles.nix2
-rw-r--r--lib/systems/examples.nix12
-rw-r--r--lib/systems/parse.nix9
-rw-r--r--maintainers/maintainer-list.nix64
-rw-r--r--nixos/doc/manual/configuration/modularity.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-2105.xml11
-rw-r--r--nixos/modules/hardware/system-76.nix3
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/services/continuous-integration/github-runner.nix299
-rw-r--r--nixos/modules/services/databases/postgresql.nix2
-rw-r--r--nixos/modules/services/databases/redis.nix21
-rw-r--r--nixos/modules/services/mail/postfix.nix14
-rw-r--r--nixos/modules/services/misc/jellyfin.nix16
-rw-r--r--nixos/modules/services/networking/gobgpd.nix64
-rw-r--r--nixos/modules/services/networking/networkmanager.nix2
-rw-r--r--nixos/modules/services/networking/privoxy.nix2
-rw-r--r--nixos/modules/services/networking/spacecookie.nix161
-rw-r--r--nixos/modules/services/security/step-ca.nix134
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/wmderland.nix61
-rw-r--r--nixos/modules/virtualisation/docker.nix1
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/gitea.nix2
-rw-r--r--nixos/tests/gobgpd.nix71
-rw-r--r--nixos/tests/home-assistant.nix10
-rw-r--r--nixos/tests/redis.nix2
-rw-r--r--nixos/tests/spacecookie.nix33
-rw-r--r--nixos/tests/wmderland.nix54
-rw-r--r--pkgs/applications/audio/bschaffl/default.nix4
-rw-r--r--pkgs/applications/audio/distrho/default.nix27
-rw-r--r--pkgs/applications/audio/snd/default.nix32
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix6
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/editors/apostrophe/default.nix3
-rw-r--r--pkgs/applications/editors/bonzomatic/default.nix24
-rw-r--r--pkgs/applications/editors/cudatext/default.nix8
-rw-r--r--pkgs/applications/editors/cudatext/deps.json16
-rw-r--r--pkgs/applications/editors/glow/default.nix8
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/mozjpeg/default.nix12
-rw-r--r--pkgs/applications/graphics/panotools/default.nix7
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix6
-rw-r--r--pkgs/applications/graphics/xfig/default.nix4
-rw-r--r--pkgs/applications/misc/blender/default.nix10
-rw-r--r--pkgs/applications/misc/dasel/default.nix4
-rw-r--r--pkgs/applications/misc/foxitreader/default.nix79
-rw-r--r--pkgs/applications/misc/megasync/default.nix24
-rw-r--r--pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--pkgs/applications/misc/pdfarranger/default.nix4
-rw-r--r--pkgs/applications/misc/pytrainer/default.nix86
-rw-r--r--pkgs/applications/misc/pytrainer/fix-paths.patch11
-rw-r--r--pkgs/applications/misc/qdirstat/default.nix6
-rw-r--r--pkgs/applications/misc/qlcplus/default.nix2
-rw-r--r--pkgs/applications/misc/udiskie/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix7
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch26
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json12
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix3
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/octant/default.nix50
-rw-r--r--pkgs/applications/networking/cluster/octant/desktop.nix78
-rwxr-xr-xpkgs/applications/networking/cluster/octant/update-desktop.sh36
-rwxr-xr-xpkgs/applications/networking/cluster/octant/update.sh8
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix8
-rw-r--r--pkgs/applications/networking/esniper/default.nix31
-rw-r--r--pkgs/applications/networking/esniper/find-ca-bundle.patch26
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json8
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix584
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-web.nix4
-rw-r--r--pkgs/applications/networking/irc/irssi/default.nix13
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix530
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/remote/aws-workspaces/default.nix6
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/syncthing/add-stcli-target.patch17
-rw-r--r--pkgs/applications/networking/syncthing/default.nix17
-rw-r--r--pkgs/applications/office/fava/default.nix17
-rw-r--r--pkgs/applications/office/foliate/default.nix45
-rw-r--r--pkgs/applications/office/gtg/default.nix10
-rw-r--r--pkgs/applications/office/kitsas/default.nix51
-rw-r--r--pkgs/applications/office/qownnotes/default.nix6
-rw-r--r--pkgs/applications/office/watson/default.nix12
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix80
-rw-r--r--pkgs/applications/science/misc/rink/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitui/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/stgit/default.nix8
-rw-r--r--pkgs/applications/version-management/git-review/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/video/kooha/default.nix58
-rw-r--r--pkgs/applications/video/obs-studio/obs-multi-rtmp.nix43
-rw-r--r--pkgs/applications/virtualization/docker/default.nix8
-rw-r--r--pkgs/applications/window-managers/wmderland/0001-remove-flto.patch13
-rw-r--r--pkgs/applications/window-managers/wmderland/default.nix49
-rw-r--r--pkgs/applications/window-managers/wmderlandc/default.nix32
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix5
-rw-r--r--pkgs/build-support/docker/default.nix6
-rw-r--r--pkgs/data/fonts/recursive/default.nix4
-rw-r--r--pkgs/data/misc/hackage/default.nix4
-rw-r--r--pkgs/data/themes/matcha/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/unite/default.nix4
-rw-r--r--pkgs/development/beam-modules/build-mix.nix100
-rw-r--r--pkgs/development/beam-modules/default.nix134
-rw-r--r--pkgs/development/beam-modules/fetch-mix-deps.nix41
-rwxr-xr-xpkgs/development/beam-modules/mix-bootstrap108
-rw-r--r--pkgs/development/beam-modules/mix-release.nix106
-rw-r--r--pkgs/development/chez-modules/chez-matchable/default.nix2
-rw-r--r--pkgs/development/compilers/ciao/default.nix4
-rw-r--r--pkgs/development/compilers/dotnet/default.nix8
-rw-r--r--pkgs/development/compilers/edk2/default.nix4
-rw-r--r--pkgs/development/compilers/go/2-dev.nix10
-rw-r--r--pkgs/development/compilers/go/ssl-cert-file-2-dev.patch35
-rw-r--r--pkgs/development/compilers/juniper/default.nix41
-rwxr-xr-xpkgs/development/compilers/roslyn/create-deps.sh65
-rw-r--r--pkgs/development/compilers/roslyn/default.nix121
-rw-r--r--pkgs/development/compilers/roslyn/deps.nix1138
-rw-r--r--pkgs/development/coq-modules/coqtail-math/default.nix19
-rw-r--r--pkgs/development/coq-modules/iris/default.nix6
-rw-r--r--pkgs/development/coq-modules/stdpp/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix75
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml192
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix4
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix3185
-rw-r--r--pkgs/development/haskell-modules/patches/gitit-pandoc-2.12.patch65
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R19.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R20.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R21.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R22.nix4
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix20
-rw-r--r--pkgs/development/libraries/aqbanking/sources.nix12
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix18
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix4
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--pkgs/development/libraries/librsync/default.nix4
-rw-r--r--pkgs/development/libraries/medfile/default.nix4
-rw-r--r--pkgs/development/libraries/medfile/hdf5-1.12.patch86
-rw-r--r--pkgs/development/libraries/mlt/default.nix4
-rw-r--r--pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch19
-rw-r--r--pkgs/development/libraries/motif/default.nix35
-rw-r--r--pkgs/development/libraries/notcurses/default.nix4
-rw-r--r--pkgs/development/libraries/oneDNN/default.nix4
-rw-r--r--pkgs/development/libraries/openvino/default.nix121
-rw-r--r--pkgs/development/libraries/physics/pythia/default.nix4
-rw-r--r--pkgs/development/libraries/physics/rivet/darwin.patch33
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix42
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.12.nix11
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.14.nix27
-rw-r--r--pkgs/development/ocaml-modules/janestreet/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/janestreet/old.nix34
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix23
-rw-r--r--pkgs/development/ocaml-modules/printbox/default.nix15
-rw-r--r--pkgs/development/python-modules/aioemonitor/default.nix49
-rw-r--r--pkgs/development/python-modules/aiohttp-wsgi/default.nix37
-rw-r--r--pkgs/development/python-modules/aiolip/default.nix36
-rw-r--r--pkgs/development/python-modules/aiosyncthing/default.nix45
-rw-r--r--pkgs/development/python-modules/arrow/1.nix41
-rw-r--r--pkgs/development/python-modules/certbot/default.nix4
-rw-r--r--pkgs/development/python-modules/devolo-home-control-api/default.nix4
-rw-r--r--pkgs/development/python-modules/discordpy/default.nix31
-rw-r--r--pkgs/development/python-modules/expects/default.nix28
-rw-r--r--pkgs/development/python-modules/greenlet/default.nix5
-rw-r--r--pkgs/development/python-modules/h5py/default.nix5
-rw-r--r--pkgs/development/python-modules/hass-nabucasa/default.nix4
-rw-r--r--pkgs/development/python-modules/homematicip/default.nix77
-rw-r--r--pkgs/development/python-modules/ifcopenshell/default.nix21
-rw-r--r--pkgs/development/python-modules/ifcopenshell/site-packages.patch32
-rw-r--r--pkgs/development/python-modules/isbnlib/default.nix6
-rw-r--r--pkgs/development/python-modules/jsonpath-ng/default.nix2
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix29
-rw-r--r--pkgs/development/python-modules/jsonrpc-base/default.nix24
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix24
-rw-r--r--pkgs/development/python-modules/karton-asciimagic/default.nix42
-rw-r--r--pkgs/development/python-modules/karton-classifier/default.nix48
-rw-r--r--pkgs/development/python-modules/karton-core/default.nix34
-rw-r--r--pkgs/development/python-modules/labgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/meinheld/default.nix6
-rw-r--r--pkgs/development/python-modules/nad-receiver/default.nix35
-rw-r--r--pkgs/development/python-modules/nexia/default.nix43
-rw-r--r--pkgs/development/python-modules/omnilogic/default.nix39
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--pkgs/development/python-modules/plexwebsocket/default.nix4
-rw-r--r--pkgs/development/python-modules/poetry/default.nix2
-rw-r--r--pkgs/development/python-modules/pyclimacell/default.nix39
-rw-r--r--pkgs/development/python-modules/pycognito/default.nix23
-rw-r--r--pkgs/development/python-modules/pydanfossair/default.nix27
-rw-r--r--pkgs/development/python-modules/pyeconet/default.nix32
-rw-r--r--pkgs/development/python-modules/pyemby/default.nix35
-rw-r--r--pkgs/development/python-modules/pyenvisalink/default.nix36
-rw-r--r--pkgs/development/python-modules/pyezviz/default.nix36
-rw-r--r--pkgs/development/python-modules/pyintesishome/default.nix32
-rw-r--r--pkgs/development/python-modules/pykodi/default.nix21
-rw-r--r--pkgs/development/python-modules/pykwalify/default.nix26
-rw-r--r--pkgs/development/python-modules/pylutron-caseta/default.nix43
-rw-r--r--pkgs/development/python-modules/pymazda/default.nix6
-rw-r--r--pkgs/development/python-modules/pynvim/default.nix2
-rw-r--r--pkgs/development/python-modules/pypandoc/default.nix28
-rw-r--r--pkgs/development/python-modules/pypandoc/new-pandoc-headings.patch22
-rw-r--r--pkgs/development/python-modules/pypandoc/skip-tests.patch20
-rw-r--r--pkgs/development/python-modules/pypandoc/static-pandoc-path.patch10
-rw-r--r--pkgs/development/python-modules/pyruckus/default.nix36
-rw-r--r--pkgs/development/python-modules/pytest-subprocess/default.nix45
-rw-r--r--pkgs/development/python-modules/python-smarttub/default.nix4
-rw-r--r--pkgs/development/python-modules/python-telegram-bot/default.nix26
-rw-r--r--pkgs/development/python-modules/pythonegardia/default.nix30
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix14
-rw-r--r--pkgs/development/python-modules/pyturbojpeg/default.nix4
-rw-r--r--pkgs/development/python-modules/pywemo/default.nix49
-rw-r--r--pkgs/development/python-modules/pywizlight/default.nix4
-rw-r--r--pkgs/development/python-modules/sleepyq/default.nix32
-rw-r--r--pkgs/development/python-modules/snitun/default.nix2
-rw-r--r--pkgs/development/python-modules/speedtest-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix24
-rw-r--r--pkgs/development/python-modules/splinter/default.nix42
-rw-r--r--pkgs/development/python-modules/transformers/default.nix3
-rw-r--r--pkgs/development/python-modules/twilio/default.nix19
-rw-r--r--pkgs/development/python-modules/twitterapi/default.nix4
-rw-r--r--pkgs/development/python-modules/wakeonlan/default.nix14
-rw-r--r--pkgs/development/python-modules/webexteamssdk/default.nix38
-rw-r--r--pkgs/development/python-modules/west/default.nix2
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundler-env/default.nix2
-rw-r--r--pkgs/development/tools/air/default.nix6
-rw-r--r--pkgs/development/tools/analysis/rizin/cutter.nix4
-rw-r--r--pkgs/development/tools/analysis/rizin/default.nix37
-rw-r--r--pkgs/development/tools/async-profiler/default.nix4
-rw-r--r--pkgs/development/tools/bazel-kazel/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix18
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/deps.nix20
-rwxr-xr-xpkgs/development/tools/build-managers/msbuild/create-deps.sh57
-rw-r--r--pkgs/development/tools/build-managers/msbuild/default.nix56
-rw-r--r--pkgs/development/tools/build-managers/msbuild/deps.nix1562
-rw-r--r--pkgs/development/tools/build-managers/msbuild/nuget.nix1130
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix6
-rw-r--r--pkgs/development/tools/clpm/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix265
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/deps.nix1217
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch53
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch15
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch20
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch24
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch25
-rw-r--r--pkgs/development/tools/database/dbmate/default.nix6
-rw-r--r--pkgs/development/tools/github-commenter/default.nix6
-rw-r--r--pkgs/development/tools/go-toml/default.nix4
-rw-r--r--pkgs/development/tools/jbang/default.nix4
-rw-r--r--pkgs/development/tools/lazygit/default.nix4
-rw-r--r--pkgs/development/tools/metals/default.nix4
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix24
-rw-r--r--pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch18
-rw-r--r--pkgs/development/tools/misc/ccls/default.nix4
-rw-r--r--pkgs/development/tools/misc/openfpgaloader/default.nix4
-rw-r--r--pkgs/development/tools/misc/usbsdmux/default.nix7
-rw-r--r--pkgs/development/tools/ocaml/ocp-indent/default.nix2
-rw-r--r--pkgs/development/tools/protoc-gen-twirp/default.nix6
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix2
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--pkgs/development/tools/py-spy/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix62
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/generic.nix57
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch13
-rwxr-xr-xpkgs/development/tools/rust/rust-analyzer/update.sh2
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/wrapper.nix20
-rw-r--r--pkgs/development/tools/scenebuilder/default.nix116
-rw-r--r--pkgs/development/tools/scenic-view/default.nix113
-rw-r--r--pkgs/development/tools/tf2pulumi/default.nix28
-rw-r--r--pkgs/development/tools/yq-go/default.nix9
-rw-r--r--pkgs/games/anki/bin.nix6
-rw-r--r--pkgs/games/cataclysm-dda/default.nix3
-rw-r--r--pkgs/games/cataclysm-dda/git.nix9
-rw-r--r--pkgs/games/cataclysm-dda/lib.nix31
-rw-r--r--pkgs/games/cataclysm-dda/pkgs/default.nix10
-rw-r--r--pkgs/games/cataclysm-dda/stable.nix9
-rw-r--r--pkgs/games/cdogs-sdl/default.nix52
-rw-r--r--pkgs/games/openttd/default.nix4
-rw-r--r--pkgs/games/osu-lazer/default.nix4
-rw-r--r--pkgs/games/osu-lazer/deps.nix170
-rw-r--r--pkgs/games/r2mod_cli/default.nix7
-rw-r--r--pkgs/games/shticker-book-unwritten/cargo-lock.patch1248
-rw-r--r--pkgs/games/shticker-book-unwritten/default.nix24
-rw-r--r--pkgs/games/shticker-book-unwritten/unwrapped.nix20
-rwxr-xr-xpkgs/games/shticker-book-unwritten/update-cargo-lock.sh18
-rw-r--r--pkgs/misc/deepspeech/default.nix34
-rw-r--r--pkgs/misc/emulators/yapesdl/default.nix41
-rw-r--r--pkgs/misc/vim-plugins/generated.nix264
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix4
-rw-r--r--pkgs/os-specific/linux/mdevd/default.nix28
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix4
-rw-r--r--pkgs/os-specific/linux/openvswitch/lts.nix4
-rw-r--r--pkgs/os-specific/linux/rtl88x2bu/default.nix18
-rw-r--r--pkgs/servers/gemini/agate/default.nix13
-rw-r--r--pkgs/servers/home-assistant/cli.nix28
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix34
-rw-r--r--pkgs/servers/home-assistant/default.nix25
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/tomcat/tomcat-native.nix4
-rw-r--r--pkgs/servers/imgproxy/default.nix10
-rw-r--r--pkgs/servers/minio/default.nix4
-rw-r--r--pkgs/servers/misc/gobgpd/default.nix34
-rw-r--r--pkgs/servers/monitoring/alertmanager-irc-relay/default.nix29
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix13
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/plugins.nix1
-rw-r--r--pkgs/servers/monitoring/lcdproc/default.nix36
-rw-r--r--pkgs/servers/monitoring/prometheus/promscale.nix6
-rw-r--r--pkgs/servers/nextcloud/default.nix6
-rw-r--r--pkgs/servers/rtsp-simple-server/default.nix6
-rw-r--r--pkgs/servers/sql/mysql/5.7.x.nix3
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix3
-rw-r--r--pkgs/servers/trezord/default.nix6
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix8
-rw-r--r--pkgs/servers/web-apps/mediawiki/default.nix4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix3
-rw-r--r--pkgs/tools/admin/lxd/default.nix4
-rw-r--r--pkgs/tools/admin/pulumi/data.nix58
-rwxr-xr-xpkgs/tools/admin/pulumi/update.sh14
-rw-r--r--pkgs/tools/audio/spotdl/default.nix15
-rw-r--r--pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch63
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix6
-rw-r--r--pkgs/tools/graphics/wdisplays/default.nix29
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix4
-rw-r--r--pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--pkgs/tools/misc/lorri/default.nix8
-rw-r--r--pkgs/tools/misc/osm2pgsql/default.nix4
-rw-r--r--pkgs/tools/misc/rmlint/default.nix27
-rw-r--r--pkgs/tools/misc/tmux/default.nix2
-rw-r--r--pkgs/tools/misc/watchexec/default.nix11
-rw-r--r--pkgs/tools/misc/zoxide/default.nix9
-rw-r--r--pkgs/tools/networking/clash/default.nix6
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/oapi-codegen/default.nix6
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix63
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--pkgs/tools/networking/tcpdump/default.nix24
-rw-r--r--pkgs/tools/security/chipsec/compile-ko.diff13
-rw-r--r--pkgs/tools/security/chipsec/default.nix51
-rw-r--r--pkgs/tools/security/chipsec/ko-path.diff13
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/clevis/default.nix4
-rw-r--r--pkgs/tools/security/dnsx/default.nix6
-rw-r--r--pkgs/tools/security/enpass/data.json6
-rw-r--r--pkgs/tools/security/gitleaks/default.nix4
-rw-r--r--pkgs/tools/security/hfinger/default.nix36
-rw-r--r--pkgs/tools/security/httpx/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock30
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix38
-rw-r--r--pkgs/tools/security/sops/default.nix6
-rw-r--r--pkgs/tools/security/step-ca/default.nix28
-rw-r--r--pkgs/tools/system/gdu/default.nix4
-rw-r--r--pkgs/tools/text/amber/default.nix6
-rw-r--r--pkgs/tools/text/frangipanni/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/mftrace/default.nix63
-rw-r--r--pkgs/tools/virtualization/cri-tools/default.nix4
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix17
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix69
-rw-r--r--pkgs/top-level/coq-packages.nix1
-rw-r--r--pkgs/top-level/ocaml-packages.nix29
-rw-r--r--pkgs/top-level/python-packages.nix65
-rw-r--r--pkgs/top-level/stage.nix2
377 files changed, 13804 insertions, 5792 deletions
diff --git a/doc/builders/packages/cataclysm-dda.section.md b/doc/builders/packages/cataclysm-dda.section.md
index 1173fe32ada..0f908cb7590 100644
--- a/doc/builders/packages/cataclysm-dda.section.md
+++ b/doc/builders/packages/cataclysm-dda.section.md
@@ -34,6 +34,41 @@ cataclysm-dda.override {
 }
 ```
 
+## Important note for overriding packages
+
+After applying `overrideAttrs`, you need to fix `passthru.pkgs` and
+`passthru.withMods` attributes either manually or by using `attachPkgs`:
+
+```nix
+let
+  # You enabled parallel building.
+  myCDDA = cataclysm-dda-git.overrideAttrs (_: {
+    enableParallelBuilding = true;
+  });
+
+  # Unfortunately, this refers to the package before overriding and
+  # parallel building is still disabled.
+  badExample = myCDDA.withMods (_: []);
+
+  inherit (cataclysmDDA) attachPkgs pkgs wrapCDDA;
+
+  # You can fix it by hand
+  goodExample1 = myCDDA.overrideAttrs (old: {
+    passthru = old.passthru // {
+      pkgs = pkgs.override { build = goodExample1; };
+      withMods = wrapCDDA goodExample1;
+    };
+  });
+
+  # or by using a helper function `attachPkgs`.
+  goodExample2 = attachPkgs pkgs myCDDA;
+in
+
+# badExample                     # parallel building disabled
+# goodExample1.withMods (_: [])  # parallel building enabled
+goodExample2.withMods (_: [])    # parallel building enabled
+```
+
 ## Customizing with mods
 
 To install Cataclysm DDA with mods of your choice, you can use `withMods`
diff --git a/doc/languages-frameworks/beam.section.md b/doc/languages-frameworks/beam.section.md
index ad3b94880b5..b5d39595c10 100644
--- a/doc/languages-frameworks/beam.section.md
+++ b/doc/languages-frameworks/beam.section.md
@@ -2,15 +2,15 @@
 
 ## Introduction {#beam-introduction}
 
-In this document and related Nix expressions, we use the term, *BEAM*, to describe the environment. BEAM is the name of the Erlang Virtual Machine and, as far as we're concerned, from a packaging perspective, all languages that run on the BEAM are interchangeable. That which varies, like the build system, is transparent to users of any given BEAM package, so we make no distinction.
+In this document and related Nix expressions, we use the term, _BEAM_, to describe the environment. BEAM is the name of the Erlang Virtual Machine and, as far as we're concerned, from a packaging perspective, all languages that run on the BEAM are interchangeable. That which varies, like the build system, is transparent to users of any given BEAM package, so we make no distinction.
 
 ## Structure {#beam-structure}
 
 All BEAM-related expressions are available via the top-level `beam` attribute, which includes:
 
-  - `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR19`, etc), Elixir (`beam.interpreters.elixir`) and LFE (`beam.interpreters.lfe`).
+- `interpreters`: a set of compilers running on the BEAM, including multiple Erlang/OTP versions (`beam.interpreters.erlangR19`, etc), Elixir (`beam.interpreters.elixir`) and LFE (Lisp Flavoured Erlang) (`beam.interpreters.lfe`).
 
-  - `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g.  `beam.packages.erlangR19`.
+- `packages`: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. `beam.packages.erlangR19`.
 
 The default Erlang compiler, defined by `beam.interpreters.erlang`, is aliased as `erlang`. The default BEAM package set is defined by `beam.packages.erlang` and aliased at the top level as `beamPackages`.
 
@@ -26,7 +26,9 @@ We provide a version of Rebar3, under `rebar3`. We also provide a helper to fetc
 
 ### Mix & Erlang.mk {#build-tools-other}
 
-Both Mix and Erlang.mk work exactly as expected. There is a bootstrap process that needs to be run for both, however, which is supported by the `buildMix` and `buildErlangMk` derivations, respectively.
+Erlang.mk works exactly as expected. There is a bootstrap process that needs to be run, which is supported by the `buildErlangMk` derivation.
+
+For Elixir applications use `mixRelease` to make a release. See examples for more details.
 
 ## How to Install BEAM Packages {#how-to-install-beam-packages}
 
@@ -52,15 +54,150 @@ Erlang.mk functions similarly to Rebar3, except we use `buildErlangMk` instead o
 
 #### Mix Packages {#mix-packages}
 
-Mix functions similarly to Rebar3, except we use `buildMix` instead of `buildRebar3`.
+`mixRelease` is used to make a release in the mix sense. Dependencies will need to be fetched with `fetchMixDeps` and passed to it.
+
+#### mixRelease - Elixir Phoenix example
+
+Here is how your `default.nix` file would look.
+
+```nix
+with import <nixpkgs> { };
+
+let
+  packages = beam.packagesWith beam.interpreters.erlang;
+  src = builtins.fetchgit {
+    url = "ssh://git@github.com/your_id/your_repo";
+    rev = "replace_with_your_commit";
+  };
+
+  pname = "your_project";
+  version = "0.0.1";
+  mixEnv = "prod";
+
+  mixDeps = packages.fetchMixDeps {
+    pname = "mix-deps-${pname}";
+    inherit src mixEnv version;
+    # nix will complain and tell you the right value to replace this with
+    sha256 = lib.fakeSha256;
+    # if you have build time environment variables add them here
+    MY_ENV_VAR="my_value";
+  };
+
+  nodeDependencies = (pkgs.callPackage ./assets/default.nix { }).shell.nodeDependencies;
+
+  frontEndFiles = stdenvNoCC.mkDerivation {
+    pname = "frontend-${pname}";
+
+    nativeBuildInputs = [ nodejs ];
+
+    inherit version src;
+
+    buildPhase = ''
+      cp -r ./assets $TEMPDIR
+
+      mkdir -p $TEMPDIR/assets/node_modules/.cache
+      cp -r ${nodeDependencies}/lib/node_modules $TEMPDIR/assets
+      export PATH="${nodeDependencies}/bin:$PATH"
+
+      cd $TEMPDIR/assets
+      webpack --config ./webpack.config.js
+      cd ..
+    '';
+
+    installPhase = ''
+      cp -r ./priv/static $out/
+    '';
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    # nix will complain and tell you the right value to replace this with
+    outputHash = lib.fakeSha256;
+
+    impureEnvVars = lib.fetchers.proxyImpureEnvVars;
+  };
+
+
+in packages.mixRelease {
+  inherit src pname version mixEnv mixDeps;
+  # if you have build time environment variables add them here
+  MY_ENV_VAR="my_value";
+  preInstall = ''
+    mkdir -p ./priv/static
+    cp -r ${frontEndFiles} ./priv/static
+  '';
+}
+```
+
+Setup will require the following steps:
+
+- Move your secrets to runtime environment variables. For more information refer to the [runtime.exs docs](https://hexdocs.pm/mix/Mix.Tasks.Release.html#module-runtime-configuration). On a fresh Phoenix build that would mean that both `DATABASE_URL` and `SECRET_KEY` need to be moved to `runtime.exs`.
+- `cd assets` and `nix-shell -p node2nix --run node2nix --development` will generate a Nix expression containing your frontend dependencies
+- commit and push those changes
+- you can now `nix-build .`
+- To run the release, set the `RELEASE_TMP` environment variable to a directory that your program has write access to. It will be used to store the BEAM settings.
 
-Alternatively, we can use `buildHex` as a shortcut:
+#### Example of creating a service for an Elixir - Phoenix project
+
+In order to create a service with your release, you could add a `service.nix`
+in your project with the following
+
+```nix
+{config, pkgs, lib, ...}:
+
+let
+  release = pkgs.callPackage ./default.nix;
+  release_name = "app";
+  working_directory = "/home/app";
+in
+{
+  systemd.services.${release_name} = {
+    wantedBy = [ "multi-user.target" ];
+    after = [ "network.target" "postgresql.service" ];
+    requires = [ "network-online.target" "postgresql.service" ];
+    description = "my app";
+    environment = {
+      # RELEASE_TMP is used to write the state of the
+      # VM configuration when the system is running
+      # it needs to be a writable directory
+      RELEASE_TMP = working_directory;
+      # can be generated in an elixir console with
+      # Base.encode32(:crypto.strong_rand_bytes(32))
+      RELEASE_COOKIE = "my_cookie";
+      MY_VAR = "my_var";
+    };
+    serviceConfig = {
+      Type = "exec";
+      DynamicUser = true;
+      WorkingDirectory = working_directory;
+      # Implied by DynamicUser, but just to emphasize due to RELEASE_TMP
+      PrivateTmp = true;
+      ExecStart = ''
+        ${release}/bin/${release_name} start
+      '';
+      ExecStop = ''
+        ${release}/bin/${release_name} stop
+      '';
+      ExecReload = ''
+        ${release}/bin/${release_name} restart
+      '';
+      Restart = "on-failure";
+      RestartSec = 5;
+      StartLimitBurst = 3;
+      StartLimitInterval = 10;
+    };
+    # disksup requires bash
+    path = [ pkgs.bash ];
+  };
+
+  environment.systemPackages = [ release ];
+}
+```
 
 ## How to Develop {#how-to-develop}
 
 ### Creating a Shell {#creating-a-shell}
 
-Usually, we need to create a `shell.nix` file and do our development inside of the environment specified therein. Just install your version of erlang and other interpreter, and then user your normal build tools.  As an example with elixir:
+Usually, we need to create a `shell.nix` file and do our development inside of the environment specified therein. Just install your version of Erlang and any other interpreters, and then use your normal build tools. As an example with Elixir:
 
 ```nix
 { pkgs ? import "<nixpkgs"> {} }:
@@ -79,6 +216,68 @@ mkShell {
 }
 ```
 
-#### Building in a Shell (for Mix Projects) {#building-in-a-shell}
+#### Elixir - Phoenix project
+
+Here is an example `shell.nix`.
+
+```nix
+with import <nixpkgs> { };
+
+let
+  # define packages to install
+  basePackages = [
+    git
+    # replace with beam.packages.erlang.elixir_1_11 if you need
+    beam.packages.erlang.elixir
+    nodejs-15_x
+    postgresql_13
+    # only used for frontend dependencies
+    # you are free to use yarn2nix as well
+    nodePackages.node2nix
+    # formatting js file
+    nodePackages.prettier
+  ];
+
+  inputs = basePackages ++ lib.optionals stdenv.isLinux [ inotify-tools ]
+    ++ lib.optionals stdenv.isDarwin
+    (with darwin.apple_sdk.frameworks; [ CoreFoundation CoreServices ]);
+
+  # define shell startup command
+  hooks = ''
+    # this allows mix to work on the local directory
+    mkdir -p .nix-mix .nix-hex
+    export MIX_HOME=$PWD/.nix-mix
+    export HEX_HOME=$PWD/.nix-mix
+    export PATH=$MIX_HOME/bin:$HEX_HOME/bin:$PATH
+    # TODO: not sure how to make hex available without installing it afterwards.
+    mix local.hex --if-missing
+    export LANG=en_US.UTF-8
+    export ERL_AFLAGS="-kernel shell_history enabled"
+
+    # postges related
+    # keep all your db data in a folder inside the project
+    export PGDATA="$PWD/db"
+
+    # phoenix related env vars
+    export POOL_SIZE=15
+    export DB_URL="postgresql://postgres:postgres@localhost:5432/db"
+    export PORT=4000
+    export MIX_ENV=dev
+    # add your project env vars here, word readable in the nix store.
+    export ENV_VAR="your_env_var"
+  '';
+
+in mkShell {
+  buildInputs = inputs;
+  shellHook = hooks;
+}
+```
+
+Initializing the project will require the following steps:
 
-Using a `shell.nix` as described (see <xref linkend="creating-a-shell"/>) should just work.
+- create the db directory `initdb ./db` (inside your mix project folder)
+- create the postgres user `createuser postgres -ds`
+- create the db `createdb db`
+- start the postgres instance `pg_ctl -l "$PGDATA/server.log" start`
+- add the `/db` folder to your `.gitignore`
+- you can start your phoenix server and get a shell with `iex -S mix phx.server`
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 07327fa2273..8220bca249f 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -73,7 +73,7 @@ in {
   darwin        = filterDoubles predicates.isDarwin;
   freebsd       = filterDoubles predicates.isFreeBSD;
   # Should be better, but MinGW is unclear.
-  gnu           = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.elfv1; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.elfv2; });
+  gnu           = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; });
   illumos       = filterDoubles predicates.isSunOS;
   linux         = filterDoubles predicates.isLinux;
   netbsd        = filterDoubles predicates.isNetBSD;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 082be8902bb..02958f31ec8 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -21,14 +21,10 @@ rec {
     config = "powerpc64le-unknown-linux-musl";
   };
 
-  ppc64-elfv1 = {
-    config = "powerpc64-unknown-linux-elfv1";
-  };
-  ppc64-elfv2 = {
-    config = "powerpc64-unknown-linux-elfv2";
+  ppc64 = {
+    config = "powerpc64-unknown-linux-gnu";
+    gcc = { abi = "elfv2"; }; # for gcc configuration
   };
-  ppc64 = ppc64-elfv2; # default to modern elfv2
-
   ppc64-musl = {
     config = "powerpc64-unknown-linux-musl";
     gcc = { abi = "elfv2"; }; # for gcc configuration
@@ -60,6 +56,7 @@ rec {
 
   armv7a-android-prebuilt = {
     config = "armv7a-unknown-linux-androideabi";
+    rustc.config = "armv7-linux-androideabi";
     sdkVer = "29";
     ndkVer = "21";
     useAndroidPrebuilt = true;
@@ -67,6 +64,7 @@ rec {
 
   aarch64-android-prebuilt = {
     config = "aarch64-unknown-linux-android";
+    rustc.config = "aarch64-linux-android";
     sdkVer = "29";
     ndkVer = "21";
     useAndroidPrebuilt = true;
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 8e012622ccd..a06ac0d11f7 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -337,18 +337,10 @@ rec {
             The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead.
           '';
         }
-        { assertion = platform: platform.system != "powerpc64-linux";
-          message = ''
-            The "gnu" ABI is ambiguous on big-endian 64-bit PPC. Use "elfv1" or "elfv2" instead.
-          '';
-        }
       ];
     };
     gnuabi64     = { abi = "64"; };
 
-    elfv1        = { abi = "elfv1"; };
-    elfv2        = { abi = "elfv2"; };
-
     musleabi     = { float = "soft"; };
     musleabihf   = { float = "hard"; };
     musl         = {};
@@ -452,7 +444,6 @@ rec {
             if lib.versionAtLeast (parsed.cpu.version or "0") "6"
             then abis.gnueabihf
             else abis.gnueabi
-          else if cpu == "powerpc64" then abis.elfv2
           else abis.gnu
         else                     abis.unknown;
     };
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index e2bf9f5f49e..969d6ab338e 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -118,6 +118,12 @@
     githubId = 2258953;
     name = "Aaron Schif";
   };
+  aaschmid = {
+    email = "service@aaschmid.de";
+    github = "aaschmid";
+    githubId = 567653;
+    name = "Andreas Schmid";
+  };
   abaldeau = {
     email = "andreas@baldeau.net";
     github = "baldo";
@@ -1707,6 +1713,12 @@
     githubId = 3086255;
     name = "Barry Moore II";
   };
+  chivay = {
+    email = "hubert.jasudowicz@gmail.com";
+    github = "chivay";
+    githubId = 14790226;
+    name = "Hubert Jasudowicz";
+  };
   chkno = {
     email = "chuck@intelligence.org";
     github = "chkno";
@@ -3699,6 +3711,12 @@
     githubId = 201997;
     name = "Eric Seidel";
   };
+  gspia = {
+    email = "iahogsp@gmail.com";
+    github = "gspia";
+    githubId = 3320792;
+    name = "gspia";
+  };
   guibert = {
     email = "david.guibert@gmail.com";
     github = "dguibert";
@@ -4908,6 +4926,12 @@
     email = "jwilberding@afiniate.com";
     name = "Jordan Wilberding";
   };
+  jwygoda = {
+    email = "jaroslaw@wygoda.me";
+    github = "jwygoda";
+    githubId = 20658981;
+    name = "Jarosław Wygoda";
+  };
   jyp = {
     email = "jeanphilippe.bernardy@gmail.com";
     github = "jyp";
@@ -6573,6 +6597,16 @@
     githubId = 754512;
     name = "Mogria";
   };
+  mohe2015 = {
+    name = "Moritz Hedtke";
+    email = "Moritz.Hedtke@t-online.de";
+    github = "mohe2015";
+    githubId = 13287984;
+    keys = [{
+      longkeyid = "rsa4096/0x6794D45A488C2EDE";
+      fingerprint = "1248 D3E1 1D11 4A85 75C9  8934 6794 D45A 488C 2EDE";
+    }];
+  };
   monsieurp = {
     email = "monsieurp@gentoo.org";
     github = "monsieurp";
@@ -7523,6 +7557,12 @@
     githubId = 3438604;
     name = "Petter Storvik";
   };
+  p-h = {
+    email = "p@hurlimann.org";
+    github = "p-h";
+    githubId = 645664;
+    name = "Philippe Hürlimann";
+  };
   philandstuff = {
     email = "philip.g.potter@gmail.com";
     github = "philandstuff";
@@ -9473,6 +9513,12 @@
     githubId = 321799;
     name = "Paul Colomiets";
   };
+  takagiy = {
+    email = "takagiy.4dev@gmail.com";
+    github = "takagiy";
+    githubId = 18656090;
+    name = "Yuki Takagi";
+  };
   taketwo = {
     email = "alexandrov88@gmail.com";
     github = "taketwo";
@@ -10458,6 +10504,12 @@
     githubId = 78392041;
     name = "Winter";
   };
+  wirew0rm = {
+    email = "alex@wirew0rm.de";
+    github = "wirew0rm";
+    githubId = 1202371;
+    name = "Alexander Krimm";
+  };
   wishfort36 = {
     email = "42300264+wishfort36@users.noreply.github.com";
     github = "wishfort36";
@@ -10554,6 +10606,12 @@
     githubId = 13378502;
     name = "Wulfsta";
   };
+  wunderbrick = {
+    name = "Andrew Phipps";
+    email = "lambdafuzz@tutanota.com";
+    github = "wunderbrick";
+    githubId = 52174714;
+  };
   wyvie = {
     email = "elijahrum@gmail.com";
     github = "wyvie";
@@ -10638,6 +10696,12 @@
     githubId = 11824817;
     name = "Marti Serra";
   };
+  xworld21 = {
+    email = "1962985+xworld21@users.noreply.github.com";
+    github = "xworld21";
+    githubId = 1962985;
+    name = "Vincenzo Mantova";
+  };
   xwvvvvwx = {
     email = "davidterry@posteo.de";
     github = "xwvvvvwx";
diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml
index 532a2c615e4..d6eee4e9d76 100644
--- a/nixos/doc/manual/configuration/modularity.xml
+++ b/nixos/doc/manual/configuration/modularity.xml
@@ -133,7 +133,7 @@ true
 <programlisting>
 { config, pkgs, ... }:
 
-let netConfig = { hostName }: {
+let netConfig = hostName: {
   networking.hostName = hostName;
   networking.useDHCP = false;
 };
diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml
index b5290b374f9..cf9e0609723 100644
--- a/nixos/doc/manual/release-notes/rl-2105.xml
+++ b/nixos/doc/manual/release-notes/rl-2105.xml
@@ -83,6 +83,17 @@
      further details.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     The <option>services.packagekit.backend</option> option has been removed as
+     it only supported a single setting which would always be the default.
+     Instead new <link
+     xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
+     0042</link> compliant <xref linkend="opt-services.packagekit.settings"/>
+     and <xref linkend="opt-services.packagekit.vendorSettings"/> options have
+     been introduced.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
diff --git a/nixos/modules/hardware/system-76.nix b/nixos/modules/hardware/system-76.nix
index 48eb63f4f22..ed661fd3303 100644
--- a/nixos/modules/hardware/system-76.nix
+++ b/nixos/modules/hardware/system-76.nix
@@ -17,6 +17,9 @@ let
 
   firmware-pkg = pkgs.system76-firmware;
   firmwareConfig = mkIf cfg.firmware-daemon.enable {
+    # Make system76-firmware-cli usable by root from the command line.
+    environment.systemPackages = [ firmware-pkg ];
+
     services.dbus.packages = [ firmware-pkg ];
 
     systemd.services.system76-firmware-daemon = {
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 509bccb1ec7..5271cbebc26 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -288,6 +288,7 @@
   ./services/continuous-integration/hail.nix
   ./services/continuous-integration/hercules-ci-agent/default.nix
   ./services/continuous-integration/hydra/default.nix
+  ./services/continuous-integration/github-runner.nix
   ./services/continuous-integration/gitlab-runner.nix
   ./services/continuous-integration/gocd-agent/default.nix
   ./services/continuous-integration/gocd-server/default.nix
@@ -680,6 +681,7 @@
   ./services/networking/gnunet.nix
   ./services/networking/go-neb.nix
   ./services/networking/go-shadowsocks2.nix
+  ./services/networking/gobgpd.nix
   ./services/networking/gogoclient.nix
   ./services/networking/gvpe.nix
   ./services/networking/hans.nix
@@ -864,6 +866,7 @@
   ./services/security/shibboleth-sp.nix
   ./services/security/sks.nix
   ./services/security/sshguard.nix
+  ./services/security/step-ca.nix
   ./services/security/tor.nix
   ./services/security/torify.nix
   ./services/security/torsocks.nix
diff --git a/nixos/modules/services/continuous-integration/github-runner.nix b/nixos/modules/services/continuous-integration/github-runner.nix
new file mode 100644
index 00000000000..9627b723f8f
--- /dev/null
+++ b/nixos/modules/services/continuous-integration/github-runner.nix
@@ -0,0 +1,299 @@
+{ config, pkgs, lib, ... }:
+with lib;
+let
+  cfg = config.services.github-runner;
+  svcName = "github-runner";
+  systemdDir = "${svcName}/${cfg.name}";
+  # %t: Runtime directory root (usually /run); see systemd.unit(5)
+  runtimeDir = "%t/${systemdDir}";
+  # %S: State directory root (usually /var/lib); see systemd.unit(5)
+  stateDir = "%S/${systemdDir}";
+  # %L: Log directory root (usually /var/log); see systemd.unit(5)
+  logsDir = "%L/${systemdDir}";
+in
+{
+  options.services.github-runner = {
+    enable = mkOption {
+      default = false;
+      example = true;
+      description = ''
+        Whether to enable GitHub Actions runner.
+
+        Note: GitHub recommends using self-hosted runners with private repositories only. Learn more here:
+        <link xlink:href="https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners"
+        >About self-hosted runners</link>.
+      '';
+      type = lib.types.bool;
+    };
+
+    url = mkOption {
+      type = types.str;
+      description = ''
+        Repository to add the runner to.
+
+        Changing this option triggers a new runner registration.
+      '';
+      example = "https://github.com/nixos/nixpkgs";
+    };
+
+    tokenFile = mkOption {
+      type = types.path;
+      description = ''
+        The full path to a file which contains the runner registration token.
+        The file should contain exactly one line with the token without any newline.
+        The token can be used to re-register a runner of the same name but is time-limited.
+
+        Changing this option or the file's content triggers a new runner registration.
+      '';
+      example = "/run/secrets/github-runner/nixos.token";
+    };
+
+    name = mkOption {
+      # Same pattern as for `networking.hostName`
+      type = types.strMatching "^$|^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$";
+      description = ''
+        Name of the runner to configure. Defaults to the hostname.
+
+        Changing this option triggers a new runner registration.
+      '';
+      example = "nixos";
+      default = config.networking.hostName;
+    };
+
+    runnerGroup = mkOption {
+      type = types.nullOr types.str;
+      description = ''
+        Name of the runner group to add this runner to (defaults to the default runner group).
+
+        Changing this option triggers a new runner registration.
+      '';
+      default = null;
+    };
+
+    extraLabels = mkOption {
+      type = types.listOf types.str;
+      description = ''
+        Extra labels in addition to the default (<literal>["self-hosted", "Linux", "X64"]</literal>).
+
+        Changing this option triggers a new runner registration.
+      '';
+      example = literalExample ''[ "nixos" ]'';
+      default = [ ];
+    };
+
+    replace = mkOption {
+      type = types.bool;
+      description = ''
+        Replace any existing runner with the same name.
+
+        Without this flag, registering a new runner with the same name fails.
+      '';
+      default = false;
+    };
+
+    extraPackages = mkOption {
+      type = types.listOf types.package;
+      description = ''
+        Extra packages to add to <literal>PATH</literal> of the service to make them available to workflows.
+      '';
+      default = [ ];
+    };
+  };
+
+  config = mkIf cfg.enable {
+    warnings = optionals (isStorePath cfg.tokenFile) [
+      ''
+        `services.github-runner.tokenFile` points to the Nix store and, therefore, is world-readable.
+        Consider using a path outside of the Nix store to keep the token private.
+      ''
+    ];
+
+    systemd.services.${svcName} = {
+      description = "GitHub Actions runner";
+
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "network-online.target" ];
+      after = [ "network.target" "network-online.target" ];
+
+      environment = {
+        HOME = runtimeDir;
+        RUNNER_ROOT = runtimeDir;
+      };
+
+      path = (with pkgs; [
+        bash
+        coreutils
+        git
+        gnutar
+        gzip
+      ]) ++ [
+        config.nix.package
+      ] ++ cfg.extraPackages;
+
+      serviceConfig = rec {
+        ExecStart = "${pkgs.github-runner}/bin/runsvc.sh";
+
+        # Does the following, sequentially:
+        # - Copy the current and the previous `tokenFile` to the $RUNTIME_DIRECTORY
+        #   and make it accessible to the service user to allow for a content
+        #   comparison.
+        # - If the module configuration or the token has changed, clear the state directory.
+        # - Configure the runner.
+        # - Copy the configured `tokenFile` to the $STATE_DIRECTORY and make it
+        #   inaccessible to the service user.
+        # - Set up the directory structure by creating the necessary symlinks.
+        ExecStartPre =
+          let
+            # Wrapper script which expects the full path of the state, runtime and logs
+            # directory as arguments. Overrides the respective systemd variables to provide
+            # unambiguous directory names. This becomes relevant, for example, if the
+            # caller overrides any of the StateDirectory=, RuntimeDirectory= or LogDirectory=
+            # to contain more than one directory. This causes systemd to set the respective
+            # environment variables with the path of all of the given directories, separated
+            # by a colon.
+            writeScript = name: lines: pkgs.writeShellScript "${svcName}-${name}.sh" ''
+              set -euo pipefail
+
+              STATE_DIRECTORY="$1"
+              RUNTIME_DIRECTORY="$2"
+              LOGS_DIRECTORY="$3"
+
+              ${lines}
+            '';
+            currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json";
+            runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" ] cfg;
+            newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig);
+            currentConfigTokenFilename = ".current-token";
+            newConfigTokenFilename = ".new-token";
+            runnerCredFiles = [
+              ".credentials"
+              ".credentials_rsaparams"
+              ".runner"
+            ];
+            ownConfigTokens = writeScript "own-config-tokens" ''
+              # Copy current and new token file to runtime dir and make it accessible to the service user
+              cp ${escapeShellArg cfg.tokenFile} "$RUNTIME_DIRECTORY/${newConfigTokenFilename}"
+              chmod 600 "$RUNTIME_DIRECTORY/${newConfigTokenFilename}"
+              chown "$USER" "$RUNTIME_DIRECTORY/${newConfigTokenFilename}"
+
+              if [[ -e "$STATE_DIRECTORY/${currentConfigTokenFilename}" ]]; then
+                cp "$STATE_DIRECTORY/${currentConfigTokenFilename}" "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}"
+                chmod 600 "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}"
+                chown "$USER" "$RUNTIME_DIRECTORY/${currentConfigTokenFilename}"
+              fi
+            '';
+            disownConfigTokens = writeScript "disown-config-tokens" ''
+              # Make the token inaccessible to the runner service user
+              chmod 600 "$STATE_DIRECTORY/${currentConfigTokenFilename}"
+              chown root:root "$STATE_DIRECTORY/${currentConfigTokenFilename}"
+            '';
+            unconfigureRunner = writeScript "unconfigure" ''
+              differs=
+              # Set `differs = 1` if current and new runner config differ or if `currentConfigPath` does not exist
+              ${pkgs.diffutils}/bin/diff -q '${newConfigPath}' "${currentConfigPath}" >/dev/null 2>&1 || differs=1
+              # Also trigger a registration if the token content changed
+              ${pkgs.diffutils}/bin/diff -q \
+                "$RUNTIME_DIRECTORY"/{${currentConfigTokenFilename},${newConfigTokenFilename}} \
+                >/dev/null 2>&1 || differs=1
+
+              if [[ -n "$differs" ]]; then
+                echo "Config has changed, removing old runner state."
+                echo "The old runner will still appear in the GitHub Actions UI." \
+                  "You have to remove it manually."
+                find "$STATE_DIRECTORY/" -mindepth 1 -delete
+              fi
+            '';
+            configureRunner = writeScript "configure" ''
+              empty=$(ls -A "$STATE_DIRECTORY")
+              if [[ -z "$empty" ]]; then
+                echo "Configuring GitHub Actions Runner"
+                token=$(< "$RUNTIME_DIRECTORY"/${newConfigTokenFilename})
+                RUNNER_ROOT="$STATE_DIRECTORY" ${pkgs.github-runner}/bin/config.sh \
+                  --unattended \
+                  --work "$RUNTIME_DIRECTORY" \
+                  --url ${escapeShellArg cfg.url} \
+                  --token "$token" \
+                  --labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)} \
+                  --name ${escapeShellArg cfg.name} \
+                  ${optionalString cfg.replace "--replace"} \
+                  ${optionalString (cfg.runnerGroup != null) "--runnergroup ${escapeShellArg cfg.runnerGroup}"}
+
+                # Move the automatically created _diag dir to the logs dir
+                mkdir -p  "$STATE_DIRECTORY/_diag"
+                cp    -r  "$STATE_DIRECTORY/_diag/." "$LOGS_DIRECTORY/"
+                rm    -rf "$STATE_DIRECTORY/_diag/"
+
+                # Cleanup token from config
+                rm -f "$RUNTIME_DIRECTORY"/${currentConfigTokenFilename}
+                mv    "$RUNTIME_DIRECTORY"/${newConfigTokenFilename} "$STATE_DIRECTORY/${currentConfigTokenFilename}"
+
+                # Symlink to new config
+                ln -s '${newConfigPath}' "${currentConfigPath}"
+              fi
+            '';
+            setupRuntimeDir = writeScript "setup-runtime-dirs" ''
+              # Link _diag dir
+              ln -s "$LOGS_DIRECTORY" "$RUNTIME_DIRECTORY/_diag"
+
+              # Link the runner credentials to the runtime dir
+              ln -s "$STATE_DIRECTORY"/{${lib.concatStringsSep "," runnerCredFiles}} "$RUNTIME_DIRECTORY/"
+            '';
+          in
+          map (x: "${x} ${escapeShellArgs [ stateDir runtimeDir logsDir ]}") [
+            "+${ownConfigTokens}" # runs as root
+            unconfigureRunner
+            configureRunner
+            "+${disownConfigTokens}" # runs as root
+            setupRuntimeDir
+          ];
+
+        # Contains _diag
+        LogsDirectory = [ systemdDir ];
+        # Default RUNNER_ROOT which contains ephemeral Runner data
+        RuntimeDirectory = [ systemdDir ];
+        # Home of persistent runner data, e.g., credentials
+        StateDirectory = [ systemdDir ];
+        StateDirectoryMode = "0700";
+        WorkingDirectory = runtimeDir;
+
+        # By default, use a dynamically allocated user
+        DynamicUser = true;
+
+        KillMode = "process";
+        KillSignal = "SIGTERM";
+
+        # Hardening (may overlap with DynamicUser=)
+        # The following options are only for optimizing:
+        # systemd-analyze security github-runner
+        AmbientCapabilities = "";
+        CapabilityBoundingSet = "";
+        # ProtectClock= adds DeviceAllow=char-rtc r
+        DeviceAllow = "";
+        LockPersonality = true;
+        NoNewPrivileges = true;
+        PrivateDevices = true;
+        PrivateMounts = true;
+        PrivateTmp = true;
+        PrivateUsers = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        ProtectSystem = "strict";
+        RemoveIPC = true;
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        UMask = "0066";
+
+        # Needs network access
+        PrivateNetwork = false;
+        # Cannot be true due to Node
+        MemoryDenyWriteExecute = false;
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 900185fbbdf..ee8cdf2d285 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -163,7 +163,7 @@ in
               '';
               example = literalExample ''
                 {
-                  "DATABASE nextcloud" = "ALL PRIVILEGES";
+                  "DATABASE \"nextcloud\"" = "ALL PRIVILEGES";
                   "ALL TABLES IN SCHEMA public" = "ALL PRIVILEGES";
                 }
               '';
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index 117e6366225..3ddc7aad81e 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -88,6 +88,13 @@ in
         example = "/run/redis/redis.sock";
       };
 
+      unixSocketPerm = mkOption {
+        type = types.int;
+        default = 750;
+        description = "Change permissions for the socket";
+        example = 700;
+      };
+
       logLevel = mkOption {
         type = types.str;
         default = "notice"; # debug, verbose, notice, warning
@@ -204,7 +211,6 @@ in
         '';
         example = literalExample ''
           {
-            unixsocketperm = "700";
             loadmodule = [ "/path/to/my_module.so" "/path/to/other_module.so" ];
           }
         '';
@@ -256,7 +262,7 @@ in
         slowlog-max-len = cfg.slowLogMaxLen;
       }
       (mkIf (cfg.bind != null) { bind = cfg.bind; })
-      (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; })
+      (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; unixsocketperm = "${toString cfg.unixSocketPerm}"; })
       (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; })
       (mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; })
       (mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; })
@@ -277,11 +283,18 @@ in
 
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/redis-server /run/redis/redis.conf";
-        RuntimeDirectory = "redis";
-        StateDirectory = "redis";
         Type = "notify";
+        # User and group
         User = "redis";
         Group = "redis";
+        # Runtime directory and mode
+        RuntimeDirectory = "redis";
+        RuntimeDirectoryMode = "0750";
+        # State directory and mode
+        StateDirectory = "redis";
+        StateDirectoryMode = "0700";
+        # Access write directories
+        UMask = "0077";
       };
     };
   };
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index 63c0961b756..8e5bed5fcb8 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -11,6 +11,7 @@ let
 
   haveAliases = cfg.postmasterAlias != "" || cfg.rootAlias != ""
                       || cfg.extraAliases != "";
+  haveCanonical = cfg.canonical != "";
   haveTransport = cfg.transport != "";
   haveVirtual = cfg.virtual != "";
   haveLocalRecipients = cfg.localRecipients != null;
@@ -244,6 +245,7 @@ let
   ;
 
   aliasesFile = pkgs.writeText "postfix-aliases" aliases;
+  canonicalFile = pkgs.writeText "postfix-canonical" cfg.canonical;
   virtualFile = pkgs.writeText "postfix-virtual" cfg.virtual;
   localRecipientMapFile = pkgs.writeText "postfix-local-recipient-map" (concatMapStrings (x: x + " ACCEPT\n") cfg.localRecipients);
   checkClientAccessFile = pkgs.writeText "postfix-check-client-access" cfg.dnsBlacklistOverrides;
@@ -529,6 +531,15 @@ in
         ";
       };
 
+      canonical = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Entries for the <citerefentry><refentrytitle>canonical</refentrytitle>
+          <manvolnum>5</manvolnum></citerefentry> table.
+        '';
+      };
+
       virtual = mkOption {
         type = types.lines;
         default = "";
@@ -941,6 +952,9 @@ in
     (mkIf haveAliases {
       services.postfix.aliasFiles.aliases = aliasesFile;
     })
+    (mkIf haveCanonical {
+      services.postfix.mapFiles.canonical = canonicalFile;
+    })
     (mkIf haveTransport {
       services.postfix.mapFiles.transport = transportFile;
     })
diff --git a/nixos/modules/services/misc/jellyfin.nix b/nixos/modules/services/misc/jellyfin.nix
index 6a47dc3628f..64b774a220b 100644
--- a/nixos/modules/services/misc/jellyfin.nix
+++ b/nixos/modules/services/misc/jellyfin.nix
@@ -29,6 +29,16 @@ in
         default = "jellyfin";
         description = "Group under which jellyfin runs.";
       };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Open the default ports in the firewall for the media server. The
+          HTTP/HTTPS ports can be changed in the Web UI, so this option should
+          only be used if they are unchanged.
+        '';
+      };
     };
   };
 
@@ -104,6 +114,12 @@ in
       jellyfin = {};
     };
 
+    networking.firewall = mkIf cfg.openFirewall {
+      # from https://jellyfin.org/docs/general/networking/index.html
+      allowedTCPPorts = [ 8096 8920 ];
+      allowedUDPPorts = [ 1900 7359 ];
+    };
+
   };
 
   meta.maintainers = with lib.maintainers; [ minijackson ];
diff --git a/nixos/modules/services/networking/gobgpd.nix b/nixos/modules/services/networking/gobgpd.nix
new file mode 100644
index 00000000000..d3b03471f4e
--- /dev/null
+++ b/nixos/modules/services/networking/gobgpd.nix
@@ -0,0 +1,64 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gobgpd;
+  format = pkgs.formats.toml { };
+  confFile = format.generate "gobgpd.conf" cfg.settings;
+in {
+  options.services.gobgpd = {
+    enable = mkEnableOption "GoBGP Routing Daemon";
+
+    settings = mkOption {
+      type = format.type;
+      default = { };
+      description = ''
+        GoBGP configuration. Refer to
+        <link xlink:href="https://github.com/osrg/gobgp#documentation"/>
+        for details on supported values.
+      '';
+      example = literalExample ''
+        {
+          global = {
+            config = {
+              as = 64512;
+              router-id = "192.168.255.1";
+            };
+          };
+          neighbors = [
+            {
+              config = {
+                neighbor-address = "10.0.255.1";
+                peer-as = 65001;
+              };
+            }
+            {
+              config = {
+                neighbor-address = "10.0.255.2";
+                peer-as = 65002;
+              };
+            }
+          ];
+        }
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.gobgpd ];
+    systemd.services.gobgpd = {
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      description = "GoBGP Routing Daemon";
+      serviceConfig = {
+        Type = "notify";
+        ExecStartPre = "${pkgs.gobgpd}/bin/gobgpd -f ${confFile} -d";
+        ExecStart = "${pkgs.gobgpd}/bin/gobgpd -f ${confFile} --sdnotify";
+        ExecReload = "${pkgs.gobgpd}/bin/gobgpd -r";
+        DynamicUser = true;
+        AmbientCapabilities = "cap_net_bind_service";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 119bd09e2fd..135f29be58c 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -484,6 +484,8 @@ in {
       })
     ];
 
+    boot.kernelModules = [ "ctr" ];
+
     security.polkit.extraConfig = polkitConf;
 
     services.dbus.packages = cfg.packages
diff --git a/nixos/modules/services/networking/privoxy.nix b/nixos/modules/services/networking/privoxy.nix
index 7c22b7d09b9..df818baa465 100644
--- a/nixos/modules/services/networking/privoxy.nix
+++ b/nixos/modules/services/networking/privoxy.nix
@@ -242,7 +242,7 @@ in
           "default.action"
         ] ++ optional cfg.inspectHttps (toString inspectAction);
     } // (optionalAttrs cfg.enableTor {
-      forward-socks5 = "127.0.0.1:9063 .";
+      forward-socks5 = "/ 127.0.0.1:9063 .";
       toggle = true;
       enable-remote-toggle = false;
       enable-edit-actions = false;
diff --git a/nixos/modules/services/networking/spacecookie.nix b/nixos/modules/services/networking/spacecookie.nix
index c4d06df6ad4..e0bef9e9628 100644
--- a/nixos/modules/services/networking/spacecookie.nix
+++ b/nixos/modules/services/networking/spacecookie.nix
@@ -4,10 +4,22 @@ with lib;
 
 let
   cfg = config.services.spacecookie;
-  configFile = pkgs.writeText "spacecookie.json" (lib.generators.toJSON {} {
-    inherit (cfg) hostname port root;
-  });
+
+  spacecookieConfig = {
+    listen = {
+      inherit (cfg) port;
+    };
+  } // cfg.settings;
+
+  format = pkgs.formats.json {};
+
+  configFile = format.generate "spacecookie.json" spacecookieConfig;
+
 in {
+  imports = [
+    (mkRenamedOptionModule [ "services" "spacecookie" "root" ] [ "services" "spacecookie" "settings" "root" ])
+    (mkRenamedOptionModule [ "services" "spacecookie" "hostname" ] [ "services" "spacecookie" "settings" "hostname" ])
+  ];
 
   options = {
 
@@ -15,32 +27,149 @@ in {
 
       enable = mkEnableOption "spacecookie";
 
-      hostname = mkOption {
-        type = types.str;
-        default = "localhost";
-        description = "The hostname the service is reachable via. Clients will use this hostname for further requests after loading the initial gopher menu.";
+      package = mkOption {
+        type = types.package;
+        default = pkgs.spacecookie;
+        defaultText = literalExample "pkgs.spacecookie";
+        example = literalExample "pkgs.haskellPackages.spacecookie";
+        description = ''
+          The spacecookie derivation to use. This can be used to
+          override the used package or to use another version.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to open the necessary port in the firewall for spacecookie.
+        '';
       };
 
       port = mkOption {
         type = types.port;
         default = 70;
-        description = "Port the gopher service should be exposed on.";
+        description = ''
+          Port the gopher service should be exposed on.
+        '';
+      };
+
+      address = mkOption {
+        type = types.str;
+        default = "[::]";
+        description = ''
+          Address to listen on. Must be in the
+          <literal>ListenStream=</literal> syntax of
+          <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.socket.html">systemd.socket(5)</link>.
+        '';
       };
 
-      root = mkOption {
-        type = types.path;
-        default = "/srv/gopher";
-        description = "The root directory spacecookie serves via gopher.";
+      settings = mkOption {
+        type = types.submodule {
+          freeformType = format.type;
+
+          options.hostname = mkOption {
+            type = types.str;
+            default = "localhost";
+            description = ''
+              The hostname the service is reachable via. Clients
+              will use this hostname for further requests after
+              loading the initial gopher menu.
+            '';
+          };
+
+          options.root = mkOption {
+            type = types.path;
+            default = "/srv/gopher";
+            description = ''
+              The directory spacecookie should serve via gopher.
+              Files in there need to be world-readable since
+              the spacecookie service file sets
+              <literal>DynamicUser=true</literal>.
+            '';
+          };
+
+          options.log = {
+            enable = mkEnableOption "logging for spacecookie"
+              // { default = true; example = false; };
+
+            hide-ips = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                If enabled, spacecookie will hide personal
+                information of users like IP addresses from
+                log output.
+              '';
+            };
+
+            hide-time = mkOption {
+              type = types.bool;
+              # since we are starting with systemd anyways
+              # we deviate from the default behavior here:
+              # journald will add timestamps, so no need
+              # to double up.
+              default = true;
+              description = ''
+                If enabled, spacecookie will not print timestamps
+                at the beginning of every log line.
+              '';
+            };
+
+            level = mkOption {
+              type = types.enum [
+                "info"
+                "warn"
+                "error"
+              ];
+              default = "info";
+              description = ''
+                Log level for the spacecookie service.
+              '';
+            };
+          };
+        };
+
+        description = ''
+          Settings for spacecookie. The settings set here are
+          directly translated to the spacecookie JSON config
+          file. See
+          <link xlink:href="https://sternenseemann.github.io/spacecookie/spacecookie.json.5.html">spacecookie.json(5)</link>
+          for explanations of all options.
+        '';
       };
     };
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      {
+        assertion = !(cfg.settings ? user);
+        message = ''
+          spacecookie is started as a normal user, so the setuid
+          feature doesn't work. If you want to run spacecookie as
+          a specific user, set:
+          systemd.services.spacecookie.serviceConfig = {
+            DynamicUser = false;
+            User = "youruser";
+            Group = "yourgroup";
+          }
+        '';
+      }
+      {
+        assertion = !(cfg.settings ? listen || cfg.settings ? port);
+        message = ''
+          The NixOS spacecookie module uses socket activation,
+          so the listen options have no effect. Use the port
+          and address options in services.spacecookie instead.
+        '';
+      }
+    ];
 
     systemd.sockets.spacecookie = {
       description = "Socket for the Spacecookie Gopher Server";
       wantedBy = [ "sockets.target" ];
-      listenStreams = [ "[::]:${toString cfg.port}" ];
+      listenStreams = [ "${cfg.address}:${toString cfg.port}" ];
       socketConfig = {
         BindIPv6Only = "both";
       };
@@ -53,7 +182,7 @@ in {
 
       serviceConfig = {
         Type = "notify";
-        ExecStart = "${pkgs.haskellPackages.spacecookie}/bin/spacecookie ${configFile}";
+        ExecStart = "${lib.getBin cfg.package}/bin/spacecookie ${configFile}";
         FileDescriptorStoreMax = 1;
 
         DynamicUser = true;
@@ -79,5 +208,9 @@ in {
         RestrictAddressFamilies = "AF_UNIX AF_INET6";
       };
     };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
   };
 }
diff --git a/nixos/modules/services/security/step-ca.nix b/nixos/modules/services/security/step-ca.nix
new file mode 100644
index 00000000000..64eee11f588
--- /dev/null
+++ b/nixos/modules/services/security/step-ca.nix
@@ -0,0 +1,134 @@
+{ config, lib, pkgs, ... }:
+let
+  cfg = config.services.step-ca;
+  settingsFormat = (pkgs.formats.json { });
+in
+{
+  meta.maintainers = with lib.maintainers; [ mohe2015 ];
+
+  options = {
+    services.step-ca = {
+      enable = lib.mkEnableOption "the smallstep certificate authority server";
+      openFirewall = lib.mkEnableOption "opening the certificate authority server port";
+      package = lib.mkOption {
+        type = lib.types.package;
+        default = pkgs.step-ca;
+        description = "Which step-ca package to use.";
+      };
+      address = lib.mkOption {
+        type = lib.types.str;
+        example = "127.0.0.1";
+        description = ''
+          The address (without port) the certificate authority should listen at.
+          This combined with <option>services.step-ca.port</option> overrides <option>services.step-ca.settings.address</option>.
+        '';
+      };
+      port = lib.mkOption {
+        type = lib.types.port;
+        example = 8443;
+        description = ''
+          The port the certificate authority should listen on.
+          This combined with <option>services.step-ca.address</option> overrides <option>services.step-ca.settings.address</option>.
+        '';
+      };
+      settings = lib.mkOption {
+        type = with lib.types; attrsOf anything;
+        description = ''
+          Settings that go into <filename>ca.json</filename>. See
+          <link xlink:href="https://smallstep.com/docs/step-ca/configuration">
+          the step-ca manual</link> for more information. The easiest way to
+          configure this module would be to run <literal>step ca init</literal>
+          to generate <filename>ca.json</filename> and then import it using
+          <literal>builtins.fromJSON</literal>.
+          <link xlink:href="https://smallstep.com/docs/step-cli/basic-crypto-operations#run-an-offline-x509-certificate-authority">This article</link>
+          may also be useful if you want to customize certain aspects of
+          certificate generation for your CA.
+          You need to change the database storage path to <filename>/var/lib/step-ca/db</filename>.
+
+          <warning>
+            <para>
+              The <option>services.step-ca.settings.address</option> option
+              will be ignored and overwritten by
+              <option>services.step-ca.address</option> and
+              <option>services.step-ca.port</option>.
+            </para>
+          </warning>
+        '';
+      };
+      intermediatePasswordFile = lib.mkOption {
+        type = lib.types.path;
+        example = "/run/keys/smallstep-password";
+        description = ''
+          Path to the file containing the password for the intermediate
+          certificate private key.
+
+          <warning>
+            <para>
+              Make sure to use a quoted absolute path instead of a path literal
+              to prevent it from being copied to the globally readable Nix
+              store.
+            </para>
+          </warning>
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf config.services.step-ca.enable (
+    let
+      configFile = settingsFormat.generate "ca.json" (cfg.settings // {
+        address = cfg.address + ":" + toString cfg.port;
+      });
+    in
+    {
+      assertions =
+        [
+          {
+            assertion = !lib.isStorePath cfg.intermediatePasswordFile;
+            message = ''
+              <option>services.step-ca.intermediatePasswordFile</option> points to
+              a file in the Nix store. You should use a quoted absolute path to
+              prevent this.
+            '';
+          }
+        ];
+
+      systemd.packages = [ cfg.package ];
+
+      # configuration file indirection is needed to support reloading
+      environment.etc."smallstep/ca.json".source = configFile;
+
+      systemd.services."step-ca" = {
+        wantedBy = [ "multi-user.target" ];
+        restartTriggers = [ configFile ];
+        unitConfig = {
+          ConditionFileNotEmpty = ""; # override upstream
+        };
+        serviceConfig = {
+          Environment = "HOME=%S/step-ca";
+          WorkingDirectory = ""; # override upstream
+          ReadWriteDirectories = ""; # override upstream
+
+          # LocalCredential handles file permission problems arising from the use of DynamicUser.
+          LoadCredential = "intermediate_password:${cfg.intermediatePasswordFile}";
+
+          ExecStart = [
+            "" # override upstream
+            "${cfg.package}/bin/step-ca /etc/smallstep/ca.json --password-file \${CREDENTIALS_DIRECTORY}/intermediate_password"
+          ];
+
+          # ProtectProc = "invisible"; # not supported by upstream yet
+          # ProcSubset = "pid"; # not supported by upstream upstream yet
+          # PrivateUsers = true; # doesn't work with privileged ports therefore not supported by upstream
+
+          DynamicUser = true;
+          StateDirectory = "step-ca";
+        };
+      };
+
+      networking.firewall = lib.mkIf cfg.openFirewall {
+        allowedTCPPorts = [ cfg.port ];
+      };
+    }
+  );
+}
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 52fcce6d17b..ea745eabf78 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -157,7 +157,7 @@ let
         proxy_connect_timeout   60;
         proxy_send_timeout      60;
         proxy_read_timeout      60;
-        proxy_http_version      1.0;
+        proxy_http_version      1.1;
         include ${recommendedProxyConfig};
       ''}
 
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 9ca24310e56..794dd21e4aa 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -37,6 +37,7 @@ in
     ./tinywm.nix
     ./twm.nix
     ./windowmaker.nix
+    ./wmderland.nix
     ./wmii.nix
     ./xmonad.nix
     ./yeahwm.nix
diff --git a/nixos/modules/services/x11/window-managers/wmderland.nix b/nixos/modules/services/x11/window-managers/wmderland.nix
new file mode 100644
index 00000000000..a6864a82771
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/wmderland.nix
@@ -0,0 +1,61 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.wmderland;
+in
+
+{
+  options.services.xserver.windowManager.wmderland = {
+    enable = mkEnableOption "wmderland";
+
+    extraSessionCommands = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Shell commands executed just before wmderland is started.
+      '';
+    };
+
+    extraPackages = mkOption {
+      type = with types; listOf package;
+      default = with pkgs; [
+        rofi
+        dunst
+        light
+        hsetroot
+        feh
+        rxvt-unicode
+      ];
+      example = literalExample ''
+        with pkgs; [
+          rofi
+          dunst
+          light
+          hsetroot
+          feh
+          rxvt-unicode
+        ]
+      '';
+      description = ''
+        Extra packages to be installed system wide.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "wmderland";
+      start = ''
+        ${cfg.extraSessionCommands}
+
+        ${pkgs.wmderland}/bin/wmderland &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [
+      pkgs.wmderland pkgs.wmderlandc
+    ] ++ cfg.extraPackages;
+  };
+}
diff --git a/nixos/modules/virtualisation/docker.nix b/nixos/modules/virtualisation/docker.nix
index b1415bf021d..3eb0de3a855 100644
--- a/nixos/modules/virtualisation/docker.nix
+++ b/nixos/modules/virtualisation/docker.nix
@@ -157,6 +157,7 @@ in
 
       systemd.services.docker = {
         wantedBy = optional cfg.enableOnBoot "multi-user.target";
+        after = [ "network.target" "docker.socket" ];
         requires = [ "docker.socket" ];
         environment = proxy_env;
         serviceConfig = {
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 58b2ba7fa51..47384cf5a8a 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -138,6 +138,7 @@ in
   gnome3 = handleTest ./gnome3.nix {};
   gnome3-xorg = handleTest ./gnome3-xorg.nix {};
   go-neb = handleTest ./go-neb.nix {};
+  gobgpd = handleTest ./gobgpd.nix {};
   gocd-agent = handleTest ./gocd-agent.nix {};
   gocd-server = handleTest ./gocd-server.nix {};
   google-oslogin = handleTest ./google-oslogin {};
@@ -432,6 +433,7 @@ in
   wasabibackend = handleTest ./wasabibackend.nix {};
   wiki-js = handleTest ./wiki-js.nix {};
   wireguard = handleTest ./wireguard {};
+  wmderland = handleTest ./wmderland.nix {};
   wordpress = handleTest ./wordpress.nix {};
   xandikos = handleTest ./xandikos.nix {};
   xautolock = handleTest ./xautolock.nix {};
diff --git a/nixos/tests/gitea.nix b/nixos/tests/gitea.nix
index 1fb27593f05..037fc7b31bf 100644
--- a/nixos/tests/gitea.nix
+++ b/nixos/tests/gitea.nix
@@ -61,7 +61,7 @@ let
           + "Please contact your site administrator.'"
       )
       server.succeed(
-          "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin create-user "
+          "su -l gitea -c 'GITEA_WORK_DIR=/var/lib/gitea gitea admin user create "
           + "--username test --password totallysafe --email test@localhost'"
       )
 
diff --git a/nixos/tests/gobgpd.nix b/nixos/tests/gobgpd.nix
new file mode 100644
index 00000000000..775f65d1199
--- /dev/null
+++ b/nixos/tests/gobgpd.nix
@@ -0,0 +1,71 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+  let
+    ifAddr = node: iface: (pkgs.lib.head node.config.networking.interfaces.${iface}.ipv4.addresses).address;
+  in {
+    name = "gobgpd";
+
+    meta = with pkgs.lib.maintainers; { maintainers = [ higebu ]; };
+
+    nodes = {
+      node1 = { nodes, ... }: {
+        environment.systemPackages = [ pkgs.gobgp ];
+        networking.firewall.allowedTCPPorts = [ 179 ];
+        services.gobgpd = {
+          enable = true;
+          settings = {
+            global = {
+              config = {
+                as = 64512;
+                router-id = "192.168.255.1";
+              };
+            };
+            neighbors = [{
+              config = {
+                neighbor-address = ifAddr nodes.node2 "eth1";
+                peer-as = 64513;
+              };
+            }];
+          };
+        };
+      };
+      node2 = { nodes, ... }: {
+        environment.systemPackages = [ pkgs.gobgp ];
+        networking.firewall.allowedTCPPorts = [ 179 ];
+        services.gobgpd = {
+          enable = true;
+          settings = {
+            global = {
+              config = {
+                as = 64513;
+                router-id = "192.168.255.2";
+              };
+            };
+            neighbors = [{
+              config = {
+                neighbor-address = ifAddr nodes.node1 "eth1";
+                peer-as = 64512;
+              };
+            }];
+          };
+        };
+      };
+    };
+
+    testScript = { nodes, ... }: let
+      addr1 = ifAddr nodes.node1 "eth1";
+      addr2 = ifAddr nodes.node2 "eth1";
+    in
+      ''
+      start_all()
+
+      for node in node1, node2:
+          with subtest("should start gobgpd node"):
+              node.wait_for_unit("gobgpd.service")
+          with subtest("should open port 179"):
+              node.wait_for_open_port(179)
+
+      with subtest("should show neighbors by gobgp cli and BGP state should be ESTABLISHED"):
+          node1.wait_until_succeeds("gobgp neighbor ${addr2} | grep -q ESTABLISHED")
+          node2.wait_until_succeeds("gobgp neighbor ${addr1} | grep -q ESTABLISHED")
+    '';
+  })
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
index 726c7eb6acb..3b7295324a1 100644
--- a/nixos/tests/home-assistant.nix
+++ b/nixos/tests/home-assistant.nix
@@ -14,9 +14,10 @@ in {
     environment.systemPackages = with pkgs; [ mosquitto ];
     services.mosquitto = {
       enable = true;
+      checkPasswords = true;
       users = {
         "${mqttUsername}" = {
-          acl = [ "pattern readwrite #" ];
+          acl = [ "topic readwrite #" ];
           password = mqttPassword;
         };
       };
@@ -77,12 +78,9 @@ in {
         hass.wait_for_open_port(8123)
         hass.succeed("curl --fail http://localhost:8123/lovelace")
     with subtest("Toggle a binary sensor using MQTT"):
-        # wait for broker to become available
-        hass.wait_until_succeeds(
-            "mosquitto_sub -V mqttv311 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -W 1 -t '*'"
-        )
+        hass.wait_for_open_port(1883)
         hass.succeed(
-            "mosquitto_pub -V mqttv311 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -m let_there_be_light"
+            "mosquitto_pub -V mqttv5 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -m let_there_be_light"
         )
     with subtest("Print log to ease debugging"):
         output_log = hass.succeed("cat ${configDir}/home-assistant.log")
diff --git a/nixos/tests/redis.nix b/nixos/tests/redis.nix
index ca171561435..79a7847414a 100644
--- a/nixos/tests/redis.nix
+++ b/nixos/tests/redis.nix
@@ -17,7 +17,7 @@ in
         services.redis.unixSocket = redisSocket;
 
         # Allow access to the unix socket for the "redis" group.
-        services.redis.settings.unixsocketperm = "770";
+        services.redis.unixSocketPerm = 770;
 
         users.users."member" = {
           createHome = false;
diff --git a/nixos/tests/spacecookie.nix b/nixos/tests/spacecookie.nix
index 5b5022a7427..a640657d8a6 100644
--- a/nixos/tests/spacecookie.nix
+++ b/nixos/tests/spacecookie.nix
@@ -1,47 +1,52 @@
 let
-  gopherRoot  = "/tmp/gopher";
-  gopherHost  = "gopherd";
-  fileContent = "Hello Gopher!";
-  fileName    = "file.txt";
+  gopherRoot   = "/tmp/gopher";
+  gopherHost   = "gopherd";
+  gopherClient = "client";
+  fileContent  = "Hello Gopher!\n";
+  fileName     = "file.txt";
 in
   import ./make-test-python.nix ({...}: {
     name = "spacecookie";
     nodes = {
       ${gopherHost} = {
-        networking.firewall.allowedTCPPorts = [ 70 ];
         systemd.services.spacecookie = {
           preStart = ''
             mkdir -p ${gopherRoot}/directory
-            echo "${fileContent}" > ${gopherRoot}/${fileName}
+            printf "%s" "${fileContent}" > ${gopherRoot}/${fileName}
           '';
         };
 
         services.spacecookie = {
           enable = true;
-          root = gopherRoot;
-          hostname = gopherHost;
+          openFirewall = true;
+          settings = {
+            root = gopherRoot;
+            hostname = gopherHost;
+          };
         };
       };
 
-      client = {};
+      ${gopherClient} = {};
     };
 
     testScript = ''
       start_all()
-      ${gopherHost}.wait_for_open_port(70)
+
+      # with daemon type notify, the unit being started
+      # should also mean the port is open
       ${gopherHost}.wait_for_unit("spacecookie.service")
-      client.wait_for_unit("network.target")
+      ${gopherClient}.wait_for_unit("network.target")
 
-      fileResponse = client.succeed("curl -f -s gopher://${gopherHost}//${fileName}")
+      fileResponse = ${gopherClient}.succeed("curl -f -s gopher://${gopherHost}/0/${fileName}")
 
       # the file response should return our created file exactly
-      if not (fileResponse == "${fileContent}\n"):
+      if not (fileResponse == "${builtins.replaceStrings [ "\n" ] [ "\\n" ] fileContent}"):
           raise Exception("Unexpected file response")
 
       # sanity check on the directory listing: we serve a directory and a file
       # via gopher, so the directory listing should have exactly two entries,
       # one with gopher file type 0 (file) and one with file type 1 (directory).
-      dirResponse = client.succeed("curl -f -s gopher://${gopherHost}")
+      dirResponse = ${gopherClient}.succeed("curl -f -s gopher://${gopherHost}")
       dirEntries = [l[0] for l in dirResponse.split("\n") if len(l) > 0]
       dirEntries.sort()
 
diff --git a/nixos/tests/wmderland.nix b/nixos/tests/wmderland.nix
new file mode 100644
index 00000000000..d121ed98b7a
--- /dev/null
+++ b/nixos/tests/wmderland.nix
@@ -0,0 +1,54 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "wmderland";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ takagiy ];
+  };
+
+  machine = { lib, ... }: {
+    imports = [ ./common/x11.nix ./common/user-account.nix ];
+    test-support.displayManager.auto.user = "alice";
+    services.xserver.displayManager.defaultSession = lib.mkForce "none+wmderland";
+    services.xserver.windowManager.wmderland.enable = true;
+
+    systemd.services.setupWmderlandConfig = {
+      wantedBy = [ "multi-user.target" ];
+      before = [ "multi-user.target" ];
+      environment = {
+        HOME = "/home/alice";
+      };
+      unitConfig = {
+        type = "oneshot";
+        RemainAfterExit = true;
+        user = "alice";
+      };
+      script = let
+        config = pkgs.writeText "config" ''
+             set $Mod = Mod1
+             bindsym $Mod+Return exec ${pkgs.xterm}/bin/xterm -cm -pc
+        '';
+      in ''
+        mkdir -p $HOME/.config/wmderland
+        cp ${config} $HOME/.config/wmderland/config
+      '';
+    };
+  };
+
+  testScript = { ... }: ''
+    with subtest("ensure x starts"):
+        machine.wait_for_x()
+        machine.wait_for_file("/home/alice/.Xauthority")
+        machine.succeed("xauth merge ~alice/.Xauthority")
+
+    with subtest("ensure we can open a new terminal"):
+        machine.send_key("alt-ret")
+        machine.wait_until_succeeds("pgrep xterm")
+        machine.wait_for_window(r"alice.*?machine")
+        machine.screenshot("terminal")
+
+    with subtest("ensure we can communicate through ipc with wmderlandc"):
+        # Kills the previously open xterm
+        machine.succeed("pgrep xterm")
+        machine.execute("DISPLAY=:0 wmderlandc kill")
+        machine.fail("pgrep xterm")
+  '';
+})
diff --git a/pkgs/applications/audio/bschaffl/default.nix b/pkgs/applications/audio/bschaffl/default.nix
index 76d2e78a266..ed988cbcb67 100644
--- a/pkgs/applications/audio/bschaffl/default.nix
+++ b/pkgs/applications/audio/bschaffl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bschaffl";
-  version = "1.4.4";
+  version = "1.4.6";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tu5JL0vcqRsZYmoaYGYm/aj95i7wLtnKYGbEPD7AsoM=";
+    sha256 = "sha256-tD4LsIXb2II+TNEfzXBviMR2fq/FtCSsaL2YGun1vu0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index a217e470954..dbe6bdeee42 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -1,12 +1,21 @@
-{ lib, stdenv
+{ stdenv
 , alsaLib
+, curl
 , fetchFromGitHub
+, fftwFloat
 , freetype
+, glib
+, lib
 , libGL
 , libX11
 , libXcursor
 , libXext
+, libXinerama
+, libXrandr
 , libXrender
+, libgcc
+, libglvnd
+, libsecret
 , meson
 , ninja
 , pkg-config
@@ -14,25 +23,33 @@
 
 stdenv.mkDerivation rec {
   pname = "distrho-ports";
-  version = "2020-07-14";
+  version = "2021-03-15";
 
   src = fetchFromGitHub {
     owner = "DISTRHO";
     repo = "DISTRHO-Ports";
     rev = version;
-    sha256 = "03ji41i6dpknws1vjwfxnl8c8bgisv2ng8xa4vqy2473k7wgdw4v";
+    sha256 = "00fgqwayd20akww3n2imyqscmyrjyc9jj0ar13k9dhpaxqk2jxbf";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
 
   buildInputs = [
     alsaLib
+    curl
+    fftwFloat
     freetype
+    glib
     libGL
     libX11
     libXcursor
     libXext
+    libXinerama
+    libXrandr
     libXrender
+    libgcc
+    libglvnd
+    libsecret
   ];
 
   meta = with lib; {
@@ -61,6 +78,7 @@ stdenv.mkDerivation rec {
         pitchedDelay
         refine
         stereosourceseparation
+        swankyamp
         tal-dub-3
         tal-filter
         tal-filter-2
@@ -71,9 +89,10 @@ stdenv.mkDerivation rec {
         tal-vocoder-2
         temper
         vex
+        vitalium
         wolpertinger
     '';
-    license = with licenses; [ gpl2 gpl3 gpl2Plus lgpl3 mit ];
+    license = with licenses; [ gpl2Only gpl3Only gpl2Plus lgpl2Plus lgpl3Only mit ];
     maintainers = [ maintainers.goibhniu ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 61d1647087e..164f266462a 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -1,30 +1,30 @@
 { lib, stdenv, fetchurl, pkg-config
-, gtk2, alsaLib
-, fftw, gsl
+, alsaLib, fftw, gsl, motif, xorg
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-20.3";
+  pname = "snd";
+  version = "21.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "016slh34gb6qqb38m8k9yg48rbhc5p12084szcwvanhh5v7fc7mk";
+    url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
+    sha256 = "1jxvpgx1vqa6bwdzlzyzrjn2swjf9nfhzi9r1r96ivi0870vvjk3";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [
-    gtk2 alsaLib
-    fftw gsl
-  ];
+  buildInputs = [ alsaLib fftw gsl motif ]
+    ++ (with xorg; [ libXext libXft libXpm libXt ]);
 
-  meta = {
-    description = "Sound editor";
-    homepage = "http://ccrma.stanford.edu/software/snd";
-    platforms = lib.platforms.linux;
-    license = lib.licenses.free;
-    maintainers = with lib.maintainers; [ ];
-  };
+  configureFlags = [ "--with-motif" ];
 
+  enableParallelBuilding = true;
 
+  meta = with lib; {
+    description = "Sound editor";
+    homepage = "https://ccrma.stanford.edu/software/snd/";
+    platforms = platforms.unix;
+    license = licenses.free;
+    maintainers = with maintainers; [ ];
+  };
 }
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 0f99f28b42f..73e067b5b55 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -8,17 +8,17 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.1";
+  version = "1.10.2";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4lHT0P8Euau0AJNtg1YstJJRQ58WTUlIH+HCKEjCq/s=";
+    sha256 = "sha256-PJaJ9fCva9UUBcQrnVa2c7dk4koi6AyX6bj3JStUMwM=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256-DgyOvplk1JWn6D/z4zbXHLNLuAVQ5beEHi0NuSv236A=";
+  vendorSha256 = "sha256-qLpwrV9NkmUO0yoK2/gwb5oe/lky/w/P0QVoFSTNuMU=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 4436264ba26..abe7ab56431 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -7,16 +7,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.8.29";
+  version = "0.8.30";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-O5GIbX7qp+Te5QQuqytC9rsQJ5FuXtUl5h2DZXsfMPk=";
+    sha256 = "sha256-9GCk1gqlQJhuoiKRi7J1qcJlZjlq2ObGicp5tGGDhrY=";
   };
 
-  cargoSha256 = "sha256-4VmRIrd79odnYrHuBLdFwere+7bvtUI3daVs3ZUKsdY=";
+  cargoSha256 = "sha256-pWqbcargCEkisdGnj08VQdRqjocR7zZhWukhYjfZDqI=";
 
   nativeBuildInputs = [ clang ];
 
diff --git a/pkgs/applications/editors/apostrophe/default.nix b/pkgs/applications/editors/apostrophe/default.nix
index 5d435fa6823..9dafc055bcb 100644
--- a/pkgs/applications/editors/apostrophe/default.nix
+++ b/pkgs/applications/editors/apostrophe/default.nix
@@ -2,7 +2,7 @@
 , wrapGAppsHook, pkg-config, desktop-file-utils
 , appstream-glib, pythonPackages, glib, gobject-introspection
 , gtk3, webkitgtk, glib-networking, gnome3, gspell, texlive
-, shared-mime-info, haskellPackages, libhandy
+, shared-mime-info, libhandy
 }:
 
 let
@@ -38,7 +38,6 @@ in stdenv.mkDerivation rec {
     gappsWrapperArgs+=(
       --prefix PYTHONPATH : "$out/lib/python${pythonEnv.pythonVersion}/site-packages/"
       --prefix PATH : "${texlive}/bin"
-      --prefix PATH : "${haskellPackages.pandoc-citeproc}/bin"
       --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
     )
   '';
diff --git a/pkgs/applications/editors/bonzomatic/default.nix b/pkgs/applications/editors/bonzomatic/default.nix
index 4b6480639b3..9ccd549693b 100644
--- a/pkgs/applications/editors/bonzomatic/default.nix
+++ b/pkgs/applications/editors/bonzomatic/default.nix
@@ -1,29 +1,33 @@
-{ lib, stdenv, makeWrapper, fetchFromGitHub, cmake, alsaLib, mesa_glu, libXcursor, libXinerama, libXrandr, xorgserver }:
+{ lib, stdenv, fetchFromGitHub
+, cmake, makeWrapper
+, alsaLib, fontconfig, mesa_glu, libXcursor, libXinerama, libXrandr, xorg
+}:
 
 stdenv.mkDerivation rec {
   pname = "bonzomatic";
-  version = "2018-03-29";
+  version = "2021-03-07";
 
   src = fetchFromGitHub {
     owner = "Gargaj";
     repo = pname;
     rev = version;
-    sha256 = "12mdfjvbhdqz1585772rj4cap8m4ijfci6ib62jysxjf747k41fg";
+    sha256 = "0gbh7kj7irq2hyvlzjgbs9fcns9kamz7g5p6msv12iw75z9yi330";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
-  buildInputs = [ alsaLib mesa_glu libXcursor libXinerama libXrandr xorgserver ];
+  buildInputs = [
+    alsaLib fontconfig mesa_glu
+    libXcursor libXinerama libXrandr xorg.xinput xorg.libXi xorg.libXext
+  ];
 
   postFixup = ''
-    wrapProgram $out/bin/Bonzomatic --prefix LD_LIBRARY_PATH : "${alsaLib}/lib"
+    wrapProgram $out/bin/bonzomatic --prefix LD_LIBRARY_PATH : "${alsaLib}/lib"
   '';
 
   meta = with lib; {
-    description = "A live-coding tool for writing 2D fragment/pixel shaders";
-    license = with licenses; [
-      unlicense
-      unfreeRedistributable # contains libbass.so in repository
-    ];
+    description = "Live shader coding tool and Shader Showdown workhorse";
+    homepage = "https://github.com/gargaj/bonzomatic";
+    license = licenses.unlicense;
     maintainers = [ maintainers.ilian ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index efb3adaaa28..cdf32744148 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.129.3";
+  version = "1.131.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "1sg9wg6w3w0phrnnzpj7h2g22y0x7a3dl57djzydayxmg8fnn2ys";
+    sha256 = "1zq17yi5zn4hdgrrn3c3cdk6s38fv36r66dl0dqz2z8jjd6vy4p3";
   };
 
   postPatch = ''
@@ -106,8 +106,8 @@ stdenv.mkDerivation rec {
       Config system in JSON files. Multi-carets and multi-selections.
       Search and replace with RegEx. Extendable by Python plugins and themes.
     '';
-    homepage = "http://www.uvviewsoft.com/cudatext/";
-    changelog = "http://uvviewsoft.com/cudatext/history.txt";
+    homepage = "https://cudatext.github.io/";
+    changelog = "https://cudatext.github.io/history.txt";
     license = licenses.mpl20;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index a0044aaf833..05490b9d6fc 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -11,18 +11,18 @@
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2021.03.05",
-    "sha256": "1p2pzha5dd4p23j2bv6jxphj596dlb5v8ixjzg4x2zglz2hir6yz"
+    "rev": "2021.04.01",
+    "sha256": "12sncivsv6pvwflzzy12rpn1fjiq64n2n3bcj7630xxlrbygkhxb"
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2021.03.16",
-    "sha256": "1sq9j2zaif019gl6nf391lyp8k9s38f5s6ci7k3z5v90hkz1dcql"
+    "rev": "2021.04.09",
+    "sha256": "1ldr2z88zywn0ccgs17vfhq55ibihjcmfjjxcqsjifrbm0y6wipp"
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
-    "rev": "2021.03.08",
-    "sha256": "0xvnvx4qzp6nxi912i4zlnal91k6vbcsyfbz05ib73sz68xqd5qv"
+    "rev": "2021.04.01",
+    "sha256": "1g6zp9d7vwjisad3y1mfnk1jcbjqxp3yimm0sh1655al6qwn886m"
   },
   "EControl": {
     "owner": "Alexey-T",
@@ -31,8 +31,8 @@
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2021.03.16",
-    "sha256": "1a4mxcwjm9naxh4piqm5y93w2xd5rgl0vcn108wy1pkr221agg2q"
+    "rev": "2021.04.01",
+    "sha256": "1hq9hbv81mcymjcms97wcwcfqfpxis6h6v5m0syyih4r53khv0az"
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/glow/default.nix b/pkgs/applications/editors/glow/default.nix
index 81cba221622..728f5e54a3c 100644
--- a/pkgs/applications/editors/glow/default.nix
+++ b/pkgs/applications/editors/glow/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "glow";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "glow";
     rev = "v${version}";
-    sha256 = "13ip29yxjc2fhsk12m6hj6mswrgc9a4m8gf0hiffd1nh5313mqxi";
+    sha256 = "0m673xf67q9gjhd98ysh3dvwiqbj6lgsbm20c4zxyz76vdn5k6x8";
   };
 
-  vendorSha256 = "0i49b1yq9x5n59k29yacxyif928r0w7hl6azfvr5k3rssg0y4l7f";
+  vendorSha256 = "0ngasfcimizahm80gflxzz3cxz0ir10l62i03l73w8syx4wll0q4";
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=" "-X=main.Version=${version}" ];
+  buildFlagsArray = [ "-ldflags= -s -w -X=main.Version=${version}" ];
 
   meta = with lib; {
     description = "Render markdown on the CLI, with pizzazz!";
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index d4a7d292322..8cf7966703f 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -16,13 +16,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.0.11-5";
+  version = "7.0.11-6";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    sha256 = "sha256-HJUC8lUHORZMHvSv1/EYM+JOsd89quFaU1Fz08AckG8=";
+    sha256 = "sha256-QClOS58l17KHeQXya+IKNx6nIkd6jCKp8uupRH7Fwnk=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index 99e8478224f..c7484f4cbfe 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fig2dev";
-  version = "3.2.8";
+  version = "3.2.8a";
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
-    sha256 = "0zg29yqknfafyzmmln4k7kydfb2dapk3r8ffvlqhj3cm8fp5h4lk";
+    sha256 = "1bm75lf9j54qpbjx8hzp6ixaayp1x9w4v3yxl6vxyw8g5m4sqdk3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/graphics/mozjpeg/default.nix b/pkgs/applications/graphics/mozjpeg/default.nix
index af6b812e1e5..0c1933ad612 100644
--- a/pkgs/applications/graphics/mozjpeg/default.nix
+++ b/pkgs/applications/graphics/mozjpeg/default.nix
@@ -1,18 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libpng, nasm }:
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libpng, zlib, nasm }:
 
 stdenv.mkDerivation rec {
-  version = "3.3.1";
+  version = "4.0.3";
   pname = "mozjpeg";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "mozjpeg";
     rev = "v${version}";
-    sha256 = "1na68860asn8b82ny5ilwbhh4nyl9gvx2yxmm4wr2v1v95v51fky";
+    sha256 = "1wb2ys0yjy6hgpb9qvzjxs7sb2zzs44p6xf7n026mx5nx85hjbyv";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libpng nasm ];
+  cmakeFlags = [ "-DENABLE_STATIC=NO" "-DPNG_SUPPORTED=TRUE" ]; # See https://github.com/mozilla/mozjpeg/issues/351
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ libpng zlib nasm ];
 
   meta = {
     description = "Mozilla JPEG Encoder Project";
diff --git a/pkgs/applications/graphics/panotools/default.nix b/pkgs/applications/graphics/panotools/default.nix
index 50e0f3955f7..52351fab4ce 100644
--- a/pkgs/applications/graphics/panotools/default.nix
+++ b/pkgs/applications/graphics/panotools/default.nix
@@ -1,11 +1,12 @@
 { fetchurl, lib, stdenv, libjpeg, libpng, libtiff, perl }:
 
 stdenv.mkDerivation rec {
-  name = "libpano13-2.9.19";
+  pname = "libpano13";
+  version = "2.9.20";
 
   src = fetchurl {
-    url = "mirror://sourceforge/panotools/${name}.tar.gz";
-    sha256 = "1a4m3plmfcrrplqs9zfzhc5apibn10m5sajpizm1sd3q74w5fwq3";
+    url = "mirror://sourceforge/panotools/${pname}-${version}.tar.gz";
+    sha256 = "12cv4886l1czfjwy7k6ipgf3zjksgwhdjzr2s9fdg33vqcv2hlrv";
   };
 
   buildInputs = [ perl libjpeg libpng libtiff ];
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 96df57d7198..19d3c63ab3e 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.3.9";
+  version = "0.3.11";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-btkGn/67KVFB272j7u5MKZCeby2fyRthLLeXj8VgX7s=";
+    sha256 = "sha256-kLRxZW89Bm2N/KxFYetIq+auPBW/vFoUnB8uaEcM8Yo=";
   };
 
-  vendorSha256 = "sha256-/SsDDFveovJfuEdnOkxHAWccS8PJW5k9IHSxSJAgHMQ=";
+  vendorSha256 = "sha256-p/2Bu5h2P3ebgvSC12jdR2Zpd27xCFwtB/KZV0AULAM=";
 
   # No tests
   doCheck = false;
diff --git a/pkgs/applications/graphics/xfig/default.nix b/pkgs/applications/graphics/xfig/default.nix
index 8773db5bead..3330e3eaefd 100644
--- a/pkgs/applications/graphics/xfig/default.nix
+++ b/pkgs/applications/graphics/xfig/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xfig";
-  version = "3.2.8";
+  version = "3.2.8a";
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/xfig-${version}.tar.xz";
-    sha256 = "1czamqp0xn0j6qjnasa3fjnrzi072v6qknylr6jrs4gwsfw4ybyw";
+    sha256 = "0y45i1gqg3r0aq55jk047l1hnv90kqis6ld9lppx6c5jhpmc0hxs";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 451cc9a33f3..95a0e41d2ae 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -35,7 +35,8 @@ stdenv.mkDerivation rec {
 
   patches = lib.optional stdenv.isDarwin ./darwin.patch;
 
-  nativeBuildInputs = [ cmake makeWrapper ] ++ optional cudaSupport addOpenGLRunpath;
+  nativeBuildInputs = [ cmake makeWrapper python3Packages.wrapPython ]
+    ++ optionals cudaSupport [ addOpenGLRunpath ];
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
       freetype libjpeg libpng libsamplerate libsndfile libtiff
@@ -63,6 +64,7 @@ stdenv.mkDerivation rec {
     ++ optional cudaSupport cudatoolkit
     ++ optional colladaSupport opencollada
     ++ optional spaceNavSupport libspnav;
+  pythonPath = with python3Packages; [ numpy requests ];
 
   postPatch = ''
     # allow usage of dynamically linked embree
@@ -109,6 +111,7 @@ stdenv.mkDerivation rec {
       "-DWITH_PYTHON_INSTALL_NUMPY=OFF"
       "-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}"
       "-DPYTHON_NUMPY_INCLUDE_DIRS=${python3Packages.numpy}/${python.sitePackages}/numpy/core/include"
+      "-DWITH_PYTHON_INSTALL_REQUESTS=OFF"
       "-DWITH_OPENVDB=ON"
       "-DWITH_TBB=ON"
       "-DWITH_IMAGE_OPENJPEG=ON"
@@ -137,10 +140,11 @@ stdenv.mkDerivation rec {
 
   blenderExecutable =
     placeholder "out" + (if stdenv.isDarwin then "/Blender.app/Contents/MacOS/Blender" else "/bin/blender");
-  # --python-expr is used to workaround https://developer.blender.org/T74304
   postInstall = ''
+    buildPythonPath "$pythonPath"
     wrapProgram $blenderExecutable \
-      --prefix PYTHONPATH : ${python3Packages.numpy}/${python.sitePackages} \
+      --prefix PATH : $program_PATH \
+      --prefix PYTHONPATH : "$program_PYTHONPATH" \
       --add-flags '--python-use-system-env'
   '';
 
diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix
index a78ac11d67c..d482e40328c 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.13.6";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "TomWright";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PTi1blbMVsuftLrFIYNDI8ZFEwRxDA53Md9oZTv7nHs=";
+    sha256 = "1g4a001k86myfln0xlzy8w9krwamvfchnvywpr1p3x6iw95z46w8";
   };
 
   vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
diff --git a/pkgs/applications/misc/foxitreader/default.nix b/pkgs/applications/misc/foxitreader/default.nix
new file mode 100644
index 00000000000..e69361dbd93
--- /dev/null
+++ b/pkgs/applications/misc/foxitreader/default.nix
@@ -0,0 +1,79 @@
+{ mkDerivation, lib, fetchzip, libarchive, autoPatchelfHook, libsecret, libGL, zlib, openssl, qtbase, qtwebkit, qtxmlpatterns }:
+
+mkDerivation rec {
+  pname = "foxitreader";
+  version = "2.4.4.0911";
+
+  src = fetchzip {
+    url = "https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/${lib.versions.major version}.x/${lib.versions.majorMinor version}/en_us/FoxitReader.enu.setup.${version}.x64.run.tar.gz";
+    sha256 = "0ff4xs9ipc7sswq0czfhpsd7qw7niw0zsf9wgsqhbbgzcpbdhcb7";
+    stripRoot = false;
+  };
+
+  buildInputs = [ libGL libsecret openssl qtbase qtwebkit qtxmlpatterns zlib ];
+
+  nativeBuildInputs = [ autoPatchelfHook libarchive ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    input_file=$src/*.run
+    mkdir -p extracted
+    # Look for all 7z files and extract them
+    grep --only-matching --byte-offset --binary \
+      --text -P '7z\xBC\xAF\x27\x1C\x00\x03' $input_file | cut -d: -f1 |
+      while read position; do
+        tail -c +$(($position + 1)) $input_file > file.7z
+        bsdtar xf file.7z -C extracted
+      done
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/lib
+    cd extracted
+
+    cp -r  \
+      CollectStrategy.txt \
+      cpdf_settings \
+      fxplugins \
+      lang \
+      resource \
+      run \
+      stamps \
+      welcome \
+      Wrappers \
+      $out/lib/
+
+    patchelf $out/lib/fxplugins/librms.so \
+      --replace-needed libssl.so.10 libssl.so \
+      --replace-needed libcrypto.so.10 libcrypto.so
+
+    # FIXME: Doing this with one invocation is broken right now
+    patchelf $out/lib/fxplugins/librmscrypto.so \
+      --replace-needed libssl.so.10 libssl.so
+    patchelf $out/lib/fxplugins/librmscrypto.so \
+      --replace-needed libcrypto.so.10 libcrypto.so
+
+    install -D -m 755 FoxitReader -t $out/bin
+
+    # Install icon and desktop files
+    install -D -m 644 images/FoxitReader.png -t $out/share/pixmaps/
+    install -D -m 644 FoxitReader.desktop -t $out/share/applications/
+    echo Exec=FoxitReader %F >> $out/share/applications/FoxitReader.desktop
+
+    runHook postInstall
+  '';
+
+  qtWrapperArgs = [ "--set appname FoxitReader" "--set selfpath $out/lib" ];
+
+  meta = with lib; {
+    description = "A viewer for PDF documents";
+    homepage = "https://www.foxitsoftware.com/";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ p-h rhoriguchi ];
+  };
+}
diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix
index 9ae6fda9fce..78cf6a07e8c 100644
--- a/pkgs/applications/misc/megasync/default.nix
+++ b/pkgs/applications/misc/megasync/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , autoconf
 , automake
 , c-ares
@@ -24,21 +25,29 @@
 , unzip
 , wget
 }:
-
 mkDerivation rec {
   pname = "megasync";
-  version = "4.3.5.0";
+  version = "4.4.0.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAsync";
     rev = "v${version}_Linux";
-    sha256 = "0rr1jjy0n5bj1lh6xi3nbbcikvq69j3r9qnajp4mhywr5izpccvs";
+    sha256 = "1xggca7283943070mmpsfhh7c9avy809h0kgmf7497f4ca5zkg2y";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs =
-    [ autoconf automake doxygen lsb-release pkg-config qttools swig unzip ];
+  nativeBuildInputs = [
+    autoconf
+    automake
+    doxygen
+    libtool
+    lsb-release
+    pkg-config
+    qttools
+    swig
+    unzip
+  ];
   buildInputs = [
     c-ares
     cryptopp
@@ -47,7 +56,6 @@ mkDerivation rec {
     libmediainfo
     libraw
     libsodium
-    libtool
     libuv
     libzen
     qtbase
@@ -65,7 +73,7 @@ mkDerivation rec {
   ];
 
   postPatch = ''
-    for file in $(find src/ -type f \( -iname configure -o -iname \*.sh  \) ); do
+    for file in $(find src/ -type f \( -iname configure -o -iname \*.sh \) ); do
       substituteInPlace "$file" --replace "/bin/bash" "${stdenv.shell}"
     done
   '';
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index f35a3f1b71e..d7906c7dcbd 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -30,12 +30,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obsidian";
-  version = "0.11.9";
+  version = "0.11.13";
 
   src = fetchurl {
     url =
       "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.tar.gz";
-    sha256 = "XymM3qma8H2dm2tq8Zg+oKxOzb48azqlqn701pN5gdI=";
+    sha256 = "0QL1rP37pmdIdGM9eHa7PfW1GVrvn2fX4bQPqQ8FOpI=";
   };
 
   nativeBuildInputs = [ makeWrapper graphicsmagick ];
diff --git a/pkgs/applications/misc/pdfarranger/default.nix b/pkgs/applications/misc/pdfarranger/default.nix
index 27a5934e483..235d14b4cda 100644
--- a/pkgs/applications/misc/pdfarranger/default.nix
+++ b/pkgs/applications/misc/pdfarranger/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pdfarranger";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0dmgmvpghsm938iznalbg8h8k17a5h3q466yfc67mcll428n4nx3";
+    sha256 = "1c2mafnz8pv32wzkc2wx4q8y2x7xffpn6ag12dj7ga5n772fb6s3";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/pytrainer/default.nix b/pkgs/applications/misc/pytrainer/default.nix
index 4e1e1f31f19..44b2cd700ec 100644
--- a/pkgs/applications/misc/pytrainer/default.nix
+++ b/pkgs/applications/misc/pytrainer/default.nix
@@ -1,81 +1,77 @@
 { lib
-, fetchFromGitHub
-, perl
 , python3
-, sqlite
-, gpsbabel
+, fetchFromGitHub
+, gdk-pixbuf
 , gnome3
-, gobject-introspection
-, wrapGAppsHook
-, gtk3
-, xvfb_run
-, webkitgtk
+, gpsbabel
 , glib-networking
 , glibcLocales
+, gobject-introspection
+, gtk3
+, perl
+, sqlite
 , tzdata
-, substituteAll
+, webkitgtk
+, wrapGAppsHook
+, xvfb_run
 }:
 
 let
-  # Pytrainer needs a matplotlib with GTK backend.
-  matplotlibGtk = python3.pkgs.matplotlib.override {
-    enableGtk3 = true;
+  python = python3.override {
+    packageOverrides = (self: super: {
+      matplotlib = super.matplotlib.override {
+        enableGtk3 = true;
+      };
+    });
   };
-
-in
-
-python3.pkgs.buildPythonApplication rec {
+in python.pkgs.buildPythonApplication rec {
   pname = "pytrainer";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "pytrainer";
     repo = "pytrainer";
     rev = "v${version}";
-    sha256 = "0m2sy3f5pyc4wv1ns31r7vlafqkzp0a2jasaskwrkl6273agbbk9";
+    sha256 = "sha256-i3QC6ct7tS8B0QQjtVqPcd03LLIxo6djQe4YX35syzk=";
   };
 
-  patches = [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      perl = "${perl}/bin/perl";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace ./setup.py \
-      --replace "'mysqlclient'," ""
-  '';
-
-  propagatedBuildInputs = with python3.pkgs; [
-    dateutil
-    lxml
-    matplotlibGtk
-    pygobject3
-    sqlalchemy
+  propagatedBuildInputs = with python.pkgs; [
     sqlalchemy_migrate
-    psycopg2
-    requests
-    certifi
+    python-dateutil
+    matplotlib
+    lxml
     setuptools
+    requests
+    gdal
   ];
 
   nativeBuildInputs = [
     gobject-introspection
     wrapGAppsHook
-    xvfb_run
   ];
 
   buildInputs = [
-    gpsbabel
     sqlite
     gtk3
     webkitgtk
     glib-networking
-    glibcLocales
     gnome3.adwaita-icon-theme
+    gdk-pixbuf
+  ];
+
+  makeWrapperArgs = [
+    "--prefix" "PATH" ":" (lib.makeBinPath [ perl gpsbabel ])
   ];
 
+  checkInputs = [
+    glibcLocales
+    perl
+    xvfb_run
+  ] ++ (with python.pkgs; [
+    mysqlclient
+    psycopg2
+  ]);
+
   checkPhase = ''
     env HOME=$TEMPDIR TZDIR=${tzdata}/share/zoneinfo \
       TZ=Europe/Kaliningrad \
@@ -85,9 +81,9 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/pytrainer/pytrainer/wiki";
+    homepage = "https://github.com/pytrainer/pytrainer";
     description = "Application for logging and graphing sporting excursions";
-    maintainers = [ maintainers.rycee ];
+    maintainers = with maintainers; [ rycee dotlambda ];
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/misc/pytrainer/fix-paths.patch b/pkgs/applications/misc/pytrainer/fix-paths.patch
deleted file mode 100644
index 7781f5aa4be..00000000000
--- a/pkgs/applications/misc/pytrainer/fix-paths.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/imports/file_garminfit.py
-+++ b/imports/file_garminfit.py
-@@ -81,7 +81,7 @@
-         logging.debug(">>")
-         result = False
-         try:
--            result = subprocess.check_output(["perl",
-+            result = subprocess.check_output(["@perl@",
-                                               self.main_data_path+"plugins/garmin-fit/bin/fit2tcx",
-                                               filename])
-         except subprocess.CalledProcessError:
diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix
index 29cd7967e13..bba78bf7538 100644
--- a/pkgs/applications/misc/qdirstat/default.nix
+++ b/pkgs/applications/misc/qdirstat/default.nix
@@ -4,13 +4,13 @@
 
 let
   pname = "qdirstat";
-  version = "1.7";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "shundhammer";
     repo = pname;
     rev = version;
-    sha256 = "163x3fxra0l3vvrzm25mh7jvcwjbmwsqlpppkxx76mkz9a1769fy";
+    sha256 = "sha256-i1xHMwSnBULJbOA/ykQK9WBd+6TBNBRI9hnU1FDGQlY=";
   };
 in
 
@@ -50,7 +50,7 @@ mkDerivation {
   meta = with lib; {
     description = "Graphical disk usage analyzer";
     homepage = src.meta.homepage;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ gnidorah ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/misc/qlcplus/default.nix b/pkgs/applications/misc/qlcplus/default.nix
index 261a597f8d7..439af2b8c01 100644
--- a/pkgs/applications/misc/qlcplus/default.nix
+++ b/pkgs/applications/misc/qlcplus/default.nix
@@ -29,6 +29,8 @@ mkDerivation rec {
 
   qmakeFlags = [ "INSTALLROOT=$(out)" ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   postPatch = ''
     patchShebangs .
     sed -i -e '/unix:!macx:INSTALLROOT += \/usr/d' \
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index d780f9e35d5..7563fa0ca3d 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonApplication rec {
   pname = "udiskie";
-  version = "2.3.2";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "coldfix";
     repo = "udiskie";
     rev = "v${version}";
-    hash = "sha256-eucAFMzLf2RfMfVgFTfPAgVNpDADddvTUZQO/XbBhGo=";
+    hash = "sha256-OeNAcL7jd8GiPVUGxWwX4N/G/jzxfyifaoSD/hXXwyM=";
   };
 
   nativeBuildInputs = [
@@ -58,8 +58,8 @@ buildPythonApplication rec {
   '';
 
   checkInputs = [
-    nose
     keyutils
+    nose
   ];
 
   checkPhase = ''
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 1fecadc2ec0..f37666b0033 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -89,6 +89,6 @@ mkChromiumDerivation (base: rec {
       then ["aarch64-linux" "x86_64-linux"]
       else [];
     timeout = 172800; # 48 hours (increased from the Hydra default of 10h)
-    broken = elem channel [ "beta" "dev" ];
+    broken = elem channel [ "dev" ];
   };
 })
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 71bc18f45d5..0e99a0b4675 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -157,7 +157,12 @@ let
       # To fix the build of chromiumBeta and chromiumDev:
       "b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9" # add dependency on opus in webcodecs
       "1r4wmwaxz5xbffmj5wspv2xj8s32j9p6jnwimjmalqg3al2ba64x"
-    );
+    ) ++ optional (versionRange "89" "90.0.4422.0") (fetchpatch {
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/61b0ab526d2aa3c62fa20bb756461ca9a482f6c6/trunk/chromium-fix-libva-redef.patch";
+      sha256 = "1qj4sn1ngz0p1l1w3346kanr1sqlr3xdzk1f1i86lqa45mhv77ny";
+    }) ++ optional (chromiumVersionAtLeast "90")
+      ./fix-missing-atspi2-dependency.patch
+    ;
 
     postPatch = ''
       # remove unused third-party
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 1ad7bc8bfa8..e921169cf06 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -41,6 +41,7 @@ let
       });
     } // lib.optionalAttrs (lib.versionAtLeast upstream-info.version "90") {
       llvmPackages = llvmPackages_12;
+      stdenv = llvmPackages_12.stdenv;
     });
 
     browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; };
diff --git a/pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch b/pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch
new file mode 100644
index 00000000000..9417b30159d
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/fix-missing-atspi2-dependency.patch
@@ -0,0 +1,26 @@
+From 6c5b9197076f6f384112e6566039116c56600909 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Sat, 10 Apr 2021 13:53:50 +0200
+Subject: [PATCH] Fix a missing atspi2 dependency
+
+See https://bugs.chromium.org/p/chromium/issues/detail?id=1197837 for
+more details.
+---
+ content/public/browser/BUILD.gn | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn
+index 7e7c436d90c7..20ef832f1d8c 100644
+--- a/content/public/browser/BUILD.gn
++++ b/content/public/browser/BUILD.gn
+@@ -535,6 +535,7 @@ source_set("browser_sources") {
+ 
+   if (use_atk) {
+     sources += [ "ax_inspect_factory_auralinux.cc" ]
++    configs += [ "//build/config/linux/atspi2" ]
+   }
+ 
+   if (is_linux || is_chromeos) {
+-- 
+2.20.1
+
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 94c45120cc6..f8a823b5f38 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -31,15 +31,15 @@
     }
   },
   "dev": {
-    "version": "91.0.4464.5",
-    "sha256": "1djwlb74cgfc5ns7w2m10qcd2d2fz0i90k5szcfsm899c7x3zgyf",
-    "sha256bin64": "0kqr5mlbq23ahmyg67lh15j5sqa29wi301s8rvfgh0gxf10vgc2l",
+    "version": "91.0.4469.4",
+    "sha256": "08lffqjfcszniwwshililab553a0dvycaa72h1dklxvxf360nz5f",
+    "sha256bin64": "14xyzjwzcyp6idscq6i87yh2fibjamkz5xfsb2y0hrf2diaqijw1",
     "deps": {
       "gn": {
-        "version": "2021-03-30",
+        "version": "2021-04-06",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "5667cc61018864b17542e0baff8b790f245583b0",
-        "sha256": "0mr7jqk1r46ngrx4hrg8gxnzqxfxc1c9a966gpsjlgc00k390m5s"
+        "rev": "dba01723a441c358d843a575cb7720d54ddcdf92",
+        "sha256": "199xkks67qrn0xa5fhp24waq2vk8qb78a96cb3kdd8v1hgacgb8x"
       }
     }
   },
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 26fb49ef2a3..390b26a1b9e 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -115,8 +115,7 @@ let
                 };
               }
             ) {} extensions;
-          } //
-          {
+          } // lib.optionalAttrs usesNixExtensions {
             Extensions = {
               Install = lib.foldr (e: ret:
                 ret ++ [ "${e.outPath}/${e.extid}.xpi" ]
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 30e154e5222..abb0bd15515 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-85KshJEL7ri10mSm/KgcT03WLEwRMMTGczb6mGx66Jw=";
+    sha256 = "sha256-90MN7JH84h10dSXt5Kwc2V3FKVutQ7AmNcR4TK2bpBY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 6cb947cb816..a94b7eb7605 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, fetchzip, python3
+{ lib, fetchpatch, fetchurl, fetchzip, python3
 , mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking
 , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
 , libxslt, gst_all_1 ? null
@@ -67,7 +67,15 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
     ++ lib.optional (pythonOlder "3.9") importlib-resources
   );
 
-  patches = [ ./fix-restart.patch ];
+  patches = [
+    ./fix-restart.patch
+    (fetchpatch {
+      name = "fix-version-parsing.patch";
+      url = "https://github.com/qutebrowser/qutebrowser/commit/c3d1b71c6f08607f47353f406aca0168bb3062a1.patch";
+      excludes = [ "doc/changelog.asciidoc" ];
+      sha256 = "1vm2yjvmrw4cyn8mpwfwvvcihn74f60ql3qh1rjj8n0wak8z1ir6";
+    })
+  ];
 
   dontWrapGApps = true;
   dontWrapQtApps = true;
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 6e5d05ff0d7..3b9d7784b7e 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,16 +19,16 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "2.12.10";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-A4s6D3/1FsqrJ+Jaql4IuyD9ySChL3SXqVvl8wUDRDE=";
+    sha256 = "sha256-TbNqwTVND09WzUH8ZH7YFRwcHV8eX1G0FXtZJi67Sk4=";
   };
 
-  vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE=";
+  vendorSha256 = "sha256-YjVAoMyGKMHLGEPeOOkCKCzeWFiUsXfJIKcw5GYoljg=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix
index 0e97b541a5d..6f97be468f5 100644
--- a/pkgs/applications/networking/cluster/octant/default.nix
+++ b/pkgs/applications/networking/cluster/octant/default.nix
@@ -1,27 +1,27 @@
 { lib, stdenv, fetchzip }:
 
-let
-  inherit (stdenv.hostPlatform) system;
-  suffix = {
-    x86_64-linux = "Linux-64bit";
-    aarch64-linux = "Linux-arm64";
-    x86_64-darwin = "macOS-64bit";
-  }."${system}" or (throw "Unsupported system: ${system}");
-  baseurl = "https://github.com/vmware-tanzu/octant/releases/download";
-  fetchsrc = version: sha256: fetchzip {
-      url = "${baseurl}/v${version}/octant_${version}_${suffix}.tar.gz";
-      sha256 = sha256."${system}";
-    };
-in
 stdenv.mkDerivation rec {
   pname = "octant";
-  version = "0.18.0";
+  version = "0.19.0";
 
-  src = fetchsrc version {
-    x86_64-linux = "sha256-D/pHOXR7XQoJCGqUep1lBAY4239HH35m+evFd21pcK0=";
-    aarch64-linux = "sha256-aL1axz3ebqrKQ3xK2UgDMQ+o6ZKgIvwy6Phici7WT2c=";
-    x86_64-darwin = "sha256-MFxOAAEnLur0LJJNU0SSlO+bH4f18zOfZNA49fKEQEw=";
-  };
+  src =
+    let
+      inherit (stdenv.hostPlatform) system;
+      suffix = {
+        x86_64-linux = "Linux-64bit";
+        aarch64-linux = "Linux-arm64";
+        x86_64-darwin = "macOS-64bit";
+      }.${system} or (throw "Unsupported system: ${system}");
+      fetchsrc = version: sha256: fetchzip {
+        url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/octant_${version}_${suffix}.tar.gz";
+        sha256 = sha256.${system};
+      };
+    in
+    fetchsrc version {
+      x86_64-linux = "sha256-TKvUBof4TLcHr9hg6AOLjVd1NcAX9HHVuuABdFKRNQA=";
+      aarch64-linux = "sha256-BJb7h6kJZ3QhdlEqNHkiFp91uYLXzYHvKftxEAhjY38=";
+      x86_64-darwin = "sha256-Ig98IqLmlN9D4iXrP9SXYwTrQOvbtQ/tQW+uEmntm+I=";
+    };
 
   dontConfigure = true;
   dontBuild = true;
@@ -48,12 +48,14 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://octant.dev/";
     changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md";
-    description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.";
+    description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters";
     longDescription = ''
-      Octant is a tool for developers to understand how applications run on a Kubernetes cluster.
-      It aims to be part of the developer's toolkit for gaining insight and approaching complexity found in Kubernetes.
-      Octant offers a combination of introspective tooling, cluster navigation, and object management along with a
-      plugin system to further extend its capabilities.
+      Octant is a tool for developers to understand how applications run on a
+      Kubernetes cluster.
+      It aims to be part of the developer's toolkit for gaining insight and
+      approaching complexity found in Kubernetes. Octant offers a combination of
+      introspective tooling, cluster navigation, and object management along
+      with a plugin system to further extend its capabilities.
     '';
     license = licenses.asl20;
     maintainers = with maintainers; [ jk ];
diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix
new file mode 100644
index 00000000000..5917d9ce033
--- /dev/null
+++ b/pkgs/applications/networking/cluster/octant/desktop.nix
@@ -0,0 +1,78 @@
+{ lib, stdenv, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3, undmg }:
+
+let
+  pname = "octant-desktop";
+  version = "0.19.0";
+  name = "${pname}-${version}";
+
+  inherit (stdenv.hostPlatform) system;
+
+  suffix = {
+    x86_64-linux = "AppImage";
+    x86_64-darwin = "dmg";
+  }.${system} or (throw "Unsupported system: ${system}");
+
+  src = fetchurl {
+    url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
+    sha256 = {
+      x86_64-linux = "sha256-1XFb0zuyOy8XEUd9hoexItjq4assuWlWIzqw7pZxHx0=";
+      x86_64-darwin = "sha256-e3v5BFX7wnx4sAQrOq+dBIDVPJYzQZKKvKjSX+dis2U=";
+    }.${system};
+  };
+
+  linux = appimageTools.wrapType2 {
+    inherit name src passthru meta;
+
+    profile = ''
+      export LC_ALL=C.UTF-8
+      export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+    '';
+
+    multiPkgs = null; # no 32bit needed
+    extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+    extraInstallCommands =
+      let appimageContents = appimageTools.extractType2 { inherit name src; }; in
+      ''
+        mv $out/bin/{${name},${pname}}
+        install -Dm444 ${appimageContents}/octant.desktop -t $out/share/applications
+        substituteInPlace $out/share/applications/octant.desktop \
+          --replace 'Exec=AppRun --no-sandbox' 'Exec=${pname}'
+        install -m 444 -D ${appimageContents}/octant.png \
+          $out/share/icons/hicolor/512x512/apps/octant.png
+      '';
+  };
+
+  darwin = stdenv.mkDerivation {
+    inherit name src passthru meta;
+
+    nativeBuildInputs = [ undmg ];
+    sourceRoot = "Octant.app";
+    installPhase = ''
+      mkdir -p $out/Applications/Octant.app
+      cp -R . $out/Applications/Octant.app
+    '';
+  };
+
+  passthru = { updateScript = ./update-desktop.sh; };
+
+  meta = with lib; {
+    homepage = "https://octant.dev/";
+    changelog = "https://github.com/vmware-tanzu/octant/blob/v${version}/CHANGELOG.md";
+    description = "Highly extensible platform for developers to better understand the complexity of Kubernetes clusters";
+    longDescription = ''
+      Octant is a tool for developers to understand how applications run on a
+      Kubernetes cluster.
+      It aims to be part of the developer's toolkit for gaining insight and
+      approaching complexity found in Kubernetes. Octant offers a combination of
+      introspective tooling, cluster navigation, and object management along
+      with a plugin system to further extend its capabilities.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jk ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/pkgs/applications/networking/cluster/octant/update-desktop.sh b/pkgs/applications/networking/cluster/octant/update-desktop.sh
new file mode 100755
index 00000000000..4450834b4b7
--- /dev/null
+++ b/pkgs/applications/networking/cluster/octant/update-desktop.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused gawk nix-prefetch
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+NIX_DRV="$ROOT/desktop.nix"
+if [ ! -f "$NIX_DRV" ]; then
+  echo "ERROR: cannot find desktop.nix in $ROOT"
+  exit 1
+fi
+
+fetch_arch() {
+  VER="$1"; SUFFIX="$2"
+  URL="https://github.com/vmware-tanzu/octant/releases/download/v${VER}/Octant-${VER}.${SUFFIX}"
+  nix-prefetch "{ stdenv, fetchurl }:
+stdenv.mkDerivation rec {
+  pname = \"octant-desktop\"; version = \"${VER}\";
+  src = fetchurl { url = \"$URL\"; };
+}
+"
+}
+
+replace_sha() {
+  sed -i "s#$1 = \"sha256-.\{44\}\"#$1 = \"$2\"#" "$NIX_DRV"
+}
+
+OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
+
+OCTANT_DESKTOP_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "AppImage")
+OCTANT_DESKTOP_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "dmg")
+
+sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
+
+replace_sha "x86_64-linux" "$OCTANT_DESKTOP_LINUX_X64_SHA256"
+replace_sha "x86_64-darwin" "$OCTANT_DESKTOP_DARWIN_X64_SHA256"
diff --git a/pkgs/applications/networking/cluster/octant/update.sh b/pkgs/applications/networking/cluster/octant/update.sh
index 4ffe4aefb30..6c34fc4b37a 100755
--- a/pkgs/applications/networking/cluster/octant/update.sh
+++ b/pkgs/applications/networking/cluster/octant/update.sh
@@ -28,11 +28,11 @@ replace_sha() {
 OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmware-tanzu/octant/releases/latest | awk -F'/' '{print $NF}' | sed 's/v//')
 
 OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit")
-OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
-OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
+OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
+OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
 
 sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
 
 replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256"
-replace_sha "x86_64-darwin" "$OCTANT_LINUX_AARCH64_SHA256"
-replace_sha "aarch64-linux" "$OCTANT_DARWIN_X64_SHA256"
+replace_sha "aarch64-linux" "$OCTANT_LINUX_AARCH64_SHA256"
+replace_sha "x86_64-darwin" "$OCTANT_DARWIN_X64_SHA256"
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index 7675dc0de88..1f3bf4467d6 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6sV2e/m0qVSRWgdvVZ9VxEL/J57nTcTClxHF5X8/8PQ=";
+    sha256 = "sha256-lB9ELa/okNvtKFDP/vImEdYFJCKRgtAcpBG1kIoAysE=";
   };
 
   deleteVendor = true;
-  vendorSha256 = "sha256-NPE3YHulqllWDGrxQgPmy/KKE7xFPOUorLQNIU8cP50=";
+  vendorSha256 = "sha256-VxKUYD92DssoSjWxR+1gZLq34vCVM/4U2ju5felLWzI=";
 
   nativeBuildInputs = [ go-bindata ];
 
@@ -36,7 +36,7 @@ buildGoModule rec {
     export HOME="$TMPDIR"
 
     $out/bin/waypoint --help
-    $out/bin/waypoint version # | grep "Waypoint v${version}"
+    $out/bin/waypoint version | grep "Waypoint v${version}"
     runHook postInstallCheck
   '';
 
diff --git a/pkgs/applications/networking/esniper/default.nix b/pkgs/applications/networking/esniper/default.nix
deleted file mode 100644
index 97b0b1f192b..00000000000
--- a/pkgs/applications/networking/esniper/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchgit, openssl, curl, coreutils, gawk, bash, which }:
-
-stdenv.mkDerivation {
-  name = "esniper-2.35.0-21-g6379846";
-
-  src = fetchgit {
-    url    = "https://git.code.sf.net/p/esniper/git";
-    rev    = "637984623984ef36782d52d8968df7fae7bbb0a7";
-    sha256 = "1md3fzs0k88f6mgvrj1yrh96mn0qlca2p6vfqj6dnpyb8pjjwp8w";
-  };
-
-  buildInputs = [ openssl curl ];
-
-  # Add support for CURL_CA_BUNDLE variable.
-  # Fix <https://sourceforge.net/p/esniper/bugs/648/>.
-  patches = [ ./find-ca-bundle.patch ];
-
-  postInstall = ''
-    sed <"frontends/snipe" >"$out/bin/snipe" \
-      -e "2i export PATH=\"$out/bin:${lib.makeBinPath [ coreutils gawk bash which ]}:\$PATH\""
-    chmod 555 "$out/bin/snipe"
-  '';
-
-  meta = with lib; {
-    description = "Simple, lightweight tool for sniping eBay auctions";
-    homepage    = "http://esniper.sourceforge.net";
-    license     = licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 peti ];
-    platforms   = platforms.all;
-  };
-}
diff --git a/pkgs/applications/networking/esniper/find-ca-bundle.patch b/pkgs/applications/networking/esniper/find-ca-bundle.patch
deleted file mode 100644
index e4df272a0c9..00000000000
--- a/pkgs/applications/networking/esniper/find-ca-bundle.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -ubr '--exclude=*.o' esniper-2-27-0-orig/http.c esniper-2-27-0-patched/http.c
---- esniper-2-27-0-orig/http.c	2012-02-06 22:04:06.000000000 +0100
-+++ esniper-2-27-0-patched/http.c	2012-07-27 10:54:20.893054646 +0200
-@@ -200,6 +200,9 @@
- int
- initCurlStuff(void)
- {
-+	/* Path to OpenSSL bundle file. */
-+	const char *ssl_capath=NULL;
-+
- 	/* list for custom headers */
- 	struct curl_slist *slist=NULL;
- 
-@@ -241,6 +244,12 @@
- 	if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_COOKIEFILE, "")))
- 		return initCurlStuffFailed();
- 
-+	/* If the environment variable CURL_CA_BUNDLE is set, pass through its
-+	 * contents to curl. */
-+	if ((ssl_capath = getenv("CURL_CA_BUNDLE")))
-+		if ((curlrc = curl_easy_setopt(easyhandle, CURLOPT_CAINFO, ssl_capath)))
-+			return initCurlStuffFailed();
-+
- 	slist = curl_slist_append(slist, "Accept: text/*");
- 	slist = curl_slist_append(slist, "Accept-Language: en");
- 	slist = curl_slist_append(slist, "Accept-Charset: iso-8859-1,*,utf-8");
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 1438d61f999..7e13408d04d 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner = "martinrotter";
     repo = pname;
     rev = version;
-    sha256 = "sha256-pprWJIYAFYSTPhWVCW4dz3GWeAS53Vo8UXiyQ56Mwjo=";
+    sha256 = "sha256-zSnSCbBNySc5GQSm0O8NztCKNqdNs6bGNWL/RkmGsUw=";
   };
 
   buildInputs =  [ qtwebengine qttools ];
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index 72a5b86c625..aa240b48e88 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "src/electron-main.js",
-  "version": "1.7.24",
+  "version": "1.7.25",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -39,8 +39,8 @@
   },
   "devDependencies": {
     "asar": "^2.0.1",
-    "electron-builder": "22.9.1",
-    "electron-builder-squirrel-windows": "22.9.1",
+    "electron-builder": "22.10.5",
+    "electron-builder-squirrel-windows": "22.10.5",
     "electron-devtools-installer": "^3.1.1",
     "electron-notarize": "^1.0.0",
     "eslint": "7.3.1",
@@ -62,7 +62,7 @@
   },
   "build": {
     "appId": "im.riot.app",
-    "electronVersion": "11.2.3",
+    "electronVersion": "12.0.2",
     "files": [
       "package.json",
       {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
index a0fb802ac04..2c254f78372 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
@@ -10,6 +10,14 @@
       };
     }
     {
+      name = "7zip_bin___7zip_bin_5.1.1.tgz";
+      path = fetchurl {
+        name = "7zip_bin___7zip_bin_5.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.1.1.tgz";
+        sha1 = "9274ec7460652f9c632c59addf24efb1684ef876";
+      };
+    }
+    {
       name = "_babel_code_frame___code_frame_7.5.5.tgz";
       path = fetchurl {
         name = "_babel_code_frame___code_frame_7.5.5.tgz";
@@ -130,6 +138,14 @@
       };
     }
     {
+      name = "_electron_universal___universal_1.0.4.tgz";
+      path = fetchurl {
+        name = "_electron_universal___universal_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@electron/universal/-/universal-1.0.4.tgz";
+        sha1 = "231ac246c39d45b80e159bd21c3f9027dcaa10f5";
+      };
+    }
+    {
       name = "_iarna_cli___cli_1.2.0.tgz";
       path = fetchurl {
         name = "_iarna_cli___cli_1.2.0.tgz";
@@ -386,6 +402,14 @@
       };
     }
     {
+      name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
+      path = fetchurl {
+        name = "_malept_cross_spawn_promise___cross_spawn_promise_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@malept/cross-spawn-promise/-/cross-spawn-promise-1.1.1.tgz";
+        sha1 = "504af200af6b98e198bce768bc1730c6936ae01d";
+      };
+    }
+    {
       name = "_sindresorhus_is___is_0.14.0.tgz";
       path = fetchurl {
         name = "_sindresorhus_is___is_0.14.0.tgz";
@@ -426,11 +450,19 @@
       };
     }
     {
-      name = "_types_fs_extra___fs_extra_9.0.1.tgz";
+      name = "_types_fs_extra___fs_extra_9.0.9.tgz";
       path = fetchurl {
-        name = "_types_fs_extra___fs_extra_9.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.1.tgz";
-        sha1 = "91c8fc4c51f6d5dbe44c2ca9ab09310bd00c7918";
+        name = "_types_fs_extra___fs_extra_9.0.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.9.tgz";
+        sha1 = "11ed43b3f3c6b3490f1ef9bd17f58da896e2d861";
+      };
+    }
+    {
+      name = "_types_glob___glob_7.1.3.tgz";
+      path = fetchurl {
+        name = "_types_glob___glob_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz";
+        sha1 = "e6ba80f36b7daad2c685acd9266382e68985c183";
       };
     }
     {
@@ -450,6 +482,14 @@
       };
     }
     {
+      name = "_types_minimatch___minimatch_3.0.4.tgz";
+      path = fetchurl {
+        name = "_types_minimatch___minimatch_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz";
+        sha1 = "f0ec25dbf2f0e4b18647313ac031134ca5b24b21";
+      };
+    }
+    {
       name = "_types_node___node_13.7.1.tgz";
       path = fetchurl {
         name = "_types_node___node_13.7.1.tgz";
@@ -466,6 +506,22 @@
       };
     }
     {
+      name = "_types_plist___plist_3.0.2.tgz";
+      path = fetchurl {
+        name = "_types_plist___plist_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz";
+        sha1 = "61b3727bba0f5c462fe333542534a0c3e19ccb01";
+      };
+    }
+    {
+      name = "_types_verror___verror_1.10.4.tgz";
+      path = fetchurl {
+        name = "_types_verror___verror_1.10.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.4.tgz";
+        sha1 = "805c0612b3a0c124cf99f517364142946b74ba3b";
+      };
+    }
+    {
       name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
       path = fetchurl {
         name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
@@ -474,11 +530,11 @@
       };
     }
     {
-      name = "_types_yargs___yargs_15.0.5.tgz";
+      name = "_types_yargs___yargs_15.0.13.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_15.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz";
-        sha1 = "947e9a6561483bdee9adffc983e91a6902af8b79";
+        name = "_types_yargs___yargs_15.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz";
+        sha1 = "34f7fec8b389d7f3c1fd08026a5763e072d3c6dc";
       };
     }
     {
@@ -738,19 +794,19 @@
       };
     }
     {
-      name = "app_builder_bin___app_builder_bin_3.5.10.tgz";
+      name = "app_builder_bin___app_builder_bin_3.5.12.tgz";
       path = fetchurl {
-        name = "app_builder_bin___app_builder_bin_3.5.10.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.10.tgz";
-        sha1 = "4a7f9999fccc0c435b6284ae1366bc76a17c4a7d";
+        name = "app_builder_bin___app_builder_bin_3.5.12.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.5.12.tgz";
+        sha1 = "bbe174972cc1f481f73d6d92ad47a8b4c7eb4530";
       };
     }
     {
-      name = "app_builder_lib___app_builder_lib_22.9.1.tgz";
+      name = "app_builder_lib___app_builder_lib_22.10.5.tgz";
       path = fetchurl {
-        name = "app_builder_lib___app_builder_lib_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.9.1.tgz";
-        sha1 = "ccb8f1a02b628514a5dfab9401fa2a976689415c";
+        name = "app_builder_lib___app_builder_lib_22.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.10.5.tgz";
+        sha1 = "24a88581c891e5b187a0d569aa44e7c4a0dc8de2";
       };
     }
     {
@@ -786,11 +842,11 @@
       };
     }
     {
-      name = "archiver___archiver_5.2.0.tgz";
+      name = "archiver___archiver_5.3.0.tgz";
       path = fetchurl {
-        name = "archiver___archiver_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.2.0.tgz";
-        sha1 = "25aa1b3d9febf7aec5b0f296e77e69960c26db94";
+        name = "archiver___archiver_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz";
+        sha1 = "dd3e097624481741df626267564f7dd8640a45ba";
       };
     }
     {
@@ -818,6 +874,14 @@
       };
     }
     {
+      name = "argparse___argparse_2.0.1.tgz";
+      path = fetchurl {
+        name = "argparse___argparse_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz";
+        sha1 = "246f50f3ca78a3240f6c997e8a9bd1eac49e4b38";
+      };
+    }
+    {
       name = "array_includes___array_includes_3.1.1.tgz";
       path = fetchurl {
         name = "array_includes___array_includes_3.1.1.tgz";
@@ -858,6 +922,14 @@
       };
     }
     {
+      name = "asar___asar_3.0.3.tgz";
+      path = fetchurl {
+        name = "asar___asar_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/asar/-/asar-3.0.3.tgz";
+        sha1 = "1fef03c2d6d2de0cbad138788e4f7ae03b129c7b";
+      };
+    }
+    {
       name = "asn1___asn1_0.2.4.tgz";
       path = fetchurl {
         name = "asn1___asn1_0.2.4.tgz";
@@ -978,6 +1050,14 @@
       };
     }
     {
+      name = "base64_js___base64_js_1.5.1.tgz";
+      path = fetchurl {
+        name = "base64_js___base64_js_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz";
+        sha1 = "1b1b440160a5bf7ad40b650f095963481903930a";
+      };
+    }
+    {
       name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
       path = fetchurl {
         name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
@@ -1002,6 +1082,14 @@
       };
     }
     {
+      name = "binaryextensions___binaryextensions_4.15.0.tgz";
+      path = fetchurl {
+        name = "binaryextensions___binaryextensions_4.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-4.15.0.tgz";
+        sha1 = "c63a502e0078ff1b0e9b00a9f74d3c2b0f8bd32e";
+      };
+    }
+    {
       name = "bl___bl_4.0.3.tgz";
       path = fetchurl {
         name = "bl___bl_4.0.3.tgz";
@@ -1042,11 +1130,11 @@
       };
     }
     {
-      name = "boxen___boxen_4.2.0.tgz";
+      name = "boxen___boxen_5.0.0.tgz";
       path = fetchurl {
-        name = "boxen___boxen_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz";
-        sha1 = "e411b62357d6d6d36587c8ac3d5d974daa070e64";
+        name = "boxen___boxen_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/boxen/-/boxen-5.0.0.tgz";
+        sha1 = "64fe9b16066af815f51057adcc800c3730120854";
       };
     }
     {
@@ -1074,6 +1162,14 @@
       };
     }
     {
+      name = "buffer_equal___buffer_equal_1.0.0.tgz";
+      path = fetchurl {
+        name = "buffer_equal___buffer_equal_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
+        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
+      };
+    }
+    {
       name = "buffer_from___buffer_from_1.1.1.tgz";
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.1.tgz";
@@ -1082,6 +1178,14 @@
       };
     }
     {
+      name = "buffer___buffer_5.7.1.tgz";
+      path = fetchurl {
+        name = "buffer___buffer_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
+        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
+      };
+    }
+    {
       name = "buffer___buffer_5.6.0.tgz";
       path = fetchurl {
         name = "buffer___buffer_5.6.0.tgz";
@@ -1090,19 +1194,19 @@
       };
     }
     {
-      name = "builder_util_runtime___builder_util_runtime_8.7.2.tgz";
+      name = "builder_util_runtime___builder_util_runtime_8.7.3.tgz";
       path = fetchurl {
-        name = "builder_util_runtime___builder_util_runtime_8.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz";
-        sha1 = "d93afc71428a12789b437e13850e1fa7da956d72";
+        name = "builder_util_runtime___builder_util_runtime_8.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz";
+        sha1 = "0aaafa52d25295c939496f62231ca9ff06c30e40";
       };
     }
     {
-      name = "builder_util___builder_util_22.9.1.tgz";
+      name = "builder_util___builder_util_22.10.5.tgz";
       path = fetchurl {
-        name = "builder_util___builder_util_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz";
-        sha1 = "b7087a5cde477f90d718ca5d7fafb6ae261b16af";
+        name = "builder_util___builder_util_22.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/builder-util/-/builder-util-22.10.5.tgz";
+        sha1 = "8d0b04a3be6acc74938679aa90dcb3181b1ae86b";
       };
     }
     {
@@ -1178,6 +1282,14 @@
       };
     }
     {
+      name = "camelcase___camelcase_6.2.0.tgz";
+      path = fetchurl {
+        name = "camelcase___camelcase_6.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz";
+        sha1 = "924af881c9d525ac9d87f40d964e5cea982a1809";
+      };
+    }
+    {
       name = "capture_stack_trace___capture_stack_trace_1.0.1.tgz";
       path = fetchurl {
         name = "capture_stack_trace___capture_stack_trace_1.0.1.tgz";
@@ -1202,14 +1314,6 @@
       };
     }
     {
-      name = "chalk___chalk_3.0.0.tgz";
-      path = fetchurl {
-        name = "chalk___chalk_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz";
-        sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4";
-      };
-    }
-    {
       name = "chalk___chalk_4.1.0.tgz";
       path = fetchurl {
         name = "chalk___chalk_4.1.0.tgz";
@@ -1282,11 +1386,11 @@
       };
     }
     {
-      name = "cli_boxes___cli_boxes_2.2.0.tgz";
+      name = "cli_boxes___cli_boxes_2.2.1.tgz";
       path = fetchurl {
-        name = "cli_boxes___cli_boxes_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.0.tgz";
-        sha1 = "538ecae8f9c6ca508e3c3c95b453fe93cb4c168d";
+        name = "cli_boxes___cli_boxes_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz";
+        sha1 = "ddd5035d25094fce220e9cab40a45840a440318f";
       };
     }
     {
@@ -1314,6 +1418,14 @@
       };
     }
     {
+      name = "cli_truncate___cli_truncate_1.1.0.tgz";
+      path = fetchurl {
+        name = "cli_truncate___cli_truncate_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-1.1.0.tgz";
+        sha1 = "2b2dfd83c53cfd3572b87fc4d430a808afb04086";
+      };
+    }
+    {
       name = "cli_width___cli_width_3.0.0.tgz";
       path = fetchurl {
         name = "cli_width___cli_width_3.0.0.tgz";
@@ -1410,6 +1522,14 @@
       };
     }
     {
+      name = "colors___colors_1.0.3.tgz";
+      path = fetchurl {
+        name = "colors___colors_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz";
+        sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+      };
+    }
+    {
       name = "colors___colors_1.4.0.tgz";
       path = fetchurl {
         name = "colors___colors_1.4.0.tgz";
@@ -1434,6 +1554,14 @@
       };
     }
     {
+      name = "commander___commander_2.9.0.tgz";
+      path = fetchurl {
+        name = "commander___commander_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz";
+        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
+      };
+    }
+    {
       name = "commander___commander_2.20.3.tgz";
       path = fetchurl {
         name = "commander___commander_2.20.3.tgz";
@@ -1442,11 +1570,19 @@
       };
     }
     {
-      name = "compress_commons___compress_commons_4.0.2.tgz";
+      name = "commander___commander_5.1.0.tgz";
       path = fetchurl {
-        name = "compress_commons___compress_commons_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.0.2.tgz";
-        sha1 = "d6896be386e52f37610cef9e6fa5defc58c31bd7";
+        name = "commander___commander_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz";
+        sha1 = "46abbd1652f8e059bddaef99bbdcb2ad9cf179ae";
+      };
+    }
+    {
+      name = "compress_commons___compress_commons_4.1.0.tgz";
+      path = fetchurl {
+        name = "compress_commons___compress_commons_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.0.tgz";
+        sha1 = "25ec7a4528852ccd1d441a7d4353cd0ece11371b";
       };
     }
     {
@@ -1546,6 +1682,14 @@
       };
     }
     {
+      name = "crc___crc_3.8.0.tgz";
+      path = fetchurl {
+        name = "crc___crc_3.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz";
+        sha1 = "ad60269c2c856f8c299e2c4cc0de4556914056c6";
+      };
+    }
+    {
       name = "create_error_class___create_error_class_3.0.2.tgz";
       path = fetchurl {
         name = "create_error_class___create_error_class_3.0.2.tgz";
@@ -1666,6 +1810,14 @@
       };
     }
     {
+      name = "debug___debug_4.3.2.tgz";
+      path = fetchurl {
+        name = "debug___debug_4.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
+        sha1 = "f0a49c18ac8779e31d4a0c6029dfb76873c7428b";
+      };
+    }
+    {
       name = "debuglog___debuglog_1.0.1.tgz";
       path = fetchurl {
         name = "debuglog___debuglog_1.0.1.tgz";
@@ -1786,11 +1938,27 @@
       };
     }
     {
-      name = "dmg_builder___dmg_builder_22.9.1.tgz";
+      name = "dir_compare___dir_compare_2.4.0.tgz";
       path = fetchurl {
-        name = "dmg_builder___dmg_builder_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.9.1.tgz";
-        sha1 = "64647224f37ee47fc9bd01947c21cc010a30511f";
+        name = "dir_compare___dir_compare_2.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/dir-compare/-/dir-compare-2.4.0.tgz";
+        sha1 = "785c41dc5f645b34343a4eafc50b79bac7f11631";
+      };
+    }
+    {
+      name = "dmg_builder___dmg_builder_22.10.5.tgz";
+      path = fetchurl {
+        name = "dmg_builder___dmg_builder_22.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.10.5.tgz";
+        sha1 = "65a33c106ead5a350c7de8997c546559bd6e0e7c";
+      };
+    }
+    {
+      name = "dmg_license___dmg_license_1.0.8.tgz";
+      path = fetchurl {
+        name = "dmg_license___dmg_license_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.8.tgz";
+        sha1 = "d52e234815f1a07a59706e5f2a2fea71991cf784";
       };
     }
     {
@@ -1890,6 +2058,14 @@
       };
     }
     {
+      name = "editions___editions_6.1.0.tgz";
+      path = fetchurl {
+        name = "editions___editions_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/editions/-/editions-6.1.0.tgz";
+        sha1 = "ba6c6cf9f4bb571d9e53ea34e771a602e5a66549";
+      };
+    }
+    {
       name = "editor___editor_1.0.0.tgz";
       path = fetchurl {
         name = "editor___editor_1.0.0.tgz";
@@ -1898,27 +2074,27 @@
       };
     }
     {
-      name = "ejs___ejs_3.1.5.tgz";
+      name = "ejs___ejs_3.1.6.tgz";
       path = fetchurl {
-        name = "ejs___ejs_3.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.5.tgz";
-        sha1 = "aed723844dc20acb4b170cd9ab1017e476a0d93b";
+        name = "ejs___ejs_3.1.6.tgz";
+        url  = "https://registry.yarnpkg.com/ejs/-/ejs-3.1.6.tgz";
+        sha1 = "5bfd0a0689743bb5268b3550cceeebbc1702822a";
       };
     }
     {
-      name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.9.1.tgz";
+      name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.10.5.tgz";
       path = fetchurl {
-        name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-22.9.1.tgz";
-        sha1 = "d9ad65a8f5abd1011ac1dbd01492623fb5466a32";
+        name = "electron_builder_squirrel_windows___electron_builder_squirrel_windows_22.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-22.10.5.tgz";
+        sha1 = "83d3bf498110341a522cc5263fb4474ae6e05caf";
       };
     }
     {
-      name = "electron_builder___electron_builder_22.9.1.tgz";
+      name = "electron_builder___electron_builder_22.10.5.tgz";
       path = fetchurl {
-        name = "electron_builder___electron_builder_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.9.1.tgz";
-        sha1 = "a2962db6f2757bc01d02489f38fafe0809f68f60";
+        name = "electron_builder___electron_builder_22.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.10.5.tgz";
+        sha1 = "03b156b93e6012609027c3aaa69201a3ad21e454";
       };
     }
     {
@@ -1938,11 +2114,11 @@
       };
     }
     {
-      name = "electron_publish___electron_publish_22.9.1.tgz";
+      name = "electron_publish___electron_publish_22.10.5.tgz";
       path = fetchurl {
-        name = "electron_publish___electron_publish_22.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.9.1.tgz";
-        sha1 = "7cc76ac4cc53efd29ee31c1e5facb9724329068e";
+        name = "electron_publish___electron_publish_22.10.5.tgz";
+        url  = "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.10.5.tgz";
+        sha1 = "9cbe46266b6c79d8c6e99840755682e2262d3543";
       };
     }
     {
@@ -2018,6 +2194,14 @@
       };
     }
     {
+      name = "errlop___errlop_4.1.0.tgz";
+      path = fetchurl {
+        name = "errlop___errlop_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/errlop/-/errlop-4.1.0.tgz";
+        sha1 = "8e7b8f4f1bf0a6feafce4d14f0c0cf4bf5ef036b";
+      };
+    }
+    {
       name = "errno___errno_0.1.7.tgz";
       path = fetchurl {
         name = "errno___errno_0.1.7.tgz";
@@ -2570,6 +2754,14 @@
       };
     }
     {
+      name = "fs_extra___fs_extra_9.1.0.tgz";
+      path = fetchurl {
+        name = "fs_extra___fs_extra_9.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz";
+        sha1 = "5954460c764a8da2094ba3554bf839e6b9a7c86d";
+      };
+    }
+    {
       name = "fs_minipass___fs_minipass_1.2.7.tgz";
       path = fetchurl {
         name = "fs_minipass___fs_minipass_1.2.7.tgz";
@@ -2738,11 +2930,11 @@
       };
     }
     {
-      name = "global_dirs___global_dirs_2.0.1.tgz";
+      name = "global_dirs___global_dirs_3.0.0.tgz";
       path = fetchurl {
-        name = "global_dirs___global_dirs_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.0.1.tgz";
-        sha1 = "acdf3bb6685bcd55cb35e8a052266569e9469201";
+        name = "global_dirs___global_dirs_3.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.0.tgz";
+        sha1 = "70a76fe84ea315ab37b1f5576cbde7d48ef72686";
       };
     }
     {
@@ -2802,6 +2994,14 @@
       };
     }
     {
+      name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+      path = fetchurl {
+        name = "graceful_readlink___graceful_readlink_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    }
+    {
       name = "har_schema___har_schema_2.0.0.tgz";
       path = fetchurl {
         name = "har_schema___har_schema_2.0.0.tgz";
@@ -2890,11 +3090,19 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_3.0.7.tgz";
+      name = "hosted_git_info___hosted_git_info_3.0.8.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_3.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.7.tgz";
-        sha1 = "a30727385ea85acfcee94e0aad9e368c792e036c";
+        name = "hosted_git_info___hosted_git_info_3.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-3.0.8.tgz";
+        sha1 = "6e35d4cc87af2c5f816e4cb9ce350ba87a3f370d";
+      };
+    }
+    {
+      name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+      path = fetchurl {
+        name = "hosted_git_info___hosted_git_info_4.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz";
+        sha1 = "5e425507eede4fea846b7262f0838456c4209961";
       };
     }
     {
@@ -2946,6 +3154,14 @@
       };
     }
     {
+      name = "iconv_corefoundation___iconv_corefoundation_1.1.5.tgz";
+      path = fetchurl {
+        name = "iconv_corefoundation___iconv_corefoundation_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.5.tgz";
+        sha1 = "90596d444a579aeb109f5ca113f6bb665a41be2b";
+      };
+    }
+    {
       name = "iconv_lite___iconv_lite_0.4.24.tgz";
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.4.24.tgz";
@@ -2962,6 +3178,14 @@
       };
     }
     {
+      name = "ieee754___ieee754_1.2.1.tgz";
+      path = fetchurl {
+        name = "ieee754___ieee754_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
+        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
+      };
+    }
+    {
       name = "ieee754___ieee754_1.1.13.tgz";
       path = fetchurl {
         name = "ieee754___ieee754_1.1.13.tgz";
@@ -3066,6 +3290,14 @@
       };
     }
     {
+      name = "ini___ini_2.0.0.tgz";
+      path = fetchurl {
+        name = "ini___ini_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz";
+        sha1 = "e5fd556ecdd5726be978fa1001862eacb0a94bc5";
+      };
+    }
+    {
       name = "ini___ini_1.3.8.tgz";
       path = fetchurl {
         name = "ini___ini_1.3.8.tgz";
@@ -3170,6 +3402,14 @@
       };
     }
     {
+      name = "is_core_module___is_core_module_2.2.0.tgz";
+      path = fetchurl {
+        name = "is_core_module___is_core_module_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz";
+        sha1 = "97037ef3d52224d85163f5597b2b63d9afed981a";
+      };
+    }
+    {
       name = "is_date_object___is_date_object_1.0.1.tgz";
       path = fetchurl {
         name = "is_date_object___is_date_object_1.0.1.tgz";
@@ -3234,11 +3474,11 @@
       };
     }
     {
-      name = "is_installed_globally___is_installed_globally_0.3.1.tgz";
+      name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
       path = fetchurl {
-        name = "is_installed_globally___is_installed_globally_0.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.1.tgz";
-        sha1 = "679afef819347a72584617fd19497f010b8ed35f";
+        name = "is_installed_globally___is_installed_globally_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz";
+        sha1 = "9a0fd407949c30f86eb6959ef1b7994ed0b7b520";
       };
     }
     {
@@ -3250,11 +3490,11 @@
       };
     }
     {
-      name = "is_npm___is_npm_4.0.0.tgz";
+      name = "is_npm___is_npm_5.0.0.tgz";
       path = fetchurl {
-        name = "is_npm___is_npm_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz";
-        sha1 = "c90dd8380696df87a7a6d823c20d0b12bbe3c84d";
+        name = "is_npm___is_npm_5.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz";
+        sha1 = "43e8d65cc56e1b67f8d47262cf667099193f45a8";
       };
     }
     {
@@ -3282,11 +3522,11 @@
       };
     }
     {
-      name = "is_path_inside___is_path_inside_3.0.2.tgz";
+      name = "is_path_inside___is_path_inside_3.0.3.tgz";
       path = fetchurl {
-        name = "is_path_inside___is_path_inside_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.2.tgz";
-        sha1 = "f5220fc82a3e233757291dddc9c5877f2a1f3017";
+        name = "is_path_inside___is_path_inside_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz";
+        sha1 = "d231362e53a07ff2b0e0ea7fed049161ffd16283";
       };
     }
     {
@@ -3378,14 +3618,6 @@
       };
     }
     {
-      name = "isbinaryfile___isbinaryfile_4.0.6.tgz";
-      path = fetchurl {
-        name = "isbinaryfile___isbinaryfile_4.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.6.tgz";
-        sha1 = "edcb62b224e2b4710830b67498c8e4e5a4d2610b";
-      };
-    }
-    {
       name = "isexe___isexe_2.0.0.tgz";
       path = fetchurl {
         name = "isexe___isexe_2.0.0.tgz";
@@ -3402,6 +3634,14 @@
       };
     }
     {
+      name = "istextorbinary___istextorbinary_5.12.0.tgz";
+      path = fetchurl {
+        name = "istextorbinary___istextorbinary_5.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-5.12.0.tgz";
+        sha1 = "2f84777838668fdf524c305a2363d6057aaeec84";
+      };
+    }
+    {
       name = "jake___jake_10.8.2.tgz";
       path = fetchurl {
         name = "jake___jake_10.8.2.tgz";
@@ -3442,11 +3682,11 @@
       };
     }
     {
-      name = "js_yaml___js_yaml_3.14.0.tgz";
+      name = "js_yaml___js_yaml_4.0.0.tgz";
       path = fetchurl {
-        name = "js_yaml___js_yaml_3.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha1 = "a7a34170f26a21bb162424d8adacb4113a69e482";
+        name = "js_yaml___js_yaml_4.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz";
+        sha1 = "f426bc0ff4b4051926cd588c71113183409a121f";
       };
     }
     {
@@ -4018,11 +4258,11 @@
       };
     }
     {
-      name = "mime___mime_2.5.0.tgz";
+      name = "mime___mime_2.5.2.tgz";
       path = fetchurl {
-        name = "mime___mime_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.0.tgz";
-        sha1 = "2b4af934401779806ee98026bb42e8c1ae1876b1";
+        name = "mime___mime_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz";
+        sha1 = "6e3dc6cc2b9510643830e5f19d5cb753da5eeabe";
       };
     }
     {
@@ -4218,6 +4458,14 @@
       };
     }
     {
+      name = "node_addon_api___node_addon_api_1.7.2.tgz";
+      path = fetchurl {
+        name = "node_addon_api___node_addon_api_1.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz";
+        sha1 = "3df30b95720b53c24e59948b49532b662444f54d";
+      };
+    }
+    {
       name = "node_fetch_npm___node_fetch_npm_2.0.2.tgz";
       path = fetchurl {
         name = "node_fetch_npm___node_fetch_npm_2.0.2.tgz";
@@ -4274,6 +4522,14 @@
       };
     }
     {
+      name = "normalize_package_data___normalize_package_data_3.0.2.tgz";
+      path = fetchurl {
+        name = "normalize_package_data___normalize_package_data_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz";
+        sha1 = "cae5c410ae2434f9a6c1baa65d5bc3b9366c8699";
+      };
+    }
+    {
       name = "normalize_path___normalize_path_3.0.0.tgz";
       path = fetchurl {
         name = "normalize_path___normalize_path_3.0.0.tgz";
@@ -4866,6 +5122,14 @@
       };
     }
     {
+      name = "plist___plist_3.0.2.tgz";
+      path = fetchurl {
+        name = "plist___plist_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/plist/-/plist-3.0.2.tgz";
+        sha1 = "74bbf011124b90421c22d15779cee60060ba95bc";
+      };
+    }
+    {
       name = "png_to_ico___png_to_ico_2.1.1.tgz";
       path = fetchurl {
         name = "png_to_ico___png_to_ico_2.1.1.tgz";
@@ -5066,11 +5330,11 @@
       };
     }
     {
-      name = "pupa___pupa_2.0.1.tgz";
+      name = "pupa___pupa_2.1.1.tgz";
       path = fetchurl {
-        name = "pupa___pupa_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz";
-        sha1 = "dbdc9ff48ffbea4a26a069b6f9f7abb051008726";
+        name = "pupa___pupa_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz";
+        sha1 = "f5e8fd4afc2c5d97828faa523549ed8744a20d62";
       };
     }
     {
@@ -5354,6 +5618,14 @@
       };
     }
     {
+      name = "resolve___resolve_1.20.0.tgz";
+      path = fetchurl {
+        name = "resolve___resolve_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
+        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
+      };
+    }
+    {
       name = "responselike___responselike_1.0.2.tgz";
       path = fetchurl {
         name = "responselike___responselike_1.0.2.tgz";
@@ -5602,6 +5874,14 @@
       };
     }
     {
+      name = "slice_ansi___slice_ansi_1.0.0.tgz";
+      path = fetchurl {
+        name = "slice_ansi___slice_ansi_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz";
+        sha1 = "044f1a49d8842ff307aad6b505ed178bd950134d";
+      };
+    }
+    {
       name = "slice_ansi___slice_ansi_2.1.0.tgz";
       path = fetchurl {
         name = "slice_ansi___slice_ansi_2.1.0.tgz";
@@ -6018,14 +6298,6 @@
       };
     }
     {
-      name = "term_size___term_size_2.2.0.tgz";
-      path = fetchurl {
-        name = "term_size___term_size_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz";
-        sha1 = "1f16adedfe9bdc18800e1776821734086fcc6753";
-      };
-    }
-    {
       name = "text_table___text_table_0.2.0.tgz";
       path = fetchurl {
         name = "text_table___text_table_0.2.0.tgz";
@@ -6034,6 +6306,14 @@
       };
     }
     {
+      name = "textextensions___textextensions_5.12.0.tgz";
+      path = fetchurl {
+        name = "textextensions___textextensions_5.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/textextensions/-/textextensions-5.12.0.tgz";
+        sha1 = "b908120b5c1bd4bb9eba41423d75b176011ab68a";
+      };
+    }
+    {
       name = "through2___through2_2.0.5.tgz";
       path = fetchurl {
         name = "through2___through2_2.0.5.tgz";
@@ -6226,6 +6506,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.20.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.20.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz";
+        sha1 = "1bf207f4b28f91583666cb5fbd327887301cd5f4";
+      };
+    }
+    {
       name = "type_fest___type_fest_0.8.1.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.8.1.tgz";
@@ -6322,6 +6610,14 @@
       };
     }
     {
+      name = "universalify___universalify_2.0.0.tgz";
+      path = fetchurl {
+        name = "universalify___universalify_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz";
+        sha1 = "75a4984efedc4b08975c5aeb73f530d02df25717";
+      };
+    }
+    {
       name = "unpipe___unpipe_1.0.0.tgz";
       path = fetchurl {
         name = "unpipe___unpipe_1.0.0.tgz";
@@ -6362,11 +6658,11 @@
       };
     }
     {
-      name = "update_notifier___update_notifier_4.1.3.tgz";
+      name = "update_notifier___update_notifier_5.1.0.tgz";
       path = fetchurl {
-        name = "update_notifier___update_notifier_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz";
-        sha1 = "be86ee13e8ce48fb50043ff72057b5bd598e1ea3";
+        name = "update_notifier___update_notifier_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz";
+        sha1 = "4ab0d7c7f36a231dd7316cf7729313f0214d9ad9";
       };
     }
     {
@@ -6490,6 +6786,22 @@
       };
     }
     {
+      name = "version_compare___version_compare_1.1.0.tgz";
+      path = fetchurl {
+        name = "version_compare___version_compare_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/version-compare/-/version-compare-1.1.0.tgz";
+        sha1 = "7b3e67e7e6cec5c72d9c9e586f8854e419ade17c";
+      };
+    }
+    {
+      name = "version_range___version_range_1.1.0.tgz";
+      path = fetchurl {
+        name = "version_range___version_range_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/version-range/-/version-range-1.1.0.tgz";
+        sha1 = "1c233064202ee742afc9d56e21da3b2e15260acf";
+      };
+    }
+    {
       name = "wcwidth___wcwidth_1.0.1.tgz";
       path = fetchurl {
         name = "wcwidth___wcwidth_1.0.1.tgz";
@@ -6666,6 +6978,22 @@
       };
     }
     {
+      name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_15.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz";
+        sha1 = "9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5";
+      };
+    }
+    {
+      name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+      path = fetchurl {
+        name = "xmlbuilder___xmlbuilder_9.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+      };
+    }
+    {
       name = "xmlbuilder___xmlbuilder_11.0.1.tgz";
       path = fetchurl {
         name = "xmlbuilder___xmlbuilder_11.0.1.tgz";
@@ -6674,6 +7002,14 @@
       };
     }
     {
+      name = "xmldom___xmldom_0.5.0.tgz";
+      path = fetchurl {
+        name = "xmldom___xmldom_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz";
+        sha1 = "193cb96b84aa3486127ea6272c4596354cb4962e";
+      };
+    }
+    {
       name = "xtend___xtend_4.0.2.tgz";
       path = fetchurl {
         name = "xtend___xtend_4.0.2.tgz";
@@ -6786,11 +7122,11 @@
       };
     }
     {
-      name = "zip_stream___zip_stream_4.0.4.tgz";
+      name = "zip_stream___zip_stream_4.1.0.tgz";
       path = fetchurl {
-        name = "zip_stream___zip_stream_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.0.4.tgz";
-        sha1 = "3a8f100b73afaa7d1ae9338d910b321dec77ff3a";
+        name = "zip_stream___zip_stream_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz";
+        sha1 = "51dd326571544e36aa3f756430b313576dc8fc79";
       };
     }
   ];
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index dcb22815e9e..75252bb74b4 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -8,12 +8,12 @@
 
 let
   executableName = "element-desktop";
-  version = "1.7.24";
+  version = "1.7.25";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "element-desktop";
     rev = "v${version}";
-    sha256 = "sha256-16sqiOwJvKTs6MPmdkuiPhnr1G7ErWCT5ctp5xqZRlk=";
+    sha256 = "sha256-q8hVmTLt/GdLc6NSldLggogObQcPFp+lAeS3wmO0qPo=";
   };
 in mkYarnPackage rec {
   name = "element-desktop-${version}";
diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index 1b6d83bd354..624ba46b8e8 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -12,11 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "element-web";
-  version = "1.7.24";
+  version = "1.7.25";
 
   src = fetchurl {
     url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
-    sha256 = "sha256-u6mcO+MMjrr2YujVVcsaA7qsruirmHJz3o8nAPOecSU=";
+    sha256 = "sha256-T4lsGVSUHkw4R7tSeTKPifbhwaTf/YF2vVAakFSrt9k=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix
index 7c9714b3555..7a4fc703dd7 100644
--- a/pkgs/applications/networking/irc/irssi/default.nix
+++ b/pkgs/applications/networking/irc/irssi/default.nix
@@ -1,19 +1,12 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }:
+{ lib, stdenv, fetchurl, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }:
 
 stdenv.mkDerivation rec {
   pname = "irssi";
-  version = "1.2.2";
+  version = "1.2.3";
 
   src = fetchurl {
     url = "https://github.com/irssi/irssi/releases/download/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0g2nxazn4lszmd6mf1s36x5ablk4999g1qx7byrnvgnjsihjh62k";
-  };
-
-  # Fix irssi on GLib >2.62 input being stuck after entering a NUL byte
-  # See https://github.com/irssi/irssi/issues/1180 - remove after next update.
-  patches = fetchpatch {
-    url = "https://github.com/irssi/irssi/releases/download/1.2.2/glib-2-63.patch";
-    sha256 = "1ad1p7395n8dfmv97wrf751wwzgncqfh9fp27kq5kfdvh661da1i";
+    sha256 = "09cwz5ff1i5lp35qhhmw6kbw5dwcn9pl16gpzkc92xg5sx3bgjr9";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index e7b5496e910..59ae1955169 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,665 +1,665 @@
 {
-  version = "78.9.0";
+  version = "78.9.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/af/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/af/thunderbird-78.9.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "58bc04e46def73b3530323e56d143db324a5a80f426b37ff396e2e43cf8b0042";
+      sha256 = "7bfec5dfdab93e1ccd8737c67cec8f257d15387045437c016b5ff2b5ef6d6d45";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ar/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ar/thunderbird-78.9.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "9520899691eb7e4e7dad95ce643da5cb966c1058b3cc952b55bd66d7a09473ef";
+      sha256 = "5f1c9b32fc37c750a0fae80b0b41d3f11c774807014f930476a28885ad7854df";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ast/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ast/thunderbird-78.9.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "769e7cd3699577a1f69e62492c8058eca635ffaf6acab6ca3a4112301aab751f";
+      sha256 = "b880a02f42b9c6bd3c8b2f82f829c6458091bff1d3555a7cd07d59254c3f9694";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/be/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/be/thunderbird-78.9.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "c1b35990af2731b52da57b4b6b0e4a7733ea2e8d499e95b3b086dde3bdccb657";
+      sha256 = "ea2049f514881f76b0b775c5e27aace867d483c8a9e8f3c139e1c213fc97371e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/bg/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/bg/thunderbird-78.9.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "708709a3acb4689de7870d21c258ccbc03a1fdb92a43164841571e6643bf2988";
+      sha256 = "54d77d3972fffde0a110b2451fd3516aacd27cf7365171ec369993f0d57506a4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/br/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/br/thunderbird-78.9.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e84f1dea6f550a1827399d0e7f658f376c816d3f7abe962ec58115d36c28c1c5";
+      sha256 = "8fea37e1b1721dfcd06c2798b67260dcd3e3a9821cda5b03ee5355bd04759602";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ca/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ca/thunderbird-78.9.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "8191514f74876406cf6f332a0063032206d1b6f29414941dee3082ce1bc6e711";
+      sha256 = "26ebbb11b0db144ebd7c891a50fd595a1b40ac9e3aaae212464bed73bf8d29b7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/cak/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/cak/thunderbird-78.9.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "9626ab3117cb4567ba65b24c5800f39fe7dc9c372c60f88ba0906eb72d63ffb0";
+      sha256 = "7dddaa78c0429b8dc7ed0570d8f0dc440da9df940eea2a091dbeb28323a1972c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/cs/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/cs/thunderbird-78.9.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "294f60b4efa04fcc9bdea8c4107ac572613d63c742ae9492eb63f5eadcef1448";
+      sha256 = "b50810bcdc40363af165ea703ae660c68b33ceebb186cb736aa2dc7628eb7d51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/cy/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/cy/thunderbird-78.9.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "865d631746754969d7dd59b096306aaacdb189b967e295676a3a7253a5af8ed3";
+      sha256 = "9e26a9dabe48146c0ffb94ea8464aba206fc9afe1f110642c5a0d742627e090a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/da/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/da/thunderbird-78.9.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "cb8b05cf1938326a4246f670bc324d83179f3ce1f3d4f3d8de57599da031ec9b";
+      sha256 = "156b5a65a987ee2a74e608f230129e65abf59952e331bb8467e48ebcda9448c3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/de/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/de/thunderbird-78.9.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "9dfc5b4490c8ba926ce30605e3575cf3b471fae1f1808fb5054667c2751956c2";
+      sha256 = "f55a61264cec96205f75bae35a58ee9110614aa3a027fc19fa7b67b50167e343";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/dsb/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/dsb/thunderbird-78.9.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "1752031e919fc1604c1d70ff5a9036d8752a0de78c0d0539860c45390b09e13f";
+      sha256 = "5e4290ddeb1bc2e301d400c5b71c719e25f109f20aa92c723cfda11342fcf171";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/el/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/el/thunderbird-78.9.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "bc2c7b093dd00c352874c7ae6e3d88e455fe9b357caa0e358d51dde120398f41";
+      sha256 = "c10b09b8773cb4479c354194664f5c40bb45e748cc84aa3f895be72feca1b761";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/en-CA/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/en-CA/thunderbird-78.9.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "5605286eb97815d5acfadc0a93888a1e8d08e9b8bb5e7b28328c9650f6a9d065";
+      sha256 = "e21d94ea954e080db1d4a8c5a20d39099fc21019f78ddcb4fe105ca0beb6f5a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/en-GB/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/en-GB/thunderbird-78.9.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "bc0a4c15cb3d4f1891e91a7bc5cde53065cca95fe5c72c18bd39e0bc618b5d01";
+      sha256 = "9adcdb0b947f5ef79d874ca47b4361677e1dacb03c97ff4cdcffe0706d865272";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/en-US/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/en-US/thunderbird-78.9.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "65e1539602d206cfb78cb7bdf864d251670242d775f62aad25a1a52dcf1e9e55";
+      sha256 = "20eafd8ee01018952d723a51f736aedaeba2c48f4da5554a80035427e24d1486";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/es-AR/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/es-AR/thunderbird-78.9.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "e246d1f0fda4091888dcac7c5e8d5367688d86e6f65237e942baee0c2c82136b";
+      sha256 = "18e3ca32a92fcc7d201d89abb2c053f5f081ad91402280a0de75c1307eed5955";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/es-ES/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/es-ES/thunderbird-78.9.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "a24902cdd4eb9f70b435f52c9244769bc674fc16194a908976c28c8de3d94674";
+      sha256 = "ddae6044f742f3530bb1eb45f9464158d3b53f26dcaae81874e8082e839b581b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/et/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/et/thunderbird-78.9.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "891fb76d3f9044ea44230d72c6b8bd4db63c63c71dc83506e91b31329e1b0c11";
+      sha256 = "d3533609865cb53fa4c1226b747ae011737112755e83b734f0b54bc61d995f6b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/eu/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/eu/thunderbird-78.9.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "cfe8c0e314dffd57e653204aa5aebe790147f3a1060cc1f95da0045d1c188cd6";
+      sha256 = "6e245317ce453ef71dae9a222e9fdaf5f72978aeee6735300a77bf452bba9934";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/fa/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/fa/thunderbird-78.9.1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "66aba0dbc241d954b18da9c94c6c8d7b33dbc8721560a23def882cde249d17ef";
+      sha256 = "a779002a3778e3b5939a1b778ea1d2a570d5ee71ac3db444b64a8fd19a4ffa1a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/fi/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/fi/thunderbird-78.9.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "e05b5be90b40dd61a3686d3fb011745431f915a0d74e08a157668cfa1633d5f2";
+      sha256 = "8edba99433e66f4d2ea9936fdcd7a0f84cfcea73da2fede520afc45e90d1f639";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/fr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/fr/thunderbird-78.9.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "f4c80650f755a65c1371aa9bc35da6e1fc54f6c44dd6e6bed1f3ce8ce883656c";
+      sha256 = "c21c71dc854aa27b6519b0220c646d32bf5015d39765ec34bef2b1a62712c9f1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/fy-NL/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/fy-NL/thunderbird-78.9.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "4ada1d224c11081bc7cf7fec51e6cbef695650cdb9b860320da9a070d01bcaed";
+      sha256 = "6babc9461a014f8f1eeaa0c9ed5912bf8cb9ed24776de637014e0a5ab52b4aba";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ga-IE/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ga-IE/thunderbird-78.9.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "e2b6437b4b10a636d585dd591c933df370a5b70bc0a447564ab8dbb4df5c22b9";
+      sha256 = "889788186a45a9f951ecfcd0c61710d2dd30334c81ca0c697229401f555dd4fc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/gd/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/gd/thunderbird-78.9.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "034b5dd31ac4df1ea8f19b52739fa632a53d063a6ca07e4d36194c55452aaef5";
+      sha256 = "f9bc35aeee7d40d4fab47d74edacfa66b784aea26c3ed60709bf8554f3151d38";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/gl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/gl/thunderbird-78.9.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "1afb41188de30c672d3a15e7b8e8b0690ac8358069824edf7215f99f73333d32";
+      sha256 = "71f270c780f58d7530e0f9535aa16d0df329f974cd9fa6d51da5870b2197d7af";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/he/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/he/thunderbird-78.9.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "492f33bbc7f6d6e53aaaa3587d22156afb32d0753609818eeefe7ea53bea788b";
+      sha256 = "5927cfa48ea585e75894a64dcb70e68fe2d8e5eea5b926b26b522b8a78cbc2be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/hr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/hr/thunderbird-78.9.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "a61743f3661eb8ce93cc58dc80ce5950534dd7c89e067a3460daa4502761e3b2";
+      sha256 = "a5ea3a25d9a28518005a62d7a1a9832e58199924f9761b7bc8c1a6b0ed5dbc3e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/hsb/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/hsb/thunderbird-78.9.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "cb1d4f8da3071ecd4ce4f9ae43d1e4d7dcd8edbc6dbf4917bcd1730cc5a0477d";
+      sha256 = "1e6b20a125c2fad0b78558b5299bb57208ccd3bbe9075505b94ed819d03faaac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/hu/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/hu/thunderbird-78.9.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "a4ae0452d90d3c5c7778732811d97243b9b4767208239c8a24d4b4d368630d22";
+      sha256 = "1fb84c326aa68ce3bfd11c1381a0317b2b6f953b23611bfab6d409d208c164a2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/hy-AM/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/hy-AM/thunderbird-78.9.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "cab2129d4c4e99592ce6f22d676a03ff1cc5d5bf579a2426d0079e0f86215ade";
+      sha256 = "4ae1a82ca5321cf068525ffdf775f1245efedc5a7db8104d83c177cc9606c61c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/id/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/id/thunderbird-78.9.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "a1df4c7e0c359cab8b10692bfee5161d3bd44696ee06774985642604304f9b93";
+      sha256 = "e797bad2246f1e1d1fd9ead1fd99c0c03cf70edd94cec0944f7ccc14ef7d5053";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/is/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/is/thunderbird-78.9.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "bf6ec8c88f65d565f7dcecb1f3177a5a1e476da62d8aec82d3419e3ed1794798";
+      sha256 = "1b9c39688d4958cec95537b972efc8179cca37901c75dce962e6ae8f18371125";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/it/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/it/thunderbird-78.9.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "e028a6fa97dd9d37945137602d45230108fa30d63edea8df8531089724646e19";
+      sha256 = "62a19dfd8c496cb1dd44f960914ef46314d3f1542e7957b60622592e003fcff3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ja/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ja/thunderbird-78.9.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "6435637e0582123c1b941b1c6209aa1bfdec471d3ce76a861c82e876b7637fee";
+      sha256 = "b730278fe53e3bf51fdf2147348a6f68b4773f572166c8c180685a8acf805577";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ka/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ka/thunderbird-78.9.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "8d00d918c42450ac7a451a0a5a7407ecb334b51bd20c3f33871a29c82f338175";
+      sha256 = "c22b1aa5d5d24ba355219bd31023acc74cbd73f7211594c5445ffcaff247675c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/kab/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/kab/thunderbird-78.9.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "59af5f436ccf0d0914f800ff6cb31fb341d3d905d3d450ed43a09d8810e50bae";
+      sha256 = "8b84e2d2d411ab7486e7013479632a65d836790e24df258db633e7c08cf8afb5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/kk/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/kk/thunderbird-78.9.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "70588dd395158e87bdf651a9ed2b1d92cc5792ed6c85160c2b1c2109d52a3ca2";
+      sha256 = "c2bd75e1945ff3f74dca7cc5bcecbdb36d94a07b0ad4c4636ddc22b0527b4e27";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ko/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ko/thunderbird-78.9.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "7a3473a4bd51f6931326c30c387546d4b900fd70a837e8d45380afd4597c10e2";
+      sha256 = "add8f17f12b5add8759a4b4964d205ffeabf49d5d3ad351f575762f11cd496e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/lt/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/lt/thunderbird-78.9.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "1e36db5d910184872af4e7623c59c79f8e522955c5dd5cba4a689a5bc2d857b0";
+      sha256 = "53dbfabba0feda6ba2c6d8673bad01769a99d28cd4cf05dd27cc13364e365d61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ms/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ms/thunderbird-78.9.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "058f825e44c24e837081bb05241c1ff47b390132dbd3cdb5b5d4ef51056bb2ab";
+      sha256 = "220db127c3a32811200db8c2e8ff1c3a026e5fc766830cf4267c42142f098932";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/nb-NO/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/nb-NO/thunderbird-78.9.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "7f6335ff85c29aa634b7909e4b7a2da007f333648a98ad9f3bd8833d00f2f0da";
+      sha256 = "e96f5814e9d2b9ca8f3326cfe867405681ab4132e98c17a0a0980c1e9a2dd0be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/nl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/nl/thunderbird-78.9.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "0056c1250401f89ab8d9423f23d3148bcf34801b34247d4bc44b89e8edd0552f";
+      sha256 = "deaed1d2f3ddf74391dfe94b3b11726e0a7823f45e37047b2dbfdc0133eb329c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/nn-NO/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/nn-NO/thunderbird-78.9.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "f63e4305ba814a46edc4316af6ad02acd479306f2f1c02c1b04065ea20baf59f";
+      sha256 = "8bb5e5375805285da875280316dacf39be1069cc567df6b09cebc9689922a260";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/pa-IN/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/pa-IN/thunderbird-78.9.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "654902d560df0648cd2e9b7b1271d3606071865dd1cc4490741a5777be2c72c3";
+      sha256 = "8680087bfcc7758df27d74f7be937b50625f08c44c3c8a2a2d21f3ffeda4d38d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/pl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/pl/thunderbird-78.9.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "62c4352b987bef61f69bb0300c9cc37b95ca5e6fde57a06646b14bef6e58dd78";
+      sha256 = "9bd9a119f0f2d0bb5e489907f23811a6e5933d9304fb92d938fa7b0e638dac6e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/pt-BR/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/pt-BR/thunderbird-78.9.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "139606374df552562100c01e8a330fc1f4f9e6dcbc6a39396137d2f069ad0fcd";
+      sha256 = "2f87bb38281d69e34d9918b40ca29f35ada3b9f8a627bd36c56f21befe2a45f8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/pt-PT/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/pt-PT/thunderbird-78.9.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "eb6526b6ee0f768949489ca587c321ed8aabd258296c58e596b7a5413b458ed7";
+      sha256 = "786a97c6b1604e59a6a4114142b5f5c309149480ddd612b22c1ca122d3a2a633";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/rm/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/rm/thunderbird-78.9.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "36a22f1c8eb1a5c7fb0e9323a3c3eb03f8a63b2b6c62430780bf4508a7236c41";
+      sha256 = "cd54da5d6c3b105a8ed9dd09771d8e15881694b001b6daf8199014fd4043b777";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ro/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ro/thunderbird-78.9.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "92ae47ebf2ab176d46e04172206241aeae8a6eebf72b5f32d021782aa1675be8";
+      sha256 = "e81e40a5eec5bb4dda0d0b7df414bd475c054008249c946e8d99c9272f31ab62";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/ru/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/ru/thunderbird-78.9.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "97680d44fae135e90368adb75ac27b4f23f1186d1435ba265a80027334f320ec";
+      sha256 = "283221c2b927c10a2e4017383af6b93bd717555c28b700b276ba8d600a84250d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/si/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/si/thunderbird-78.9.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "6ddf49c8696deb3ab9ac55453b93116c923ad0025c9c8463b56bdc81e6d00bb9";
+      sha256 = "7f6fe6533e54e6a8a544da7bd844079b2d6a5e913c16210ad77ac7c93d2b1415";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/sk/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/sk/thunderbird-78.9.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "5e2be4cab9101a67c61eee16c8c84513b196dd19f6d0dfee3559796a8a031138";
+      sha256 = "b0f872351a9f2aa714f69be18b78a8092049c8e005b07a19a906a8d595d90fc1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/sl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/sl/thunderbird-78.9.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "ab9293a2a5caf948bf2e4b4680b9cf7440e7a272f9f028568e260c40d5a031ce";
+      sha256 = "699f4e4dd786fd09d9f8430fc33b5b2897541334f5b9517a7a8dab527aabed7c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/sq/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/sq/thunderbird-78.9.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "113171842441b9553e6da58c7ce3e3382fb9aa780892b8ee4436ff9b2bf3dc59";
+      sha256 = "ce3c9e8cbfef057349e82462eba72a57b14d8c76f5d7949529dc9d629cc5b01e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/sr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/sr/thunderbird-78.9.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "1b46f1597ab5aec2bca98adf9664cafd72ff51db23722108cbd4c0c89a1a8e70";
+      sha256 = "1b2f383e517d80e6607fd4041b07071d71e26602bf812c85ecbbd0a5e7a674c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/sv-SE/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/sv-SE/thunderbird-78.9.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "41284557a6ae1b267eb3c2fdcc4a547834e833f55b5c1ad9c8bd9121c9d39dc1";
+      sha256 = "d0020ce77ec629cff313f8d23a1354c6ee2591d502d2f60d9800fa7baaedd0c3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/th/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/th/thunderbird-78.9.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "99a342f303c3a890ee68514841d563fe493e2459a4d6f6769c42f986e122b7ba";
+      sha256 = "40abb70abd9938a3141c50bf39a4e1d62c862b8b1bcfdba0a11d57fb5cf373b7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/tr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/tr/thunderbird-78.9.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "f827b3d8fb60540d00d20d4ec50dbd9e28af3798863fa4ccc1a862a08ebdd18d";
+      sha256 = "363a371af193497ec72dafd8f5789c55b62e404f1fd386d78ed6178dfd8b5ef5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/uk/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/uk/thunderbird-78.9.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "d8e30faa9f43308c31504437ae2187d5c1ce00c16cd430f31eaacf8dbed71604";
+      sha256 = "71697e823371ab8e9d5160c2fededd533de4e9adf4d491b018c2fb7db721b17c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/uz/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/uz/thunderbird-78.9.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "00e3e3a43519fa8136d3cde8527f3e9c44732ef6d5aac9cc2e1f28feaf940a50";
+      sha256 = "46350d800495493f15295d65989bb3c63cd1180ccdbe4481550847618f54420e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/vi/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/vi/thunderbird-78.9.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "f16b0fca32c85e648be8c8d4c9ddb6d8fde726f1386d0dd29ec050b39d827fe2";
+      sha256 = "a254cd59632d78971d7b3da95aad73a73cfbffbad7ebebde3c5b9f1c735db65b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/zh-CN/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/zh-CN/thunderbird-78.9.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "51007e8318fbf673eb63bf20be8daa35ef8e2d6fee9fd9356dbba98d843dc813";
+      sha256 = "c69bd4b840d5288d334191beaf89a4407e1039325b5cdeb107ea30c1a7e2d73d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-x86_64/zh-TW/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-x86_64/zh-TW/thunderbird-78.9.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "ef7a5507b47725ba7bca853c1f5bf20eb36d31fbbc8c912596a5993f7dca57ac";
+      sha256 = "1e120294db0dee586bb1f02ee935266f4b47ae58e0d76cfade4cb306d4153c65";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/af/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/af/thunderbird-78.9.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "435ba6c5a5901fe1daa1b19c36f1071086d21e2f321a52afe1db0c03a0044635";
+      sha256 = "31a8e3f3b38df0da0821a5bfbc7a9abaeea64b587ba3e7bfd9b601910b3e305f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ar/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ar/thunderbird-78.9.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4ac307dbe93e69e6dbb629756363900256ec735c1927cad74acb0c5f8e255b92";
+      sha256 = "f2ecd646ffe074f69c0b8e9b99b40984eb8ee3edfa9e54ee7994d45192dedcff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ast/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ast/thunderbird-78.9.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "3d9a01438e82350e5a60ee7944226d9a0f46384673ddae01f8f8fe445df40312";
+      sha256 = "7206c4f541f559f97a3794e4fa523a5bbc0ddbbf53faedd6de0eedf9bc53b73f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/be/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/be/thunderbird-78.9.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "9a5b22648d8c7c05d5f0be0d1f450baadccf791353a23bc1b6889e8911d90c5a";
+      sha256 = "fb8b7b8f054bb57c81ff3d6f9be2344875614603e51d0ada3c9ae9a7b293d51a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/bg/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/bg/thunderbird-78.9.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "77cf8d4912c2b5b34fa0235ddbb95cd90bcf83d1d528275b23de08dad59116c5";
+      sha256 = "9df0466da1b9d866055d1ab2c0afacfa52520cea68d399e0bfce31dca73501ea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/br/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/br/thunderbird-78.9.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "9e7bcb749e0d88efd60e6bed2fc77e39deaf8a82db56c304529d44843657842d";
+      sha256 = "89625f21cef0fb98fe3b3755c73859ff942ada47b255b2f8a806f280a77af711";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ca/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ca/thunderbird-78.9.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "0206a127cbf5f9b1c4c4711d4d05591d175c9e96c2354790c220e9587c356aba";
+      sha256 = "6fa044e4b37fabe37ce76f09ae97edb0d82aabbc5e60442bed24fc0c6a8735fa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/cak/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/cak/thunderbird-78.9.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "e47d892a90c3b9ec29365cc0173066234e21cd989c4b588e43fecb61b10d1f80";
+      sha256 = "2668ef838b08b75ac1f0d8f87ec01bc08fdd02631f8cbacd4c25bf0e13470dae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/cs/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/cs/thunderbird-78.9.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "bdcfb9cf6e3207a41634eb54c472117c33b0df981d900c4dd0dbff0463ebe57a";
+      sha256 = "23bc6f0a178b9869cbdb59db4068cda6e88b7c19415c736ba651f886b5f680d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/cy/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/cy/thunderbird-78.9.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "5b0def675213d882ea653ffd7b5aa62f96000d4aaee8e06ad1fd5984ac99c8c7";
+      sha256 = "afaea8a7289f56ea07a2960a4ab645c8c748d43bf8ae5458b70fbd2c93d070b5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/da/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/da/thunderbird-78.9.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "617579da2580a0d9a5a6e64ef7c4b028fde31f82dcf8139104c380e51ec50227";
+      sha256 = "7efbb2b12744af4da28580d6fcd648c41ca1a7bf09df1eb2fe149e9cb1db29c4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/de/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/de/thunderbird-78.9.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "5cdee984aa63595fbcb00303f14fd19d124ef9b267d490d5263c7554f4ea0dc7";
+      sha256 = "0c7059e9a8bbeceac0a834ec6db2d1a54b25d1016149cdd766259a9982b5a55d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/dsb/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/dsb/thunderbird-78.9.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "fa05969bcc025056b8ba9c056af0051fed91a967ebf9e21ccab7654aaaa6ba1f";
+      sha256 = "266f62501dae1728eed1756bde56378f2a81c85e600f83e59ab47b0cda6eed7f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/el/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/el/thunderbird-78.9.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "03b58dbcabb41c0140c18f1ff31dd32e4d2d006c85af75d73bcd656587e787ed";
+      sha256 = "a22d57db810633e9b6041207b018b6a4d97b4f6d25b9dac636b7c9dc7ac2bb3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/en-CA/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/en-CA/thunderbird-78.9.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "6cd222aacb8eba184dc3eef308fe7b564c70da2ba6c38e6e4e328e999b7229a4";
+      sha256 = "8bbca7d8bef81968c31317e298a471399ae183170dfeeea37c5791b60afcab7c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/en-GB/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/en-GB/thunderbird-78.9.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "9d3ca50977bd5c6f8a5bd998549db0dc2ccc6aa5d33c914e93d42e2ae69e8cbd";
+      sha256 = "431a4f01e3220ed58bfc4f4d6633bb77f9f69929ebc68da9aa0945ec9686d569";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/en-US/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/en-US/thunderbird-78.9.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "84721e190b6b95733a47a16853e1fe1e0c7b0e4693d3b7752aa59583fba92f97";
+      sha256 = "0d0970844747d9ddeb55e81db916a7c46333e0d64c67b25106eded69d0345e57";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/es-AR/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/es-AR/thunderbird-78.9.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "dcadcd68506406f718871d7576b47086d59ca159a5bc6d878d022141029df2db";
+      sha256 = "be435aa764c0c46864bd18463ad47ce31c3ace6ab2204c2d38ad44e6e924eacc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/es-ES/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/es-ES/thunderbird-78.9.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "46526dd5b4bb123e774d3a3fa8fd88a8982cfb36a252b09fa98aa6cb773ff0d2";
+      sha256 = "0201bed6e8286dc455389cb62393cf697be955010e893a6d294a963861331324";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/et/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/et/thunderbird-78.9.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "de0b695be00721244ff20b2046bb376342fba7c422980443b217f5d4cfa83d48";
+      sha256 = "a4594dbaba90ecbd7d2c6ebe91d3280bfa05815355b9f16756c19795a598f105";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/eu/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/eu/thunderbird-78.9.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "543d45e256951cbf21bc61359e99daf2c80789a88641ae2231c1eb0ade133198";
+      sha256 = "f74f02683bfcbf7795b92325d332f855c636f42259e36c1284d383b49e919770";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/fa/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/fa/thunderbird-78.9.1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "6b95ebccf7ccca90c3310923f020ba6f05fa715d64c79acd770a491e15a9938f";
+      sha256 = "ae29d36b6510bdda27ccdd1444bab1c2b2c581fabc2e501cfee54c50e34ea5f7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/fi/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/fi/thunderbird-78.9.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "145c2479a73955f9ffe6ebd2d41eced848770729f218381735aafe5c3cc0b3a6";
+      sha256 = "2b586687b107c45d59a7da744ee7c8dca6b6b0dcf7685a963a901819e2b7c799";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/fr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/fr/thunderbird-78.9.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "9178d90f346d62b6aa0bb4b081b6bebc214d333d6a042c46ee1af7661ffc3b03";
+      sha256 = "dcf346dd57f6c9a5a5b05c9a367a7955b821de1c1a2e25caaa2c39d7eb451f32";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/fy-NL/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/fy-NL/thunderbird-78.9.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "fe3574999f0d1fff276fdfd7d432859d495c2b64137d33ee418ef1e4329b1b72";
+      sha256 = "e19670ba85c5ee7840dc40e04c4d76dbe3b240c1eb865800a184cc512c7e1cc9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ga-IE/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ga-IE/thunderbird-78.9.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "1570882cd8345f86de38179713a7f7acb94768c4874e571a20314fb01154e1bf";
+      sha256 = "97608d41f96d830a0926e52bc218bbdbdbe2e3abebbfaaa8fcc78c5957bf2d3a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/gd/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/gd/thunderbird-78.9.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "9405a2a7ce52a48292bf4b6b20f3b1e96c12460a1e44a90ccdc31cdb21acda5e";
+      sha256 = "6f95e26b57550604c177a6b561bcd73ba39df76f6c08af71185eb050f66fdfbf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/gl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/gl/thunderbird-78.9.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "930a9a3e06bc28ede54ec43e8bb92cc30329d7f0271629b37ac3753191f7e133";
+      sha256 = "6f911ad3c16a0fe9fcfab54518585b5ea53a6c800ef4a01ee22fba029d8f857f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/he/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/he/thunderbird-78.9.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "eb08c16b7df47fd501f61049b19f3f8f827870c8681b9230564276bc0cc9ada8";
+      sha256 = "535430ac4b5991621ea4b3a042a45db7c5ec1dfb3831c882cc06180a6e21d1bd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/hr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/hr/thunderbird-78.9.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "c866290def37d2e16274820d5846bec52afc7c7da1f8df812df930f0c68c6b56";
+      sha256 = "9dd72c9c518fad8e7b44467b6b0df15a6d631aac73fe4c6d5339b1a47f0abb62";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/hsb/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/hsb/thunderbird-78.9.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "0df5dc60047e68aadc7a96e194468d42e977c7a90d9faa8c4684f650763825f8";
+      sha256 = "b42f9b479e9a9e4a9be2ab99facb9a2d8a9d29ab549a69882e2e13eb15f67414";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/hu/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/hu/thunderbird-78.9.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "e76e78c1c77b59eb7a3ffad0da149dcc7f64d6b0305f5a5a607ad2745d224e17";
+      sha256 = "b82c89ffe3e76744a85c4a5357d294108aa1fad6b8783b27b0b38911974aaa3e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/hy-AM/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/hy-AM/thunderbird-78.9.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "0dde11bb6c6ba186925010cee97b59d3c64890b108ef478be5578218954a39cb";
+      sha256 = "b5f7387d7e2be74fffa44af77ae7a4dfd6a5c7ce88348eca948c5756296bb1c5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/id/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/id/thunderbird-78.9.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "ceea16b87a7d8b44b187d950f4c9fc5326ed7a550c38e0f41645004a324669a0";
+      sha256 = "87e85aace879757e916b733f36d2c6ef8aaf050c72f2a849b09df44e788071c6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/is/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/is/thunderbird-78.9.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "a98177d8f62b1ffe056ba3c1f2ec9d7b3f47ad8d47459328692e9bee5e1d02d2";
+      sha256 = "06f38495a1f62bafdbf4c594851d5a50a31ff7a619654e8ec5b267f81e5d83e1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/it/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/it/thunderbird-78.9.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "259b8e4e08828b544ba61541629025d4a711f44dc4c476b3e3971a633301b298";
+      sha256 = "17bf5e33c146e060b6ab26085173d46d8ef5774d0314963348507ae43928d632";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ja/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ja/thunderbird-78.9.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "6f2511dab5530e58664f386cb65b26d82fe581faee01b1a76cdd29e3ee3a1955";
+      sha256 = "f5db8f5abd1cee454fd93b4d25d2700ac53c98fbc3b3653a7501ae46032fd22f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ka/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ka/thunderbird-78.9.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "368a85fcb387703df7422d1ce199a499d0e4796f4fdd4775aef27c5b36272fa7";
+      sha256 = "99d0f8777c3edb3e10d9627789574cd32e3ab7b78f2d7fc914d1d8a6ccdf354c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/kab/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/kab/thunderbird-78.9.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "33bfd965c79bd6935516729f3eedd65be2b3f754c9225d6ffdb4af201b0d13a2";
+      sha256 = "56303c2d1432502b8086dbf77c97807bd1d06663e7d5329a98c063d2898db531";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/kk/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/kk/thunderbird-78.9.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "20dfc052f78a58d4fd96a0df22b55559ca43d8792dfda372dfede1cb49c6b185";
+      sha256 = "b1e9904229f9b1029a1679bd22ae58c849e1f5966729360c03b4bd8fac00c4f7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ko/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ko/thunderbird-78.9.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "63479eb7fcaea17ea29c98b624c36ac20ff2ab9e42bae1a355c78f05d5f9e313";
+      sha256 = "5f53baf78b96853b3c490abff44736ce4e24b049b81e9baad80889a995f9b610";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/lt/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/lt/thunderbird-78.9.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "2d50db9e0698c991e10a6ec6e627b02d0aca9e18b857aa290e4aab926e8ee88b";
+      sha256 = "b9724ca09c3c3a4be2f73a0b6673e4c17cec5baf140d89dfdfac27f0486f07e8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ms/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ms/thunderbird-78.9.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "66969627bd536d9a8e8d8717bab010ceb16350425d31ea114bc7e012ba1f0922";
+      sha256 = "aa72459fdcf1348b53de43715b0e7649d7cbd6d450d069331f0dfd45910e68ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/nb-NO/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/nb-NO/thunderbird-78.9.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "1db46ff207d356adaf761db2fac7961b20633dc6578ce562154a1bdb308256e3";
+      sha256 = "d22d185bfd1db98db50151c3d8872cbfb8df5ecc1472c1526f605274de086f2a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/nl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/nl/thunderbird-78.9.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "0259c04b35bd30b5feb44da31b639938504f1402879205263eb63f7a59153f11";
+      sha256 = "a4a9fa6ff73d2a937d5a9d35e66006b1b6fec94daad7e54358844958e9b9531f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/nn-NO/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/nn-NO/thunderbird-78.9.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "1de52759f96302447829e0de40319394ac0b1802ec60c0c242cf85c0ca5110c6";
+      sha256 = "814d95b6c6a5c6d7faa61aa30cb87f4c44c8b1698f8908a95b85513bb2aaf515";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/pa-IN/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/pa-IN/thunderbird-78.9.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "39e0f5794e508dbf02c6aaedaead4173f5ae55d350aa3caeb7a1ad300a69e4e8";
+      sha256 = "39bfc9533287a19083e34a1d8e7944a434fd5348f3694b3004d2e5c05da1155a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/pl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/pl/thunderbird-78.9.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "25bc49f2225c8aca7ea467a240234fa9ec2c7ec34f751537a199f6cbb30b390b";
+      sha256 = "1888be78e04a095e0a2576acbb3a4aa82b0060c6ca490f7a7b918efbb60e44a7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/pt-BR/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/pt-BR/thunderbird-78.9.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "6091c0e84d89312db11a3714027881243db708ce3f28187e86076351786a3d70";
+      sha256 = "3be3a00c44ef1be4d48a5f8c391153ad636128a030a671a646c7dee9d6327c2d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/pt-PT/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/pt-PT/thunderbird-78.9.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "45fae3c271d226dee2410f8f97eadb62783291c570bf12cd9f5fe5ab23acae23";
+      sha256 = "f140717de6d19f049ea3ff3ea43ba7f42a3ae6b72e9e2a2acb8b4e05c323361c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/rm/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/rm/thunderbird-78.9.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "56387dea25d3bc4742c297e0609be55a2db938d10a5e94db192018c706e7f398";
+      sha256 = "f19c8067bb6a584bb7c6d059cdcd069144c266982504b9421d8b91e501847cb1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ro/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ro/thunderbird-78.9.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "7e84c211675cbd59e805ffa499663b3c02dbc2075f2b734eaa9f41862e59c59f";
+      sha256 = "64d36d6c811748b6bcb084c1a8573d9657accb9258fa384687ca8074ceb0a905";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/ru/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/ru/thunderbird-78.9.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "c9374d0b813baa7aa837e2283d75c9c47d75fca7bfc640be4782d90b480fa145";
+      sha256 = "e6fe0da07d30ac884c04448b7d7b0f2010948ae35184b16b6f3df2f784f6fefc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/si/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/si/thunderbird-78.9.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "ac8ff38bf196886f8b95c34a07ed701416c58b78758517377f6d8eefc85050ad";
+      sha256 = "7ae069a1bd4020c1bedf951a9d097a95f784388d850e19514629d9b5f2a23a13";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/sk/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/sk/thunderbird-78.9.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "dd44494bec41af06317266ee7d8f8f16ac6c648728636aa68c93f57ca9594231";
+      sha256 = "5c07370cfd51774dd7333e68a61f29aeb4108303f891e14471909477d5d2c165";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/sl/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/sl/thunderbird-78.9.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "2be1af23f71b22812a90ab2be33649ad53bf2d14acbbcc9540b835eade0fd9bf";
+      sha256 = "936e9be71d2881151de6ceda8eec86cc7342f56f3947c9fe48f59500c83cfcb2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/sq/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/sq/thunderbird-78.9.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "5c65db4fcc190408aa8a1c5f0170ede3f86f1c9f07dacc6fd7a9aa54bff533d1";
+      sha256 = "309857b9ab66ec1ae407b286bd4f75a519d6afadf25cb64662dd369e831d0996";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/sr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/sr/thunderbird-78.9.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "7a42279c8a4352c18d583503b2324f5dd98b6c927582fa1d5e8cd72a5b1ca782";
+      sha256 = "5c437425b529b838d0895261a237d42423aad24fd5fbb5bc66cc305de30bfef9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/sv-SE/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/sv-SE/thunderbird-78.9.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "3f508f801f1f4afc477ee1a0bd81d49d957429360b9691b5945a88b609dc9a21";
+      sha256 = "d88378fe88c18a7f2d60d9c612b414f5706a03fb602da352393e1745bc6b2070";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/th/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/th/thunderbird-78.9.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "bd50cac75236ee9e1ad7226c605b37cc2f4aa57eafc4978af9f2563aff7dda0c";
+      sha256 = "197686b485f5d2573fc7fdf8104bc10d81b4100bc4875dc6162365e933d07256";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/tr/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/tr/thunderbird-78.9.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "af134487b9c2d6f84df56e2da1fcbc7b4abd3960fa3d11a366281768812fd9e6";
+      sha256 = "96eddab994d3aaf57b933b8a7e1f3ca3036077c3c67c13d22c629314f05933d4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/uk/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/uk/thunderbird-78.9.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "a094a6fe935b002805252ad4694a15231587a66c31cff3064c2842332f1e82ae";
+      sha256 = "a8170a0396763696a8ebded65e1761652b25371613dc28b3cdc6a312eb9da996";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/uz/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/uz/thunderbird-78.9.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "6b8b7622374c92036828990db1de3042e1a7cebf12974d30d73dcdd0e564d707";
+      sha256 = "6de38d66847d61dcd50f0822374b3a5857272b4e74f7dae308ba3c32d42228c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/vi/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/vi/thunderbird-78.9.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "4ffcd1d5f21145f857ee525169fe59ee8a1cdef6a1c4f3cc1918be1fc7c66e6a";
+      sha256 = "1a5814a3a19d91eb940abf956d401b83717706b99c976376ff64c4ceb0ed12e6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/zh-CN/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/zh-CN/thunderbird-78.9.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "8cd65c054b6fefcbd0ac9a057e277009c732af6baef08ccb3f57bee73b75ae20";
+      sha256 = "2d365539626c4f718b0e558f02827385749e6df507c81f411f688a6b43e1c4e5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.0/linux-i686/zh-TW/thunderbird-78.9.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.9.1/linux-i686/zh-TW/thunderbird-78.9.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "1e39b1e38bfcc1735801dcd6c073ba1eeb344b23d9e859495947a37d95a4b3b8";
+      sha256 = "6003512f81b9d73363bffa38be003adc684456b75017222c2e324659d94f7735";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index e29757f49c8..f6f091b9142 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -73,13 +73,13 @@ assert waylandSupport -> gtk3Support == true;
 
 stdenv.mkDerivation rec {
   pname = "thunderbird";
-  version = "78.9.0";
+  version = "78.9.1";
 
   src = fetchurl {
     url =
       "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
     sha512 =
-      "35n9l1kjx52davwf1k5gdx2y81hws3mfb5755464z9db48n0vfj756jlg9d8f2m2s29js27bdswl64mralw4j085dl11661g7p9ypzs";
+      "3370ngycp6syvxfnindzz06xg39vb2knfi2zshsm87aqrapk52vmfbdagv5a85vwlmd2h5gd47zcmz2mj5360mcfxlc380hrqks69zs";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/remote/aws-workspaces/default.nix b/pkgs/applications/networking/remote/aws-workspaces/default.nix
index 96c66f054e2..3451cbb129f 100644
--- a/pkgs/applications/networking/remote/aws-workspaces/default.nix
+++ b/pkgs/applications/networking/remote/aws-workspaces/default.nix
@@ -5,15 +5,15 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-workspaces";
-  version = "3.1.3.925";
+  version = "3.1.5.1105";
 
   src = fetchurl {
     # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages
     urls = [
       "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
-      "https://web.archive.org/web/20210307233836/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
+      "https://web.archive.org/web/20210411145948/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb"
     ];
-    sha256 = "5b57edb4f6f8c950164fd8104bf62df4c452ab5b16cb65d48db3636959a0f0ad";
+    sha256 = "08c8912502d27e61cc2399bf99947e26c1daa1f317d5aa8cc7348d7bf8734e1b";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index 51e8e553ec7..23d2d498d6c 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.35";
+  version = "2.36";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-J0vwc/sabc6T8+eh94luQdnVltmThapYwLCdyGjCnSc=";
+    sha256 = "sha256-BVn+mV5SjyODcT+O8LXfGA42/Si5+GrdkjP0tAPiuTM=";
   };
 
-  vendorSha256 = "sha256-u1Aqcm6oJ1y2dVP9BJXV7/1nhNxEOtgZQppoA+cXbD0=";
+  vendorSha256 = "sha256-qdgnoh+53o3idCfpkEFGK88aUVb2F6oHlSRZncs2hyY=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/syncthing/add-stcli-target.patch b/pkgs/applications/networking/syncthing/add-stcli-target.patch
deleted file mode 100644
index 07b5e334b2c..00000000000
--- a/pkgs/applications/networking/syncthing/add-stcli-target.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/build.go b/build.go
-index c8a5c1cf..d75a8491 100644
---- a/build.go
-+++ b/build.go
-@@ -202,6 +202,12 @@ var targets = map[string]target{
- 			{src: "AUTHORS", dst: "deb/usr/share/doc/syncthing-relaypoolsrv/AUTHORS.txt", perm: 0644},
- 		},
- 	},
-+	"stcli": {
-+		name:        "stcli",
-+		description: "Syncthing CLI",
-+		buildPkgs:   []string{"github.com/syncthing/syncthing/cmd/stcli"},
-+		binaryName:  "stcli",
-+	},
- }
- 
- // These are repos we need to clone to run "go generate"
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 6d4b3fe34c4..2fa4f0b93c8 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -3,23 +3,20 @@
 let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
-      version = "1.14.0";
-      name = "${stname}-${version}";
+      pname = stname;
+      version = "1.15.1";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "1nkjbikin341v74fcwdaa2v5f3zhd8xr6pjhpka1fdw6vvnn4lnd";
+        sha256 = "sha256-d7b1hqW0ZWg74DyW1ZYMT7sIR7H89Ph38XE2Mhh7ySg=";
       };
 
-      vendorSha256 = "1kr6yyigi7bbi4xwpk009q801wvmf3aaw4m40ki0s6gjn0wjl4j3";
+      vendorSha256 = "sha256-00DdGJNCZ94Wj6yvVXJYNJZEiGxYbqTkX6wwon0O1tc=";
 
       doCheck = false;
 
-      patches = [
-        ./add-stcli-target.patch
-      ];
       BUILD_USER="nix";
       BUILD_HOST="nix";
 
@@ -83,12 +80,6 @@ in {
     '';
   };
 
-  syncthing-cli = common {
-    stname = "syncthing-cli";
-
-    target = "stcli";
-  };
-
   syncthing-discovery = common {
     stname = "syncthing-discovery";
     target = "stdiscosrv";
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index 4f32486ffe1..cdef23cff4c 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -13,17 +13,17 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     Babel
+    beancount
     cheroot
-    flaskbabel
+    click
     flask
+    flaskbabel
+    jaraco_functools
     jinja2
-    beancount
-    click
     markdown2
     ply
     simplejson
     werkzeug
-    jaraco_functools
   ];
 
   checkInputs = with python3.pkgs; [
@@ -39,10 +39,11 @@ python3.pkgs.buildPythonApplication rec {
     "test_cli"
   ];
 
-  meta = {
-    homepage = "https://beancount.github.io/fava";
+  meta = with lib; {
     description = "Web interface for beancount";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ matthiasbeyer ];
+    homepage = "https://beancount.github.io/fava";
+    changelog = "https://beancount.github.io/fava/changelog.html";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bhipple ];
   };
 }
diff --git a/pkgs/applications/office/foliate/default.nix b/pkgs/applications/office/foliate/default.nix
new file mode 100644
index 00000000000..8226e8e38cc
--- /dev/null
+++ b/pkgs/applications/office/foliate/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
+, webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
+, gobject-introspection }:
+
+stdenv.mkDerivation rec {
+  pname = "foliate";
+  version = "2.6.3";
+
+  src = fetchFromGitHub {
+    owner = "johnfactotum";
+    repo = pname;
+    rev = version;
+    sha256 = "0ribqaxl8g1i83fxbn288afwbzzls48ni57xqi07d19p9ka892mr";
+  };
+
+  nativeBuildInputs = [ meson ninja python3 wrapGAppsHook ];
+
+  postPatch = ''
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
+  postFixup = ''
+    echo "fixing wrapper"
+    sed -i "1 a imports.package._findEffectiveEntryPointName = () => 'com.github.johnfactotum.Foliate';" $out/bin/.com.github.johnfactotum.Foliate-wrapped
+    ln -s $out/bin/com.github.johnfactotum.Foliate $out/bin/foliate
+  '';
+
+  buildInputs = [
+    gettext
+    glib
+    gjs
+    gtk3
+    webkitgtk
+    desktop-file-utils
+    gobject-introspection
+    gsettings-desktop-schemas
+  ];
+
+  meta = with lib; {
+    description = "A simple and modern GTK eBook reader";
+    homepage = "https://johnfactotum.github.io/foliate/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix
index 4c892b2605b..3b7052dff7f 100644
--- a/pkgs/applications/office/gtg/default.nix
+++ b/pkgs/applications/office/gtg/default.nix
@@ -16,13 +16,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gtg";
-  version = "unstable-2020-10-22";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "getting-things-gnome";
     repo = "gtg";
-    rev = "144814c16723fa9d00e17e047df5d79ab443fc5f";
-    sha256 = "1lpanfbj8y8b6cqp92lgbvfs8irrc5bsdffzcjcycazv19qm7z2n";
+    rev = "v${version}";
+    sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403";
   };
 
 
@@ -56,6 +56,10 @@ python3Packages.buildPythonApplication rec {
     xvfb_run
   ];
 
+  preBuild = ''
+    export HOME="$TMP"
+  '';
+
   format = "other";
   strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943)
 
diff --git a/pkgs/applications/office/kitsas/default.nix b/pkgs/applications/office/kitsas/default.nix
new file mode 100644
index 00000000000..0adfa748c01
--- /dev/null
+++ b/pkgs/applications/office/kitsas/default.nix
@@ -0,0 +1,51 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtsvg, qtcreator, poppler, libzip, pkg-config }:
+
+mkDerivation rec {
+  pname = "kitsas";
+  version = "2.3";
+
+  src = fetchFromGitHub {
+    owner = "artoh";
+    repo = "kitupiikki";
+    rev = "v${version}";
+    sha256 = "1qac6cxkb45rs5pschsf2rvpa789g27shmrwpshwahqzhw42xvgl";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ qmake qtsvg poppler libzip ];
+
+  # We use a separate build-dir as otherwise ld seems to get confused between
+  # directory and executable name on buildPhase.
+  preConfigure = ''
+    mkdir build-linux
+    cd build-linux
+  '';
+
+  qmakeFlags = [
+    "../kitsas/kitsas.pro"
+    "-spec"
+    "linux-g++"
+    "CONFIG+=release"
+  ];
+
+  preFixup = ''
+    make clean
+    rm Makefile
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/applications
+    cp kitsas $out/bin
+    cp $src/kitsas.png $out/share/applications
+    cp $src/kitsas.desktop $out/share/applications
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/artoh/kitupiikki";
+    description = "An accounting tool suitable for Finnish associations and small business";
+    maintainers = with maintainers; [ gspia ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index e397743b22d..451e4b92185 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "21.3.2";
+  version = "21.4.0";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Can grab official version like so:
-    # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-21.3.2.tar.xz.sha256
-    sha256 = "a8e8ab2ca1ef6684407adeb8fc63abcafff407a367471e053c583a1c4215e5ee";
+    # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-21.4.0.tar.xz.sha256
+    sha256 = "bda454031a79a768b472677036ada7501ea430482277f1694757066922428eec";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/watson/default.nix b/pkgs/applications/office/watson/default.nix
index 18c1b9469e7..c305c771417 100644
--- a/pkgs/applications/office/watson/default.nix
+++ b/pkgs/applications/office/watson/default.nix
@@ -4,26 +4,22 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "watson";
-  version = "1.10.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "TailorDev";
     repo = "Watson";
     rev = version;
-    sha256 = "1s0k86ldqky6avwjaxkw1y02wyf59qwqldcahy3lhjn1b5dgsb3s";
+    sha256 = "1yxqjirv7cpg4hqj4l3a53p3p3kl82bcx6drgvl9v849vcc3l7s0";
   };
 
-  checkPhase = ''
-    pytest -vs tests
-  '';
-
   postInstall = ''
     installShellCompletion --bash --name watson watson.completion
     installShellCompletion --zsh --name _watson watson.zsh-completion
   '';
 
-  checkInputs = [ py pytest pytest-datafiles pytest-mock pytestrunner ];
-  propagatedBuildInputs = [ arrow click click-didyoumean requests ];
+  checkInputs = [ pytestCheckHook pytest-mock mock pytest-datafiles ];
+  propagatedBuildInputs = [ arrow_1 click click-didyoumean requests ];
   nativeBuildInputs = [ installShellFiles ];
 
   meta = with lib; {
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index 24eace7eb99..37f04e0ba5a 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -1,75 +1,37 @@
-{ lib, stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
-, lua, libGLU, libGL, pkg-config, perl, autoreconfHook
+{ lib, stdenv, fetchFromGitHub, pkg-config, freeglut, gtk2, gtkglext
+, libjpeg_turbo, libtheora, libXmu, lua, libGLU, libGL, perl, autoreconfHook
 }:
 
-let
-  name = "celestia-1.6.1";
+stdenv.mkDerivation rec {
+  pname = "celestia";
+  version = "1.6.2.2";
 
-  gcc46Patch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-gcc46.patch?h=packages/celestia";
-    sha256 = "0my7dpyh5wpz5df7bjhwb4db3ci2rn8ib1nkjv15fbp1g76bxfaz";
-    name = "celestia-1.6.1-gcc46.patch";
+  src = fetchFromGitHub {
+    owner = "CelestiaProject";
+    repo = "Celestia";
+    rev = version;
+    sha256 = "1s9fgxh6i3x1sy75y5wcidi2mjrf5xj71dd4n6rg0hkps441sgsp";
   };
 
-  libpng15Patch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-libpng15.patch?h=packages/celestia";
-    sha256 = "1jrmbwmvs9b6k2b2g4104q22v4vqi0wfpz6hmfhniaq34626jcms";
-    name = "celestia-1.6.1-libpng15.patch";
-  };
-
-  libpng16Patch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-libpng16.patch?h=packages/celestia";
-    sha256 = "1q85prw4ci6d50lri8w1jm19pghxw96qizf5dl4g0j86rlhlkc8f";
-    name = "celestia-1.6.1-libpng16.patch";
-  };
-
-  linkingPatch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-linking.patch?h=packages/celestia";
-    sha256 = "1m8xyq26nm352828bp12c3b8f6m9bys9fwfxbfzqppllk7il2f24";
-    name = "celestia-1.6.1-linking.patch";
-  };
-
-  gcc47Patch = fetchurl {
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/gcc-4.7-fixes.diff?h=packages/celestia";
-    sha256 = "1na26c7pv9qfv8a981m1zvglhv05r3h8513xqjra91qhhzx8wr8n";
-    name = "gcc-4.7-fixes.diff";
-  };
-in
-stdenv.mkDerivation {
-  inherit name;
-
-  src = fetchurl {
-    url = "mirror://sourceforge/celestia/${name}.tar.gz";
-    sha256 = "1i1lvhbgllsh2z8i6jj4mvrjak4a7r69psvk7syw03s4p7670mfk";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU libGL lua
-    perl autoreconfHook ];
-
-  patchPhase = ''
-    patch -Np0 -i "${gcc46Patch}"
-    patch -Np0 -i "${libpng15Patch}"
-    patch -Np2 -i "${libpng16Patch}"
-    patch -Np1 -i "${linkingPatch}"
-    patch -Np1 -i "${gcc47Patch}"
-  '';
+  nativeBuildInputs = [ pkg-config autoreconfHook ];
+  buildInputs = [
+    freeglut gtk2 gtkglext lua perl
+    libjpeg_turbo libtheora libXmu libGLU libGL
+  ];
 
   configureFlags = [
     "--with-gtk"
     "--with-lua=${lua}"
   ];
 
-  installPhase = ''make MKDIR_P="mkdir -p" install'';
-
   enableParallelBuilding = true;
 
-  meta = {
-    description = "Free space simulation";
+  meta = with lib; {
     homepage = "https://celestia.space/";
-    license = lib.licenses.gpl2;
-
-    platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.peti ];
+    description = "Real-time 3D simulation of space";
+    changelog = "https://github.com/CelestiaProject/Celestia/releases/tag/${version}";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ peti ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix
index 4f0d1eae487..31ae8678719 100644
--- a/pkgs/applications/science/misc/rink/default.nix
+++ b/pkgs/applications/science/misc/rink/default.nix
@@ -1,17 +1,17 @@
 { lib, fetchFromGitHub, rustPlatform, openssl, pkg-config, ncurses }:
 
 rustPlatform.buildRustPackage rec {
-  version = "0.5.1";
+  version = "0.6.0";
   pname = "rink";
 
   src = fetchFromGitHub {
     owner = "tiffany352";
     repo = "rink-rs";
     rev = "v${version}";
-    sha256 = "1s67drjzd4cf93hpm7b2facfd6y1x0s60aq6pygj7i02bm0cb9l9";
+    sha256 = "sha256-3uhKevuUVh7AObn2GDW2T+5wttX20SbVP+sFaFj3Jmk=";
   };
 
-  cargoSha256 = "1wd70y13lly7nccaqlv7w8znxfal0fzyf9d67y5c3aikj7hkzfin";
+  cargoSha256 = "sha256-luJzIGdcitH+PNgr86AYX6wKEkQlsRhwwylo+hzeovE=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ncurses ];
@@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Unit-aware calculator";
     homepage = "https://rinkcalc.app";
-    license = with licenses; [ mpl20 gpl3 ];
+    license = with licenses; [ mpl20 gpl3Plus ];
     maintainers = with maintainers; [ sb0 Br1ght0ne ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/gitui/default.nix b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
index caf179f645b..551db33b010 100644
--- a/pkgs/applications/version-management/git-and-tools/gitui/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitui/default.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, rustPlatform, fetchFromGitHub, libiconv, perl, python3, Security, AppKit, openssl, xclip }:
 rustPlatform.buildRustPackage rec {
   pname = "gitui";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "extrawurst";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fc8vxpy1zarxd5lqgwdj2jzv35qsxaydczg0qkws1f88m43n33x";
+    sha256 = "1ymvvmryzv5is535bjg8h9p7gsxygyawnpyd0hicdrdiwml5mgsq";
   };
 
-  cargoSha256 = "1j5cf5z8ksf5kvi6zfrabv1c127yb6s0dpkl9p8vqdgdc6mzghvd";
+  cargoSha256 = "14hf3xkdvk2mgag5pzai5382h3g79fq76s0p9pj8q9v8q21wg6pr";
 
   nativeBuildInputs = [ python3 perl ];
   buildInputs = [ openssl ]
diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
index 4ee92c1d5e6..b8584f5a533 100644
--- a/pkgs/applications/version-management/git-and-tools/stgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "stgit";
-  version = "0.23";
+  version = "1.0";
 
   src = fetchFromGitHub {
-    owner = "ctmarinas";
+    owner = "stacked-git";
     repo = "stgit";
     rev = "v${version}";
-    sha256 = "1r9y8qnl6kdvq61788pnfhhgyv2xrnyrizbhy4qz4l1bpqkwfr2r";
+    sha256 = "16q8994widg040n1ag4m82kbn3r02n39ah7dvwa7aixhw5y35vlm";
   };
 
   nativeBuildInputs = [ installShellFiles ];
@@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A patch manager implemented on top of Git";
-    homepage = "http://procode.org/stgit/";
+    homepage = "https://stacked-git.github.io/";
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index d0bbca15ea1..042bdc2a19d 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "git-review";
-  version = "1.28.0";
+  version = "2.0.0";
 
   # Manually set version because prb wants to get it from the git
   # upstream repository (and we are installing from tarball instead)
@@ -10,7 +10,7 @@ buildPythonApplication rec {
 
   src = fetchurl {
     url = "https://opendev.org/opendev/${pname}/archive/${version}.tar.gz";
-    sha256 = "1y1jzb0hlprynwwr4q5y4x06641qrhj0k69mclabnmhfam9g8ygm";
+    sha256 = "0dkyd5g2xmvsa114is3cd9qmki3hi6c06wjnra0f4xq3aqm0ajnj";
   };
 
   propagatedBuildInputs = [ pbr requests setuptools ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index f1fdbad4cb7..f71235025d5 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.13.7";
+  version = "1.14.0";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-jJbX+kcXqd1v8aXNhmt24mq9mxOpTogCVm263rHVGHw=";
+    sha256 = "sha256-SE+YqcRNkhRQXDzgv72YrQX9bG/URYj4NAFvTg4bE3Y=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/video/kooha/default.nix b/pkgs/applications/video/kooha/default.nix
new file mode 100644
index 00000000000..0a3de27f53e
--- /dev/null
+++ b/pkgs/applications/video/kooha/default.nix
@@ -0,0 +1,58 @@
+{ lib, fetchFromGitHub, appstream-glib, desktop-file-utils, glib
+, gobject-introspection, gst_all_1, gtk3, libhandy, librsvg, meson, ninja
+, pkg-config, python3, wrapGAppsHook }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "kooha";
+  version = "1.1.1";
+  format = "other";
+
+  src = fetchFromGitHub {
+    owner = "SeaDve";
+    repo = "Kooha";
+    rev = "v${version}";
+    sha256 = "05515xccs6y3wy28a6lkyn2jgi0fli53548l8qs73li8mdbxzd4c";
+  };
+
+  buildInputs = [
+    glib
+    gobject-introspection
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gtk3
+    libhandy
+    librsvg
+  ];
+
+  nativeBuildInputs = [
+    appstream-glib
+    desktop-file-utils
+    meson
+    ninja
+    python3
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = [ python3.pkgs.pygobject3 ];
+
+  strictDeps = false;
+
+  buildPhase = ''
+    export GST_PLUGIN_SYSTEM_PATH_1_0="$out/lib/gstreamer-1.0/:$GST_PLUGIN_SYSTEM_PATH_1_0"
+  '';
+
+  # Fixes https://github.com/NixOS/nixpkgs/issues/31168
+  postPatch = ''
+    chmod +x build-aux/meson/postinstall.py
+    patchShebangs build-aux/meson/postinstall.py
+  '';
+
+  meta = with lib; {
+    description = "Simple screen recorder";
+    homepage = "https://github.com/SeaDve/Kooha";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ austinbutler ];
+  };
+}
diff --git a/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix
new file mode 100644
index 00000000000..f716d93a360
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchFromGitHub, obs-studio, cmake, qtbase }:
+
+stdenv.mkDerivation rec {
+  pname = "obs-multi-rtmp";
+  version = "0.2.6";
+
+  src = fetchFromGitHub {
+    owner = "sorayuki";
+    repo = "obs-multi-rtmp";
+    rev = version;
+    sha256 = "sha256-SMcVL54HwFIc7/wejEol2XiZhlZCMVCwHHtIKJ/CoYY=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio qtbase ];
+
+  cmakeFlags = [
+    "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
+  ];
+
+  dontWrapQtApps = true;
+
+  # obs-studio expects the shared object to be located in bin/32bit or bin/64bit
+  # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48
+  postInstall = let
+    pluginPath = {
+      i686-linux = "bin/32bit";
+      x86_64-linux = "bin/64bit";
+    }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}");
+  in ''
+    mkdir -p $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath}
+    ln -s $out/lib/obs-plugins/obs-multi-rtmp.so $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath}
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/sorayuki/obs-multi-rtmp/";
+    changelog = "https://github.com/sorayuki/obs-multi-rtmp/releases/tag/${version}";
+    description = "Multi-site simultaneous broadcast plugin for OBS Studio";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ jk ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index a6f64444f87..f3d5572750f 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -132,10 +132,10 @@ rec {
 
     goPackagePath = "github.com/docker/cli";
 
-    nativeBuildInputs = [ pkg-config go-md2man go libtool installShellFiles ];
-    buildInputs = [
-      makeWrapper
-    ] ++ optionals (stdenv.isLinux) [
+    nativeBuildInputs = [
+      makeWrapper pkg-config go-md2man go libtool installShellFiles
+    ];
+    buildInputs = optionals (stdenv.isLinux) [
       sqlite lvm2 btrfs-progs systemd libseccomp
     ] ++ optionals (buildxSupport) [ docker-buildx ];
 
diff --git a/pkgs/applications/window-managers/wmderland/0001-remove-flto.patch b/pkgs/applications/window-managers/wmderland/0001-remove-flto.patch
new file mode 100644
index 00000000000..cae1eac0a20
--- /dev/null
+++ b/pkgs/applications/window-managers/wmderland/0001-remove-flto.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 17a4944..33406f3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -10,7 +10,7 @@ include(BuildType)
+ # Request C++14 standard, using new CMake variables.
+ set(CMAKE_CXX_STANDARD 14)
+ set(CMAKE_CXX_STANDARD_REQUIRED True)
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto -Wall")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
+ 
+ # If the BuildType is Debug, then add -rdynamic.
+ # (used to print stacktrace with function names)
diff --git a/pkgs/applications/window-managers/wmderland/default.nix b/pkgs/applications/window-managers/wmderland/default.nix
new file mode 100644
index 00000000000..c0fcdd859b2
--- /dev/null
+++ b/pkgs/applications/window-managers/wmderland/default.nix
@@ -0,0 +1,49 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libnotify, libX11, xorgproto, nixosTests }:
+
+stdenv.mkDerivation {
+  pname = "wmderland";
+  version = "unstable-2020-07-17";
+
+  src = fetchFromGitHub {
+    owner = "aesophor";
+    repo = "wmderland";
+    rev = "a40a3505dd735b401d937203ab6d8d1978307d72";
+    sha256 = "0npmlnybblp82mfpinjbz7dhwqgpdqc1s63wc1zs8mlcs19pdh98";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  cmakeBuildType = "MinSizeRel";
+
+  patches = [ ./0001-remove-flto.patch ];
+
+  postPatch = ''
+    substituteInPlace src/util.cc \
+      --replace "notify-send" "${libnotify}/bin/notify-send"
+  '';
+
+  buildInputs = [
+    libX11
+    xorgproto
+  ];
+
+  postInstall = ''
+    install -Dm0644 -t $out/share/wmderland/contrib $src/example/config
+    install -Dm0644 -t $out/share/xsessions $src/example/wmderland.desktop
+  '';
+
+  passthru = {
+    tests.basic = nixosTests.wmderland;
+    providedSessions = [ "wmderland" ];
+  };
+
+  meta = with lib; {
+    description = "Modern and minimal X11 tiling window manager";
+    homepage = "https://github.com/aesophor/wmderland";
+    license = licenses.mit;
+    platforms = libX11.meta.platforms;
+    maintainers = with maintainers; [ takagiy ];
+  };
+}
diff --git a/pkgs/applications/window-managers/wmderlandc/default.nix b/pkgs/applications/window-managers/wmderlandc/default.nix
new file mode 100644
index 00000000000..24690eeaa46
--- /dev/null
+++ b/pkgs/applications/window-managers/wmderlandc/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, cmake, libX11, xorgproto }:
+
+stdenv.mkDerivation {
+  pname = "wmderlandc";
+  version = "unstable-2020-07-17";
+
+  src = fetchFromGitHub {
+    owner = "aesophor";
+    repo = "wmderland";
+    rev = "a40a3505dd735b401d937203ab6d8d1978307d72";
+    sha256 = "0npmlnybblp82mfpinjbz7dhwqgpdqc1s63wc1zs8mlcs19pdh98";
+  };
+
+  sourceRoot = "source/ipc-client";
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  buildInputs = [
+    libX11
+    xorgproto
+  ];
+
+  meta = with lib; {
+    description = "A tiny program to interact with wmderland";
+    homepage = "https://github.com/aesophor/wmderland/tree/master/ipc-client";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ takagiy ];
+  };
+}
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index db751593701..14317cbe4cc 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -312,10 +312,11 @@ stdenv.mkDerivation {
     # vs libstdc++, etc.) since Darwin isn't `useLLVM` on all counts. (See
     # https://clang.llvm.org/docs/Toolchain.html for all the axes one might
     # break `useLLVM` into.)
-    + optionalString (isClang && gccForLibs != null
+    + optionalString (isClang
                       && targetPlatform.isLinux
                       && !(stdenv.targetPlatform.useAndroidPrebuilt or false)
-                      && !(stdenv.targetPlatform.useLLVM or false)) ''
+                      && !(stdenv.targetPlatform.useLLVM or false)
+                      && gccForLibs != null) ''
       echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
     ''
 
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index b03bfcca87f..b261f9e095a 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -418,7 +418,11 @@ rec {
         # details on what's going on here; basically this command
         # means that the runAsRootScript will be executed in a nearly
         # completely isolated environment.
-        unshare -imnpuf --mount-proc chroot mnt ${runAsRootScript}
+        #
+        # Ideally we would use --mount-proc=mnt/proc or similar, but this
+        # doesn't work. The workaround is to setup proc after unshare.
+        # See: https://github.com/karelzak/util-linux/issues/648
+        unshare -imnpuf --mount-proc sh -c 'mount --rbind /proc mnt/proc && chroot mnt ${runAsRootScript}'
 
         # Unmount directories and remove them.
         umount -R mnt/dev mnt/sys mnt${storeDir}
diff --git a/pkgs/data/fonts/recursive/default.nix b/pkgs/data/fonts/recursive/default.nix
index 88c80574e8f..320e0cd7266 100644
--- a/pkgs/data/fonts/recursive/default.nix
+++ b/pkgs/data/fonts/recursive/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.077";
+  version = "1.078";
 in
 fetchzip {
   name = "recursive-${version}";
@@ -14,7 +14,7 @@ fetchzip {
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  sha256 = "sha256-deztulQ33TIMevEQOP5OS8tmf6UjXT8IiVpRjkdismY=";
+  sha256 = "0vmdcqz6rlshfk653xpanyxps96p85b1spqahl3yiy29mq4xfdn3";
 
   meta = with lib; {
     homepage = "https://recursive.design/";
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 597c6577cb0..429470f2bf3 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,6 +1,6 @@
 { fetchurl }:
 
 fetchurl {
-  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/fd3fefef13b49cbcd9a08b46c2aa4ceb204de5e0.tar.gz";
-  sha256 = "1dr4bqsisizw3qn9qxjpbk0rjri6s0gv9g9717cwfcixy940af2s";
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/1aad60ed9679a7597f3fc3515a0fe26fdb896e55.tar.gz";
+  sha256 = "0a7lm1ki8rz7m13x4zxlr1nkd93227xgmxbhvsmrj9fa4nc5bvyy";
 }
diff --git a/pkgs/data/themes/matcha/default.nix b/pkgs/data/themes/matcha/default.nix
index 08d0f51094d..eaad095d64b 100644
--- a/pkgs/data/themes/matcha/default.nix
+++ b/pkgs/data/themes/matcha/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "matcha-gtk-theme";
-  version = "2021-04-05";
+  version = "2021-04-09";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "0bm7hr4lqqz3z2miif38628r4qcy7i5hdk6sm0ngjacm43cl0qvg";
+    sha256 = "1989v2924g1pwycp44zlgryr73p82n9hmf71d0acs455jajf0pvv";
   };
 
   buildInputs = [ gdk-pixbuf librsvg ];
diff --git a/pkgs/desktops/gnome-3/extensions/unite/default.nix b/pkgs/desktops/gnome-3/extensions/unite/default.nix
index e2f7f547579..715e2a70cc7 100644
--- a/pkgs/desktops/gnome-3/extensions/unite/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/unite/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, gnome3, fetchFromGitHub, xprop, glib }:
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-unite";
-  version = "48";
+  version = "49";
 
   src = fetchFromGitHub {
     owner = "hardpixel";
     repo = "unite-shell";
     rev = "v${version}";
-    sha256 = "1rc9h7zrg9pvyl619ychcp0w7wmnf4ndaq2knv490kzhy0idj18j";
+    sha256 = "12kjljw253hshaz6x886kg3mc93lb4pxwd05qihww6m5k4lqjcy5";
   };
 
   uuid = "unite@hardpixel.eu";
diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix
deleted file mode 100644
index 45f5e367442..00000000000
--- a/pkgs/development/beam-modules/build-mix.nix
+++ /dev/null
@@ -1,100 +0,0 @@
-{ stdenv, writeText, elixir, erlang, hex, lib }:
-
-{ name
-, version
-, src
-, setupHook ? null
-, buildInputs ? []
-, beamDeps ? []
-, postPatch ? ""
-, compilePorts ? false
-, installPhase ? null
-, buildPhase ? null
-, configurePhase ? null
-, meta ? {}
-, enableDebugInfo ? false
-, ... }@attrs:
-
-with lib;
-
-let
-
-  debugInfoFlag = lib.optionalString (enableDebugInfo || elixir.debugInfo) "--debug-info";
-
-  shell = drv: stdenv.mkDerivation {
-          name = "interactive-shell-${drv.name}";
-          buildInputs = [ drv ];
-    };
-
-  bootstrapper = ./mix-bootstrap;
-
-  pkg = self: stdenv.mkDerivation ( attrs // {
-    name = "${name}-${version}";
-    inherit version;
-
-    dontStrip = true;
-
-    inherit src;
-
-    setupHook = if setupHook == null
-    then writeText "setupHook.sh" ''
-       addToSearchPath ERL_LIBS "$1/lib/erlang/lib"
-    ''
-    else setupHook;
-
-    inherit buildInputs;
-    propagatedBuildInputs = [ hex elixir ] ++ beamDeps;
-
-    configurePhase = if configurePhase == null
-    then ''
-      runHook preConfigure
-      ${erlang}/bin/escript ${bootstrapper}
-      runHook postConfigure
-    ''
-    else configurePhase ;
-
-
-    buildPhase = if buildPhase == null
-    then ''
-        runHook preBuild
-
-        export HEX_OFFLINE=1
-        export HEX_HOME=`pwd`
-        export MIX_ENV=prod
-        export MIX_NO_DEPS=1
-
-        mix compile ${debugInfoFlag} --no-deps-check
-
-        runHook postBuild
-    ''
-    else buildPhase;
-
-    installPhase = if installPhase == null
-    then ''
-        runHook preInstall
-
-        MIXENV=prod
-
-        if [ -d "_build/shared" ]; then
-          MIXENV=shared
-        fi
-
-        mkdir -p "$out/lib/erlang/lib/${name}-${version}"
-        for reldir in src ebin priv include; do
-          fd="_build/$MIXENV/lib/${name}/$reldir"
-          [ -d "$fd" ] || continue
-          cp -Hrt "$out/lib/erlang/lib/${name}-${version}" "$fd"
-          success=1
-        done
-
-        runHook postInstall
-    ''
-    else installPhase;
-
-    passthru = {
-      packageName = name;
-      env = shell self;
-      inherit beamDeps;
-    };
-});
-in fix pkg
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index 02877a95411..6e6da4fab03 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -3,7 +3,7 @@
 let
   inherit (lib) makeExtensible;
 
-  lib' = pkgs.callPackage ./lib.nix {};
+  lib' = pkgs.callPackage ./lib.nix { };
 
   # FIXME: add support for overrideScope
   callPackageWithScope = scope: drv: args: lib.callPackageWith scope drv args;
@@ -14,70 +14,70 @@ let
       defaultScope = mkScope self;
       callPackage = drv: args: callPackageWithScope defaultScope drv args;
     in
-      rec {
-        inherit callPackage erlang;
-        beamPackages = self;
-
-        rebar = callPackage ../tools/build-managers/rebar { };
-        rebar3 = callPackage ../tools/build-managers/rebar3 { };
-
-        # rebar3 port compiler plugin is required by buildRebar3
-        pc_1_6_0 = callPackage ./pc {};
-        pc = pc_1_6_0;
-
-        fetchHex = callPackage ./fetch-hex.nix { };
-
-        fetchRebar3Deps = callPackage ./fetch-rebar-deps.nix { };
-        rebar3Relx = callPackage ./rebar3-release.nix { };
-
-        buildRebar3 = callPackage ./build-rebar3.nix {};
-        buildHex = callPackage ./build-hex.nix {};
-        buildErlangMk = callPackage ./build-erlang-mk.nix {};
-        fetchMixDeps = callPackage ./fetch-mix-deps.nix { };
-        buildMix = callPackage ./build-mix.nix {};
-
-        # BEAM-based languages.
-        elixir = elixir_1_11;
-
-        elixir_1_11 = lib'.callElixir ../interpreters/elixir/1.11.nix {
-          inherit erlang;
-          debugInfo = true;
-        };
-
-        elixir_1_10 = lib'.callElixir ../interpreters/elixir/1.10.nix {
-          inherit erlang;
-          debugInfo = true;
-        };
-
-        elixir_1_9 = lib'.callElixir ../interpreters/elixir/1.9.nix {
-          inherit erlang;
-          debugInfo = true;
-        };
-
-        elixir_1_8 = lib'.callElixir ../interpreters/elixir/1.8.nix {
-          inherit erlang;
-          debugInfo = true;
-        };
-
-        elixir_1_7 = lib'.callElixir ../interpreters/elixir/1.7.nix {
-          inherit erlang;
-          debugInfo = true;
-        };
-
-        # Remove old versions of elixir, when the supports fades out:
-        # https://hexdocs.pm/elixir/compatibility-and-deprecations.html
-
-        lfe = lfe_1_3;
-        lfe_1_2 = lib'.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
-        lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
-
-        # Non hex packages. Examples how to build Rebar/Mix packages with and
-        # without helper functions buildRebar3 and buildMix.
-        hex = callPackage ./hex {};
-        webdriver = callPackage ./webdriver {};
-        relxExe = callPackage ../tools/erlang/relx-exe {};
-
-        # An example of Erlang/C++ package.
-        cuter = callPackage ../tools/erlang/cuter {};
+    rec {
+      inherit callPackage erlang;
+      beamPackages = self;
+
+      rebar = callPackage ../tools/build-managers/rebar { };
+      rebar3 = callPackage ../tools/build-managers/rebar3 { };
+
+      # rebar3 port compiler plugin is required by buildRebar3
+      pc = callPackage ./pc { };
+
+      fetchHex = callPackage ./fetch-hex.nix { };
+
+      fetchRebar3Deps = callPackage ./fetch-rebar-deps.nix { };
+      rebar3Relx = callPackage ./rebar3-release.nix { };
+
+      buildRebar3 = callPackage ./build-rebar3.nix { };
+      buildHex = callPackage ./build-hex.nix { };
+      buildErlangMk = callPackage ./build-erlang-mk.nix { };
+      fetchMixDeps = callPackage ./fetch-mix-deps.nix { };
+      mixRelease = callPackage ./mix-release.nix { };
+
+      # BEAM-based languages.
+      elixir = elixir_1_11;
+
+      elixir_1_11 = lib'.callElixir ../interpreters/elixir/1.11.nix {
+        inherit erlang;
+        debugInfo = true;
       };
-in makeExtensible packages
+
+      elixir_1_10 = lib'.callElixir ../interpreters/elixir/1.10.nix {
+        inherit erlang;
+        debugInfo = true;
+      };
+
+      elixir_1_9 = lib'.callElixir ../interpreters/elixir/1.9.nix {
+        inherit erlang;
+        debugInfo = true;
+      };
+
+      elixir_1_8 = lib'.callElixir ../interpreters/elixir/1.8.nix {
+        inherit erlang;
+        debugInfo = true;
+      };
+
+      elixir_1_7 = lib'.callElixir ../interpreters/elixir/1.7.nix {
+        inherit erlang;
+        debugInfo = true;
+      };
+
+      # Remove old versions of elixir, when the supports fades out:
+      # https://hexdocs.pm/elixir/compatibility-and-deprecations.html
+
+      lfe = lfe_1_3;
+      lfe_1_2 = lib'.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
+      lfe_1_3 = lib'.callLFE ../interpreters/lfe/1.3.nix { inherit erlang buildRebar3 buildHex; };
+
+      # Non hex packages. Examples how to build Rebar/Mix packages with and
+      # without helper functions buildRebar3 and buildMix.
+      hex = callPackage ./hex { };
+      webdriver = callPackage ./webdriver { };
+      relxExe = callPackage ../tools/erlang/relx-exe { };
+
+      # An example of Erlang/C++ package.
+      cuter = callPackage ../tools/erlang/cuter { };
+    };
+in
+makeExtensible packages
diff --git a/pkgs/development/beam-modules/fetch-mix-deps.nix b/pkgs/development/beam-modules/fetch-mix-deps.nix
index 020a82ad70b..73365bd1a93 100644
--- a/pkgs/development/beam-modules/fetch-mix-deps.nix
+++ b/pkgs/development/beam-modules/fetch-mix-deps.nix
@@ -1,34 +1,49 @@
 { stdenvNoCC, lib, elixir, hex, rebar, rebar3, cacert, git }:
 
-{ name, version, sha256, src, mixEnv ? "prod", debug ? false, meta ? { } }:
-
-stdenvNoCC.mkDerivation ({
-  name = "mix-deps-${name}-${version}";
-
+{ pname
+, version
+, sha256
+, src
+, mixEnv ? "prod"
+, debug ? false
+, meta ? { }
+, ...
+}@attrs:
+
+stdenvNoCC.mkDerivation (attrs // {
   nativeBuildInputs = [ elixir hex cacert git ];
 
-  inherit src;
-
   MIX_ENV = mixEnv;
   MIX_DEBUG = if debug then 1 else 0;
   DEBUG = if debug then 1 else 0; # for rebar3
-
-  configurePhase = ''
+  # the api with `mix local.rebar rebar path` makes a copy of the binary
+  MIX_REBAR = "${rebar}/bin/rebar";
+  MIX_REBAR3 = "${rebar3}/bin/rebar3";
+  # there is a persistent download failure with absinthe 1.6.3
+  # those defaults reduce the failure rate
+  HEX_HTTP_CONCURRENCY = 1;
+  HEX_HTTP_TIMEOUT = 120;
+
+  configurePhase = attrs.configurePhase or ''
+    runHook preConfigure
     export HEX_HOME="$TEMPDIR/.hex";
     export MIX_HOME="$TEMPDIR/.mix";
-    export MIX_DEPS_PATH="$out";
+    export MIX_DEPS_PATH="$TEMPDIR/deps";
 
     # Rebar
-    mix local.rebar rebar "${rebar}/bin/rebar"
-    mix local.rebar rebar3 "${rebar3}/bin/rebar3"
     export REBAR_GLOBAL_CONFIG_DIR="$TMPDIR/rebar3"
     export REBAR_CACHE_DIR="$TMPDIR/rebar3.cache"
+    runHook postConfigure
   '';
 
   dontBuild = true;
 
-  installPhase = ''
+  installPhase = attrs.installPhase or ''
+    runHook preInstall
     mix deps.get --only ${mixEnv}
+    find "$TEMPDIR/deps" -path '*/.git/*' -a ! -name HEAD -exec rm -rf {} +
+    cp -r --no-preserve=mode,ownership,timestamps $TEMPDIR/deps $out
+    runHook postInstall
   '';
 
   outputHashAlgo = "sha256";
diff --git a/pkgs/development/beam-modules/mix-bootstrap b/pkgs/development/beam-modules/mix-bootstrap
deleted file mode 100755
index 7e31def71fa..00000000000
--- a/pkgs/development/beam-modules/mix-bootstrap
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/env escript
-%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
-%%! -smp enable
-%%% ---------------------------------------------------------------------------
-%%% @doc
-%%% The purpose of this command is to prepare a mix project so that mix
-%%% understands that the dependencies are all already installed. If you want a
-%%% hygienic build on nix then you must run this command before running mix. I
-%%% suggest that you add a `Makefile` to your project and have the bootstrap
-%%% command be a dependency of the build commands. See the nix documentation for
-%%% more information.
-%%%
-%%% This command designed to have as few dependencies as possible so that it can
-%%% be a dependency of root level packages like mix. To that end it does many
-%%% things in a fairly simplistic way. That is by design.
-%%%
-%%% ### Assumptions
-%%%
-%%% This command makes the following assumptions:
-%%%
-%%% * It is run in a nix-shell or nix-build environment
-%%% * that all dependencies have been added to the ERL_LIBS
-%%%   Environment Variable
-
--record(data, {version
-              , erl_libs
-              , root
-              , name}).
--define(LOCAL_HEX_REGISTRY, "registry.ets").
-
-main(Args) ->
-    {ok, RequiredData} = gather_required_data_from_the_environment(Args),
-    ok = bootstrap_libs(RequiredData).
-
-%% @doc
-%% This takes an app name in the standard OTP <name>-<version> format
-%% and returns just the app name. Why? Because rebar doesn't
-%% respect OTP conventions in some cases.
--spec fixup_app_name(file:name()) -> string().
-fixup_app_name(Path) ->
-    BaseName = filename:basename(Path),
-    case string:split(BaseName, "-") of
-        [Name, _Version] -> Name;
-        Name -> Name
-    end.
-
-
--spec gather_required_data_from_the_environment([string()]) -> {ok, #data{}}.
-gather_required_data_from_the_environment(_) ->
-    {ok, #data{ version = guard_env("version")
-              , erl_libs = os:getenv("ERL_LIBS", [])
-              , root = code:root_dir()
-              , name = guard_env("name")}}.
-
--spec guard_env(string()) -> string().
-guard_env(Name) ->
-    case os:getenv(Name) of
-        false ->
-            stderr("Expected Environment variable ~s! Are you sure you are "
-                   "running in a Nix environment? Either a nix-build, "
-                   "nix-shell, etc?~n", [Name]),
-            erlang:halt(1);
-        Variable ->
-            Variable
-    end.
-
--spec bootstrap_libs(#data{}) -> ok.
-bootstrap_libs(#data{erl_libs = ErlLibs}) ->
-    io:format("Bootstrapping dependent libraries~n"),
-    Target = "_build/prod/lib/",
-    Paths = string:tokens(ErlLibs, ":"),
-    CopiableFiles =
-        lists:foldl(fun(Path, Acc) ->
-                            gather_directory_contents(Path) ++ Acc
-                    end, [], Paths),
-    lists:foreach(fun (Path) ->
-                          ok = link_app(Path, Target)
-                  end, CopiableFiles).
-
--spec gather_directory_contents(string()) -> [{string(), string()}].
-gather_directory_contents(Path) ->
-    {ok, Names} = file:list_dir(Path),
-    lists:map(fun(AppName) ->
-                 {filename:join(Path, AppName), fixup_app_name(AppName)}
-              end, Names).
-
-%% @doc
-%% Makes a symlink from the directory pointed at by Path to a
-%% directory of the same name in Target. So if we had a Path of
-%% {`foo/bar/baz/bash`, `baz`} and a Target of `faz/foo/foos`, the symlink
-%% would be `faz/foo/foos/baz`.
--spec link_app({string(), string()}, string()) -> ok.
-link_app({Path, TargetFile}, TargetDir) ->
-    Target = filename:join(TargetDir, TargetFile),
-    ok = make_symlink(Path, Target).
-
--spec make_symlink(string(), string()) -> ok.
-make_symlink(Path, TargetFile) ->
-    file:delete(TargetFile),
-    ok = filelib:ensure_dir(TargetFile),
-    io:format("Making symlink from ~s to ~s~n", [Path, TargetFile]),
-    ok = file:make_symlink(Path, TargetFile).
-
-%% @doc
-%% Write the result of the format string out to stderr.
--spec stderr(string(), [term()]) -> ok.
-stderr(FormatStr, Args) ->
-    io:put_chars(standard_error, io_lib:format(FormatStr, Args)).
diff --git a/pkgs/development/beam-modules/mix-release.nix b/pkgs/development/beam-modules/mix-release.nix
new file mode 100644
index 00000000000..320fcaa9c9b
--- /dev/null
+++ b/pkgs/development/beam-modules/mix-release.nix
@@ -0,0 +1,106 @@
+{ stdenv, lib, elixir, erlang, findutils, hex, rebar, rebar3, fetchMixDeps, makeWrapper, git }:
+
+{ pname
+, version
+, src
+, nativeBuildInputs ? [ ]
+, meta ? { }
+, enableDebugInfo ? false
+, mixEnv ? "prod"
+, compileFlags ? [ ]
+, mixDeps ? null
+, ...
+}@attrs:
+let
+  overridable = builtins.removeAttrs attrs [ "compileFlags" ];
+
+in
+stdenv.mkDerivation (overridable // {
+  nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ];
+
+  MIX_ENV = mixEnv;
+  MIX_DEBUG = if enableDebugInfo then 1 else 0;
+  HEX_OFFLINE = 1;
+  DEBUG = if enableDebugInfo then 1 else 0; # for Rebar3 compilation
+  # the api with `mix local.rebar rebar path` makes a copy of the binary
+  MIX_REBAR = "${rebar}/bin/rebar";
+  MIX_REBAR3 = "${rebar3}/bin/rebar3";
+
+  postUnpack = ''
+    export HEX_HOME="$TEMPDIR/hex"
+    export MIX_HOME="$TEMPDIR/mix"
+    # compilation of the dependencies will require
+    # that the dependency path is writable
+    # thus a copy to the TEMPDIR is inevitable here
+    export MIX_DEPS_PATH="$TEMPDIR/deps"
+
+    # Rebar
+    export REBAR_GLOBAL_CONFIG_DIR="$TEMPDIR/rebar3"
+    export REBAR_CACHE_DIR="$TEMPDIR/rebar3.cache"
+
+    ${lib.optionalString (mixDeps != null) ''
+      cp --no-preserve=mode -R "${mixDeps}" "$MIX_DEPS_PATH"
+    ''
+    }
+
+  '' + (attrs.postUnpack or "");
+
+  configurePhase = attrs.configurePhase or ''
+    runHook preConfigure
+
+    # this is needed for projects that have a specific compile step
+    # the dependency needs to be compiled in order for the task
+    # to be available
+    # Phoenix projects for example will need compile.phoenix
+    mix deps.compile --no-deps-check --skip-umbrella-children
+
+    runHook postConfigure
+  '';
+
+  buildPhase = attrs.buildPhase or ''
+    runHook preBuild
+
+    mix compile --no-deps-check ${lib.concatStringsSep " " compileFlags}
+
+    runHook postBuild
+  '';
+
+
+  installPhase = attrs.installPhase or ''
+    runHook preInstall
+
+    mix release --no-deps-check --path "$out"
+
+    runHook postInstall
+  '';
+
+  fixupPhase = ''
+    runHook preFixup
+    if [ -e "$out/bin/${pname}.bat" ]; then # absent in special cases, i.e. elixir-ls
+      rm "$out/bin/${pname}.bat" # windows file
+    fi
+    # contains secrets and should not be in the nix store
+    # TODO document how to handle RELEASE_COOKIE
+    # secrets should not be in the nix store.
+    # This is only used for connecting multiple nodes
+    if [ -e $out/releases/COOKIE ]; then # absent in special cases, i.e. elixir-ls
+      rm $out/releases/COOKIE
+    fi
+    # TODO remove the uneeded reference too erlang
+    # one possible way would be
+    # for f in $(${findutils}/bin/find $out -name start); do
+    #   substituteInPlace $f \
+    #     --replace 'ROOTDIR=${erlang}/lib/erlang' 'ROOTDIR=""'
+    # done
+    # What is left to do is to check that erlang is not required on
+    # the host
+
+    patchShebangs $out
+    runHook postFixup
+  '';
+  # TODO figure out how to do a Fixed Output Derivation and add the output hash
+  # This doesn't play well at the moment with Phoenix projects
+  # for example that have frontend dependencies
+
+  # disallowedReferences = [ erlang ];
+})
diff --git a/pkgs/development/chez-modules/chez-matchable/default.nix b/pkgs/development/chez-modules/chez-matchable/default.nix
index d66f6133fb7..738d4b06aee 100644
--- a/pkgs/development/chez-modules/chez-matchable/default.nix
+++ b/pkgs/development/chez-modules/chez-matchable/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with lib; {
-    description = "This is a Library for ChezScheme providing the protable hygenic pattern matcher by Alex Shinn";
+    description = "This is a Library for ChezScheme providing the portable hygenic pattern matcher by Alex Shinn";
     homepage = "https://github.com/fedeinthemix/chez-matchable/";
     maintainers = [ maintainers.jitwit ];
     license = licenses.publicDomain;
diff --git a/pkgs/development/compilers/ciao/default.nix b/pkgs/development/compilers/ciao/default.nix
index de8e73374c5..4d26678605e 100644
--- a/pkgs/development/compilers/ciao/default.nix
+++ b/pkgs/development/compilers/ciao/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ciao";
-  version = "1.19.0";
+  version = "1.20.0";
   src = fetchFromGitHub {
     owner = "ciao-lang";
     repo = "ciao";
     rev = "v${version}";
-    sha256 = "03qzcb4ivgkiwdpw7a94dn74xqyxjwz5ilrr53rcblsh5ng299jp";
+    sha256 = "sha256-Xp0ZQRi7mOO2WN/2hO6zgobDG3S0BEV+SgsaduBZ30U=";
   };
 
   configurePhase = ''
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
index 54784ea63cc..143782d9301 100644
--- a/pkgs/development/compilers/dotnet/default.nix
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -124,11 +124,11 @@ rec {
   };
 
   sdk_5_0 = buildNetCoreSdk {
-    version = "5.0.100";
+    version = "5.0.200";
     sha512 = {
-      x86_64-linux = "bec37bfb327c45cc01fd843ef93b22b556f753b04724bba501622df124e7e144c303a4d7e931b5dbadbd4f7b39e5adb8f601cb6293e317ad46d8fe7d52aa9a09";
-      aarch64-linux = "5fceac0a9468097d66af25516da597eb4836b294ed1647ba272ade5c8faea2ed977a95d9ce720c44d71607fa3a0cf9de55afe0e66c0c89ab1cc6736945978204";
-      x86_64-darwin = "69ccc7c686ac06f6c658d118f59cf1a0e7284b4570375dd88d3e3043098e311745922301f2650d159624d09c4d39a1f3cbdd5daee0e408eef915de839e3bce8f";
+      x86_64-linux = "0g7zcmkcdwc11h42m6hq8d0w55nnvnsmj3dc16829q55cp7l7kggmjljnd9slx7r7nrsyi7yy8brwh8n4kfi5998pdyb09fzhq5w60d";
+      aarch64-linux = "2zy6nxiw313g2sbmnkg76r64llbk2w2wcsa6frq535zbviw52zf163jvw2687rpiw4szdizf337l3b0qa0396abw5dhq2czqlxjyjv8";
+      x86_64-darwin = "2p0yxplafhi5ks38pq8nyi43kpv4l4npa718rvcvl57qs76j0dqlk1s4wdw7msx8g7xxy1aal47zy9rxvlypmgwx4dnp339cmbd6mf6";
     };
   };
 }
diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix
index 51e0842d4be..9d1abc11af1 100644
--- a/pkgs/development/compilers/edk2/default.nix
+++ b/pkgs/development/compilers/edk2/default.nix
@@ -37,13 +37,13 @@ buildType = if stdenv.isDarwin then
 
 edk2 = buildStdenv.mkDerivation {
   pname = "edk2";
-  version = "202011";
+  version = "202102";
 
   # submodules
   src = fetchgit {
     url = "https://github.com/tianocore/edk2";
     rev = "edk2-stable${edk2.version}";
-    sha256 = "1fvlz1z075jr6smq9qa0asy6fxga1gljcfd0764ypzy1mw963c9s";
+    sha256 = "1292hfbqz4wyikdf6glqdy80n9zpy54gnfngqnyv05908hww6h82";
   };
 
   buildInputs = [ libuuid pythonEnv ];
diff --git a/pkgs/development/compilers/go/2-dev.nix b/pkgs/development/compilers/go/2-dev.nix
index 2bdf6a4950c..21347cbd65a 100644
--- a/pkgs/development/compilers/go/2-dev.nix
+++ b/pkgs/development/compilers/go/2-dev.nix
@@ -39,12 +39,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go2-unstable";
-  version = "2020-12-08";
+  version = "2021-03-22";
 
   src = fetchgit {
     url = https://go.googlesource.com/go;
-    rev = "abe4d3dce12252ed09216eaa67b7dab8c8922537";
-    sha256 = "sha256:1d46w8426148q81fvrifx9glgn402jvf29n44i8j8g1pvzkfckh6";
+    rev = "a4b4db4cdeefb7b4ea5adb09073dd123846b3588";
+    sha256 = "sha256:1wqqnywcrfazydi5wcg04s6zgsfh4m879vxfgacgrnigd23ynhvr";
   };
 
   # perl is used for testing go vet
@@ -154,7 +154,7 @@ stdenv.mkDerivation rec {
     ./creds-test.patch
     ./go-1.9-skip-flaky-19608.patch
     ./go-1.9-skip-flaky-20072.patch
-    ./skip-external-network-tests-1.15.patch
+    ./skip-external-network-tests-1.16.patch
     ./skip-nohup-tests.patch
     ./skip-cgo-tests-1.15.patch
   ] ++ [
@@ -188,7 +188,7 @@ stdenv.mkDerivation rec {
       null;
 
   GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
-  GO386 = 387; # from Arch: don't assume sse2 on i686
+  GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   # Hopefully avoids test timeouts on Hydra
   GO_TEST_TIMEOUT_SCALE = 3;
diff --git a/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch b/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch
index 6146880f7a0..a5be2685998 100644
--- a/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch
+++ b/pkgs/development/compilers/go/ssl-cert-file-2-dev.patch
@@ -1,8 +1,8 @@
-diff --git a/src/crypto/x509/root_darwin_amd64.go b/src/crypto/x509/root_darwin_amd64.go
-index ce88de025e..258ecc45d1 100644
---- a/src/crypto/x509/root_darwin_amd64.go
-+++ b/src/crypto/x509/root_darwin_amd64.go
-@@ -10,6 +10,7 @@ import (
+diff --git a/src/crypto/x509/root_darwin.go b/src/crypto/x509/root_darwin.go
+index 05593bb105..a6a11eeec1 100644
+--- a/src/crypto/x509/root_darwin.go
++++ b/src/crypto/x509/root_darwin.go
+@@ -11,6 +11,7 @@ import (
  	"bytes"
  	macOS "crypto/x509/internal/macos"
  	"fmt"
@@ -10,9 +10,9 @@ index ce88de025e..258ecc45d1 100644
  	"os"
  	"strings"
  )
-@@ -25,6 +26,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
- var loadSystemRootsWithCgo func() (*CertPool, error)
-
+@@ -22,6 +23,14 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
+ }
+ 
  func loadSystemRoots() (*CertPool, error) {
 +	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
 +		data, err := ioutil.ReadFile(file)
@@ -24,13 +24,21 @@ index ce88de025e..258ecc45d1 100644
 +	}
  	var trustedRoots []*Certificate
  	untrustedRoots := make(map[string]bool)
-
+ 
 diff --git a/src/crypto/x509/root_unix.go b/src/crypto/x509/root_unix.go
-index b48e618a65..195c1ff25a 100644
+index dede825edd..ffb3caf4a4 100644
 --- a/src/crypto/x509/root_unix.go
 +++ b/src/crypto/x509/root_unix.go
-@@ -42,6 +42,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
-
+@@ -9,6 +9,7 @@ package x509
+ 
+ import (
+ 	"io/fs"
++	"io/ioutil"
+ 	"os"
+ 	"path/filepath"
+ 	"strings"
+@@ -32,6 +33,13 @@ func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate
+ 
  func loadSystemRoots() (*CertPool, error) {
  	roots := NewCertPool()
 +	if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
@@ -40,6 +48,7 @@ index b48e618a65..195c1ff25a 100644
 +			return roots, nil
 +		}
 +	}
-
+ 
  	files := certFiles
  	if f := os.Getenv(certFileEnv); f != "" {
+
diff --git a/pkgs/development/compilers/juniper/default.nix b/pkgs/development/compilers/juniper/default.nix
new file mode 100644
index 00000000000..3db60dc17bc
--- /dev/null
+++ b/pkgs/development/compilers/juniper/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchzip, makeWrapper, mono }:
+
+stdenv.mkDerivation rec {
+  pname = "juniper";
+  version = "2.3.0";
+
+  src = fetchzip {
+    url = "http://www.juniper-lang.org/installers/Juniper-${version}.zip";
+    sha256 = "10am6fribyl7742yk6ag0da4rld924jphxja30gynzqysly8j0vg";
+    stripRoot = false;
+  };
+
+  doCheck = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  buildInputs = [ mono ];
+
+  installPhase = ''
+    runHook preInstall
+    rm juniper # original script with regular Linux assumptions
+    mkdir -p $out/bin
+    cp -r ./* $out
+    makeWrapper ${mono}/bin/mono $out/bin/juniper \
+      --add-flags "$out/Juniper.exe \$@"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Functional reactive programming language for programming Arduino";
+    longDescription = ''
+      Juniper targets Arduino and supports many features typical of functional programming languages, including algebraic data types, tuples, records,
+      pattern matching, immutable data structures, parametric polymorphic functions, and anonymous functions (lambdas).
+      Some imperative programming concepts are also present in Juniper, such as for, while and do while loops, the ability to mark variables as mutable, and mutable references.
+    '';
+    homepage = "https://www.juniper-lang.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wunderbrick ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/compilers/roslyn/create-deps.sh b/pkgs/development/compilers/roslyn/create-deps.sh
new file mode 100755
index 00000000000..5bdc37956b5
--- /dev/null
+++ b/pkgs/development/compilers/roslyn/create-deps.sh
@@ -0,0 +1,65 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p dotnet-sdk_5 -p jq -p xmlstarlet -p curl
+set -euo pipefail
+
+cat << EOL
+{ fetchurl }: [
+EOL
+
+tmpdir="$(mktemp -d -p "$(pwd)")" # must be under source root
+trap 'rm -rf "$tmpdir"' EXIT
+
+HOME="$tmpdir" dotnet msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir"/.nuget/packages \
+        -p:RestoreNoCache=true -p:RestoreForce=true \
+        src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj >&2
+
+mapfile -t repos < <(
+    xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config "$tmpdir"/.nuget/NuGet/NuGet.Config |
+        while IFS= read index
+        do
+            curl --compressed -fsL "$index" | \
+                jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
+        done
+)
+
+cd "$tmpdir/.nuget/packages"
+for package in *
+do
+    cd "$package"
+    for version in *
+    do
+        found=false
+        for repo in "${repos[@]}"
+        do
+            url="$repo$package/$version/$package.$version.nupkg"
+            if curl -fsL "$url" -o /dev/null
+            then
+                found=true
+                break
+            fi
+        done
+
+        if ! $found
+        then
+            echo "couldn't find $package $version" >&2
+            exit 1
+        fi
+
+        sha256=$(nix-prefetch-url "$url" 2>/dev/null)
+        cat << EOL
+  {
+    name = "$package";
+    version = "$version";
+    src = fetchurl {
+      url = "$url";
+      sha256 = "$sha256";
+    };
+  }
+EOL
+    done
+    cd ..
+done
+
+cat << EOL
+]
+EOL
diff --git a/pkgs/development/compilers/roslyn/default.nix b/pkgs/development/compilers/roslyn/default.nix
new file mode 100644
index 00000000000..f05b821676f
--- /dev/null
+++ b/pkgs/development/compilers/roslyn/default.nix
@@ -0,0 +1,121 @@
+{ lib, stdenv
+, fetchFromGitHub
+, fetchurl
+, mono
+, dotnet-sdk_5
+, makeWrapper
+, dotnetPackages
+, unzip
+, writeText
+, symlinkJoin
+}:
+
+let
+
+  deps = map (package: stdenv.mkDerivation (with package; {
+    pname = name;
+    inherit version src;
+
+    buildInputs = [ unzip ];
+    unpackPhase = ''
+      unzip -o $src
+      chmod -R u+r .
+      function traverseRename () {
+        for e in *
+        do
+          t="$(echo "$e" | sed -e "s/%20/\ /g" -e "s/%2B/+/g")"
+          [ "$t" != "$e" ] && mv -vn "$e" "$t"
+          if [ -d "$t" ]
+          then
+            cd "$t"
+            traverseRename
+            cd ..
+          fi
+        done
+      }
+
+      traverseRename
+    '';
+
+    installPhase = ''
+      runHook preInstall
+
+      package=$out/lib/dotnet/${name}/${version}
+      mkdir -p $package
+      cp -r . $package
+      echo "{}" > $package/.nupkg.metadata
+
+      runHook postInstall
+    '';
+
+    dontFixup = true;
+  }))
+    (import ./deps.nix { inherit fetchurl; });
+
+  nuget-config = writeText "NuGet.Config" ''
+    <?xml version="1.0" encoding="utf-8"?>
+    <configuration>
+      <packageSources>
+        <clear />
+      </packageSources>
+    </configuration>
+  '';
+
+  packages = symlinkJoin { name = "roslyn-deps"; paths = deps; };
+
+  packageVersion = "3.10.0";
+
+in stdenv.mkDerivation rec {
+
+  pname = "roslyn";
+  version = "${packageVersion}-1.21102.26";
+
+  src = fetchFromGitHub {
+    owner = "dotnet";
+    repo = "roslyn";
+    rev = "v${version}";
+    sha256 = "0yf4f4vpqn9lixr37lkp29m2mk51xcm3ysv2ag332xn6zm5zpm2b";
+  };
+
+  nativeBuildInputs = [ makeWrapper dotnet-sdk_5 unzip ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    rm NuGet.config
+    install -m644 -D ${nuget-config} fake-home/.nuget/NuGet/NuGet.Config
+    ln -s ${packages}/lib/dotnet fake-home/.nuget/packages
+    HOME=$(pwd)/fake-home dotnet add \
+      src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj \
+      package -n -v 5.10.0-preview.2.7169 nuget.build.tasks.pack
+    HOME=$(pwd)/fake-home dotnet msbuild -r -v:m -t:pack \
+      -p:Configuration=Release \
+      -p:RepositoryUrl="${meta.homepage}" \
+      -p:RepositoryCommit="v${version}" \
+      src/NuGet/Microsoft.Net.Compilers.Toolset/Microsoft.Net.Compilers.Toolset.Package.csproj
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    pkg=$out/lib/dotnet/microsoft.net.compilers.toolset/${packageVersion}
+    mkdir -p $out/bin $pkg
+    unzip -q artifacts/packages/Release/Shipping/Microsoft.Net.Compilers.Toolset.${packageVersion}-dev.nupkg \
+      -d $pkg
+    # nupkg has 0 permissions for a bunch of things
+    chmod -R +rw $pkg
+
+    makeWrapper ${mono}/bin/mono $out/bin/csc \
+      --add-flags "$pkg/tasks/net472/csc.exe"
+    makeWrapper ${mono}/bin/mono $out/bin/vbs \
+      --add-flags "$pkg/tasks/net472/vbs.exe"
+  '';
+
+  meta = with lib; {
+    description = ".NET C# and Visual Basic compiler";
+    homepage = "https://github.com/dotnet/roslyn";
+    platforms = platforms.linux;
+    license = licenses.mit;
+    maintainers = with maintainers; [ corngood ];
+  };
+}
diff --git a/pkgs/development/compilers/roslyn/deps.nix b/pkgs/development/compilers/roslyn/deps.nix
new file mode 100644
index 00000000000..0afb482350b
--- /dev/null
+++ b/pkgs/development/compilers/roslyn/deps.nix
@@ -0,0 +1,1138 @@
+{ fetchurl }: [
+  {
+    name = "microsoft.aspnetcore.app.ref";
+    version = "3.1.10";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.aspnetcore.app.ref/3.1.10/microsoft.aspnetcore.app.ref.3.1.10.nupkg";
+      sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77";
+    };
+  }
+  {
+    name = "microsoft.build.framework";
+    version = "15.3.409";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.framework/15.3.409/microsoft.build.framework.15.3.409.nupkg";
+      sha256 = "1dhanwb9ihbfay85xj7cwn0byzmmdz94hqfi3q6r1ncwdjd8y1s2";
+    };
+  }
+  {
+    name = "microsoft.build.tasks.core";
+    version = "15.3.409";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.tasks.core/15.3.409/microsoft.build.tasks.core.15.3.409.nupkg";
+      sha256 = "135swyygp7cz2civwsz6a7dj7h8bzp7yrybmgxjanxwrw66hm933";
+    };
+  }
+  {
+    name = "microsoft.build.tasks.git";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg";
+      sha256 = "1gwlhvqlkvs5c7qjky726alf71xflbh3x970g3dypfczi0y6gccx";
+    };
+  }
+  {
+    name = "microsoft.build.utilities.core";
+    version = "15.3.409";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.build.utilities.core/15.3.409/microsoft.build.utilities.core.15.3.409.nupkg";
+      sha256 = "1p8a0l9sxmjj86qha748qjw2s2n07q8mn41mj5r6apjnwl27ywnf";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.analyzers";
+    version = "3.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.analyzers/3.0.0/microsoft.codeanalysis.analyzers.3.0.0.nupkg";
+      sha256 = "0bbl0jpqywqmzz2gagld1p2gvdfldjfjmm25hil9wj2nq1zc4di8";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.bannedapianalyzers";
+    version = "3.3.2-beta1.20562.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/microsoft.codeanalysis.bannedapianalyzers/3.3.2-beta1.20562.1/microsoft.codeanalysis.bannedapianalyzers.3.3.2-beta1.20562.1.nupkg";
+      sha256 = "0rmvi0z21nrmv57z88jp6i3yis94w37yqnlyycwr3k9gn0682pig";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.common";
+    version = "3.8.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.common/3.8.0/microsoft.codeanalysis.common.3.8.0.nupkg";
+      sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.csharp.codestyle";
+    version = "3.8.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.csharp.codestyle/3.8.0/microsoft.codeanalysis.csharp.codestyle.3.8.0.nupkg";
+      sha256 = "0r9gvyal8338q1n1fplh90isa4bz3vrwrw1pmadf3grd9xyz2amz";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.netanalyzers";
+    version = "6.0.0-preview1.21054.10";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/microsoft.codeanalysis.netanalyzers/6.0.0-preview1.21054.10/microsoft.codeanalysis.netanalyzers.6.0.0-preview1.21054.10.nupkg";
+      sha256 = "1n1l9w5v44v13lafqcm440s4g483b7gjcj8m59msr20h3s9lvc8l";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.performancesensitiveanalyzers";
+    version = "3.3.2-beta1.20562.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/microsoft.codeanalysis.performancesensitiveanalyzers/3.3.2-beta1.20562.1/microsoft.codeanalysis.performancesensitiveanalyzers.3.3.2-beta1.20562.1.nupkg";
+      sha256 = "0nqc0ab8yv9wmk3zzmzfngrm083cxwp6i4wfnzsrafr5h1kckg1m";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.publicapianalyzers";
+    version = "3.3.2-beta1.20562.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/microsoft.codeanalysis.publicapianalyzers/3.3.2-beta1.20562.1/microsoft.codeanalysis.publicapianalyzers.3.3.2-beta1.20562.1.nupkg";
+      sha256 = "1vmll01v47xvjbs6pzixsvvlinbys042jj3n95lw6gcyyvp3zkav";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.visualbasic.codestyle";
+    version = "3.8.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.codeanalysis.visualbasic.codestyle/3.8.0/microsoft.codeanalysis.visualbasic.codestyle.3.8.0.nupkg";
+      sha256 = "1akg10gzbymnp6phvkh3rwf6d23kfiv62af1nhbm0a3fiz86xyqk";
+    };
+  }
+  {
+    name = "microsoft.csharp";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.csharp/4.3.0/microsoft.csharp.4.3.0.nupkg";
+      sha256 = "0gw297dgkh0al1zxvgvncqs0j15lsna9l1wpqas4rflmys440xvb";
+    };
+  }
+  {
+    name = "microsoft.diasymreader.native";
+    version = "16.9.0-beta1.21055.5";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.diasymreader.native/16.9.0-beta1.21055.5/microsoft.diasymreader.native.16.9.0-beta1.21055.5.nupkg";
+      sha256 = "0w26g69ikhd8jjcw96b26rf6ia2wg6c61cl4sm1jgbnhgq23jkdx";
+    };
+  }
+  {
+    name = "microsoft.dotnet.arcade.sdk";
+    version = "1.0.0-beta.21072.7";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.dotnet.arcade.sdk/1.0.0-beta.21072.7/microsoft.dotnet.arcade.sdk.1.0.0-beta.21072.7.nupkg";
+      sha256 = "0bzgwdf9cm8ji08qd9i4z191igkgmf1cjzbdhcwxqd7pgalj7cwq";
+    };
+  }
+  {
+    name = "microsoft.net.compilers.toolset";
+    version = "3.10.0-1.21101.2";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.net.compilers.toolset/3.10.0-1.21101.2/microsoft.net.compilers.toolset.3.10.0-1.21101.2.nupkg";
+      sha256 = "024m4d9d3dg89w7d8z7wqkbxb44084zk56f2r8qavqj2gib6pb6c";
+    };
+  }
+  {
+    name = "microsoft.netcore.app.host.linux-x64";
+    version = "3.1.12";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.host.linux-x64/3.1.12/microsoft.netcore.app.host.linux-x64.3.1.12.nupkg";
+      sha256 = "1kp1sb7n1sb012v4k1xfv97n0x7k5r2rn0za8y8nbxjb2a4i4a8n";
+    };
+  }
+  {
+    name = "microsoft.netcore.app.ref";
+    version = "3.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.app.ref/3.1.0/microsoft.netcore.app.ref.3.1.0.nupkg";
+      sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y";
+    };
+  }
+  {
+    name = "microsoft.netcore.platforms";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg";
+      sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+    };
+  }
+  {
+    name = "microsoft.netcore.platforms";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg";
+      sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+    };
+  }
+  {
+    name = "microsoft.netcore.platforms";
+    version = "2.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/2.1.0/microsoft.netcore.platforms.2.1.0.nupkg";
+      sha256 = "0nmdnkmwyxj8cp746hs9an57zspqlmqdm55b00i7yk8a22s6akxz";
+    };
+  }
+  {
+    name = "microsoft.netcore.platforms";
+    version = "2.1.2";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.platforms/2.1.2/microsoft.netcore.platforms.2.1.2.nupkg";
+      sha256 = "1507hnpr9my3z4w1r6xk5n0s1j3y6a2c2cnynj76za7cphxi1141";
+    };
+  }
+  {
+    name = "microsoft.netcore.targets";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg";
+      sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
+    };
+  }
+  {
+    name = "microsoft.netcore.targets";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg";
+      sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+    };
+  }
+  {
+    name = "microsoft.netframework.referenceassemblies";
+    version = "1.0.0-preview.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies/1.0.0-preview.1/microsoft.netframework.referenceassemblies.1.0.0-preview.1.nupkg";
+      sha256 = "0402cmxxqkpmjmckzwhy9k25rxrai40zxk9vla3rqgg14a02g55h";
+    };
+  }
+  {
+    name = "microsoft.netframework.referenceassemblies.net472";
+    version = "1.0.0-preview.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.netframework.referenceassemblies.net472/1.0.0-preview.1/microsoft.netframework.referenceassemblies.net472.1.0.0-preview.1.nupkg";
+      sha256 = "0mpjn9j6l9mah825rydxd1wqqljsjlnqg1hx6bb97l10xjmgf288";
+    };
+  }
+  {
+    name = "microsoft.sourcelink.azurerepos.git";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg";
+      sha256 = "00hfjh8d3z5np51qgr1s3q4j7bl34mfiypf7nbxcmxa7cyj0rg65";
+    };
+  }
+  {
+    name = "microsoft.sourcelink.common";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg";
+      sha256 = "1qv0k0apxv3j1pccki2rzakjfb0868hmg0968da0639f75s3glr9";
+    };
+  }
+  {
+    name = "microsoft.sourcelink.github";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg";
+      sha256 = "0q1mgjjkwxvzn5v29pqiyg0j0jwi5qc0q04za9k1x138kliq2iba";
+    };
+  }
+  {
+    name = "microsoft.visualstudio.threading.analyzers";
+    version = "16.8.55";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.visualstudio.threading.analyzers/16.8.55/microsoft.visualstudio.threading.analyzers.16.8.55.nupkg";
+      sha256 = "1xb6ly8w4kisg517pd9pamm8g4y7k0k311aji504ccdjxin4fflp";
+    };
+  }
+  {
+    name = "microsoft.win32.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg";
+      sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+    };
+  }
+  {
+    name = "microsoft.win32.registry";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/microsoft.win32.registry/4.0.0/microsoft.win32.registry.4.0.0.nupkg";
+      sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k";
+    };
+  }
+  {
+    name = "netstandard.library";
+    version = "2.0.3";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg";
+      sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y";
+    };
+  }
+  {
+    name = "nuget.build.tasks.pack";
+    version = "5.10.0-preview.2.7169";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/nuget.build.tasks.pack/5.10.0-preview.2.7169/nuget.build.tasks.pack.5.10.0-preview.2.7169.nupkg";
+      sha256 = "0siby8s8km50hfwvqx34nfnn9qwhygxlhw57wm1j5d22nf16kasb";
+    };
+  }
+  {
+    name = "richcodenav.envvardump";
+    version = "0.1.1643-alpha";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/58ca65bb-e6c1-4210-88ac-fa55c1cd7877/nuget/v3/flat2/richcodenav.envvardump/0.1.1643-alpha/richcodenav.envvardump.0.1.1643-alpha.nupkg";
+      sha256 = "1pp1608xizvv0h9q01bqy7isd3yzb3lxb2yp27j4k25xsvw460vg";
+    };
+  }
+  {
+    name = "roslyn.diagnostics.analyzers";
+    version = "3.3.2-beta1.20562.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/825db618-e3eb-4426-ba54-b1d6e6c944d8/nuget/v3/flat2/roslyn.diagnostics.analyzers/3.3.2-beta1.20562.1/roslyn.diagnostics.analyzers.3.3.2-beta1.20562.1.nupkg";
+      sha256 = "0q35h0h4jdazkn695f0vppyxnl0zgb7qqa5cdr56fgvdw53b01y0";
+    };
+  }
+  {
+    name = "runtime.native.system";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg";
+      sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+    };
+  }
+  {
+    name = "runtime.native.system.net.http";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.net.http/4.0.1/runtime.native.system.net.http.4.0.1.nupkg";
+      sha256 = "1hgv2bmbaskx77v8glh7waxws973jn4ah35zysnkxmf0196sfxg6";
+    };
+  }
+  {
+    name = "runtime.native.system.security.cryptography";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/runtime.native.system.security.cryptography/4.0.0/runtime.native.system.security.cryptography.4.0.0.nupkg";
+      sha256 = "0k57aa2c3b10wl3hfqbgrl7xq7g8hh3a3ir44b31dn5p61iiw3z9";
+    };
+  }
+  {
+    name = "system.appcontext";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg";
+      sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
+    };
+  }
+  {
+    name = "system.buffers";
+    version = "4.5.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.buffers/4.5.1/system.buffers.4.5.1.nupkg";
+      sha256 = "04kb1mdrlcixj9zh1xdi5as0k0qi8byr5mi3p3jcxx72qz93s2y3";
+    };
+  }
+  {
+    name = "system.collections";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.0.11/system.collections.4.0.11.nupkg";
+      sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+    };
+  }
+  {
+    name = "system.collections";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections/4.3.0/system.collections.4.3.0.nupkg";
+      sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+    };
+  }
+  {
+    name = "system.collections.concurrent";
+    version = "4.0.12";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg";
+      sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
+    };
+  }
+  {
+    name = "system.collections.immutable";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg";
+      sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
+    };
+  }
+  {
+    name = "system.collections.immutable";
+    version = "1.3.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/1.3.1/system.collections.immutable.1.3.1.nupkg";
+      sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva";
+    };
+  }
+  {
+    name = "system.collections.immutable";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.immutable/5.0.0/system.collections.immutable.5.0.0.nupkg";
+      sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r";
+    };
+  }
+  {
+    name = "system.collections.nongeneric";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg";
+      sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
+    };
+  }
+  {
+    name = "system.console";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.console/4.0.0/system.console.4.0.0.nupkg";
+      sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
+    };
+  }
+  {
+    name = "system.diagnostics.debug";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg";
+      sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+    };
+  }
+  {
+    name = "system.diagnostics.debug";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg";
+      sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+    };
+  }
+  {
+    name = "system.diagnostics.process";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg";
+      sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
+    };
+  }
+  {
+    name = "system.diagnostics.tools";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tools/4.0.1/system.diagnostics.tools.4.0.1.nupkg";
+      sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
+    };
+  }
+  {
+    name = "system.diagnostics.tracesource";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg";
+      sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
+    };
+  }
+  {
+    name = "system.diagnostics.tracing";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg";
+      sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+    };
+  }
+  {
+    name = "system.dynamic.runtime";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg";
+      sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+    };
+  }
+  {
+    name = "system.globalization";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.0.11/system.globalization.4.0.11.nupkg";
+      sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+    };
+  }
+  {
+    name = "system.globalization";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization/4.3.0/system.globalization.4.3.0.nupkg";
+      sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+    };
+  }
+  {
+    name = "system.globalization.calendars";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.globalization.calendars/4.0.1/system.globalization.calendars.4.0.1.nupkg";
+      sha256 = "0bv0alrm2ck2zk3rz25lfyk9h42f3ywq77mx1syl6vvyncnpg4qh";
+    };
+  }
+  {
+    name = "system.io";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.1.0/system.io.4.1.0.nupkg";
+      sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+    };
+  }
+  {
+    name = "system.io";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io/4.3.0/system.io.4.3.0.nupkg";
+      sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+    };
+  }
+  {
+    name = "system.io.filesystem";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg";
+      sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+    };
+  }
+  {
+    name = "system.io.filesystem.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg";
+      sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+    };
+  }
+  {
+    name = "system.io.pipes.accesscontrol";
+    version = "4.5.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.io.pipes.accesscontrol/4.5.1/system.io.pipes.accesscontrol.4.5.1.nupkg";
+      sha256 = "1i5i5hc7mdvkhip4fpf0nbskanrigcp52wa5n16kmm920gl5ab4r";
+    };
+  }
+  {
+    name = "system.linq";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.1.0/system.linq.4.1.0.nupkg";
+      sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+    };
+  }
+  {
+    name = "system.linq";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq/4.3.0/system.linq.4.3.0.nupkg";
+      sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+    };
+  }
+  {
+    name = "system.linq.expressions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg";
+      sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+    };
+  }
+  {
+    name = "system.linq.parallel";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.linq.parallel/4.0.1/system.linq.parallel.4.0.1.nupkg";
+      sha256 = "0i33x9f4h3yq26yvv6xnq4b0v51rl5z8v1bm7vk972h5lvf4apad";
+    };
+  }
+  {
+    name = "system.memory";
+    version = "4.5.4";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.memory/4.5.4/system.memory.4.5.4.nupkg";
+      sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
+    };
+  }
+  {
+    name = "system.numerics.vectors";
+    version = "4.4.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg";
+      sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
+    };
+  }
+  {
+    name = "system.numerics.vectors";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg";
+      sha256 = "1kzrj37yzawf1b19jq0253rcs8hsq1l2q8g69d7ipnhzb0h97m59";
+    };
+  }
+  {
+    name = "system.objectmodel";
+    version = "4.0.12";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg";
+      sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+    };
+  }
+  {
+    name = "system.objectmodel";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg";
+      sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+    };
+  }
+  {
+    name = "system.private.datacontractserialization";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg";
+      sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
+    };
+  }
+  {
+    name = "system.reflection";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.1.0/system.reflection.4.1.0.nupkg";
+      sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+    };
+  }
+  {
+    name = "system.reflection";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection/4.3.0/system.reflection.4.3.0.nupkg";
+      sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+    };
+  }
+  {
+    name = "system.reflection.emit";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg";
+      sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+    };
+  }
+  {
+    name = "system.reflection.emit";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg";
+      sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+    };
+  }
+  {
+    name = "system.reflection.emit.ilgeneration";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg";
+      sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
+    };
+  }
+  {
+    name = "system.reflection.emit.ilgeneration";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.ilgeneration/4.3.0/system.reflection.emit.ilgeneration.4.3.0.nupkg";
+      sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+    };
+  }
+  {
+    name = "system.reflection.emit.lightweight";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg";
+      sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
+    };
+  }
+  {
+    name = "system.reflection.emit.lightweight";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.emit.lightweight/4.3.0/system.reflection.emit.lightweight.4.3.0.nupkg";
+      sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+    };
+  }
+  {
+    name = "system.reflection.extensions";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg";
+      sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+    };
+  }
+  {
+    name = "system.reflection.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg";
+      sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+    };
+  }
+  {
+    name = "system.reflection.metadata";
+    version = "1.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/1.3.0/system.reflection.metadata.1.3.0.nupkg";
+      sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b";
+    };
+  }
+  {
+    name = "system.reflection.metadata";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.metadata/5.0.0/system.reflection.metadata.5.0.0.nupkg";
+      sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss";
+    };
+  }
+  {
+    name = "system.reflection.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg";
+      sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+    };
+  }
+  {
+    name = "system.reflection.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg";
+      sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+    };
+  }
+  {
+    name = "system.reflection.typeextensions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg";
+      sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+    };
+  }
+  {
+    name = "system.reflection.typeextensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.reflection.typeextensions/4.3.0/system.reflection.typeextensions.4.3.0.nupkg";
+      sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
+    };
+  }
+  {
+    name = "system.resources.reader";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg";
+      sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
+    };
+  }
+  {
+    name = "system.resources.resourcemanager";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg";
+      sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+    };
+  }
+  {
+    name = "system.resources.resourcemanager";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg";
+      sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+    };
+  }
+  {
+    name = "system.resources.writer";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.resources.writer/4.0.0/system.resources.writer.4.0.0.nupkg";
+      sha256 = "07hp218kjdcvpl27djspnixgnacbp9apma61zz3wsca9fx5g3lmv";
+    };
+  }
+  {
+    name = "system.runtime";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.1.0/system.runtime.4.1.0.nupkg";
+      sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+    };
+  }
+  {
+    name = "system.runtime";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime/4.3.0/system.runtime.4.3.0.nupkg";
+      sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+    };
+  }
+  {
+    name = "system.runtime.compilerservices.unsafe";
+    version = "4.7.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/4.7.1/system.runtime.compilerservices.unsafe.4.7.1.nupkg";
+      sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j";
+    };
+  }
+  {
+    name = "system.runtime.compilerservices.unsafe";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.compilerservices.unsafe/5.0.0/system.runtime.compilerservices.unsafe.5.0.0.nupkg";
+      sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x";
+    };
+  }
+  {
+    name = "system.runtime.extensions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg";
+      sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+    };
+  }
+  {
+    name = "system.runtime.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg";
+      sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+    };
+  }
+  {
+    name = "system.runtime.handles";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg";
+      sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+    };
+  }
+  {
+    name = "system.runtime.handles";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg";
+      sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+    };
+  }
+  {
+    name = "system.runtime.interopservices";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg";
+      sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+    };
+  }
+  {
+    name = "system.runtime.interopservices";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg";
+      sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+    };
+  }
+  {
+    name = "system.runtime.interopservices.runtimeinformation";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg";
+      sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+    };
+  }
+  {
+    name = "system.runtime.interopservices.runtimeinformation";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg";
+      sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+    };
+  }
+  {
+    name = "system.runtime.loader";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.loader/4.3.0/system.runtime.loader.4.3.0.nupkg";
+      sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk";
+    };
+  }
+  {
+    name = "system.runtime.numerics";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.numerics/4.0.1/system.runtime.numerics.4.0.1.nupkg";
+      sha256 = "1y308zfvy0l5nrn46mqqr4wb4z1xk758pkk8svbz8b5ij7jnv4nn";
+    };
+  }
+  {
+    name = "system.runtime.serialization.primitives";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg";
+      sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+    };
+  }
+  {
+    name = "system.runtime.serialization.xml";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg";
+      sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
+    };
+  }
+  {
+    name = "system.security.accesscontrol";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg";
+      sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0";
+    };
+  }
+  {
+    name = "system.security.cryptography.algorithms";
+    version = "4.2.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.algorithms/4.2.0/system.security.cryptography.algorithms.4.2.0.nupkg";
+      sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
+    };
+  }
+  {
+    name = "system.security.cryptography.cng";
+    version = "4.2.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.cng/4.2.0/system.security.cryptography.cng.4.2.0.nupkg";
+      sha256 = "118jijz446kix20blxip0f0q8mhsh9bz118mwc2ch1p6g7facpzc";
+    };
+  }
+  {
+    name = "system.security.cryptography.csp";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.csp/4.0.0/system.security.cryptography.csp.4.0.0.nupkg";
+      sha256 = "1cwv8lqj8r15q81d2pz2jwzzbaji0l28xfrpw29kdpsaypm92z2q";
+    };
+  }
+  {
+    name = "system.security.cryptography.encoding";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.encoding/4.0.0/system.security.cryptography.encoding.4.0.0.nupkg";
+      sha256 = "0a8y1a5wkmpawc787gfmnrnbzdgxmx1a14ax43jf3rj9gxmy3vk4";
+    };
+  }
+  {
+    name = "system.security.cryptography.openssl";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.openssl/4.0.0/system.security.cryptography.openssl.4.0.0.nupkg";
+      sha256 = "16sx3cig3d0ilvzl8xxgffmxbiqx87zdi8fc73i3i7zjih1a7f4q";
+    };
+  }
+  {
+    name = "system.security.cryptography.primitives";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.primitives/4.0.0/system.security.cryptography.primitives.4.0.0.nupkg";
+      sha256 = "0i7cfnwph9a10bm26m538h5xcr8b36jscp9sy1zhgifksxz4yixh";
+    };
+  }
+  {
+    name = "system.security.cryptography.x509certificates";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.cryptography.x509certificates/4.1.0/system.security.cryptography.x509certificates.4.1.0.nupkg";
+      sha256 = "0clg1bv55mfv5dq00m19cp634zx6inm31kf8ppbq1jgyjf2185dh";
+    };
+  }
+  {
+    name = "system.security.principal.windows";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg";
+      sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86";
+    };
+  }
+  {
+    name = "system.text.encoding";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg";
+      sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+    };
+  }
+  {
+    name = "system.text.encoding";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg";
+      sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+    };
+  }
+  {
+    name = "system.text.encoding.codepages";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg";
+      sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
+    };
+  }
+  {
+    name = "system.text.encoding.codepages";
+    version = "4.5.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.codepages/4.5.1/system.text.encoding.codepages.4.5.1.nupkg";
+      sha256 = "1z21qyfs6sg76rp68qdx0c9iy57naan89pg7p6i3qpj8kyzn921w";
+    };
+  }
+  {
+    name = "system.text.encoding.extensions";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg";
+      sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+    };
+  }
+  {
+    name = "system.text.regularexpressions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg";
+      sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
+    };
+  }
+  {
+    name = "system.threading";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.0.11/system.threading.4.0.11.nupkg";
+      sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+    };
+  }
+  {
+    name = "system.threading";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading/4.3.0/system.threading.4.3.0.nupkg";
+      sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+    };
+  }
+  {
+    name = "system.threading.tasks";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg";
+      sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+    };
+  }
+  {
+    name = "system.threading.tasks";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg";
+      sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+    };
+  }
+  {
+    name = "system.threading.tasks.extensions";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg";
+      sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
+    };
+  }
+  {
+    name = "system.threading.tasks.extensions";
+    version = "4.5.4";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.tasks.extensions/4.5.4/system.threading.tasks.extensions.4.5.4.nupkg";
+      sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153";
+    };
+  }
+  {
+    name = "system.threading.thread";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg";
+      sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+    };
+  }
+  {
+    name = "system.threading.threadpool";
+    version = "4.0.10";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.threadpool/4.0.10/system.threading.threadpool.4.0.10.nupkg";
+      sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx";
+    };
+  }
+  {
+    name = "system.threading.timer";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg";
+      sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
+    };
+  }
+  {
+    name = "system.xml.readerwriter";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg";
+      sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+    };
+  }
+  {
+    name = "system.xml.xdocument";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xdocument/4.0.11/system.xml.xdocument.4.0.11.nupkg";
+      sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
+    };
+  }
+  {
+    name = "system.xml.xmldocument";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg";
+      sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+    };
+  }
+  {
+    name = "system.xml.xmlserializer";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg";
+      sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
+    };
+  }
+  {
+    name = "system.xml.xpath";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath/4.0.1/system.xml.xpath.4.0.1.nupkg";
+      sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m";
+    };
+  }
+  {
+    name = "system.xml.xpath.xmldocument";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/45bacae2-5efb-47c8-91e5-8ec20c22b4f8/nuget/v3/flat2/system.xml.xpath.xmldocument/4.0.1/system.xml.xpath.xmldocument.4.0.1.nupkg";
+      sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc";
+    };
+  }
+  {
+    name = "xlifftasks";
+    version = "1.0.0-beta.20206.1";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/1a5f89f6-d8da-4080-b15f-242650c914a8/nuget/v3/flat2/xlifftasks/1.0.0-beta.20206.1/xlifftasks.1.0.0-beta.20206.1.nupkg";
+      sha256 = "0xsfzws7rn9sfk4mgkbil21m8d3k3kccfk5f4g6lzvc1vk0pa26j";
+    };
+  }
+]
diff --git a/pkgs/development/coq-modules/coqtail-math/default.nix b/pkgs/development/coq-modules/coqtail-math/default.nix
new file mode 100644
index 00000000000..891d1fae62c
--- /dev/null
+++ b/pkgs/development/coq-modules/coqtail-math/default.nix
@@ -0,0 +1,19 @@
+{ lib, mkCoqDerivation, coq, version ? null }:
+
+with lib;
+
+mkCoqDerivation {
+  pname = "coqtail-math";
+  owner = "coq-community";
+  inherit version;
+  defaultVersion = if versions.range "8.11" "8.13" coq.coq-version then "20201124" else null;
+  release."20201124".rev    = "5c22c3d7dcd8cf4c47cf84a281780f5915488e9e";
+  release."20201124".sha256 = "sha256-wd+Lh7dpAD4zfpyKuztDmSFEZo5ZiFrR8ti2jUCVvoQ=";
+
+  buildInputs = with coq.ocamlPackages; [ ocaml findlib ];
+
+  meta = {
+    license = licenses.lgpl3Only;
+    maintainers = [ maintainers.siraben ];
+  };
+}
diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix
index b46383fa167..d2d9870f320 100644
--- a/pkgs/development/coq-modules/iris/default.nix
+++ b/pkgs/development/coq-modules/iris/default.nix
@@ -5,7 +5,11 @@ with lib; mkCoqDerivation rec {
   domain = "gitlab.mpi-sws.org";
   owner = "iris";
   inherit version;
-  defaultVersion = if versions.range "8.9" "8.12" coq.coq-version then "3.3.0" else null;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.11";        out = "3.4.0"; }
+    { case = range "8.9" "8.11"; out = "3.3.0"; }
+  ] null;
+  release."3.4.0".sha256 = "0vdc2mdqn5jjd6yz028c0c6blzrvpl0c7apx6xas7ll60136slrb";
   release."3.3.0".sha256 = "0az4gkp5m8sq0p73dlh0r7ckkzhk7zkg5bndw01bdsy5ywj0vilp";
   releaseRev = v: "iris-${v}";
 
diff --git a/pkgs/development/coq-modules/stdpp/default.nix b/pkgs/development/coq-modules/stdpp/default.nix
index 2caafa9cc55..604a3f48f87 100644
--- a/pkgs/development/coq-modules/stdpp/default.nix
+++ b/pkgs/development/coq-modules/stdpp/default.nix
@@ -5,7 +5,11 @@ with lib; mkCoqDerivation rec {
   inherit version;
   domain = "gitlab.mpi-sws.org";
   owner = "iris";
-  defaultVersion = if versions.range "8.8" "8.12" coq.coq-version then "1.4.0" else null;
+  defaultVersion = with versions; switch coq.coq-version [
+    { case = isGe "8.11";        out = "1.5.0"; }
+    { case = range "8.8" "8.11"; out = "1.4.0"; }
+  ] null;
+  release."1.5.0".sha256 = "1ym0fy620imah89p8b6rii8clx2vmnwcrbwxl3630h24k42092nf";
   release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r";
   releaseRev = v: "coq-stdpp-${v}";
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 0956e55ed5d..c228527d0cc 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1165,11 +1165,14 @@ self: super: {
   # $HOME, which we don't have in our build sandbox.
   cabal-install-parsers = dontCheck super.cabal-install-parsers;
 
-  # * jailbreak can be removed at the next release (current is 0.13.0.0)
-  # * patch fixes compilation with pandoc >= 2.12, can be removed if a
-  #   release contains https://github.com/jgm/gitit/pull/670 or equivalent.
-  #   Patch is vendored in as it may change upstream in the future.
-  gitit = doJailbreak (appendPatch super.gitit ./patches/gitit-pandoc-2.12.patch);
+  # jailbreak and patch (for pandoc >= 2.12) ensure compilation with newer dependencies.
+  # can both be removed at the next release (current is 0.13.0.0)
+  gitit = doJailbreak (appendPatch super.gitit
+    (pkgs.fetchpatch {
+      url = "https://github.com/jgm/gitit/commit/e8c9d94be332e2f73de9b0eee222a2a09f191faf.patch";
+      sha256 = "1rl2c3sz8cd2c3qwv9b640853s4bblcknvfv29k472wqhs62mwz1";
+      includes = [ "src/**" ];
+    }));
 
   # Test suite requires database
   persistent-mysql = dontCheck super.persistent-mysql;
@@ -1239,7 +1242,7 @@ self: super: {
   patch = doJailbreak super.patch;
 
   # Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
-  reflex-dom-core = doDistribute (unmarkBroken (dontCheck (appendPatch super.reflex-dom-core (pkgs.fetchpatch {
+  reflex-dom-core = doDistribute (unmarkBroken (dontCheck (appendPatch (doJailbreak super.reflex-dom-core) (pkgs.fetchpatch {
     url = https://github.com/reflex-frp/reflex-dom/commit/6aed7b7ebb70372778f1a29a724fcb4de815ba04.patch;
     sha256 = "1g7lgwj7rpziilif2gian412iy05gqbzwx9w0m6ajq3clxs5zs7l";
     stripLen = 2;
@@ -1393,6 +1396,10 @@ self: super: {
           pkgs.lib.makeBinPath deps
         }"
       '';
+
+      # 2021-04-09: test failure
+      # PR pending https://github.com/expipiplus1/update-nix-fetchgit/pull/60
+      doCheck = false;
     }));
 
   # Our quickcheck-instances is too old for the newer binary-instances, but
@@ -1416,7 +1423,7 @@ self: super: {
 
   # 2021-03-09: Golden tests seem to be missing in hackage release:
   # https://github.com/haskell/haskell-language-server/issues/1536
-  hls-tactics-plugin = dontCheck super.hls-tactics-plugin;
+  hls-tactics-plugin = dontCheck (super.hls-tactics-plugin.override { refinery = self.refinery_0_3_0_0; });
 
   # 2021-03-24: hlint 3.3 is for ghc 9 compat, but hls only supports ghc 8.10
   hls-hlint-plugin = super.hls-hlint-plugin.override {
@@ -1468,7 +1475,8 @@ self: super: {
   # https://github.com/obsidiansystems/dependent-sum/issues/55
   dependent-sum = doJailbreak super.dependent-sum;
 
-  dependent-sum-aeson-orphans = appendPatch super.dependent-sum-aeson-orphans (pkgs.fetchpatch {
+  # Overspecified constraint on 'constraints'. Kinda funny, huh?
+  dependent-sum-aeson-orphans = appendPatch (doJailbreak super.dependent-sum-aeson-orphans) (pkgs.fetchpatch {
     # 2020-11-18: https://github.com/obsidiansystems/dependent-sum-aeson-orphans/pull/9
     # Bump version bounds for ghc 8.10
     url = https://github.com/obsidiansystems/dependent-sum-aeson-orphans/commit/e1f5898116222a1bc557d41f3395066f83736093.patch;
@@ -1692,9 +1700,11 @@ self: super: {
   # https://github.com/jgm/pandoc/issues/7163
   pandoc = dontCheck super.pandoc;
 
-  # test suite triggers some kind of linking bug at runtime
-  # https://github.com/noinia/hgeometry/issues/132
-  hgeometry-combinatorial = dontCheck super.hgeometry-combinatorial;
+  # * doctests don't work without cabal
+  #   https://github.com/noinia/hgeometry/issues/132
+  # * Too strict version bound on vector-builder
+  #   https://github.com/noinia/hgeometry/commit/a6abecb1ce4a7fd96b25cc1a5c65cd4257ecde7a#commitcomment-49282301
+  hgeometry-combinatorial = dontCheck (doJailbreak super.hgeometry-combinatorial);
 
   # Too strict version bounds on ansi-terminal
   # https://github.com/kowainik/co-log/pull/218
@@ -1716,14 +1726,6 @@ self: super: {
   # Issue reported upstream, no bug tracker url yet.
   darcs = doJailbreak super.darcs;
 
-  # Too strict version bounds on ansi-terminal
-  # This patch will be contained with the next release (current is 0.1.0.0).
-  colourista = appendPatch super.colourista
-    (pkgs.fetchpatch {
-      url = "https://github.com/kowainik/colourista/commit/15ace92105b56eba4ea3717bd55f733afe5be401.patch";
-      sha256 = "sha256-9gJFlyWUkO5sJodDRNuH10I66j8/0ZZIv6nJQkhlA0s=";
-    });
-
   # Too strict version bounds on base16-bytestring and http-link-header.
   # This patch will be merged when next release comes.
   github = appendPatch super.github (pkgs.fetchpatch {
@@ -1731,6 +1733,11 @@ self: super: {
     sha256 = "0pmx54xd7ah85y9mfi5366wbnwrp918j0wbx8yw8hrdac92qi4gh";
   });
 
+  # list `modbus` in librarySystemDepends, correct to `libmodbus`
+  libmodbus = overrideCabal super.libmodbus (drv: {
+    librarySystemDepends = [ pkgs.libmodbus ];
+  });
+
   # 2021-04-02: Outdated optparse-applicative bound is fixed but not realeased on upstream.
   trial-optparse-applicative = assert super.trial-optparse-applicative.version == "0.0.0.0"; doJailbreak super.trial-optparse-applicative;
 
@@ -1744,9 +1751,6 @@ self: super: {
       preConfigure = ''substituteInPlace iCalendar.cabal --replace "network >=2.6 && <2.7" "network -any"'';
   };
 
-  # Too strict bounds on base: https://github.com/runarorama/fuzzyfind/issues/1
-  fuzzyfind = doJailbreak super.fuzzyfind;
-
   # Apply patch from master relaxing the version bounds on tasty.
   # Can be removed at next release (current is 0.10.1.0).
   ginger = appendPatch super.ginger
@@ -1780,4 +1784,31 @@ self: super: {
   # May be possible to remove at the next release (1.11.0)
   taskell = doJailbreak super.taskell;
 
+  # ghc-bignum is not buildable if none of the three backends
+  # is explicitly enabled. We enable Native for now as it doesn't
+  # depend on anything else as oppossed to GMP and FFI.
+  # Apply patch which fixes a compilation failure we encountered.
+  # Can be removed if the following issue is resolved / the patch
+  # is merged and released:
+  # * https://gitlab.haskell.org/ghc/ghc/-/issues/19638
+  # * https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5454
+  ghc-bignum = overrideCabal super.ghc-bignum (old: {
+    configureFlags = (old.configureFlags or []) ++ [ "-f" "Native" ];
+    patches = (old.patches or []) ++ [
+      (pkgs.fetchpatch {
+        url = "https://gitlab.haskell.org/ghc/ghc/-/commit/08d1588bf38d83140a86817a7a615db486357d4f.patch";
+        sha256 = "1qx4r031y72px291vz38bng9sb23r8zb35s03v5hhawlmgzfzcb5";
+        stripLen = 2;
+      })
+    ];
+  });
+
+  # 2021-04-09: outdated base and alex-tools
+  # PR pending https://github.com/glguy/language-lua/pull/6
+  language-lua = doJailbreak super.language-lua;
+
+  # 2021-04-09: too strict time bound
+  # PR pending https://github.com/zohl/cereal-time/pull/2
+  cereal-time = doJailbreak super.cereal-time;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index a2ccc3103db..62285754cd8 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -99,7 +99,7 @@ default-package-overrides:
   - gi-secret < 0.0.13
   - gi-vte < 2.91.28
 
-  # Stackage Nightly 2021-03-21
+  # Stackage Nightly 2021-04-02
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
@@ -142,7 +142,7 @@ default-package-overrides:
   - alsa-core ==0.5.0.1
   - alsa-mixer ==0.3.0
   - alsa-pcm ==0.6.1.1
-  - alsa-seq ==0.6.0.7
+  - alsa-seq ==0.6.0.8
   - alternative-vector ==0.0.0
   - ALUT ==2.4.0.3
   - amazonka-apigateway ==1.6.1
@@ -344,7 +344,7 @@ default-package-overrides:
   - binary-instances ==1.0.1
   - binary-list ==1.1.1.2
   - binary-orphans ==1.0.1
-  - binary-parser ==0.5.6
+  - binary-parser ==0.5.7
   - binary-parsers ==0.2.4.0
   - binary-search ==2.0.0
   - binary-shared ==0.8.3
@@ -415,9 +415,9 @@ default-package-overrides:
   - bytestring-conversion ==0.3.1
   - bytestring-lexing ==0.5.0.2
   - bytestring-mmap ==0.2.2
-  - bytestring-strict-builder ==0.4.5.3
+  - bytestring-strict-builder ==0.4.5.4
   - bytestring-to-vector ==0.3.0.1
-  - bytestring-tree-builder ==0.2.7.7
+  - bytestring-tree-builder ==0.2.7.9
   - bz2 ==1.0.1.0
   - bzlib ==0.5.1.0
   - bzlib-conduit ==0.3.0.2
@@ -429,7 +429,7 @@ default-package-overrides:
   - cabal-file ==0.1.1
   - cabal-flatpak ==0.1.0.2
   - cabal-plan ==0.7.2.0
-  - cabal-rpm ==2.0.7
+  - cabal-rpm ==2.0.8
   - cache ==0.1.3.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
@@ -442,7 +442,7 @@ default-package-overrides:
   - casa-types ==0.0.2
   - cased ==0.1.0.0
   - case-insensitive ==1.2.1.0
-  - cases ==0.1.4
+  - cases ==0.1.4.1
   - casing ==0.1.4.1
   - cassava ==0.5.2.0
   - cassava-conduit ==0.6.0
@@ -564,9 +564,9 @@ default-package-overrides:
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
   - constraint ==0.1.4.0
-  - constraints ==0.12
+  - constraints ==0.13
   - constraint-tuples ==0.1.2
-  - construct ==0.3.0.1
+  - construct ==0.3.0.2
   - contravariant ==1.5.3
   - contravariant-extras ==0.3.5.2
   - control-bool ==0.2.1
@@ -583,7 +583,7 @@ default-package-overrides:
   - cpphs ==1.20.9.1
   - cprng-aes ==0.6.1
   - cpu ==0.1.2
-  - cpuinfo ==0.1.0.1
+  - cpuinfo ==0.1.0.2
   - crackNum ==2.4
   - crc32c ==0.0.0
   - credential-store ==0.1.2
@@ -637,7 +637,7 @@ default-package-overrides:
   - data-bword ==0.1.0.1
   - data-checked ==0.3
   - data-clist ==0.1.2.3
-  - data-compat ==0.1.0.2
+  - data-compat ==0.1.0.3
   - data-default ==0.7.1.1
   - data-default-class ==0.1.2.0
   - data-default-instances-containers ==0.0.1
@@ -686,11 +686,11 @@ default-package-overrides:
   - deriving-aeson ==0.2.6.1
   - deriving-compat ==0.5.10
   - derulo ==1.0.10
-  - dhall ==1.38.0
+  - dhall ==1.38.1
   - dhall-bash ==1.0.36
-  - dhall-json ==1.7.5
-  - dhall-lsp-server ==1.0.13
-  - dhall-yaml ==1.2.5
+  - dhall-json ==1.7.6
+  - dhall-lsp-server ==1.0.14
+  - dhall-yaml ==1.2.6
   - diagrams-solve ==0.1.3
   - dialogflow-fulfillment ==0.1.1.3
   - di-core ==1.0.4
@@ -797,7 +797,7 @@ default-package-overrides:
   - errors ==2.3.0
   - errors-ext ==0.4.2
   - ersatz ==0.4.9
-  - esqueleto ==3.4.1.0
+  - esqueleto ==3.4.1.1
   - essence-of-live-coding ==0.2.4
   - essence-of-live-coding-gloss ==0.2.4
   - essence-of-live-coding-pulse ==0.2.4
@@ -819,7 +819,7 @@ default-package-overrides:
   - executable-path ==0.0.3.1
   - exit-codes ==1.0.0
   - exomizer ==1.0.0
-  - experimenter ==0.1.0.10
+  - experimenter ==0.1.0.12
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.1.0
@@ -869,7 +869,7 @@ default-package-overrides:
   - fixed ==0.3
   - fixed-length ==0.2.2
   - fixed-vector ==1.2.0.0
-  - fixed-vector-hetero ==0.6.0.0
+  - fixed-vector-hetero ==0.6.1.0
   - fix-whitespace ==0.0.5
   - flac ==0.2.0
   - flac-picture ==0.1.2
@@ -927,7 +927,7 @@ default-package-overrides:
   - gd ==3000.7.3
   - gdp ==0.0.3.0
   - general-games ==1.1.1
-  - generic-aeson ==0.2.0.11
+  - generic-aeson ==0.2.0.12
   - generic-arbitrary ==0.1.0
   - generic-constraints ==1.1.1.1
   - generic-data ==0.9.2.0
@@ -1041,7 +1041,7 @@ default-package-overrides:
   - gpolyline ==0.1.0.1
   - graph-core ==0.3.0.0
   - graphite ==0.10.0.1
-  - graphql-client ==1.1.0
+  - graphql-client ==1.1.1
   - graphs ==0.7.1
   - graphula ==2.0.0.3
   - graphviz ==2999.20.1.0
@@ -1066,7 +1066,7 @@ default-package-overrides:
   - hall-symbols ==0.1.0.6
   - hamtsolo ==1.0.3
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.4.1.2
+  - hapistrano ==0.4.1.3
   - happstack-server ==7.7.0
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
@@ -1092,12 +1092,12 @@ default-package-overrides:
   - haskell-src-exts-util ==0.2.5
   - haskell-src-meta ==0.8.7
   - haskey-btree ==0.3.0.1
-  - hasql ==1.4.4.2
-  - hasql-notifications ==0.1.0.0
+  - hasql ==1.4.5.1
+  - hasql-notifications ==0.2.0.0
   - hasql-optparse-applicative ==0.3.0.6
   - hasql-pool ==0.5.2
   - hasql-queue ==1.2.0.2
-  - hasql-transaction ==1.0.0.1
+  - hasql-transaction ==1.0.0.2
   - hasty-hamiltonian ==1.3.4
   - HaTeX ==3.22.3.0
   - HaXml ==1.25.5
@@ -1126,9 +1126,9 @@ default-package-overrides:
   - hformat ==0.3.3.1
   - hfsevents ==0.1.6
   - hgrev ==0.2.6
-  - hidapi ==0.1.5
+  - hidapi ==0.1.6
   - hie-bios ==0.7.5
-  - hi-file-parser ==0.1.0.0
+  - hi-file-parser ==0.1.1.0
   - higher-leveldb ==0.6.0.0
   - highlighting-kate ==0.6.4
   - hinfo ==0.0.3.0
@@ -1162,10 +1162,10 @@ default-package-overrides:
   - hp2pretty ==0.10
   - hpack ==0.34.4
   - hpack-dhall ==0.5.2
-  - hpc-codecov ==0.2.0.1
+  - hpc-codecov ==0.2.0.2
   - hpc-lcov ==1.0.1
   - hprotoc ==2.4.17
-  - hruby ==0.3.8
+  - hruby ==0.3.8.1
   - hsass ==0.8.0
   - hs-bibutils ==6.10.0.0
   - hsc2hs ==0.68.7
@@ -1188,12 +1188,12 @@ default-package-overrides:
   - HsOpenSSL ==0.11.6
   - HsOpenSSL-x509-system ==0.1.0.4
   - hsp ==0.10.0
-  - hspec ==2.7.8
+  - hspec ==2.7.9
   - hspec-attoparsec ==0.1.0.2
   - hspec-checkers ==0.1.0.2
   - hspec-contrib ==0.5.1
-  - hspec-core ==2.7.8
-  - hspec-discover ==2.7.8
+  - hspec-core ==2.7.9
+  - hspec-discover ==2.7.9
   - hspec-expectations ==0.8.2
   - hspec-expectations-json ==1.0.0.2
   - hspec-expectations-lifted ==0.10.0
@@ -1201,7 +1201,7 @@ default-package-overrides:
   - hspec-golden ==0.1.0.3
   - hspec-golden-aeson ==0.7.0.0
   - hspec-hedgehog ==0.0.1.2
-  - hspec-junit-formatter ==1.0.0.0
+  - hspec-junit-formatter ==1.0.0.1
   - hspec-leancheck ==0.0.4
   - hspec-megaparsec ==2.2.0
   - hspec-meta ==2.7.8
@@ -1223,7 +1223,7 @@ default-package-overrides:
   - HTF ==0.14.0.6
   - html ==1.0.1.2
   - html-conduit ==1.3.2.1
-  - html-entities ==1.1.4.3
+  - html-entities ==1.1.4.5
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
   - http2 ==2.0.6
@@ -1282,7 +1282,7 @@ default-package-overrides:
   - hw-string-parse ==0.0.0.4
   - hw-succinct ==0.1.0.1
   - hw-xml ==0.5.1.0
-  - hxt ==9.3.1.21
+  - hxt ==9.3.1.22
   - hxt-charproperties ==9.5.0.0
   - hxt-css ==0.1.0.3
   - hxt-curl ==9.1.1.1
@@ -1319,14 +1319,14 @@ default-package-overrides:
   - indexed-traversable-instances ==0.1
   - infer-license ==0.2.0
   - inflections ==0.4.0.6
-  - influxdb ==1.9.1.1
+  - influxdb ==1.9.1.2
   - ini ==0.4.1
   - inj ==1.0
   - inline-c ==0.9.1.4
   - inline-c-cpp ==0.4.0.3
   - inline-r ==0.10.4
   - inliterate ==0.1.0
-  - input-parsers ==0.2.1
+  - input-parsers ==0.2.2
   - insert-ordered-containers ==0.2.4
   - inspection-testing ==0.4.3.0
   - instance-control ==0.1.2.0
@@ -1352,9 +1352,9 @@ default-package-overrides:
   - io-storage ==0.3
   - io-streams ==1.5.2.0
   - io-streams-haproxy ==1.0.1.0
-  - ip6addr ==1.0.1
+  - ip6addr ==1.0.2
   - iproute ==1.7.11
-  - IPv6Addr ==1.1.5
+  - IPv6Addr ==2.0.1
   - ipynb ==0.1.0.1
   - ipython-kernel ==0.10.2.1
   - irc ==0.6.1.0
@@ -1377,7 +1377,7 @@ default-package-overrides:
   - jalaali ==1.0.0.0
   - jira-wiki-markup ==1.3.4
   - jose ==0.8.4
-  - jose-jwt ==0.9.1
+  - jose-jwt ==0.9.2
   - js-chart ==2.9.4.1
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
@@ -1527,7 +1527,7 @@ default-package-overrides:
   - massiv-test ==0.1.6.1
   - mathexpr ==0.3.0.0
   - math-extras ==0.1.1.0
-  - math-functions ==0.3.4.1
+  - math-functions ==0.3.4.2
   - matplotlib ==0.7.5
   - matrices ==0.5.0
   - matrix ==0.3.6.1
@@ -1630,10 +1630,11 @@ default-package-overrides:
   - mono-traversable-instances ==0.1.1.0
   - mono-traversable-keys ==0.1.0
   - more-containers ==0.2.2.0
-  - morpheus-graphql ==0.16.0
-  - morpheus-graphql-client ==0.16.0
-  - morpheus-graphql-core ==0.16.0
-  - morpheus-graphql-subscriptions ==0.16.0
+  - morpheus-graphql ==0.17.0
+  - morpheus-graphql-app ==0.17.0
+  - morpheus-graphql-client ==0.17.0
+  - morpheus-graphql-core ==0.17.0
+  - morpheus-graphql-subscriptions ==0.17.0
   - moss ==0.2.0.0
   - mountpoints ==1.0.2
   - mpi-hs ==0.7.2.0
@@ -1695,7 +1696,7 @@ default-package-overrides:
   - newtype-generics ==0.6
   - nicify-lib ==1.0.1
   - NineP ==0.0.2.1
-  - nix-derivation ==1.1.1
+  - nix-derivation ==1.1.2
   - nix-paths ==1.0.1
   - nonce ==1.0.7
   - nondeterminism ==1.4
@@ -1710,9 +1711,9 @@ default-package-overrides:
   - no-value ==1.0.0.0
   - nowdoc ==0.1.1.0
   - nqe ==0.6.3
-  - nri-env-parser ==0.1.0.5
-  - nri-observability ==0.1.0.0
-  - nri-prelude ==0.5.0.0
+  - nri-env-parser ==0.1.0.6
+  - nri-observability ==0.1.0.1
+  - nri-prelude ==0.5.0.2
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1773,10 +1774,10 @@ default-package-overrides:
   - pager ==0.1.1.0
   - pagination ==0.2.2
   - pagure-cli ==0.2
-  - pandoc ==2.12
+  - pandoc ==2.13
   - pandoc-plot ==1.1.1
   - pandoc-types ==1.22
-  - pantry ==0.5.1.4
+  - pantry ==0.5.1.5
   - parallel ==3.2.2.0
   - parallel-io ==0.3.3
   - parameterized ==0.5.0.0
@@ -1806,12 +1807,12 @@ default-package-overrides:
   - pathtype ==0.8.1.1
   - pathwalk ==0.3.1.2
   - pattern-arrows ==0.0.2
-  - pava ==0.1.1.0
+  - pava ==0.1.1.1
   - pcg-random ==0.1.3.7
   - pcre2 ==1.1.4
   - pcre-heavy ==1.0.0.2
   - pcre-light ==0.4.1.0
-  - pcre-utils ==0.1.8.1.1
+  - pcre-utils ==0.1.8.2
   - pdfinfo ==1.5.4
   - peano ==0.1.0.1
   - pem ==0.2.4
@@ -1866,7 +1867,7 @@ default-package-overrides:
   - pointed ==5.0.2
   - pointedlist ==0.6.1
   - pointless-fun ==1.1.0.6
-  - poll ==0.0.0.1
+  - poll ==0.0.0.2
   - poly ==0.5.0.0
   - poly-arity ==0.1.0
   - polynomials-bernstein ==1.1.2
@@ -1876,12 +1877,12 @@ default-package-overrides:
   - posix-paths ==0.2.1.6
   - possibly ==1.0.0.0
   - postgres-options ==0.2.0.0
-  - postgresql-binary ==0.12.3.3
+  - postgresql-binary ==0.12.4
   - postgresql-libpq ==0.9.4.3
   - postgresql-libpq-notify ==0.2.0.0
   - postgresql-orm ==0.5.1
   - postgresql-simple ==0.6.4
-  - postgresql-typed ==0.6.1.2
+  - postgresql-typed ==0.6.2.0
   - postgrest ==7.0.1
   - post-mess-age ==0.2.1.0
   - pptable ==0.3.0.0
@@ -2001,7 +2002,7 @@ default-package-overrides:
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
   - rcu ==0.2.5
-  - rdf ==0.1.0.4
+  - rdf ==0.1.0.5
   - rdtsc ==1.3.0.1
   - re2 ==0.3
   - readable ==0.3.1
@@ -2035,7 +2036,7 @@ default-package-overrides:
   - regex-posix ==0.96.0.0
   - regex-tdfa ==1.3.1.0
   - regex-with-pcre ==1.1.0.0
-  - registry ==0.2.0.1
+  - registry ==0.2.0.2
   - reinterpret-cast ==0.1.0
   - relapse ==1.0.0.0
   - relational-query ==0.12.2.3
@@ -2168,7 +2169,7 @@ default-package-overrides:
   - ses-html ==0.4.0.0
   - set-cover ==0.1.1
   - setenv ==0.1.1.3
-  - setlocale ==1.0.0.9
+  - setlocale ==1.0.0.10
   - sexp-grammar ==2.3.0
   - SHA ==1.6.4.4
   - shake-language-c ==0.12.0
@@ -2178,7 +2179,7 @@ default-package-overrides:
   - shared-memory ==0.2.0.0
   - shell-conduit ==5.0.0
   - shell-escape ==0.2.0
-  - shellmet ==0.0.3.1
+  - shellmet ==0.0.4.0
   - shelltestrunner ==1.9
   - shell-utility ==0.1
   - shelly ==1.9.0
@@ -2210,14 +2211,15 @@ default-package-overrides:
   - skein ==1.0.9.4
   - skews ==0.1.0.3
   - skip-var ==0.1.1.0
-  - skylighting ==0.10.5
-  - skylighting-core ==0.10.5
+  - skylighting ==0.10.5.1
+  - skylighting-core ==0.10.5.1
   - slack-api ==0.12
   - slack-progressbar ==0.1.0.1
+  - slick ==1.1.1.0
   - slist ==0.2.0.0
   - slynx ==0.5.0.2
   - smallcheck ==1.2.1
-  - smash ==0.1.1.0
+  - smash ==0.1.2
   - smash-aeson ==0.1.0.0
   - smash-lens ==0.1.0.1
   - smash-microlens ==0.1.0.0
@@ -2248,7 +2250,7 @@ default-package-overrides:
   - speedy-slice ==0.3.2
   - Spintax ==0.3.5
   - splice ==0.6.1.1
-  - splint ==1.0.1.3
+  - splint ==1.0.1.4
   - split ==0.2.3.4
   - splitmix ==0.1.0.3
   - spoon ==0.3.1
@@ -2343,7 +2345,7 @@ default-package-overrides:
   - systemd ==2.3.0
   - system-fileio ==0.3.16.4
   - system-filepath ==0.4.14
-  - system-info ==0.5.1
+  - system-info ==0.5.2
   - tabular ==0.2.2.8
   - taffybar ==3.2.3
   - tagchup ==0.4.1.1
@@ -2360,7 +2362,7 @@ default-package-overrides:
   - tardis ==0.4.3.0
   - tasty ==1.4.1
   - tasty-ant-xml ==1.1.8
-  - tasty-bench ==0.2.3
+  - tasty-bench ==0.2.4
   - tasty-dejafu ==2.0.0.7
   - tasty-discover ==4.2.2
   - tasty-expected-failure ==0.12.3
@@ -2404,7 +2406,7 @@ default-package-overrides:
   - texmath ==0.12.2
   - text-ansi ==0.1.1
   - text-binary ==0.2.1.1
-  - text-builder ==0.6.6.1
+  - text-builder ==0.6.6.2
   - text-conversions ==0.3.1
   - text-format ==0.3.2
   - text-icu ==0.7.0.1
@@ -2453,7 +2455,7 @@ default-package-overrides:
   - throwable-exceptions ==0.1.0.9
   - th-strict-compat ==0.1.0.1
   - th-test-utils ==1.1.0
-  - th-utilities ==0.2.4.1
+  - th-utilities ==0.2.4.2
   - thyme ==0.3.5.5
   - tidal ==1.7.2
   - tile ==0.3.0.0
@@ -2497,14 +2499,14 @@ default-package-overrides:
   - trifecta ==2.1.1
   - triplesec ==0.2.2.1
   - tsv2csv ==0.1.0.2
-  - ttc ==0.3.0.0
+  - ttc ==0.4.0.0
   - ttl-hashtables ==1.4.1.0
   - ttrie ==0.1.2.1
   - tuple ==0.3.0.2
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
-  - turtle ==1.5.21
+  - turtle ==1.5.22
   - typecheck-plugin-nat-simple ==0.1.0.2
   - TypeCompose ==0.9.14
   - typed-process ==0.2.6.0
@@ -2519,7 +2521,7 @@ default-package-overrides:
   - type-level-numbers ==0.1.1.1
   - type-map ==0.1.6.0
   - type-natural ==1.1.0.0
-  - typenums ==0.1.3
+  - typenums ==0.1.4
   - type-of-html ==1.6.2.0
   - type-of-html-static ==0.1.0.2
   - type-operators ==0.2.0.0
@@ -2620,7 +2622,7 @@ default-package-overrides:
   - vformat-aeson ==0.1.0.1
   - vformat-time ==0.1.0.0
   - ViennaRNAParser ==1.3.3
-  - vinyl ==0.13.0
+  - vinyl ==0.13.1
   - void ==0.7.3
   - vty ==5.33
   - wai ==3.2.3
@@ -2660,9 +2662,9 @@ default-package-overrides:
   - websockets-snap ==0.10.3.1
   - weigh ==0.0.16
   - wide-word ==0.1.1.2
-  - wikicfp-scraper ==0.1.0.11
-  - wild-bind ==0.1.2.6
-  - wild-bind-x11 ==0.2.0.11
+  - wikicfp-scraper ==0.1.0.12
+  - wild-bind ==0.1.2.7
+  - wild-bind-x11 ==0.2.0.12
   - Win32 ==2.6.1.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
@@ -2723,7 +2725,7 @@ default-package-overrides:
   - yaml ==0.11.5.0
   - yamlparse-applicative ==0.1.0.3
   - yesod ==1.6.1.0
-  - yesod-auth ==1.6.10.1
+  - yesod-auth ==1.6.10.2
   - yesod-auth-hashdb ==1.7.1.5
   - yesod-auth-oauth2 ==0.6.2.3
   - yesod-bin ==1.6.1
@@ -2731,10 +2733,11 @@ default-package-overrides:
   - yesod-fb ==0.6.1
   - yesod-form ==1.6.7
   - yesod-gitrev ==0.2.1
-  - yesod-markdown ==0.12.6.6
+  - yesod-markdown ==0.12.6.8
   - yesod-newsfeed ==1.7.0.0
+  - yesod-page-cursor ==2.0.0.5
   - yesod-paginator ==1.1.1.0
-  - yesod-persistent ==1.6.0.5
+  - yesod-persistent ==1.6.0.6
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.1.0
   - yesod-test ==1.6.12
@@ -2745,8 +2748,8 @@ default-package-overrides:
   - yjtools ==0.9.18
   - yoga ==0.0.0.5
   - youtube ==0.2.1.1
-  - zenacy-html ==2.0.2
-  - zenacy-unicode ==1.0.0
+  - zenacy-html ==2.0.3
+  - zenacy-unicode ==1.0.1
   - zero ==0.1.5
   - zeromq4-haskell ==0.8.0
   - zeromq4-patterns ==0.3.1.0
@@ -2766,12 +2769,13 @@ default-package-overrides:
   - zydiskell ==0.2.0.0
 
 extra-packages:
+  - base16-bytestring < 1               # required for cabal-install etc.
   - Cabal == 2.2.*                      # required for jailbreak-cabal etc.
   - Cabal == 2.4.*                      # required for cabal-install etc.
   - Cabal == 3.2.*                      # required for cabal-install etc.
-  - base16-bytestring < 1               # required for cabal-install etc.
+  - dependent-map == 0.2.4.0            # required by Hasura 1.3.1, 2020-08-20
+  - dependent-sum == 0.4                # required by Hasura 1.3.1, 2020-08-20
   - dhall == 1.29.0                     # required for ats-pkg
-  - dhall == 1.37.1                     # required for spago 0.19.0.
   - Diff < 0.4                          # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
   - ghc-tcplugins-extra ==0.3.2         # required for polysemy-plugin 0.2.5.0
   - haddock == 2.23.*                   # required on GHC < 8.10.x
@@ -2779,15 +2783,14 @@ extra-packages:
   - haddock-library ==1.7.*             # required by stylish-cabal-0.5.0.0
   - happy == 1.19.9                     # for purescript
   - hinotify == 0.3.9                   # for xmonad-0.26: https://github.com/kolmodin/hinotify/issues/29
-  - resolv == 0.1.1.2                   # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
+  - hlint < 3.3                         # We don‘t have ghc-lib-parser 9.0.X yet.
   - immortal == 0.2.2.1                 # required by Hasura 1.3.1, 2020-08-20
-  - dependent-map == 0.2.4.0            # required by Hasura 1.3.1, 2020-08-20
-  - dependent-sum == 0.4                # required by Hasura 1.3.1, 2020-08-20
-  - network == 2.6.3.1                  # required by pkgs/games/hedgewars/default.nix, 2020-11-15
+  - lsp-test < 0.14                     # needed for hls 1.0.0
   - mmorph == 1.1.3                     # Newest working version of mmorph on ghc 8.6.5. needed for hls
-  - hlint < 3.3                         # We don‘t have ghc-lib-parser 9.0.X yet.
+  - network == 2.6.3.1                  # required by pkgs/games/hedgewars/default.nix, 2020-11-15
   - optparse-applicative < 0.16         # needed for niv-0.2.19
-  - lsp-test < 0.14                     # needed for hls 1.0.0
+  - refinery == 0.3.*                   # required by hls-tactics-plugin-1.0.0.0
+  - resolv == 0.1.1.2                   # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
 
 package-maintainers:
   peti:
@@ -2868,13 +2871,13 @@ package-maintainers:
     - iCalendar
     - stm-containers
   sorki:
-    - cayene-lpp
+    - cayenne-lpp
     - data-stm32
     - gcodehs
     - nix-derivation
     - nix-narinfo
     - ttn
-    # - ttn-client
+    - ttn-client
     - update-nix-fetchgit
     - zre
   utdemir:
@@ -3209,7 +3212,6 @@ broken-packages:
   - AlanDeniseEricLauren
   - alerta
   - alex-prelude
-  - alex-tools
   - alfred
   - alga
   - algebra-checkers
@@ -3980,7 +3982,6 @@ broken-packages:
   - cao
   - cap
   - Capabilities
-  - capability
   - capnp
   - capped-list
   - capri
@@ -4049,7 +4050,6 @@ broken-packages:
   - cereal-io-streams
   - cereal-plus
   - cereal-streams
-  - cereal-time
   - certificate
   - cf
   - cfenv
@@ -5545,7 +5545,6 @@ broken-packages:
   - fused-effects-squeal
   - fused-effects-th
   - fusion
-  - futhark
   - futun
   - future
   - fuzzy-time-gen
@@ -5651,7 +5650,6 @@ broken-packages:
   - GGg
   - ggtsTC
   - gh-labeler
-  - ghc-bignum
   - ghc-clippy-plugin
   - ghc-core-smallstep
   - ghc-datasize
@@ -7574,7 +7572,6 @@ broken-packages:
   - language-hcl
   - language-java-classfile
   - language-kort
-  - language-lua
   - language-lua-qq
   - language-lua2
   - language-mixal
@@ -7695,7 +7692,6 @@ broken-packages:
   - liblawless
   - liblinear-enumerator
   - libltdl
-  - libmodbus
   - libmolude
   - libnix
   - liboath-hs
@@ -8262,8 +8258,10 @@ broken-packages:
   - morfeusz
   - morley
   - morloc
+  - morpheus-graphql
   - morpheus-graphql-app
   - morpheus-graphql-cli
+  - morpheus-graphql-subscriptions
   - morphisms-functors
   - morphisms-functors-inventory
   - morphisms-objects
@@ -10109,7 +10107,6 @@ broken-packages:
   - shake-cabal-build
   - shake-dhall
   - shake-extras
-  - shake-futhark
   - shake-minify
   - shake-minify-css
   - shake-pack
@@ -11104,7 +11101,6 @@ broken-packages:
   - tsvsql
   - tsweb
   - ttask
-  - ttn-client
   - tttool
   - tubes
   - tuntap
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index a06caa41064..066830814fd 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -659,9 +659,7 @@ self: super: builtins.intersectAttrs super {
     let
       # spago requires an older version of megaparsec, but it appears to work
       # fine with newer versions.
-      spagoWithOverrides = doJailbreak (super.spago.override {
-        dhall = self.dhall_1_37_1;
-      });
+      spagoWithOverrides = doJailbreak super.spago;
 
       # This defines the version of the purescript-docs-search release we are using.
       # This is defined in the src/Spago/Prelude.hs file in the spago source.
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 1e61e38db92..3fa0fecb730 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -974,6 +974,36 @@ self: {
        broken = true;
      }) {};
 
+  "Allure_0_10_2_0" = callPackage
+    ({ mkDerivation, async, base, containers, enummapset, file-embed
+     , filepath, ghc-compact, hsini, LambdaHack, optparse-applicative
+     , primitive, splitmix, tasty, tasty-hunit, template-haskell, text
+     , th-lift-instances, transformers
+     }:
+     mkDerivation {
+       pname = "Allure";
+       version = "0.10.2.0";
+       sha256 = "1x62ny9h51x1rl17khgjyy5idl94fr7h1vhfm5zjgls3ln7g7fgw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base enummapset file-embed filepath ghc-compact hsini
+         LambdaHack optparse-applicative primitive splitmix template-haskell
+         text th-lift-instances transformers
+       ];
+       executableHaskellDepends = [
+         async base filepath LambdaHack optparse-applicative
+       ];
+       testHaskellDepends = [
+         async base containers filepath LambdaHack optparse-applicative
+         tasty tasty-hunit text transformers
+       ];
+       description = "Near-future Sci-Fi roguelike and tactical squad combat game";
+       license = lib.licenses.agpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "AndroidViewHierarchyImporter" = callPackage
     ({ mkDerivation, base, bytestring, cmdtheline, containers, mtl
      , network, opml, pretty, process, QuickCheck, split, transformers
@@ -8927,19 +8957,19 @@ self: {
 
   "HPDF" = callPackage
     ({ mkDerivation, array, base, base64-bytestring, binary, bytestring
-     , containers, errors, filepath, HTF, hyphenation, mtl, network-uri
-     , parsec, random, text, vector, zlib
+     , containers, errors, file-embed, filepath, HTF, hyphenation, mtl
+     , network-uri, parsec, random, text, vector, zlib
      }:
      mkDerivation {
        pname = "HPDF";
-       version = "1.5.1";
-       sha256 = "0kqbfzcqapxvkg52mixqjhxb79ziyfsfvazbzrwjvhp9nqhikn6y";
+       version = "1.5.2";
+       sha256 = "0mp3lbyyp6iykqrnviam46wb5aab24c1ncivxp5c2v5hg89a1jrm";
        isLibrary = true;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base base64-bytestring binary bytestring containers errors
-         filepath hyphenation mtl network-uri parsec random text vector zlib
+         file-embed filepath hyphenation mtl network-uri parsec random text
+         vector zlib
        ];
        executableHaskellDepends = [
          base filepath network-uri random text vector
@@ -10816,6 +10846,21 @@ self: {
        license = lib.licenses.publicDomain;
      }) {inherit (pkgs) openssl;};
 
+  "HsOpenSSL_0_11_6_2" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
+     mkDerivation {
+       pname = "HsOpenSSL";
+       version = "0.11.6.2";
+       sha256 = "160fpl2lcardzf4gy5dimhad69gvkkvnpp5nqbf8fcxzm4vgg76y";
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [ base bytestring network time ];
+       librarySystemDepends = [ openssl ];
+       testHaskellDepends = [ base bytestring ];
+       description = "Partial OpenSSL binding for Haskell";
+       license = lib.licenses.publicDomain;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) openssl;};
+
   "HsOpenSSL-x509-system" = callPackage
     ({ mkDerivation, base, bytestring, HsOpenSSL, unix }:
      mkDerivation {
@@ -11197,24 +11242,6 @@ self: {
      }:
      mkDerivation {
        pname = "IPv6Addr";
-       version = "1.1.5";
-       sha256 = "0fnh77znfkp0d2i6vdvrsnxcdprqjz43in5k36b3yrrzffdrfka7";
-       libraryHaskellDepends = [
-         aeson attoparsec base iproute network network-info random text
-       ];
-       testHaskellDepends = [
-         base HUnit test-framework test-framework-hunit text
-       ];
-       description = "Library to deal with IPv6 address text representations";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "IPv6Addr_2_0_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, HUnit, iproute, network
-     , network-info, random, test-framework, test-framework-hunit, text
-     }:
-     mkDerivation {
-       pname = "IPv6Addr";
        version = "2.0.1";
        sha256 = "0gkk20ngbfrr64w5szjhvlwlmali4xcx36iqa714cbxy6lpqy5cl";
        libraryHaskellDepends = [
@@ -11225,7 +11252,6 @@ self: {
        ];
        description = "Library to deal with IPv6 address text representations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "IPv6DB" = callPackage
@@ -11764,8 +11790,8 @@ self: {
        pname = "JuicyPixels-blurhash";
        version = "0.1.0.3";
        sha256 = "0kgl2j7990p8q5yrkn0wgaszc9fzva1pc3277j11k1lbjsymz360";
-       revision = "4";
-       editedCabalFile = "0jxrcv4x3xr3v4lka0z5b13ywdic5f1dh19ivshrvad3xnv7kx0g";
+       revision = "5";
+       editedCabalFile = "1iv2jz1jwndpfj68zqkya1yc45fs43anc8dqbk2pdbqyxwlxwfaj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -12381,6 +12407,43 @@ self: {
        broken = true;
      }) {};
 
+  "LambdaHack_0_10_2_0" = callPackage
+    ({ mkDerivation, assert-failure, async, base, base-compat, binary
+     , bytestring, containers, deepseq, directory, enummapset
+     , file-embed, filepath, ghc-compact, ghc-prim, hashable, hsini
+     , int-cast, keys, miniutter, open-browser, optparse-applicative
+     , pretty-show, primitive, sdl2, sdl2-ttf, splitmix, stm, tasty
+     , tasty-hunit, template-haskell, text, th-lift-instances, time
+     , transformers, unordered-containers, vector
+     , vector-binary-instances, zlib
+     }:
+     mkDerivation {
+       pname = "LambdaHack";
+       version = "0.10.2.0";
+       sha256 = "1x02dym1kara8izmz2cpq1dppqbn8y655nwlw9anqs8c1haqd2kc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         assert-failure async base base-compat binary bytestring containers
+         deepseq directory enummapset file-embed filepath ghc-compact
+         ghc-prim hashable hsini int-cast keys miniutter open-browser
+         optparse-applicative pretty-show primitive sdl2 sdl2-ttf splitmix
+         stm template-haskell text th-lift-instances time transformers
+         unordered-containers vector vector-binary-instances zlib
+       ];
+       executableHaskellDepends = [
+         async base filepath optparse-applicative
+       ];
+       testHaskellDepends = [
+         async base containers filepath optparse-applicative tasty
+         tasty-hunit text transformers
+       ];
+       description = "A game engine library for tactical squad ASCII roguelike dungeon crawlers";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "LambdaINet" = callPackage
     ({ mkDerivation, base, containers, GLFW, GLFW-task, monad-task, mtl
      , OpenGL, transformers, vector
@@ -13814,6 +13877,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "MonadRandom_0_5_3" = callPackage
+    ({ mkDerivation, base, mtl, primitive, random, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "MonadRandom";
+       version = "0.5.3";
+       sha256 = "17qaw1gg42p9v6f87dj5vih7l88lddbyd8880ananj8avanls617";
+       libraryHaskellDepends = [
+         base mtl primitive random transformers transformers-compat
+       ];
+       description = "Random-number generation monad";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "MonadRandomLazy" = callPackage
     ({ mkDerivation, base, MonadRandom, mtl, random }:
      mkDerivation {
@@ -22022,8 +22101,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-Data";
-       version = "0.7.3.0";
-       sha256 = "1ggxlg47m14lcxwqvs3ddldn1pz19pqxkgg6in5w6l4k62cwyhc1";
+       version = "0.7.4.0";
+       sha256 = "1v0n0f96d5g1j6xw7d8w225r9qk9snjdfz7snq8pnmpjcna374jf";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq ghc-prim
@@ -23303,8 +23382,8 @@ self: {
        pname = "acme-circular-containers";
        version = "0.1.0.0";
        sha256 = "1xngqlx0avn84qx696hjm8cdqqs9p0ls90kklkz5rs48fbcma3pr";
-       revision = "2";
-       editedCabalFile = "0zshb422bmcjisa1hq2mfvmijcsgk9lyi3f5wai62ydablxqdhbm";
+       revision = "3";
+       editedCabalFile = "0zpjfk5wwkhl3sql8lrp6j8h731j6ms0cqmjs1hzz24iiwwkj7bj";
        libraryHaskellDepends = [ base containers graph-wrapper ];
        testHaskellDepends = [
          base containers doctest doctest-discover graph-wrapper
@@ -25541,6 +25620,32 @@ self: {
        broken = true;
      }) {};
 
+  "agda-language-server" = callPackage
+    ({ mkDerivation, aeson, Agda, base, bytestring, containers, lsp
+     , mtl, network, network-simple, process, stm, strict, text
+     }:
+     mkDerivation {
+       pname = "agda-language-server";
+       version = "0.0.3.0";
+       sha256 = "1sjni83r9snscqlrszx68ld9lyvrrg02abkli23j9yd6yg8zyx8v";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson Agda base bytestring containers lsp mtl network
+         network-simple process stm strict text
+       ];
+       executableHaskellDepends = [
+         aeson Agda base bytestring containers lsp mtl network
+         network-simple process stm strict text
+       ];
+       testHaskellDepends = [
+         aeson Agda base bytestring containers lsp mtl network
+         network-simple process stm strict text
+       ];
+       description = "LSP server for Agda";
+       license = lib.licenses.mit;
+     }) {};
+
   "agda-server" = callPackage
     ({ mkDerivation, Agda, base, cmdargs, containers, directory
      , filepath, HJavaScript, mtl, pandoc, snap-core, snap-server
@@ -26202,8 +26307,6 @@ self: {
        ];
        description = "A set of functions for a common use case of Alex";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "alfred" = callPackage
@@ -26770,6 +26873,23 @@ self: {
        broken = true;
      }) {};
 
+  "alpaca-netcode" = callPackage
+    ({ mkDerivation, base, bytestring, containers, flat, hashable
+     , network, network-run, random, stm, tasty, tasty-hunit, time
+     }:
+     mkDerivation {
+       pname = "alpaca-netcode";
+       version = "0.1.0.0";
+       sha256 = "17mvvvw1a5a6pdjhp9xigg09cbpk31nsknlf1lns1ks6dm8i8kfj";
+       libraryHaskellDepends = [
+         base bytestring containers flat hashable network network-run random
+         stm time
+       ];
+       testHaskellDepends = [ base containers random tasty tasty-hunit ];
+       description = "Rollback/replay NetCode for realtime, deterministic, multiplayer games";
+       license = lib.licenses.asl20;
+     }) {};
+
   "alpha" = callPackage
     ({ mkDerivation, array, AvlTree, base, bimap, bindings-posix
      , bytestring, cereal, containers, COrdering, cpphs, directory
@@ -26971,29 +27091,6 @@ self: {
      }:
      mkDerivation {
        pname = "alsa-seq";
-       version = "0.6.0.7";
-       sha256 = "0y5pw2qsga19l79pmmrxc3m7w60yrw9scl9bb71z1alk97ia3k86";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         alsa-core array base bytestring data-accessor enumset
-         extensible-exceptions poll transformers utility-ht
-       ];
-       libraryPkgconfigDepends = [ alsaLib ];
-       description = "Binding to the ALSA Library API (MIDI sequencer)";
-       license = lib.licenses.bsd3;
-       platforms = [
-         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
-       ];
-     }) {inherit (pkgs) alsaLib;};
-
-  "alsa-seq_0_6_0_8" = callPackage
-    ({ mkDerivation, alsa-core, alsaLib, array, base, bytestring
-     , data-accessor, enumset, extensible-exceptions, poll, transformers
-     , utility-ht
-     }:
-     mkDerivation {
-       pname = "alsa-seq";
        version = "0.6.0.8";
        sha256 = "00f7873484nifbimdav0b25sipgx3rn6xx1il6qgvz0p70pzzljv";
        isLibrary = true;
@@ -27008,7 +27105,6 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) alsaLib;};
 
   "alsa-seq-tests" = callPackage
@@ -34046,14 +34142,43 @@ self: {
        broken = true;
      }) {};
 
+  "assert4hs-core" = callPackage
+    ({ mkDerivation, base, data-default, hspec, hspec-discover
+     , pretty-diff, text
+     }:
+     mkDerivation {
+       pname = "assert4hs-core";
+       version = "0.1.0";
+       sha256 = "09jp2j4l17ry2v4hnmj5l81dmwqrgf9hszdpc5ybxp0h3h2l6xj2";
+       libraryHaskellDepends = [ base data-default pretty-diff text ];
+       testHaskellDepends = [
+         base data-default hspec hspec-discover pretty-diff text
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A set of assertion for writing more readable tests cases";
+       license = lib.licenses.mit;
+     }) {};
+
+  "assert4hs-hspec" = callPackage
+    ({ mkDerivation, assert4hs-core, base, hspec, HUnit }:
+     mkDerivation {
+       pname = "assert4hs-hspec";
+       version = "0.1.0";
+       sha256 = "1mb6zhzr78ydfgx14d2h5xrnq1dppsxyqb9hhhc65j1r7y08glbj";
+       libraryHaskellDepends = [ assert4hs-core base hspec HUnit ];
+       testHaskellDepends = [ assert4hs-core base hspec HUnit ];
+       description = "integration point of assert4hs and hspec";
+       license = lib.licenses.mit;
+     }) {};
+
   "assert4hs-tasty" = callPackage
-    ({ mkDerivation, assert4hs, base, tasty }:
+    ({ mkDerivation, assert4hs-core, base, tasty }:
      mkDerivation {
        pname = "assert4hs-tasty";
-       version = "0.0.0.1";
-       sha256 = "1gdbd52laywmnyiprg4igf1hwgqna317l04n774388hsfss8gv7p";
-       libraryHaskellDepends = [ assert4hs base tasty ];
-       testHaskellDepends = [ assert4hs base tasty ];
+       version = "0.1.0";
+       sha256 = "1x53ai0ssk0kakp9ims19a6v5rnxiqlwnp3d07n6ji3lmwrdmy1j";
+       libraryHaskellDepends = [ assert4hs-core base tasty ];
+       testHaskellDepends = [ assert4hs-core base tasty ];
        description = "Provider for tasty runner to run assert4hs tests";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -34630,8 +34755,8 @@ self: {
      }:
      mkDerivation {
        pname = "atlassian-connect-core";
-       version = "0.8.0.1";
-       sha256 = "1h2702rkygjjjni9qfxhmnk49g2182s0js5dx8j0hvdpkg9w4q0l";
+       version = "0.8.1.0";
+       sha256 = "17xvqf2j77y8lqvl2k5a924yvjym4aqii6glwfs3rjvw6a08k9zp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson atlassian-connect-descriptor base base64-bytestring
@@ -36402,6 +36527,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "aws-arn" = callPackage
+    ({ mkDerivation, base, deriving-compat, hashable, lens, tasty
+     , tasty-discover, tasty-hunit, text
+     }:
+     mkDerivation {
+       pname = "aws-arn";
+       version = "0.1.0.0";
+       sha256 = "0wwmrpmcw01wifcpfsb81fx54c49zgg80h2y11cjpr7qkwdhiqwd";
+       libraryHaskellDepends = [
+         base deriving-compat hashable lens text
+       ];
+       testHaskellDepends = [
+         base deriving-compat lens tasty tasty-discover tasty-hunit text
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Types and optics for manipulating Amazon Resource Names (ARNs)";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "aws-cloudfront-signed-cookies" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, asn1-encoding, asn1-types
      , base, base64-bytestring, bytestring, cookie, cryptonite, hedgehog
@@ -39154,6 +39298,27 @@ self: {
        broken = true;
      }) {};
 
+  "bcp47-orphans_0_1_0_3" = callPackage
+    ({ mkDerivation, base, bcp47, cassava, errors, esqueleto, hashable
+     , hspec, http-api-data, path-pieces, persistent, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "bcp47-orphans";
+       version = "0.1.0.3";
+       sha256 = "1dm65nq49zqbc6kxkh2kmsracc9a7vlbq4mpq60jh2wxgvzcfghm";
+       libraryHaskellDepends = [
+         base bcp47 cassava errors esqueleto hashable http-api-data
+         path-pieces persistent text
+       ];
+       testHaskellDepends = [
+         base bcp47 cassava hspec path-pieces persistent QuickCheck
+       ];
+       description = "BCP47 orphan instances";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "bcrypt" = callPackage
     ({ mkDerivation, base, bytestring, data-default, entropy, memory }:
      mkDerivation {
@@ -39807,6 +39972,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "benchpress_0_2_2_16" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, time }:
+     mkDerivation {
+       pname = "benchpress";
+       version = "0.2.2.16";
+       sha256 = "0p8wxd7liz7ihqlqhk1l8z3hn7hc24qlf69ykxixp69jx479dkan";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl time ];
+       executableHaskellDepends = [ base bytestring time ];
+       description = "Micro-benchmarking with detailed statistics";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bencode" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, hspec
      , parsec, QuickCheck, transformers, transformers-compat
@@ -40827,24 +41007,6 @@ self: {
      }:
      mkDerivation {
        pname = "binary-parser";
-       version = "0.5.6";
-       sha256 = "0s91289qh3xwbjm0zbnjj550asg1l801h5arx35j4msxrbwgcx3g";
-       libraryHaskellDepends = [ base bytestring mtl text transformers ];
-       testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       description = "A highly-efficient but limited parser API specialised for bytestrings";
-       license = lib.licenses.mit;
-     }) {};
-
-  "binary-parser_0_5_7" = callPackage
-    ({ mkDerivation, base, bytestring, mtl, QuickCheck
-     , quickcheck-instances, rerebase, tasty, tasty-hunit
-     , tasty-quickcheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "binary-parser";
        version = "0.5.7";
        sha256 = "03w8xjy45kvakxk085234gi9mhg5vhz6394kh8bhd275qwf4g8cz";
        libraryHaskellDepends = [ base bytestring mtl text transformers ];
@@ -40854,7 +41016,6 @@ self: {
        ];
        description = "A highly-efficient but limited parser API specialised for bytestrings";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "binary-parsers" = callPackage
@@ -45286,6 +45447,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "boring_0_2" = callPackage
+    ({ mkDerivation, base, tagged, transformers }:
+     mkDerivation {
+       pname = "boring";
+       version = "0.2";
+       sha256 = "0d2cm9ra69cvaxs5x3lr2rfv7xx6xrbpb3dbcpyd8m77cqxm7b0b";
+       libraryHaskellDepends = [ base tagged transformers ];
+       description = "Boring and Absurd types";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "boring-game" = callPackage
     ({ mkDerivation, base, gloss }:
      mkDerivation {
@@ -45819,6 +45992,34 @@ self: {
        pname = "brick";
        version = "0.60.2";
        sha256 = "1fcpbm58fikqv94cl97p6bzhyq07kkp3zppylqwpil2qzfhvzb3i";
+       revision = "1";
+       editedCabalFile = "0jm3f0f9hyl6pn92d74shm33v93pyjj20x2axp5y9jgkf1ynnbc8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring config-ini containers contravariant data-clist
+         deepseq directory dlist exceptions filepath microlens microlens-mtl
+         microlens-th stm template-haskell text text-zipper transformers
+         unix vector vty word-wrap
+       ];
+       testHaskellDepends = [
+         base containers microlens QuickCheck vector
+       ];
+       description = "A declarative terminal user interface library";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "brick_0_61" = callPackage
+    ({ mkDerivation, base, bytestring, config-ini, containers
+     , contravariant, data-clist, deepseq, directory, dlist, exceptions
+     , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
+     , template-haskell, text, text-zipper, transformers, unix, vector
+     , vty, word-wrap
+     }:
+     mkDerivation {
+       pname = "brick";
+       version = "0.61";
+       sha256 = "0cwrsndplgw5226cpdf7aad03jjidqh5wwwgm75anmya7c5lzl2d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -45832,6 +46033,7 @@ self: {
        ];
        description = "A declarative terminal user interface library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "brick-dropdownmenu" = callPackage
@@ -48006,29 +48208,6 @@ self: {
      }) {};
 
   "bytestring-strict-builder" = callPackage
-    ({ mkDerivation, base, base-prelude, bytestring, criterion
-     , QuickCheck, quickcheck-instances, rerebase, semigroups, tasty
-     , tasty-hunit, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "bytestring-strict-builder";
-       version = "0.4.5.3";
-       sha256 = "0p4yhi2x8k2jn6xxq15r38m10h4dkxkryzqzgnw4sq47270p5k5d";
-       revision = "1";
-       editedCabalFile = "0i3gnzb2dlhxyjx5zbbgycf9l285amwj98s6drvq2hih21z4d3h6";
-       libraryHaskellDepends = [
-         base base-prelude bytestring semigroups
-       ];
-       testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ criterion rerebase ];
-       description = "An efficient strict bytestring builder";
-       license = lib.licenses.mit;
-     }) {};
-
-  "bytestring-strict-builder_0_4_5_4" = callPackage
     ({ mkDerivation, base, bytestring, criterion, QuickCheck
      , quickcheck-instances, rerebase, tasty, tasty-hunit
      , tasty-quickcheck
@@ -48045,7 +48224,6 @@ self: {
        benchmarkHaskellDepends = [ criterion rerebase ];
        description = "An efficient strict bytestring builder";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bytestring-substring" = callPackage
@@ -48100,27 +48278,6 @@ self: {
      }:
      mkDerivation {
        pname = "bytestring-tree-builder";
-       version = "0.2.7.7";
-       sha256 = "193nryzgbjij6md84i2w2jhpsgsqz94g71744wj45qr2gzivyxfb";
-       libraryHaskellDepends = [ base base-prelude bytestring text ];
-       testHaskellDepends = [
-         base-prelude bytestring QuickCheck quickcheck-instances tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [
-         base-prelude bytestring criterion deepseq
-       ];
-       description = "A very efficient ByteString builder implementation based on the binary tree";
-       license = lib.licenses.mit;
-     }) {};
-
-  "bytestring-tree-builder_0_2_7_9" = callPackage
-    ({ mkDerivation, base, base-prelude, bytestring, criterion, deepseq
-     , QuickCheck, quickcheck-instances, tasty, tasty-hunit
-     , tasty-quickcheck, text
-     }:
-     mkDerivation {
-       pname = "bytestring-tree-builder";
        version = "0.2.7.9";
        sha256 = "0lmm52716b0qqnlpqgiscc92wk9n1fckydmp4vzi58h5majzpnyb";
        libraryHaskellDepends = [ base bytestring text ];
@@ -48133,7 +48290,6 @@ self: {
        ];
        description = "A very efficient ByteString builder implementation based on the binary tree";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bytestring-trie" = callPackage
@@ -49375,27 +49531,6 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "2.0.7";
-       sha256 = "1ws9hw07qmw90wf226vr6abvm2h8qc49h9ff0cgcvjbinnk9ymmg";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base bytestring Cabal directory extra filepath http-client
-         http-client-tls http-conduit optparse-applicative process
-         simple-cabal simple-cmd simple-cmd-args time unix
-       ];
-       description = "RPM packaging tool for Haskell Cabal-based packages";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "cabal-rpm_2_0_8" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, directory, extra
-     , filepath, http-client, http-client-tls, http-conduit
-     , optparse-applicative, process, simple-cabal, simple-cmd
-     , simple-cmd-args, time, unix
-     }:
-     mkDerivation {
-       pname = "cabal-rpm";
        version = "2.0.8";
        sha256 = "18ryg2qv1ppxkylgniw4iava9gh410pp6ibm1362ij52128z6rhz";
        isLibrary = false;
@@ -49407,7 +49542,6 @@ self: {
        ];
        description = "RPM packaging tool for Haskell Cabal-based packages";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cabal-scripts" = callPackage
@@ -50378,27 +50512,26 @@ self: {
     ({ mkDerivation, aeson, async, base, bytestring, colour
      , concurrent-extra, connection, containers, data-default-class
      , data-flags, deepseq, deque, df1, di-core, di-polysemy, exceptions
-     , fmt, focus, generic-lens, generic-override
-     , generic-override-aeson, hashable, http-client, http-date
-     , http-types, lens, lens-aeson, megaparsec, mime-types, mtl
-     , polysemy, polysemy-plugin, reflection, req, safe-exceptions
+     , fmt, focus, generic-lens, hashable, http-api-data, http-client
+     , http-date, http-types, lens, lens-aeson, megaparsec, mime-types
+     , mtl, polysemy, polysemy-plugin, reflection, req, safe-exceptions
      , scientific, stm, stm-chans, stm-containers, text, text-show, time
      , tls, typerep-map, unagi-chan, unboxing-vector
      , unordered-containers, vector, websockets, x509-system
      }:
      mkDerivation {
        pname = "calamity";
-       version = "0.1.25.1";
-       sha256 = "17i8l2p314bifa5cfqvpy89m0yh9m1m4120cjc71ir2lb35wj9lf";
+       version = "0.1.27.0";
+       sha256 = "1aslkqv8j5zq3pznlw4ga32gz8w29xd365rcjw3xbdj4cygpix40";
        libraryHaskellDepends = [
          aeson async base bytestring colour concurrent-extra connection
          containers data-default-class data-flags deepseq deque df1 di-core
-         di-polysemy exceptions fmt focus generic-lens generic-override
-         generic-override-aeson hashable http-client http-date http-types
-         lens lens-aeson megaparsec mime-types mtl polysemy polysemy-plugin
-         reflection req safe-exceptions scientific stm stm-chans
-         stm-containers text text-show time tls typerep-map unagi-chan
-         unboxing-vector unordered-containers vector websockets x509-system
+         di-polysemy exceptions fmt focus generic-lens hashable
+         http-api-data http-client http-date http-types lens lens-aeson
+         megaparsec mime-types mtl polysemy polysemy-plugin reflection req
+         safe-exceptions scientific stm stm-chans stm-containers text
+         text-show time tls typerep-map unagi-chan unboxing-vector
+         unordered-containers vector websockets x509-system
        ];
        description = "A library for writing discord bots in haskell";
        license = lib.licenses.mit;
@@ -50986,8 +51119,6 @@ self: {
        ];
        description = "Extensional capabilities and deriving combinators";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "capataz" = callPackage
@@ -51660,26 +51791,6 @@ self: {
      }) {};
 
   "cases" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, criterion, HTF
-     , HUnit, loch-th, mwc-random, placeholders, QuickCheck, rerebase
-     , text
-     }:
-     mkDerivation {
-       pname = "cases";
-       version = "0.1.4";
-       sha256 = "14mn0cjbnx4jlm5gqkprim5jfc39ffzj2xzv4vvzi2yq3pwcycv0";
-       libraryHaskellDepends = [ attoparsec base-prelude loch-th text ];
-       testHaskellDepends = [
-         base HTF HUnit loch-th placeholders QuickCheck text
-       ];
-       benchmarkHaskellDepends = [ criterion mwc-random rerebase ];
-       description = "A converter for spinal, snake and camel cases";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "cases_0_1_4_1" = callPackage
     ({ mkDerivation, attoparsec, base, gauge, HTF, HUnit, mwc-random
      , QuickCheck, rerebase, text
      }:
@@ -52412,7 +52523,6 @@ self: {
        testHaskellDepends = [ base base16-bytestring hspec ];
        description = "Cayenne Low Power Payload";
        license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ sorki ];
      }) {};
 
   "cayenne-lpp" = callPackage
@@ -52430,6 +52540,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Cayenne Low Power Payload";
        license = lib.licenses.bsd3;
+       maintainers = with lib.maintainers; [ sorki ];
      }) {};
 
   "cayley-client" = callPackage
@@ -52533,6 +52644,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "cborg_0_2_5_0" = callPackage
+    ({ mkDerivation, aeson, array, base, base-orphans
+     , base16-bytestring, base64-bytestring, bytestring, containers
+     , deepseq, ghc-prim, half, integer-gmp, primitive, QuickCheck
+     , random, scientific, tasty, tasty-hunit, tasty-quickcheck, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "cborg";
+       version = "0.2.5.0";
+       sha256 = "08da498bpbnl5c919m45mjm7sr78nn6qs7xyl0smfgd06wwm65xf";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq ghc-prim half integer-gmp
+         primitive text
+       ];
+       testHaskellDepends = [
+         aeson array base base-orphans base16-bytestring base64-bytestring
+         bytestring deepseq half QuickCheck random scientific tasty
+         tasty-hunit tasty-quickcheck text vector
+       ];
+       description = "Concise Binary Object Representation (CBOR)";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "cborg-json" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cborg
      , criterion, deepseq, directory, process, scientific, text
@@ -52984,8 +53120,6 @@ self: {
        testHaskellDepends = [ base cereal hspec QuickCheck time ];
        description = "Serialize instances for types from `time` package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "cereal-unordered-containers" = callPackage
@@ -53752,6 +53886,8 @@ self: {
        pname = "chassis";
        version = "0.0.4.0";
        sha256 = "1mvi7h6pp1j3x4yccqy962f8d3gbm4sj5fvnfwxygnxqqhmy1dvk";
+       revision = "1";
+       editedCabalFile = "15pncz2x3llb2sg2x4as4r0wbx528dvlp0gvc2rl9y9dxhv89d9h";
        libraryHaskellDepends = [
          base bytestring comonad composite-base containers contravariant
          distributive either exceptions extra first-class-families path
@@ -55670,7 +55806,7 @@ self: {
        broken = true;
      }) {};
 
-  "clash-ghc_1_4_0" = callPackage
+  "clash-ghc_1_4_1" = callPackage
     ({ mkDerivation, array, base, bifunctors, bytestring, Cabal
      , clash-lib, clash-prelude, concurrent-supply, containers, deepseq
      , directory, exceptions, extra, filepath, ghc, ghc-boot, ghc-prim
@@ -55682,8 +55818,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.4.0";
-       sha256 = "18nm5x6rk69pd506yqp4pwp1i56x81bb56ly9x7adkmjk7j3l6y2";
+       version = "1.4.1";
+       sha256 = "0brfhgdb5ilrm4rxx8hsjsrzrj0lxppsd1g1k7m4jrdk7xp1mnlk";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -55743,7 +55879,7 @@ self: {
        broken = true;
      }) {};
 
-  "clash-lib_1_4_0" = callPackage
+  "clash-lib_1_4_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array
      , attoparsec, base, base16-bytestring, binary, bytestring
      , clash-prelude, concurrent-supply, containers, cryptohash-sha256
@@ -55760,10 +55896,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.4.0";
-       sha256 = "1i0zmz26p35hfp89s45s6g7x2rvhyjc3lrx35r06cnllw6xvp60z";
-       revision = "1";
-       editedCabalFile = "0gjsc0nvaqj8f5m9nknxbs1jhb6nlwfy2cxgyj73rbwhwa4w2msk";
+       version = "1.4.1";
+       sha256 = "1gg2snjfhhclfmyz07l5hddn8pfh9k4l4xjba1bx5php76kyiz0v";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array attoparsec base
@@ -55845,7 +55979,7 @@ self: {
        broken = true;
      }) {};
 
-  "clash-prelude_1_4_0" = callPackage
+  "clash-prelude_1_4_1" = callPackage
     ({ mkDerivation, array, arrows, base, bifunctors, binary
      , bytestring, Cabal, cabal-doctest, constraints, containers
      , criterion, data-binary-ieee754, data-default-class, deepseq
@@ -55860,8 +55994,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.4.0";
-       sha256 = "168gjdjj9v69gr4d44njly70qr30nz3z4gfdy4nd4pay377i6vlw";
+       version = "1.4.1";
+       sha256 = "12f3nlg6820grkjkljhyqgq43qc1x58akiy51gbxf6qp8k55akka";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array arrows base bifunctors binary bytestring constraints
@@ -58293,6 +58427,8 @@ self: {
        pname = "codeworld-api";
        version = "0.7.0";
        sha256 = "1l1w4mrw4b2njz4kmfvd94mlwn776vryy1y9x9cb3r69fw5qy2f3";
+       revision = "1";
+       editedCabalFile = "18npi0idydgzc59a5xvlch8kpkkwn0xfi6f95i3cnzy1h1q52grr";
        libraryHaskellDepends = [
          aeson base base64-bytestring blank-canvas bytestring cereal
          cereal-text containers deepseq dependent-sum ghc-prim hashable
@@ -58397,6 +58533,8 @@ self: {
        pname = "coercible-utils";
        version = "0.1.0";
        sha256 = "0nadwhr96nvwz1vxxr7814h22v02zrycqa9xijgvrakf0j174yls";
+       revision = "1";
+       editedCabalFile = "0swbc29c1c742d7pam2flv7xqqwis5df10657yvzms83mfg4lv6a";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        benchmarkHaskellDepends = [ base gauge ];
@@ -59016,12 +59154,17 @@ self: {
      }) {};
 
   "colourista" = callPackage
-    ({ mkDerivation, ansi-terminal, base, bytestring, text }:
+    ({ mkDerivation, ansi-terminal, base, bytestring, ghc-prim, hspec
+     , text
+     }:
      mkDerivation {
        pname = "colourista";
-       version = "0.1.0.0";
-       sha256 = "1iglvl6k8vrq45h5r8r2ng575dgg30jfw1zq19zld72914mmvjdz";
-       libraryHaskellDepends = [ ansi-terminal base bytestring text ];
+       version = "0.1.0.1";
+       sha256 = "16khzax62kyanaj2vdqd3avw2yc2n1p35mwsckgd17j7nl59mgbf";
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring ghc-prim text
+       ];
+       testHaskellDepends = [ base bytestring hspec text ];
        description = "Convenient interface for printing colourful messages";
        license = lib.licenses.mpl20;
      }) {};
@@ -60479,6 +60622,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "composition_1_0_2_2" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "composition";
+       version = "1.0.2.2";
+       sha256 = "0bnl8kmaqbjnznqgnjj2gr2qygln6y6493prk0anpd8zdylzf2xm";
+       description = "Combinators for unorthodox function composition";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "composition-extra" = callPackage
     ({ mkDerivation, base, composition, contravariant }:
      mkDerivation {
@@ -61126,8 +61280,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-machines";
-       version = "0.3.1.3";
-       sha256 = "1p1zlqa1mywn3mxg94gcryhpnffq8jpirgnvxhff2b1bs4llfaik";
+       version = "0.3.1.4";
+       sha256 = "1ddwbmvxaigkdbfqf3cm8pyyh0knn1zbf46j7rh1c6vqwqx2g16l";
        libraryHaskellDepends = [
          async base containers lifted-async machines monad-control
          semigroups time transformers transformers-base
@@ -62973,25 +63127,6 @@ self: {
 
   "constraints" = callPackage
     ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
-     , hspec-discover, mtl, semigroups, transformers
-     , transformers-compat, type-equality
-     }:
-     mkDerivation {
-       pname = "constraints";
-       version = "0.12";
-       sha256 = "08q2fq2xy2ija164k5a178jjffdii57nrx2x9ddz24zh2ld56szj";
-       libraryHaskellDepends = [
-         base binary deepseq ghc-prim hashable mtl semigroups transformers
-         transformers-compat type-equality
-       ];
-       testHaskellDepends = [ base hspec ];
-       testToolDepends = [ hspec-discover ];
-       description = "Constraint manipulation";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "constraints_0_13" = callPackage
-    ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
      , hspec-discover, mtl, transformers, transformers-compat
      , type-equality
      }:
@@ -63007,7 +63142,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Constraint manipulation";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constraints-deriving" = callPackage
@@ -63080,32 +63214,6 @@ self: {
      }:
      mkDerivation {
        pname = "construct";
-       version = "0.3.0.1";
-       sha256 = "09x70cvfvkl2rw3r850whw3rbc47yp2w66qmfjzdd9fki31612kc";
-       enableSeparateDataOutput = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         attoparsec base bytestring cereal incremental-parser input-parsers
-         monoid-subclasses parsers rank2classes text
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring cereal directory doctest filepath
-         incremental-parser monoid-subclasses rank2classes tasty tasty-hunit
-         text
-       ];
-       testToolDepends = [ markdown-unlit ];
-       description = "Haskell version of the Construct library for easy specification of file formats";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "construct_0_3_0_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, Cabal, cabal-doctest
-     , cereal, directory, doctest, filepath, incremental-parser
-     , input-parsers, markdown-unlit, monoid-subclasses, parsers
-     , rank2classes, tasty, tasty-hunit, text
-     }:
-     mkDerivation {
-       pname = "construct";
        version = "0.3.0.2";
        sha256 = "1qng4g9x9smzg3gydpqyxalb49n9673rfn606qh3mq1xhcvj127j";
        enableSeparateDataOutput = true;
@@ -63122,7 +63230,6 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "Haskell version of the Construct library for easy specification of file formats";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constructible" = callPackage
@@ -65126,23 +65233,11 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, deepseq }:
      mkDerivation {
        pname = "cpuinfo";
-       version = "0.1.0.1";
-       sha256 = "0mans1i26w3rl1vvf9isn8y6lvmn9dlf2c0znbgjxj605jcy7cyi";
-       libraryHaskellDepends = [ attoparsec base bytestring deepseq ];
-       description = "Haskell Library for Checking CPU Information";
-       license = lib.licenses.mit;
-     }) {};
-
-  "cpuinfo_0_1_0_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, deepseq }:
-     mkDerivation {
-       pname = "cpuinfo";
        version = "0.1.0.2";
        sha256 = "0973bkgcfha0xyimizgq55w4a32gjgklcikfhcwkak4m9czwyynr";
        libraryHaskellDepends = [ attoparsec base bytestring deepseq ];
        description = "Haskell Library for Checking CPU Information";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cpuperf" = callPackage
@@ -69336,23 +69431,11 @@ self: {
     ({ mkDerivation, base, constraints }:
      mkDerivation {
        pname = "data-compat";
-       version = "0.1.0.2";
-       sha256 = "15bifxba0yddpq5yz23hq9k2s7vkzcrwjpwvbw0kkjf3wjjay5bp";
-       libraryHaskellDepends = [ base constraints ];
-       description = "Define Backwards Compatibility Schemes for Arbitrary Data";
-       license = lib.licenses.mit;
-     }) {};
-
-  "data-compat_0_1_0_3" = callPackage
-    ({ mkDerivation, base, constraints }:
-     mkDerivation {
-       pname = "data-compat";
        version = "0.1.0.3";
        sha256 = "1wfm561ird8hv0d52gfyx684xmvps90s4cly8knwwv31cz9r9vpg";
        libraryHaskellDepends = [ base constraints ];
        description = "Define Backwards Compatibility Schemes for Arbitrary Data";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "data-concurrent-queue" = callPackage
@@ -70559,6 +70642,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "data-serializer_0_3_5" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, data-endian
+     , parsers, split, tasty, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "data-serializer";
+       version = "0.3.5";
+       sha256 = "0hzxdz8kr094qdx1rq5ma671r7pfykfnmi42cq07g33wxzgbz85l";
+       libraryHaskellDepends = [
+         base binary bytestring cereal data-endian parsers split
+       ];
+       testHaskellDepends = [
+         base binary bytestring cereal tasty tasty-quickcheck
+       ];
+       description = "Common API for serialization libraries";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "data-size" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, text }:
      mkDerivation {
@@ -74187,63 +74289,6 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "dhall_1_37_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
-     , base, bytestring, case-insensitive, cborg, cborg-json, containers
-     , contravariant, cryptonite, data-fix, deepseq, Diff, directory
-     , doctest, dotgen, either, exceptions, filepath, foldl, gauge
-     , generic-random, half, hashable, haskeline, http-client
-     , http-client-tls, http-types, lens-family-core, megaparsec, memory
-     , mmorph, mockery, mtl, network-uri, optparse-applicative
-     , parser-combinators, parsers, pretty-simple, prettyprinter
-     , prettyprinter-ansi-terminal, profunctors, QuickCheck
-     , quickcheck-instances, repline, scientific, serialise
-     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
-     , tasty-quickcheck, tasty-silver, template-haskell, text
-     , text-manipulate, th-lift-instances, transformers
-     , transformers-compat, turtle, unordered-containers, uri-encode
-     , vector
-     }:
-     mkDerivation {
-       pname = "dhall";
-       version = "1.37.1";
-       sha256 = "16qpasw41wcgbi9ljrs43dn2ajw25yipm8kxri6v5fwj3gyzj24d";
-       revision = "1";
-       editedCabalFile = "11sjra0k7sdy0xcbhlxvjjpd4h7ki9dcrndcpaq71qlgdql32w24";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal atomic-write base bytestring
-         case-insensitive cborg cborg-json containers contravariant
-         cryptonite data-fix deepseq Diff directory dotgen either exceptions
-         filepath half hashable haskeline http-client http-client-tls
-         http-types lens-family-core megaparsec memory mmorph mtl
-         network-uri optparse-applicative parser-combinators parsers
-         pretty-simple prettyprinter prettyprinter-ansi-terminal profunctors
-         repline scientific serialise template-haskell text text-manipulate
-         th-lift-instances transformers transformers-compat
-         unordered-containers uri-encode vector
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base bytestring cborg containers data-fix deepseq directory doctest
-         either filepath foldl generic-random http-client http-client-tls
-         lens-family-core megaparsec mockery prettyprinter QuickCheck
-         quickcheck-instances scientific serialise special-values spoon
-         tasty tasty-expected-failure tasty-hunit tasty-quickcheck
-         tasty-silver template-haskell text transformers turtle
-         unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers directory gauge text
-       ];
-       doCheck = false;
-       description = "A configuration language guaranteed to terminate";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "dhall" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
@@ -74263,62 +74308,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.38.0";
-       sha256 = "0ifxi9i7ply640s2cgljjczvmblgz0ryp2p9yxgng3qm5ai58229";
-       revision = "2";
-       editedCabalFile = "13ppbn4kcrfls9fm9sqjwa4hb4nj8q6fqfxj3a62vck7qc1rbvn0";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal atomic-write base bytestring
-         case-insensitive cborg cborg-json containers contravariant
-         cryptonite data-fix deepseq Diff directory dotgen either exceptions
-         filepath half hashable haskeline http-client http-client-tls
-         http-types lens-family-core megaparsec memory mmorph mtl
-         network-uri optparse-applicative parser-combinators parsers
-         pretty-simple prettyprinter prettyprinter-ansi-terminal profunctors
-         repline scientific serialise template-haskell text text-manipulate
-         th-lift-instances transformers transformers-compat
-         unordered-containers uri-encode vector
-       ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base bytestring cborg containers data-fix deepseq directory doctest
-         either filepath foldl generic-random http-client http-client-tls
-         lens-family-core megaparsec mockery prettyprinter QuickCheck
-         quickcheck-instances scientific serialise special-values spoon
-         tasty tasty-expected-failure tasty-hunit tasty-quickcheck
-         tasty-silver template-haskell text transformers turtle
-         unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers directory gauge text
-       ];
-       doCheck = false;
-       description = "A configuration language guaranteed to terminate";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "dhall_1_38_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
-     , base, bytestring, case-insensitive, cborg, cborg-json, containers
-     , contravariant, cryptonite, data-fix, deepseq, Diff, directory
-     , doctest, dotgen, either, exceptions, filepath, foldl, gauge
-     , generic-random, half, hashable, haskeline, http-client
-     , http-client-tls, http-types, lens-family-core, megaparsec, memory
-     , mmorph, mockery, mtl, network-uri, optparse-applicative
-     , parser-combinators, parsers, pretty-simple, prettyprinter
-     , prettyprinter-ansi-terminal, profunctors, QuickCheck
-     , quickcheck-instances, repline, scientific, serialise
-     , special-values, spoon, tasty, tasty-expected-failure, tasty-hunit
-     , tasty-quickcheck, tasty-silver, template-haskell, text
-     , text-manipulate, th-lift-instances, transformers
-     , transformers-compat, turtle, unordered-containers, uri-encode
-     , vector
-     }:
-     mkDerivation {
-       pname = "dhall";
        version = "1.38.1";
        sha256 = "0g70x2crdrkwf41gvwr718am25dmbn9bg4cml9f9va7i1vx5rsgk";
        isLibrary = true;
@@ -74352,7 +74341,6 @@ self: {
        doCheck = false;
        description = "A configuration language guaranteed to terminate";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dhall-bash" = callPackage
@@ -74470,37 +74458,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.7.5";
-       sha256 = "1fpkp8xkcw2abcigypyl0ji6910jyshlqwhf48yfwn6dsgbyw6iy";
-       revision = "2";
-       editedCabalFile = "0181ma0qzkcfg4g5fcyivmjfn542m9cmq74r6hxilfjvfzhk7fqw";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty aeson-yaml base bytestring containers dhall
-         exceptions filepath lens-family-core optparse-applicative
-         prettyprinter scientific text unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         aeson aeson-pretty ansi-terminal base bytestring dhall exceptions
-         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
-       ];
-       testHaskellDepends = [
-         aeson base bytestring dhall tasty tasty-hunit tasty-silver text
-       ];
-       description = "Convert between Dhall and JSON or YAML";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "dhall-json_1_7_6" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
-     , base, bytestring, containers, dhall, exceptions, filepath
-     , lens-family-core, optparse-applicative, prettyprinter
-     , prettyprinter-ansi-terminal, scientific, tasty, tasty-hunit
-     , tasty-silver, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "dhall-json";
        version = "1.7.6";
        sha256 = "1fl5ngp1qh77qr27ax5009siy20cas6fm55776zhs82zb96sli0n";
        isLibrary = true;
@@ -74519,7 +74476,6 @@ self: {
        ];
        description = "Convert between Dhall and JSON or YAML";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dhall-lex" = callPackage
@@ -74544,37 +74500,6 @@ self: {
   "dhall-lsp-server" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , data-default, dhall, dhall-json, directory, doctest, filepath
-     , haskell-lsp, haskell-lsp-types, hslogger, lens, lens-family-core
-     , lsp-test, megaparsec, mtl, network-uri, optparse-applicative
-     , prettyprinter, QuickCheck, rope-utf16-splay, tasty, tasty-hspec
-     , text, transformers, unordered-containers, uri-encode
-     }:
-     mkDerivation {
-       pname = "dhall-lsp-server";
-       version = "1.0.13";
-       sha256 = "0cj51xdmpp0w7ndzbz4yn882agvhbnsss3myqlhfi4y91lb8f1ak";
-       revision = "4";
-       editedCabalFile = "04m040956j49qr8hzlj2jj101pjj6n0f5g5hhf5m73y1bww43ahf";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring containers data-default dhall
-         dhall-json directory filepath haskell-lsp hslogger lens
-         lens-family-core megaparsec mtl network-uri prettyprinter
-         rope-utf16-splay text transformers unordered-containers uri-encode
-       ];
-       executableHaskellDepends = [ base optparse-applicative ];
-       testHaskellDepends = [
-         base directory doctest filepath haskell-lsp-types lsp-test
-         QuickCheck tasty tasty-hspec text
-       ];
-       description = "Language Server Protocol (LSP) server for Dhall";
-       license = lib.licenses.mit;
-     }) {};
-
-  "dhall-lsp-server_1_0_14" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
-     , data-default, dhall, dhall-json, directory, doctest, filepath
      , haskell-lsp, haskell-lsp-types, hslogger, lens, lsp-test
      , megaparsec, mtl, network-uri, optparse-applicative, prettyprinter
      , QuickCheck, rope-utf16-splay, tasty, tasty-hspec, text
@@ -74599,7 +74524,6 @@ self: {
        ];
        description = "Language Server Protocol (LSP) server for Dhall";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dhall-nix" = callPackage
@@ -74683,6 +74607,8 @@ self: {
        pname = "dhall-recursive-adt";
        version = "0.1.0.0";
        sha256 = "01wk6xsakbhsx14s59f0rj32mlccgxgc29a3n5d3b923yd5w64zm";
+       revision = "1";
+       editedCabalFile = "0gj4dsl70wjn4bpi62dqcqc9y9wwj2c9w6rai620ps4ykg36pygb";
        libraryHaskellDepends = [ base data-fix dhall recursion-schemes ];
        testHaskellDepends = [
          base dhall either hedgehog neat-interpolation recursion-schemes
@@ -74751,36 +74677,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-yaml";
-       version = "1.2.5";
-       sha256 = "0fax4p85344yrzk1l21j042mm02p0idp396vkq71x3dpiniq0mwf";
-       revision = "1";
-       editedCabalFile = "034rykrnmsnc9v9hsblkzjp26b8wv265sd31gwhqxy2358y4s33h";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring dhall dhall-json HsYAML HsYAML-aeson
-         optparse-applicative text vector
-       ];
-       executableHaskellDepends = [
-         aeson ansi-terminal base bytestring dhall dhall-json exceptions
-         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
-       ];
-       testHaskellDepends = [
-         base bytestring dhall dhall-json tasty tasty-expected-failure
-         tasty-hunit text
-       ];
-       description = "Convert between Dhall and YAML";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "dhall-yaml_1_2_6" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, dhall
-     , dhall-json, exceptions, HsYAML, HsYAML-aeson
-     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
-     , tasty, tasty-expected-failure, tasty-hunit, text, vector
-     }:
-     mkDerivation {
-       pname = "dhall-yaml";
        version = "1.2.6";
        sha256 = "0v6f513hxn382h4l8hyj9gxara3xdfcrldzri0i3yjvir62bkicm";
        isLibrary = true;
@@ -74799,7 +74695,6 @@ self: {
        ];
        description = "Convert between Dhall and YAML";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dhcp-lease-parser" = callPackage
@@ -76324,8 +76219,8 @@ self: {
     ({ mkDerivation, base, Cabal, constraints-deriving, QuickCheck }:
      mkDerivation {
        pname = "dimensions";
-       version = "2.1.0.0";
-       sha256 = "08jkcr1lbjb8n4n9pmfy1jg5djaxn4fs6f1jk4dbpk4paxp3psc9";
+       version = "2.1.1.0";
+       sha256 = "107qsnnbi70gcig047s4ky8kd7x04kab6pjnr1c3z4mpb236irkx";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base constraints-deriving ];
        testHaskellDepends = [
@@ -76425,22 +76320,22 @@ self: {
     ({ mkDerivation, asn1-types, base, bytestring, containers
      , cryptonite, data-default-class, data-hash, directory
      , drunken-bishop, exceptions, filepath, haskeline, hourglass, iconv
-     , mime, mtl, network, network-uri, parsec, pem, process
-     , regex-compat, safe, temporary, terminal-size, text, tls
+     , mime, mtl, network, network-simple, network-uri, parsec, pem
+     , process, regex-compat, safe, temporary, terminal-size, text, tls
      , transformers, unix, x509, x509-store, x509-validation
      }:
      mkDerivation {
        pname = "diohsc";
-       version = "0.1.4";
-       sha256 = "09hxy5ac39iqps1bfd1xrwcz9rckywpi99fpx7ikr1lpnvnc5bfb";
+       version = "0.1.5";
+       sha256 = "10336q53ghvj15gxxrdh1s10amfbyl7m69pgzg0rjxrs1p2bx7s7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          asn1-types base bytestring containers cryptonite data-default-class
          data-hash directory drunken-bishop exceptions filepath haskeline
-         hourglass iconv mime mtl network network-uri parsec pem process
-         regex-compat safe temporary terminal-size text tls transformers
-         unix x509 x509-store x509-validation
+         hourglass iconv mime mtl network network-simple network-uri parsec
+         pem process regex-compat safe temporary terminal-size text tls
+         transformers unix x509 x509-store x509-validation
        ];
        description = "Gemini client";
        license = lib.licenses.gpl3Only;
@@ -78164,6 +78059,29 @@ self: {
        broken = true;
      }) {};
 
+  "dl-fedora_0_8" = callPackage
+    ({ mkDerivation, base, bytestring, directory, extra, filepath
+     , http-directory, http-types, optparse-applicative, regex-posix
+     , simple-cmd, simple-cmd-args, text, time, unix, xdg-userdirs
+     }:
+     mkDerivation {
+       pname = "dl-fedora";
+       version = "0.8";
+       sha256 = "1pd0cslszd9srr9bpcxzrm84cnk5r78xs79ig32528z0anc5ghcr";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring directory extra filepath http-directory http-types
+         optparse-applicative regex-posix simple-cmd simple-cmd-args text
+         time unix xdg-userdirs
+       ];
+       testHaskellDepends = [ base simple-cmd ];
+       description = "Fedora image download tool";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dlist" = callPackage
     ({ mkDerivation, base, Cabal, deepseq, QuickCheck }:
      mkDerivation {
@@ -81804,8 +81722,8 @@ self: {
      }:
      mkDerivation {
        pname = "easytensor";
-       version = "2.1.0.0";
-       sha256 = "1d11i3g0rhcl43jd2pklbagazv2az73ns9sfkky8yx078cf79xyd";
+       version = "2.1.1.1";
+       sha256 = "0n8pp3biba1aamaz044zphpq86lcjpjqixdc1a8ibk9swqn8pdn3";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [ base constraints-deriving dimensions ];
        testHaskellDepends = [
@@ -81825,8 +81743,8 @@ self: {
     ({ mkDerivation, base, dimensions, easytensor, vulkan-api }:
      mkDerivation {
        pname = "easytensor-vulkan";
-       version = "2.0.2.0";
-       sha256 = "0gi8p76x7h78frv3yrg6a7qnzjczx3j7warqclc36pkwv050dn3i";
+       version = "2.0.2.1";
+       sha256 = "1k00iy8r055k2s7vzpag40zaxsgg40zpl90bhy28mhzkjpzs44xf";
        libraryHaskellDepends = [ base dimensions easytensor vulkan-api ];
        description = "Use easytensor with vulkan-api";
        license = lib.licenses.bsd3;
@@ -82908,8 +82826,8 @@ self: {
      }:
      mkDerivation {
        pname = "ejdb2-binding";
-       version = "0.3.0.1";
-       sha256 = "0rwqwjdcx3rb8v4riqawbjblmhmi6d2h9gzsyhdaafpm9z9z2ymz";
+       version = "0.3.0.2";
+       sha256 = "1rl7xaik4avii1rjyxkipa9nqd7jg7ckrqwi3przlmw1qm9rv0az";
        libraryHaskellDepends = [
          aeson base bytestring mtl unordered-containers
        ];
@@ -86036,10 +85954,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.4.1.0";
-       sha256 = "1nm2xdl6an140gl5cw6ij7s6i6v2xfp98m8dwbwzns75nrgmsb73";
-       revision = "1";
-       editedCabalFile = "0jm10cw3ikk6gwn7qy87d7g9swwcp6lg60yy678l4jx7dnipahm0";
+       version = "3.4.1.1";
+       sha256 = "15355vc3ysqr4yd149xz7zm7iba7pb04p3yxgp1n6dxczwldjf43";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -86122,6 +86038,31 @@ self: {
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
+  "essence-of-live-coding_0_2_5" = callPackage
+    ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck
+     , syb, test-framework, test-framework-quickcheck2, time
+     , transformers, vector-sized
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding";
+       version = "0.2.5";
+       sha256 = "1ggb69h9fx8vdw6ijkisjyg6hbmi2wdvssil81xxapkj1yhgvvzr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers foreign-store syb time transformers vector-sized
+       ];
+       executableHaskellDepends = [ base transformers ];
+       testHaskellDepends = [
+         base containers mtl QuickCheck syb test-framework
+         test-framework-quickcheck2 transformers
+       ];
+       description = "General purpose live coding framework";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ turion ];
+     }) {};
+
   "essence-of-live-coding-gloss" = callPackage
     ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
      , syb, transformers
@@ -86138,14 +86079,31 @@ self: {
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
+  "essence-of-live-coding-gloss_0_2_5" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
+     , syb, transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-gloss";
+       version = "0.2.5";
+       sha256 = "1xa1m1ih625614zd1xn2qbz5hmx45gkv2ssksmwck8jxjbslpspv";
+       libraryHaskellDepends = [
+         base essence-of-live-coding foreign-store gloss syb transformers
+       ];
+       description = "General purpose live coding framework - Gloss backend";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ turion ];
+     }) {};
+
   "essence-of-live-coding-gloss-example" = callPackage
     ({ mkDerivation, base, essence-of-live-coding
      , essence-of-live-coding-gloss, gloss, syb, transformers
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss-example";
-       version = "0.2.4";
-       sha256 = "1npn9973jm8y21gh0cfdiqldmx5s7jb1iw6ka734mpjnx2nr9jzw";
+       version = "0.2.5";
+       sha256 = "05swv5jbk51kxvipiz1qbvnpg82ppxvla3ggyc86fkrd3hsbqr6v";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -86172,6 +86130,23 @@ self: {
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
+  "essence-of-live-coding-pulse_0_2_5" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, foreign-store
+     , pulse-simple, transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-pulse";
+       version = "0.2.5";
+       sha256 = "0m2gjzsc6jw860kj5a1k6qrn0xs1zx4snsnq4d9gx1k3lrfqgh0q";
+       libraryHaskellDepends = [
+         base essence-of-live-coding foreign-store pulse-simple transformers
+       ];
+       description = "General purpose live coding framework - pulse backend";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ turion ];
+     }) {};
+
   "essence-of-live-coding-pulse-example" = callPackage
     ({ mkDerivation, base, essence-of-live-coding
      , essence-of-live-coding-pulse, pulse-simple, transformers, vector
@@ -86207,14 +86182,32 @@ self: {
        maintainers = with lib.maintainers; [ turion ];
      }) {};
 
+  "essence-of-live-coding-quickcheck_0_2_5" = callPackage
+    ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding
+     , QuickCheck, syb, transformers
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-quickcheck";
+       version = "0.2.5";
+       sha256 = "07qw6jyk1vbr85pj9shp9cgpav4g2bc11rnzav39n79jn1vp826m";
+       libraryHaskellDepends = [
+         base boltzmann-samplers essence-of-live-coding QuickCheck syb
+         transformers
+       ];
+       description = "General purpose live coding framework - QuickCheck integration";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ turion ];
+     }) {};
+
   "essence-of-live-coding-warp" = callPackage
     ({ mkDerivation, base, essence-of-live-coding, http-client
      , http-types, wai, warp
      }:
      mkDerivation {
        pname = "essence-of-live-coding-warp";
-       version = "0.2.4";
-       sha256 = "1p6wcpkx19kspssw34ymp9gsfczzr5b11qghp2ha5gkrp6dw6z9w";
+       version = "0.2.5";
+       sha256 = "1r6bc9yx5r0m8qf9amhwmbddylvm2m1yqp2afxwmg00i16fmsvyv";
        libraryHaskellDepends = [
          base essence-of-live-coding http-types wai warp
        ];
@@ -88164,38 +88157,6 @@ self: {
      }:
      mkDerivation {
        pname = "experimenter";
-       version = "0.1.0.10";
-       sha256 = "0ys1m510j573f1ydbyilxcmdcizbannn8gm6c6pg0d9lq1avg5aw";
-       libraryHaskellDepends = [
-         aeson base bytestring cereal cereal-vector conduit containers
-         deepseq directory esqueleto filepath HaTeX hostname lens matrix
-         monad-logger mtl mwc-random parallel persistent
-         persistent-postgresql persistent-template process resource-pool
-         resourcet stm text time transformers unix unliftio-core vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring cereal cereal-vector conduit containers
-         deepseq directory esqueleto filepath foundation HaTeX hostname
-         hspec lens matrix monad-logger mtl mwc-random parallel persistent
-         persistent-postgresql persistent-template process QuickCheck
-         resource-pool resourcet stm text time transformers unix
-         unliftio-core vector
-       ];
-       description = "Perform scientific experiments stored in a DB, and generate reports";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "experimenter_0_1_0_12" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, cereal, cereal-vector
-     , conduit, containers, deepseq, directory, esqueleto, filepath
-     , foundation, HaTeX, hostname, hspec, lens, matrix, monad-logger
-     , mtl, mwc-random, parallel, persistent, persistent-postgresql
-     , persistent-template, process, QuickCheck, resource-pool
-     , resourcet, stm, text, time, transformers, unix, unliftio-core
-     , vector
-     }:
-     mkDerivation {
-       pname = "experimenter";
        version = "0.1.0.12";
        sha256 = "0sam7wl4gha9midkgj15h0q68g121pihxxvv8dlx3wgd9as1h5d6";
        libraryHaskellDepends = [
@@ -88215,7 +88176,6 @@ self: {
        ];
        description = "Perform scientific experiments stored in a DB, and generate reports";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "expiring-cache-map" = callPackage
@@ -90160,20 +90120,19 @@ self: {
      }:
      mkDerivation {
        pname = "fbrnch";
-       version = "0.7.3";
-       sha256 = "0fm9ymfl01k8fs5p4aa5kjjj6gziwl35z5yywbhygd32704lcqnz";
+       version = "0.8.0";
+       sha256 = "113mpna3crycw2kxsbniah5m71wvswy7v6j2p76ybl1qg50bq075";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring directory filepath haxr http-query lens
-         lens-aeson mtl text time unordered-containers
+         aeson base http-query lens lens-aeson text time
        ];
        executableHaskellDepends = [
          aeson async base bugzilla-redhat bytestring config-ini directory
-         email-validate extra filepath http-conduit http-directory
-         http-query network-uri optparse-applicative pretty-terminal process
-         rpmbuild-order simple-cmd simple-cmd-args text time typed-process
-         utf8-string xdg-basedir
+         email-validate extra filepath haxr http-conduit http-directory
+         http-query mtl network-uri optparse-applicative pretty-terminal
+         process rpmbuild-order simple-cmd simple-cmd-args text time
+         typed-process unordered-containers utf8-string xdg-basedir
        ];
        doHaddock = false;
        description = "Build and create Fedora package repos and branches";
@@ -92774,23 +92733,6 @@ self: {
      }) {};
 
   "fixed-vector-hetero" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, doctest
-     , fixed-vector, primitive
-     }:
-     mkDerivation {
-       pname = "fixed-vector-hetero";
-       version = "0.6.0.0";
-       sha256 = "1gc40wh887hd6am6kjswkxn9qnzxp30ni6larnq6ghrs5zalg67r";
-       revision = "3";
-       editedCabalFile = "0gzmjn7cw1ywggfwqz8i5i46q93blg8l4fx7ifhzwwzarpxgkpkj";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [ base deepseq fixed-vector primitive ];
-       testHaskellDepends = [ base doctest fixed-vector ];
-       description = "Library for working with product types generically";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-vector-hetero_0_6_1_0" = callPackage
     ({ mkDerivation, base, deepseq, doctest, fixed-vector, primitive }:
      mkDerivation {
        pname = "fixed-vector-hetero";
@@ -92800,7 +92742,6 @@ self: {
        testHaskellDepends = [ base doctest fixed-vector ];
        description = "Library for working with product types generically";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-width" = callPackage
@@ -93111,6 +93052,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "flags-applicative_0_1_0_3" = callPackage
+    ({ mkDerivation, base, casing, containers, hspec, mtl, network
+     , text
+     }:
+     mkDerivation {
+       pname = "flags-applicative";
+       version = "0.1.0.3";
+       sha256 = "0sgla62999s9g5a2ckl70nbqi678pqq3zqad7jbm9p0kdm9yn5z3";
+       libraryHaskellDepends = [
+         base casing containers mtl network text
+       ];
+       testHaskellDepends = [ base containers hspec text ];
+       description = "Applicative flag parsing";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "flamethrower" = callPackage
     ({ mkDerivation, base, template-haskell, text }:
      mkDerivation {
@@ -97948,8 +97906,8 @@ self: {
     ({ mkDerivation, base, fused-effects, optics-core }:
      mkDerivation {
        pname = "fused-effects-optics";
-       version = "0.1.0.0";
-       sha256 = "16q5b7b46k4hi8c46kq57dxidh2djzksc7s8jb65k341bbvlsy1w";
+       version = "0.2.0.0";
+       sha256 = "1d77lmdf3k8x1hgqhm4vh7gy49p4lizhw10haw89hkp2g15wqp5x";
        libraryHaskellDepends = [ base fused-effects optics-core ];
        description = "Bridge between the optics and fused-effects ecosystems";
        license = lib.licenses.bsd3;
@@ -98024,8 +97982,8 @@ self: {
      }:
      mkDerivation {
        pname = "fused-effects-th";
-       version = "0.1.0.2";
-       sha256 = "0p1fiy34388154cmj849x5pvrbz3zmrl3dj525wrkj0c10gi234i";
+       version = "0.1.0.3";
+       sha256 = "01z3fjhbgq2if08fj72mc9xkxg0l9g3nfhwynzrhfwmqwcd9l3dp";
        libraryHaskellDepends = [ base fused-effects template-haskell ];
        testHaskellDepends = [
          base fused-effects tasty tasty-hunit template-haskell
@@ -98116,8 +98074,6 @@ self: {
        ];
        description = "An optimising compiler for a functional, array-oriented language";
        license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "futhask" = callPackage
@@ -98308,12 +98264,16 @@ self: {
      }) {};
 
   "fuzzyfind" = callPackage
-    ({ mkDerivation, array, base, containers }:
+    ({ mkDerivation, base, containers, criterion, deepseq, massiv, text
+     }:
      mkDerivation {
        pname = "fuzzyfind";
-       version = "0.1.0";
-       sha256 = "0ghv1paisvy4dn3l7vv499a6k6a4r54ks5bn3jl8zhy65xn5c8nv";
-       libraryHaskellDepends = [ array base containers ];
+       version = "2.1.0";
+       sha256 = "0ah7kdbr2w0l06b28nprndx09fkdh5wk5sgl5gfb1f5iy090b8k1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers massiv text ];
+       executableHaskellDepends = [ base criterion deepseq ];
        description = "Fuzzy text matching";
        license = lib.licenses.mit;
      }) {};
@@ -98436,8 +98396,8 @@ self: {
     ({ mkDerivation, base, bytestring, serialport }:
      mkDerivation {
        pname = "fxpak";
-       version = "0.0.1";
-       sha256 = "07c5za6limzk76if4rnwyq5iawhqp78hlm793y73cxhb65y0g9d0";
+       version = "0.1.1";
+       sha256 = "1nnb47i17b4rc2ayzq5qaydx0ss3m8yw02pjwfmipk8398qr8ss5";
        libraryHaskellDepends = [ base bytestring serialport ];
        description = "Interface to the FXPak/FXPak Pro USB interface";
        license = lib.licenses.bsd3;
@@ -99629,22 +99589,6 @@ self: {
      }:
      mkDerivation {
        pname = "generic-aeson";
-       version = "0.2.0.11";
-       sha256 = "0pwmfkw0ydbb9422ic4cpnj8lv0l80mj7y1par0s3qk4vz6vvg97";
-       libraryHaskellDepends = [
-         aeson attoparsec base generic-deriving mtl tagged text
-         unordered-containers vector
-       ];
-       description = "Derivation of Aeson instances using GHC generics";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "generic-aeson_0_2_0_12" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, generic-deriving, mtl
-     , tagged, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "generic-aeson";
        version = "0.2.0.12";
        sha256 = "17br2dl9gd2hyflgp0fzqs5ghp4my4l234pjfvvnhk9n4szxzcr3";
        libraryHaskellDepends = [
@@ -99653,7 +99597,6 @@ self: {
        ];
        description = "Derivation of Aeson instances using GHC generics";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "generic-arbitrary" = callPackage
@@ -99845,6 +99788,8 @@ self: {
        pname = "generic-functor";
        version = "0.2.0.0";
        sha256 = "0zrjsn78ip9kigqgw5cxzm9d7pqf1svdzrc3rm041889ca0szwjv";
+       revision = "1";
+       editedCabalFile = "1hgiwf6dajj4sp0a5px1c8yhm7abikmgn175m4cs22w5a72pi3dv";
        libraryHaskellDepends = [ ap-normalize base ];
        testHaskellDepends = [ base transformers ];
        description = "Deriving generalized functors with GHC.Generics";
@@ -101569,8 +101514,6 @@ self: {
        sha256 = "0xl848q8z6qx2bi6xil0d35lra7wshwvysyfblki659d7272b1im";
        description = "GHC BigNum library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ghc-boot_9_0_1" = callPackage
@@ -101644,6 +101587,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-check_0_5_0_4" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, ghc
+     , ghc-paths, process, safe-exceptions, template-haskell, th-compat
+     , transformers
+     }:
+     mkDerivation {
+       pname = "ghc-check";
+       version = "0.5.0.4";
+       sha256 = "05yrj2xm3b44h2c5r5qxsfwm1v89zhv0l30wdcc6439hd94w1w8q";
+       libraryHaskellDepends = [
+         base containers directory filepath ghc ghc-paths process
+         safe-exceptions template-haskell th-compat transformers
+       ];
+       description = "detect mismatches between compile-time and run-time versions of the ghc api";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-clippy-plugin" = callPackage
     ({ mkDerivation, base, dhall, ghc, text, text-icu
      , text-regex-replace
@@ -111903,40 +111864,6 @@ self: {
      }:
      mkDerivation {
        pname = "graphql-client";
-       version = "1.1.0";
-       sha256 = "0yk6nfyyynydrgwc1cdy5235121gw5q4iaapbvixpckz2diidxx7";
-       revision = "2";
-       editedCabalFile = "120c5cd9gj407lf3lcvfq0gqlvdpf3ciws9207nh0qqqdrpws9mj";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-schemas base http-client http-client-tls http-types mtl
-         template-haskell text transformers unliftio-core
-       ];
-       executableHaskellDepends = [
-         aeson aeson-schemas base bytestring file-embed http-client
-         http-client-tls http-types mtl optparse-applicative path path-io
-         template-haskell text transformers typed-process unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson aeson-schemas base http-client http-client-tls http-types mtl
-         tasty tasty-hunit template-haskell text transformers unliftio-core
-       ];
-       description = "A client for Haskell programs to query a GraphQL API";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "graphql-client_1_1_1" = callPackage
-    ({ mkDerivation, aeson, aeson-schemas, base, bytestring, file-embed
-     , http-client, http-client-tls, http-types, mtl
-     , optparse-applicative, path, path-io, tasty, tasty-hunit
-     , template-haskell, text, transformers, typed-process
-     , unliftio-core
-     }:
-     mkDerivation {
-       pname = "graphql-client";
        version = "1.1.1";
        sha256 = "1d00ib9c8ps8vv1qgrkjfzrjbgbsdnp1jiz7779bwm76j88vggb4";
        isLibrary = true;
@@ -112068,6 +111995,35 @@ self: {
        broken = true;
      }) {};
 
+  "graphula_2_0_0_4" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , generics-eot, hspec, http-api-data, HUnit, markdown-unlit
+     , monad-logger, mtl, path-pieces, persistent, persistent-sqlite
+     , persistent-template, QuickCheck, random, resourcet, semigroups
+     , temporary, text, transformers, unliftio, unliftio-core, uuid
+     }:
+     mkDerivation {
+       pname = "graphula";
+       version = "2.0.0.4";
+       sha256 = "1jqli2ws2n67cha6qd460h1y5iz688dwi5dn6h0a6jmc03yzgxni";
+       libraryHaskellDepends = [
+         base containers directory generics-eot HUnit mtl persistent
+         QuickCheck random semigroups temporary text transformers unliftio
+         unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers hspec http-api-data markdown-unlit
+         monad-logger path-pieces persistent persistent-sqlite
+         persistent-template QuickCheck resourcet text transformers
+         unliftio-core uuid
+       ];
+       testToolDepends = [ markdown-unlit ];
+       description = "A declarative library for describing dependencies between data";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "graphula-core" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , generics-eot, hspec, http-api-data, HUnit, markdown-unlit
@@ -117528,36 +117484,6 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.4.1.2";
-       sha256 = "0ylahq6hnyzyhh4fb2d21fwisq8a8x5rij6zrzvhcapnir2vkrn0";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base filepath formatting gitrev mtl path
-         process stm time transformers typed-process yaml
-       ];
-       executableHaskellDepends = [
-         aeson async base formatting gitrev optparse-applicative path
-         path-io stm yaml
-       ];
-       testHaskellDepends = [
-         base directory filepath hspec mtl path path-io process QuickCheck
-         silently temporary yaml
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A deployment library for Haskell applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hapistrano_0_4_1_3" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, async, base, directory
-     , filepath, formatting, gitrev, hspec, hspec-discover, mtl
-     , optparse-applicative, path, path-io, process, QuickCheck
-     , silently, stm, temporary, time, transformers, typed-process, yaml
-     }:
-     mkDerivation {
-       pname = "hapistrano";
        version = "0.4.1.3";
        sha256 = "1sk5z0kf9ybhk17y36zf90ljn51j82pyf8rja0cv64ah9bg5zbgq";
        isLibrary = true;
@@ -117578,7 +117504,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A deployment library for Haskell applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "happindicator" = callPackage
@@ -117806,8 +117731,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-clientsession";
-       version = "7.3.2";
-       sha256 = "0kl4g1y68hnj188n5a7hkj4a9s70943f837yyijanwahnmkgi1nc";
+       version = "7.3.3";
+       sha256 = "0zfjlfx6dqxs3vc99lgyvw503akhakx0rq5pb2gmsf0fcibbwis7";
        libraryHaskellDepends = [
          base bytestring cereal clientsession happstack-server monad-control
          mtl safecopy transformers-base
@@ -119245,6 +119170,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hashmap-io" = callPackage
+    ({ mkDerivation, base, hashable, stm, unordered-containers }:
+     mkDerivation {
+       pname = "hashmap-io";
+       version = "0.1.0.0";
+       sha256 = "00dqn9xcsrsyq1cf698qmxg44r4jq5smqynzkxm1zryqv3sqwzbh";
+       libraryHaskellDepends = [ base hashable stm unordered-containers ];
+       description = "A Hashmap on io monad";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hashmap-throw" = callPackage
     ({ mkDerivation, base, exceptions, hashable, hashmap }:
      mkDerivation {
@@ -122670,8 +122606,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.52.3";
-       sha256 = "12yk4545m9fh6961kd4k7mi8dz3zdqv58nbravr7ziz53m6ydlwq";
+       version = "0.52.4";
+       sha256 = "0qgiskx01rlwdmidv01k4mr9awb4sj6srhcrrsmiqd7fdnlaxb3s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123580,34 +123516,6 @@ self: {
      }) {inherit (pkgs) aspell;};
 
   "hasql" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
-     , bytestring-strict-builder, contravariant, contravariant-extras
-     , criterion, dlist, hashable, hashtables, loch-th, mtl
-     , placeholders, postgresql-binary, postgresql-libpq, profunctors
-     , QuickCheck, quickcheck-instances, rebase, rerebase, tasty
-     , tasty-hunit, tasty-quickcheck, text, text-builder, transformers
-     , vector
-     }:
-     mkDerivation {
-       pname = "hasql";
-       version = "1.4.4.2";
-       sha256 = "09j532mcgs9q1gwr7czvcd85byf3ds3gs4nr5cvlajv4ciaym0di";
-       libraryHaskellDepends = [
-         attoparsec base base-prelude bytestring bytestring-strict-builder
-         contravariant contravariant-extras dlist hashable hashtables
-         loch-th mtl placeholders postgresql-binary postgresql-libpq
-         profunctors text text-builder transformers vector
-       ];
-       testHaskellDepends = [
-         bug QuickCheck quickcheck-instances rebase rerebase tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ bug criterion rerebase ];
-       description = "An efficient PostgreSQL driver with a flexible mapping API";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hasql_1_4_5_1" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring
      , bytestring-strict-builder, contravariant, contravariant-extras
      , dlist, gauge, hashable, hashtables, mtl, postgresql-binary
@@ -123631,7 +123539,6 @@ self: {
        benchmarkHaskellDepends = [ gauge rerebase ];
        description = "An efficient PostgreSQL driver with a flexible mapping API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-backend" = callPackage
@@ -123803,28 +123710,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-notifications";
-       version = "0.1.0.0";
-       sha256 = "18pix0fmbcf8l45q78w33vjyxxbp5c0gvqxdc9bhvkfhn0cl5q0i";
-       revision = "1";
-       editedCabalFile = "11crw51y45laxaidj615g7mlmp5igdxd5w35pmddb82xpg915ccs";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring contravariant hasql hasql-pool postgresql-libpq
-         text
-       ];
-       executableHaskellDepends = [ base hasql ];
-       testHaskellDepends = [ base bytestring hasql hspec QuickCheck ];
-       description = "LISTEN/NOTIFY support for Hasql";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hasql-notifications_0_2_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, contravariant, hasql, hasql-pool
-     , hspec, postgresql-libpq, QuickCheck, text
-     }:
-     mkDerivation {
-       pname = "hasql-notifications";
        version = "0.2.0.0";
        sha256 = "1zizvdvhb0nd126k24j4k62lzkx3qh1vp4976f2n7ri7ga5y6cxi";
        isLibrary = true;
@@ -123837,7 +123722,6 @@ self: {
        testHaskellDepends = [ base bytestring hasql hspec QuickCheck ];
        description = "LISTEN/NOTIFY support for Hasql";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-optparse-applicative" = callPackage
@@ -124011,24 +123895,6 @@ self: {
 
   "hasql-transaction" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
-     , contravariant, contravariant-extras, hasql, mtl, rebase
-     , transformers
-     }:
-     mkDerivation {
-       pname = "hasql-transaction";
-       version = "1.0.0.1";
-       sha256 = "0jfvabsjpj56piny41hzbblhprjsk5xkpk35x502q2isl2mkk5ql";
-       libraryHaskellDepends = [
-         base bytestring bytestring-tree-builder contravariant
-         contravariant-extras hasql mtl transformers
-       ];
-       testHaskellDepends = [ async hasql rebase ];
-       description = "Composable abstraction over retryable transactions for Hasql";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hasql-transaction_1_0_0_2" = callPackage
-    ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
      , contravariant, contravariant-extras, hasql, mtl, rerebase
      , transformers
      }:
@@ -124043,7 +123909,6 @@ self: {
        testHaskellDepends = [ async contravariant-extras hasql rerebase ];
        description = "Composable abstraction over retryable transactions for Hasql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-url" = callPackage
@@ -128042,6 +127907,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) expat;};
 
+  "hexpat-conduit" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hexpat
+     , hexpat-streamparser, List, mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "hexpat-conduit";
+       version = "0.0.1";
+       sha256 = "198niv3vz3ic6xva6ki4hqscq75mygg2km5smvfymm7dfa9925f5";
+       libraryHaskellDepends = [
+         base bytestring conduit hexpat hexpat-streamparser List mtl text
+         transformers
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hexpat-iteratee" = callPackage
     ({ mkDerivation, base, bytestring, containers
      , extensible-exceptions, hexpat, iteratee, List, parallel
@@ -128117,8 +127997,8 @@ self: {
      }:
      mkDerivation {
        pname = "hexpat-streamparser";
-       version = "0.1.2";
-       sha256 = "03gxahl0lxi30k1ihni7j5xsbzmhlwxdgckw37lm5m2p6xfyagii";
+       version = "0.1.3";
+       sha256 = "166hv20qa0rkr10lprcakd09vxvrbkcnx3bb4k3yycnn6mlvqikw";
        libraryHaskellDepends = [
          base bytestring cps-except hexpat List mtl parser-combinators text
          transformers
@@ -128642,10 +128522,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgeometry";
-       version = "0.12.0.1";
-       sha256 = "12qd960njarmsy1a9b6w6jkjqb05xvmg5261n1xhx3lf70xvffj2";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.12.0.2";
+       sha256 = "0l14qvsh1aas414zmwwliq7d7cbpjnrs33mfkfpna6svxw5d0phi";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers data-clist deepseq
          dlist fingertree fixed-vector hashable hgeometry-combinatorial
@@ -128674,14 +128552,13 @@ self: {
      , hashable, hspec, hspec-discover, lens, linear, math-functions
      , MonadRandom, mtl, nonempty-vector, primitive, QuickCheck
      , quickcheck-instances, random, reflection, semigroupoids
-     , semigroups, singletons, template-haskell, text
-     , unordered-containers, vector, vector-builder, vector-circular
-     , vinyl, yaml
+     , semigroups, template-haskell, text, unordered-containers, vector
+     , vector-builder, vector-circular, vinyl, yaml
      }:
      mkDerivation {
        pname = "hgeometry-combinatorial";
-       version = "0.12.0.1";
-       sha256 = "0767c7ljw674zbj57nw3dsq2h56x6gw1r6ihyd2jg7djbf5k13ar";
+       version = "0.12.0.2";
+       sha256 = "1ha9v1imwr7584mzxaba8mplsnb0d02j7bhs2knl03q72aaan4jq";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring containers contravariant
@@ -128694,7 +128571,7 @@ self: {
        testHaskellDepends = [
          approximate-equality base bytestring containers data-clist deepseq
          directory doctest filepath hspec lens linear MonadRandom QuickCheck
-         quickcheck-instances random semigroups singletons vector vinyl yaml
+         quickcheck-instances random semigroups vector vinyl yaml
        ];
        testToolDepends = [ hspec-discover ];
        description = "Data structures, and Data types";
@@ -129060,26 +128937,27 @@ self: {
     ({ mkDerivation, base, binary, bytestring, hspec, rio, vector }:
      mkDerivation {
        pname = "hi-file-parser";
-       version = "0.1.0.0";
-       sha256 = "09gs26z0jvkkhb1r43gj27pq0k5fc4i6fpr59g397vz4sm86gb2l";
+       version = "0.1.1.0";
+       sha256 = "1wb79m6vx7dz4hrvyk2h1iv6q36g9hhywls5ygam7pmw9c4rs3sq";
        revision = "2";
-       editedCabalFile = "1bm98h0v4wf9vmdng15c2r48yz06118jxlprsnk0z3jw0d95ij9z";
+       editedCabalFile = "1495j6ky44r660yr5szy2ln96rdhakh0fhnw749g2yyx5l0gwcrs";
        libraryHaskellDepends = [ base binary bytestring rio vector ];
        testHaskellDepends = [ base binary bytestring hspec rio vector ];
        description = "Parser for GHC's hi files";
        license = lib.licenses.bsd3;
      }) {};
 
-  "hi-file-parser_0_1_1_0" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hspec, rio, vector }:
+  "hi-file-parser_0_1_2_0" = callPackage
+    ({ mkDerivation, base, binary, bytestring, hspec, mtl, rio, vector
+     }:
      mkDerivation {
        pname = "hi-file-parser";
-       version = "0.1.1.0";
-       sha256 = "1wb79m6vx7dz4hrvyk2h1iv6q36g9hhywls5ygam7pmw9c4rs3sq";
-       revision = "2";
-       editedCabalFile = "1495j6ky44r660yr5szy2ln96rdhakh0fhnw749g2yyx5l0gwcrs";
-       libraryHaskellDepends = [ base binary bytestring rio vector ];
-       testHaskellDepends = [ base binary bytestring hspec rio vector ];
+       version = "0.1.2.0";
+       sha256 = "1jm3gbibafkw3ninvsz7f1x89xdyk6wml45mq9zb85p6m9xqlpv9";
+       libraryHaskellDepends = [ base binary bytestring mtl rio vector ];
+       testHaskellDepends = [
+         base binary bytestring hspec mtl rio vector
+       ];
        description = "Parser for GHC's hi files";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -129198,8 +129076,8 @@ self: {
      }:
      mkDerivation {
        pname = "hidapi";
-       version = "0.1.5";
-       sha256 = "0pjrrm8rpcwwsc5ck36p0zyk5rr5jri8c79436whk8xxpnyf09ip";
+       version = "0.1.6";
+       sha256 = "1dy5sbfh8rkzrjpn5ls5xbr32ja0h6bgigzya512advc4c21af2b";
        libraryHaskellDepends = [
          base bytestring deepseq deepseq-generics
        ];
@@ -129208,14 +129086,14 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) systemd;};
 
-  "hidapi_0_1_6" = callPackage
+  "hidapi_0_1_7" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, deepseq-generics
      , systemd
      }:
      mkDerivation {
        pname = "hidapi";
-       version = "0.1.6";
-       sha256 = "1dy5sbfh8rkzrjpn5ls5xbr32ja0h6bgigzya512advc4c21af2b";
+       version = "0.1.7";
+       sha256 = "0mgl2yrx7jgn9zzgbrxa7sa5wflzk1jj932jf0bf7f2vsvas71gf";
        libraryHaskellDepends = [
          base bytestring deepseq deepseq-generics
        ];
@@ -130325,6 +130203,69 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "hipsql-api" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, servant }:
+     mkDerivation {
+       pname = "hipsql-api";
+       version = "0.0.0.0";
+       sha256 = "18hwc5x902k2dsk8895sr8nil4445b9lazzdzbjzpllx4smf0lvz";
+       libraryHaskellDepends = [ aeson base bytestring servant ];
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "hipsql-client" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath, haskeline
+     , hipsql-api, http-client, http-types, mtl, servant-client
+     , servant-client-core
+     }:
+     mkDerivation {
+       pname = "hipsql-client";
+       version = "0.0.0.0";
+       sha256 = "1pmr2x6nh07p3pi5xjlrzb20wzjs0zb1x1dh55b7lcy6akh71c76";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring directory filepath haskeline hipsql-api http-client
+         http-types mtl servant-client servant-client-core
+       ];
+       executableHaskellDepends = [
+         base bytestring directory filepath haskeline hipsql-api http-client
+         http-types mtl servant-client servant-client-core
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "hipsql-monad" = callPackage
+    ({ mkDerivation, base, postgresql-libpq }:
+     mkDerivation {
+       pname = "hipsql-monad";
+       version = "0.0.0.0";
+       sha256 = "1npmz2vgiy2bl4jvscv6447pzq2989a575xmpmwqs4mg4cp0dxg0";
+       libraryHaskellDepends = [ base postgresql-libpq ];
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "hipsql-server" = callPackage
+    ({ mkDerivation, async, base, bytestring, hipsql-api, hipsql-monad
+     , mtl, postgresql-libpq, servant-server, warp
+     }:
+     mkDerivation {
+       pname = "hipsql-server";
+       version = "0.0.0.0";
+       sha256 = "182jfx90bax3j27z3xq7pkivgwhnc9jhfdjshpw7h1kxq64hnnw5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async base bytestring hipsql-api hipsql-monad mtl postgresql-libpq
+         servant-server warp
+       ];
+       executableHaskellDepends = [
+         async base bytestring hipsql-api hipsql-monad mtl postgresql-libpq
+         servant-server warp
+       ];
+       license = lib.licenses.bsd3;
+     }) {};
+
   "hircules" = callPackage
     ({ mkDerivation, base, containers, directory, gtk, mtl, network
      , old-locale, old-time, time, utf8-string
@@ -134880,8 +134821,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpc-codecov";
-       version = "0.2.0.1";
-       sha256 = "0gbgrq5xv393mg7xgqddw18hqwhrz11nrqblcrcjpm4cdbkxwf5q";
+       version = "0.2.0.2";
+       sha256 = "0x95ikxrymvgakpiycbl027nv23c8c7p369zvbbr2bv67jvb7fzv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -135694,28 +135635,6 @@ self: {
      }:
      mkDerivation {
        pname = "hruby";
-       version = "0.3.8";
-       sha256 = "0x72gh0lzwrr10w7lply72yqz5q0hxq39virhm2sqqsmy9r305k8";
-       setupHaskellDepends = [ base Cabal process ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring scientific stm text
-         unordered-containers vector
-       ];
-       librarySystemDepends = [ ruby ];
-       testHaskellDepends = [
-         aeson attoparsec base QuickCheck text vector
-       ];
-       description = "Embed a Ruby intepreter in your Haskell program !";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) ruby;};
-
-  "hruby_0_3_8_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , process, QuickCheck, ruby, scientific, stm, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hruby";
        version = "0.3.8.1";
        sha256 = "00lp02wy7yxhh17dyq1acc6gfrwh145900ib42vz52lzsj5ivlcj";
        setupHaskellDepends = [ base Cabal process ];
@@ -135729,7 +135648,6 @@ self: {
        ];
        description = "Embed a Ruby intepreter in your Haskell program !";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) ruby;};
 
   "hs-GeoIP" = callPackage
@@ -138876,21 +138794,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.7.8";
-       sha256 = "0v6bf6ir6h97mys797amr8idl1a6w1gpvj7ps3k0gkxwrnsyvynh";
-       libraryHaskellDepends = [
-         base hspec-core hspec-discover hspec-expectations QuickCheck
-       ];
-       description = "A Testing Framework for Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec_2_7_9" = callPackage
-    ({ mkDerivation, base, hspec-core, hspec-discover
-     , hspec-expectations, QuickCheck
-     }:
-     mkDerivation {
-       pname = "hspec";
        version = "2.7.9";
        sha256 = "03k8djbzkl47x1kgsplbjjrwx8qqdb31zg9aw0c6ii3d8r49gkyn";
        libraryHaskellDepends = [
@@ -138898,7 +138801,6 @@ self: {
        ];
        description = "A Testing Framework for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-attoparsec" = callPackage
@@ -138964,35 +138866,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.7.8";
-       sha256 = "10c7avvjcrpy3nrf5xng4177nmxvz0gmc83h7qlnljcp3rkimbvd";
-       revision = "1";
-       editedCabalFile = "0hjp0lq7lg5a12ym43jprx7rc4c8mcd8gh7whpgpn5qmp9z4hyyg";
-       libraryHaskellDepends = [
-         ansi-terminal array base call-stack clock deepseq directory
-         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
-         setenv stm tf-random transformers
-       ];
-       testHaskellDepends = [
-         ansi-terminal array base call-stack clock deepseq directory
-         filepath hspec-expectations hspec-meta HUnit process QuickCheck
-         quickcheck-io random setenv silently stm temporary tf-random
-         transformers
-       ];
-       testToolDepends = [ hspec-meta ];
-       testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
-       description = "A Testing Framework for Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-core_2_7_9" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
-     , deepseq, directory, filepath, hspec-expectations, hspec-meta
-     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
-     , silently, stm, temporary, tf-random, transformers
-     }:
-     mkDerivation {
-       pname = "hspec-core";
        version = "2.7.9";
        sha256 = "0lqqvrdya7jszdxkzjnwd5g02w1ggmlfkh67bpcmzch6h0v609yj";
        libraryHaskellDepends = [
@@ -139010,7 +138883,6 @@ self: {
        testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
        description = "A Testing Framework for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-dirstream" = callPackage
@@ -139036,25 +138908,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.7.8";
-       sha256 = "0z2ysmy4qzv4jyb5yqmavhmbhqk2ch0cmaj18i9jvbg0y7fpsn67";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base directory filepath ];
-       executableHaskellDepends = [ base directory filepath ];
-       testHaskellDepends = [
-         base directory filepath hspec-meta QuickCheck
-       ];
-       testToolDepends = [ hspec-meta ];
-       description = "Automatically discover and run Hspec tests";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hspec-discover_2_7_9" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
-     }:
-     mkDerivation {
-       pname = "hspec-discover";
        version = "2.7.9";
        sha256 = "1zr6h8r8ggi4482hnx0p2vsrkirfjimq8zy9yfiiyn5mkcqzxl4v";
        isLibrary = true;
@@ -139067,7 +138920,6 @@ self: {
        testToolDepends = [ hspec-meta ];
        description = "Automatically discover and run Hspec tests";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hspec-expectations" = callPackage
@@ -139101,6 +138953,25 @@ self: {
        broken = true;
      }) {};
 
+  "hspec-expectations-json_1_0_0_3" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, base, Diff, hspec
+     , HUnit, scientific, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hspec-expectations-json";
+       version = "1.0.0.3";
+       sha256 = "06k2gk289v6xxzj5mp5nsz6ixqlh2z3zx8z1jlxza35pkzkv34x7";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base Diff HUnit scientific text
+         unordered-containers vector
+       ];
+       testHaskellDepends = [ aeson-qq base hspec ];
+       description = "Hspec expectations for JSON Values";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hspec-expectations-lens" = callPackage
     ({ mkDerivation, base, hspec, hspec-expectations, HUnit, lens
      , silently
@@ -139309,8 +139180,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.0.0.0";
-       sha256 = "1dr7khaib95r7db94gcjb9jd781wxc3d41dcvgk6fyw3a9zx2rms";
+       version = "1.0.0.1";
+       sha256 = "146y4y3q047a5g8dif1vdjsn8jz6kafq0yzd7x5wpg7daccbxami";
        libraryHaskellDepends = [
          base conduit directory exceptions hashable hspec hspec-core
          resourcet temporary text xml-conduit xml-types
@@ -139319,15 +139190,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-junit-formatter_1_0_0_1" = callPackage
+  "hspec-junit-formatter_1_0_0_2" = callPackage
     ({ mkDerivation, base, conduit, directory, exceptions, hashable
      , hspec, hspec-core, resourcet, temporary, text, xml-conduit
      , xml-types
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.0.0.1";
-       sha256 = "146y4y3q047a5g8dif1vdjsn8jz6kafq0yzd7x5wpg7daccbxami";
+       version = "1.0.0.2";
+       sha256 = "19mmzzjg041sqv22w66cls0mcypdamsqx43n00hnn2gqk0jkhhll";
        libraryHaskellDepends = [
          base conduit directory exceptions hashable hspec hspec-core
          resourcet temporary text xml-conduit xml-types
@@ -140939,21 +140810,6 @@ self: {
      }) {};
 
   "html-entities" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "html-entities";
-       version = "1.1.4.3";
-       sha256 = "0mjmmnh3mfi0ccl5wi5b65afi66wj5xdvva13qw22naa31ibbsnf";
-       libraryHaskellDepends = [
-         attoparsec base base-prelude text unordered-containers
-       ];
-       description = "A codec library for HTML-escaped text and HTML-entities";
-       license = lib.licenses.mit;
-     }) {};
-
-  "html-entities_1_1_4_5" = callPackage
     ({ mkDerivation, attoparsec, base, text, unordered-containers }:
      mkDerivation {
        pname = "html-entities";
@@ -140964,7 +140820,6 @@ self: {
        ];
        description = "A codec library for HTML-escaped text and HTML-entities";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "html-entity" = callPackage
@@ -144960,24 +144815,6 @@ self: {
      }:
      mkDerivation {
        pname = "hxt";
-       version = "9.3.1.21";
-       sha256 = "1y2kyb7hyhx0vpkfyd0f11v2v7khk57qyfgqzk442x8qcibm3d9a";
-       libraryHaskellDepends = [
-         base binary bytestring containers deepseq directory filepath
-         hxt-charproperties hxt-regex-xmlschema hxt-unicode mtl network-uri
-         parsec
-       ];
-       description = "A collection of tools for processing XML with Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hxt_9_3_1_22" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, deepseq
-     , directory, filepath, hxt-charproperties, hxt-regex-xmlschema
-     , hxt-unicode, mtl, network-uri, parsec
-     }:
-     mkDerivation {
-       pname = "hxt";
        version = "9.3.1.22";
        sha256 = "1n9snbdl46x23ka7bbsls1vsn0plpmfmbpbl0msjfm92fkk2yq7g";
        libraryHaskellDepends = [
@@ -144987,7 +144824,6 @@ self: {
        ];
        description = "A collection of tools for processing XML with Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hxt-binary" = callPackage
@@ -148377,6 +148213,8 @@ self: {
        pname = "indents";
        version = "0.5.0.1";
        sha256 = "0dpcwiz0dwn5aqdsc50plfaawh86adhf7jx5dsmhn5q5nz32qn51";
+       revision = "1";
+       editedCabalFile = "0zbcf8m4n63ff06hjp0mr18i59y5wd6c1k5z1j6rnl7kymghkjrg";
        libraryHaskellDepends = [ base mtl parsec ];
        testHaskellDepends = [ base mtl parsec tasty tasty-hunit ];
        description = "indentation sensitive parser-combinators for parsec";
@@ -148506,6 +148344,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "indexed-profunctors_0_1_1" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "indexed-profunctors";
+       version = "0.1.1";
+       sha256 = "1cbccbvrx73drr1jf3yyw0rp1mcfv3jc1rvdcby5xxx4ja543fjs";
+       libraryHaskellDepends = [ base ];
+       description = "Utilities for indexed profunctors";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "indexed-traversable" = callPackage
     ({ mkDerivation, array, base, containers, transformers }:
      mkDerivation {
@@ -148825,33 +148675,6 @@ self: {
      }:
      mkDerivation {
        pname = "influxdb";
-       version = "1.9.1.1";
-       sha256 = "1qdfrl5ragkn726ymh16p0shgc6sn72gd1hh6a6bw19m527pdcc0";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock containers foldl http-client
-         http-types lens network optional-args scientific tagged text time
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         base containers doctest lens raw-strings-qq tasty tasty-hunit
-         template-haskell time vector
-       ];
-       description = "InfluxDB client library for Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "influxdb_1_9_1_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, Cabal
-     , cabal-doctest, clock, containers, doctest, foldl, http-client
-     , http-types, lens, network, optional-args, raw-strings-qq
-     , scientific, tagged, tasty, tasty-hunit, template-haskell, text
-     , time, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "influxdb";
        version = "1.9.1.2";
        sha256 = "0adrfaimjfrhfx2542wynjpd810yqxnjr3q4hhw8gz75v70f44nn";
        isLibrary = true;
@@ -148868,7 +148691,6 @@ self: {
        ];
        description = "InfluxDB client library for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "informative" = callPackage
@@ -149197,22 +149019,6 @@ self: {
      }:
      mkDerivation {
        pname = "input-parsers";
-       version = "0.2.1";
-       sha256 = "0hxadh4p007785knx8vah3b2bawaidvi7z4kgyyahj98a5k7qr18";
-       libraryHaskellDepends = [
-         attoparsec base binary bytestring monoid-subclasses parsec parsers
-         text transformers
-       ];
-       description = "Extension of the parsers library with more capability and efficiency";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "input-parsers_0_2_2" = callPackage
-    ({ mkDerivation, attoparsec, base, binary, bytestring
-     , monoid-subclasses, parsec, parsers, text, transformers
-     }:
-     mkDerivation {
-       pname = "input-parsers";
        version = "0.2.2";
        sha256 = "1kb70nxg8bji7bd0y0w81bqyhx62xrbv3y2vib6sp3jkz7yriarz";
        libraryHaskellDepends = [
@@ -149221,7 +149027,6 @@ self: {
        ];
        description = "Extension of the parsers library with more capability and efficiency";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "inquire" = callPackage
@@ -150929,19 +150734,6 @@ self: {
     ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
      mkDerivation {
        pname = "ip6addr";
-       version = "1.0.1";
-       sha256 = "0pxjjkmvv7bfh4n06mfbg5fakqqp0dakwzc9d7mnmd3x1m8n7dfz";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [ base cmdargs IPv6Addr text ];
-       description = "Commandline tool to deal with IPv6 address text representations";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ip6addr_1_0_2" = callPackage
-    ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
-     mkDerivation {
-       pname = "ip6addr";
        version = "1.0.2";
        sha256 = "0bj9hr085hg8a8x4dcwvf4cf1876acylrl7bnqpmdrpq1n1rb9sp";
        isLibrary = false;
@@ -150949,7 +150741,6 @@ self: {
        executableHaskellDepends = [ base cmdargs IPv6Addr text ];
        description = "Commandline tool to deal with IPv6 address text representations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ipa" = callPackage
@@ -152736,6 +152527,27 @@ self: {
        license = "GPL";
      }) {inherit (pkgs) libjack2;};
 
+  "jack_0_7_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, enumset, event-list
+     , explicit-exception, libjack2, midi, non-negative, semigroups
+     , transformers
+     }:
+     mkDerivation {
+       pname = "jack";
+       version = "0.7.2";
+       sha256 = "0aa7nz8ybsw7s0nmf12kxnjm5z1afj88c97b1w17b7lvdwvfs3cx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring enumset event-list explicit-exception midi
+         non-negative semigroups transformers
+       ];
+       libraryPkgconfigDepends = [ libjack2 ];
+       description = "Bindings for the JACK Audio Connection Kit";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) libjack2;};
+
   "jack-bindings" = callPackage
     ({ mkDerivation, base, c2hs, libjack2, mtl }:
      mkDerivation {
@@ -153694,30 +153506,6 @@ self: {
      }:
      mkDerivation {
        pname = "jose-jwt";
-       version = "0.9.1";
-       sha256 = "0dy076k7zrg9mn4ll73k5p68r1dwzj9wqm4zn7w22py6wx06xg9p";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring cereal containers cryptonite
-         memory mtl text time transformers transformers-compat
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring cryptonite hspec HUnit memory mtl QuickCheck
-         text unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [ base bytestring criterion cryptonite ];
-       description = "JSON Object Signing and Encryption Library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "jose-jwt_0_9_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, cereal
-     , containers, criterion, cryptonite, hspec, HUnit, memory, mtl
-     , QuickCheck, text, time, transformers, transformers-compat
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "jose-jwt";
        version = "0.9.2";
        sha256 = "1iwzrpgd9lhp0c2hhyv3nfcv5pw344vp1llqf9vdw5mliz116jn4";
        libraryHaskellDepends = [
@@ -153732,7 +153520,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion cryptonite ];
        description = "JSON Object Signing and Encryption Library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jot" = callPackage
@@ -155100,8 +154887,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonrpc-conduit";
-       version = "0.3.2";
-       sha256 = "00ssz471iv1vc67cbn3q3ghfd0ic8rjrsvkidx7vd6jd1mgw94ga";
+       version = "0.3.3";
+       sha256 = "16dcj85ycjsm82pb32abc3wb05gh87mrkyaij89imvbqsv5k0sy1";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra mtl text
          transformers unordered-containers
@@ -156311,8 +156098,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip-syslog";
-       version = "0.1.2.0";
-       sha256 = "0ff6zxl2jddwgkzyg9lli843lww06j75x7r8bg55grph34pf13p5";
+       version = "0.1.2.1";
+       sha256 = "0l5czv3bv8xf9zhily7rwl94hc1hiy8lp5brjrm93vkjd2shzj88";
        libraryHaskellDepends = [
          aeson base bytestring hsyslog katip string-conv text
        ];
@@ -158136,8 +157923,8 @@ self: {
      }:
      mkDerivation {
        pname = "ktx-codec";
-       version = "0.0.1.2";
-       sha256 = "14vv1c7n8ms2y18ks08i5hr09av9y2gn677rki4swfdhgy3zamcp";
+       version = "0.0.1.3";
+       sha256 = "0mm6lf8fm8zmi33s4zg8c3ar42aghdqmb3g7hv6qpcm1vc5krld4";
        libraryHaskellDepends = [
          base binary bytestring containers text vector
        ];
@@ -158250,10 +158037,8 @@ self: {
     ({ mkDerivation, base, dlist, transformers }:
      mkDerivation {
        pname = "kure";
-       version = "2.16.12";
-       sha256 = "1n95f1ijxjxgbq8a33jzmd91yk15bgxx8damxs04y99kzih7sgjc";
-       revision = "2";
-       editedCabalFile = "07x04clvlzl2wr20pmis52jfyw4fanyaq00zx76r2zn7zdcvysy3";
+       version = "2.18.6";
+       sha256 = "04vvxvn2cd5lrk8l0cwji6r3qhcjmrlcxb4hysp1hqhv57w82n09";
        libraryHaskellDepends = [ base dlist transformers ];
        description = "Combinators for Strategic Programming";
        license = lib.licenses.bsd3;
@@ -159835,6 +159620,28 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "language-docker_9_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , hspec, HUnit, megaparsec, prettyprinter, QuickCheck, split, text
+     , time
+     }:
+     mkDerivation {
+       pname = "language-docker";
+       version = "9.2.0";
+       sha256 = "08nq78091w7dii823fy7bvp2gxn1j1fp1fj151z37hvf423w19ds";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class megaparsec
+         prettyprinter split text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers data-default-class hspec HUnit
+         megaparsec prettyprinter QuickCheck split text time
+       ];
+       description = "Dockerfile parser, pretty-printer and embedded DSL";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "language-dockerfile" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath, free
      , Glob, hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
@@ -160205,8 +160012,6 @@ self: {
        ];
        description = "Lua parser and pretty-printer";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "language-lua-qq" = callPackage
@@ -163690,8 +163495,6 @@ self: {
        librarySystemDepends = [ modbus ];
        description = "Haskell bindings to the C modbus library";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {modbus = null;};
 
   "libmolude" = callPackage
@@ -164871,8 +164674,8 @@ self: {
      }:
      mkDerivation {
        pname = "line-bot-sdk";
-       version = "0.6.0";
-       sha256 = "13flx2vkm2112agygb4f1924mq79a8i1739mm8lp8v2v32cjngp5";
+       version = "0.7.0";
+       sha256 = "05pw5qj0bd62gdb8llalsdpm62y8vhxxfch3zc18152qajn228yp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170152,6 +169955,22 @@ self: {
        broken = true;
      }) {inherit (pkgs) lzma;};
 
+  "lzma-static" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, QuickCheck, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "lzma-static";
+       version = "5.2.5";
+       sha256 = "13xgap430r2hpkwk56ra5ya8fparikpzy50mbyd0xdpvs02imwfp";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "LZMA/XZ compression and decompression (static)";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "lzma-streams" = callPackage
     ({ mkDerivation, base, bytestring, HUnit, io-streams, lzma
      , QuickCheck, test-framework, test-framework-hunit
@@ -170479,8 +170298,8 @@ self: {
      }:
      mkDerivation {
        pname = "machines-process";
-       version = "7.0.0.1";
-       sha256 = "0pf1prahz3kcqkcqi7zj1rpbfyvahslknm2m6kwxmmzw0b9d3br9";
+       version = "7.0.0.2";
+       sha256 = "02ry6cf01jf2p9bvgp4w27l2rrjkflz6762bwhnhxlxaf5w1ybjw";
        libraryHaskellDepends = [
          base chunked-data machines machines-io process
        ];
@@ -172625,29 +172444,6 @@ self: {
      }:
      mkDerivation {
        pname = "math-functions";
-       version = "0.3.4.1";
-       sha256 = "13x4whrnacqvmprfi665n5nby8hqlz1pxrglsl81chyk0gy0l2p2";
-       libraryHaskellDepends = [
-         base data-default-class deepseq primitive vector
-       ];
-       testHaskellDepends = [
-         base data-default-class deepseq erf primitive QuickCheck tasty
-         tasty-hunit tasty-quickcheck vector vector-th-unbox
-       ];
-       benchmarkHaskellDepends = [
-         base data-default-class gauge random vector
-       ];
-       description = "Collection of tools for numeric computations";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "math-functions_0_3_4_2" = callPackage
-    ({ mkDerivation, base, data-default-class, deepseq, erf, gauge
-     , primitive, QuickCheck, random, tasty, tasty-hunit
-     , tasty-quickcheck, vector, vector-th-unbox
-     }:
-     mkDerivation {
-       pname = "math-functions";
        version = "0.3.4.2";
        sha256 = "18y1hlc8p6yyxa14zdbm84aaq58kksbrlfp3rj2bd4ilsb00mrf1";
        libraryHaskellDepends = [
@@ -172662,7 +172458,6 @@ self: {
        ];
        description = "Collection of tools for numeric computations";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "math-grads" = callPackage
@@ -175118,32 +174913,32 @@ self: {
      }) {};
 
   "metro" = callPackage
-    ({ mkDerivation, base, binary, bytestring, hashable, hslogger, mtl
-     , transformers, unix-time, unliftio, unordered-containers
+    ({ mkDerivation, base, binary, bytestring, hashable, hashmap-io
+     , hslogger, mtl, transformers, unix-time, unliftio
      }:
      mkDerivation {
        pname = "metro";
-       version = "0.1.0.4";
-       sha256 = "1dnfc2nay0n51zkb9fx82yqdi5aj86lmix557w9dd5289v3r0ajb";
+       version = "0.1.0.5";
+       sha256 = "016awh89a3nyzgdvs6i0gzkg0ynyr7d836pcyjf51simzyr7kxk7";
        libraryHaskellDepends = [
-         base binary bytestring hashable hslogger mtl transformers unix-time
-         unliftio unordered-containers
+         base binary bytestring hashable hashmap-io hslogger mtl
+         transformers unix-time unliftio
        ];
        description = "A simple tcp and udp socket server framework";
        license = lib.licenses.bsd3;
      }) {};
 
   "metro-socket" = callPackage
-    ({ mkDerivation, base, bytestring, directory, hashable, hslogger
-     , metro, mtl, network, transformers, unliftio
+    ({ mkDerivation, base, bytestring, directory, hashable, hashmap-io
+     , hslogger, metro, mtl, network, transformers, unliftio
      }:
      mkDerivation {
        pname = "metro-socket";
-       version = "0.1.0.0";
-       sha256 = "0ph2w4dwkixg5w3m13giy75zcl1f1kd52lrkbx6v0vf595dhgrcf";
+       version = "0.1.0.1";
+       sha256 = "10wf3r2zqxd324330pk1lfv7ngmf8g4isyfjasvq5ahfnz1kbsj4";
        libraryHaskellDepends = [
-         base bytestring directory hashable hslogger metro mtl network
-         transformers unliftio
+         base bytestring directory hashable hashmap-io hslogger metro mtl
+         network transformers unliftio
        ];
        description = "Socket transport for metro";
        license = lib.licenses.bsd3;
@@ -180449,6 +180244,19 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "more-containers_0_2_2_2" = callPackage
+    ({ mkDerivation, base, binary, containers, hspec }:
+     mkDerivation {
+       pname = "more-containers";
+       version = "0.2.2.2";
+       sha256 = "0zbwqcn34321z2v0lj1lilzbpa8862cpk5ksmg8m8d8hrxa27szx";
+       libraryHaskellDepends = [ base binary containers ];
+       testHaskellDepends = [ base binary containers hspec ];
+       description = "A few more collections";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "more-extensible-effects" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -180652,30 +180460,6 @@ self: {
 
   "morpheus-graphql" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
-     , morpheus-graphql-core, morpheus-graphql-subscriptions, mtl
-     , relude, tasty, tasty-hunit, template-haskell, text, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql";
-       version = "0.16.0";
-       sha256 = "18sayr7avxdavppzj8nh3fli0cdryl4yyrzw8d38qk0p8hw84wgc";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring containers morpheus-graphql-core mtl relude
-         template-haskell text transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers morpheus-graphql-core
-         morpheus-graphql-subscriptions mtl relude tasty tasty-hunit
-         template-haskell text transformers unordered-containers vector
-       ];
-       description = "Morpheus GraphQL";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql_0_17_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers
      , morpheus-graphql-app, morpheus-graphql-core
      , morpheus-graphql-subscriptions, mtl, relude, tasty, tasty-hunit
      , template-haskell, text, transformers, unordered-containers
@@ -180700,6 +180484,7 @@ self: {
        description = "Morpheus GraphQL";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "morpheus-graphql-app" = callPackage
@@ -180759,29 +180544,6 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-client";
-       version = "0.16.0";
-       sha256 = "1apm35yy1f1hkqihk4ilzzlg1p4fk13i7zmd7fkcd33aiajzw5mh";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring morpheus-graphql-core mtl relude
-         template-haskell text transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory morpheus-graphql-core mtl relude
-         tasty tasty-hunit template-haskell text transformers
-         unordered-containers
-       ];
-       description = "Morpheus GraphQL Client";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql-client_0_17_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
-     , morpheus-graphql-core, mtl, relude, tasty, tasty-hunit
-     , template-haskell, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql-client";
        version = "0.17.0";
        sha256 = "1djgxy59s98na1s182p5a06qjhw8n862zka96wwp8ckyx2jpjkq3";
        enableSeparateDataOutput = true;
@@ -180796,35 +180558,9 @@ self: {
        ];
        description = "Morpheus GraphQL Client";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "morpheus-graphql-core" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, hashable
-     , megaparsec, mtl, relude, scientific, tasty, tasty-hunit
-     , template-haskell, text, th-lift-instances, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql-core";
-       version = "0.16.0";
-       sha256 = "0c5gbqrxgib2irysmvl35j7ccz5fi1aqb3p3fyxkvcw44nnmkl5g";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson base bytestring hashable megaparsec mtl relude scientific
-         template-haskell text th-lift-instances transformers
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory hashable megaparsec mtl relude
-         scientific tasty tasty-hunit template-haskell text
-         th-lift-instances transformers unordered-containers vector
-       ];
-       description = "Morpheus GraphQL Core";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql-core_0_17_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , hashable, megaparsec, mtl, relude, scientific, tasty, tasty-hunit
      , template-haskell, text, th-lift-instances, transformers
@@ -180847,34 +180583,10 @@ self: {
        ];
        description = "Morpheus GraphQL Core";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "morpheus-graphql-subscriptions" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
-     , morpheus-graphql-core, mtl, relude, tasty, tasty-hunit, text
-     , transformers, unliftio-core, unordered-containers, uuid
-     , websockets
-     }:
-     mkDerivation {
-       pname = "morpheus-graphql-subscriptions";
-       version = "0.16.0";
-       sha256 = "1bilw276nlzx9fqcc6g5cmnf4jws17v7djz1m8n184a1skxbd02l";
-       libraryHaskellDepends = [
-         aeson base bytestring morpheus-graphql-core mtl relude text
-         transformers unliftio-core unordered-containers uuid websockets
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory morpheus-graphql-core mtl relude
-         tasty tasty-hunit text transformers unliftio-core
-         unordered-containers uuid websockets
-       ];
-       description = "Morpheus GraphQL Subscriptions";
-       license = lib.licenses.mit;
-     }) {};
-
-  "morpheus-graphql-subscriptions_0_17_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
      , morpheus-graphql-app, morpheus-graphql-core, mtl, relude, tasty
      , tasty-hunit, text, transformers, unliftio-core
      , unordered-containers, uuid, websockets
@@ -180896,6 +180608,7 @@ self: {
        description = "Morpheus GraphQL Subscriptions";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "morphisms" = callPackage
@@ -187999,6 +187712,18 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
+  "newbase60" = callPackage
+    ({ mkDerivation, array, base, bytestring, hspec, QuickCheck }:
+     mkDerivation {
+       pname = "newbase60";
+       version = "0.1.0.0";
+       sha256 = "1s59a6kaz1y6vchpr7ilpvcphspmfjajm7w3x94x07x3l69h26xk";
+       libraryHaskellDepends = [ array base ];
+       testHaskellDepends = [ array base bytestring hspec QuickCheck ];
+       description = "Encodes and decodes numbers using Tantek Çelik's New Base 60 number system";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "newhope" = callPackage
     ({ mkDerivation, AES, base, bytestring, containers, deepseq, hspec
      , HUnit, mtl, parallel, QuickCheck, raw-strings-qq, statistics
@@ -188673,31 +188398,6 @@ self: {
      }:
      mkDerivation {
        pname = "nix-derivation";
-       version = "1.1.1";
-       sha256 = "1jcgq7c0x6q33ddq3ns4w69z23r31cvb2qxj04v2pyd5v8rwls9d";
-       revision = "2";
-       editedCabalFile = "1s5xjz62bhmf8y6m7mggag8r9jvg0m2wq20h7k04a7yz3k778mnr";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base containers deepseq filepath text vector
-       ];
-       executableHaskellDepends = [ attoparsec base pretty-show text ];
-       testHaskellDepends = [
-         attoparsec base filepath QuickCheck text vector
-       ];
-       benchmarkHaskellDepends = [ attoparsec base criterion text ];
-       description = "Parse and render *.drv files";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ sorki ];
-     }) {};
-
-  "nix-derivation_1_1_2" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, criterion, deepseq
-     , filepath, pretty-show, QuickCheck, text, vector
-     }:
-     mkDerivation {
-       pname = "nix-derivation";
        version = "1.1.2";
        sha256 = "0248xbxq4889hc3qp9z0yr21f97j3lxrjjx2isxdf8ah4hpidzy7";
        isLibrary = true;
@@ -188712,7 +188412,6 @@ self: {
        benchmarkHaskellDepends = [ attoparsec base criterion text ];
        description = "Parse and render *.drv files";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sorki ];
      }) {};
 
@@ -188723,8 +188422,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-diff";
-       version = "1.0.13";
-       sha256 = "1zdssxzzwdaf12j2817clbv3r6pbwbsvzprxlnm0ipfnf66z63lz";
+       version = "1.0.14";
+       sha256 = "0d1m65iw0c4x56gbp2rff0k2b54zawr6wn5hiah4q3k0a75r17ny";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -190126,20 +189825,6 @@ self: {
      }:
      mkDerivation {
        pname = "nri-env-parser";
-       version = "0.1.0.5";
-       sha256 = "18xxgr82fqnl1s24gcwn7sdq50nsjk4zjl52h14f8zgw4cvkql1h";
-       libraryHaskellDepends = [
-         base modern-uri network-uri nri-prelude text
-       ];
-       description = "Read environment variables as settings to build 12-factor apps";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "nri-env-parser_0_1_0_6" = callPackage
-    ({ mkDerivation, base, modern-uri, network-uri, nri-prelude, text
-     }:
-     mkDerivation {
-       pname = "nri-env-parser";
        version = "0.1.0.6";
        sha256 = "1hmq6676w3f5mpdpd4jbd1aa6g379q6yyidcvdyhazqxcb0dhirh";
        libraryHaskellDepends = [
@@ -190147,7 +189832,6 @@ self: {
        ];
        description = "Read environment variables as settings to build 12-factor apps";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-observability" = callPackage
@@ -190158,30 +189842,6 @@ self: {
      }:
      mkDerivation {
        pname = "nri-observability";
-       version = "0.1.0.0";
-       sha256 = "121ajy98n0qwn38ia4x1gcy0nz2zygjwyi1lxywwijqdzcnl1yal";
-       libraryHaskellDepends = [
-         aeson aeson-pretty async base bugsnag-hs bytestring directory
-         hostname http-client http-client-tls nri-env-parser nri-prelude
-         random safe-exceptions stm text time unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty async base bugsnag-hs bytestring directory
-         hostname http-client http-client-tls nri-env-parser nri-prelude
-         random safe-exceptions stm text time unordered-containers
-       ];
-       description = "Report log spans collected by nri-prelude";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "nri-observability_0_1_0_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, async, base, bugsnag-hs
-     , bytestring, directory, hostname, http-client, http-client-tls
-     , nri-env-parser, nri-prelude, random, safe-exceptions, stm, text
-     , time, unordered-containers
-     }:
-     mkDerivation {
-       pname = "nri-observability";
        version = "0.1.0.1";
        sha256 = "02baq11z5qq9lq9yh8zc29s44i44qz1m593ypn3qd8rgc1arrfjj";
        libraryHaskellDepends = [
@@ -190196,36 +189856,9 @@ self: {
        ];
        description = "Report log spans collected by nri-prelude";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-prelude" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async
-     , auto-update, base, bytestring, containers, directory, exceptions
-     , filepath, ghc, hedgehog, junit-xml, pretty-diff, pretty-show
-     , safe-exceptions, terminal-size, text, time, vector
-     }:
-     mkDerivation {
-       pname = "nri-prelude";
-       version = "0.5.0.0";
-       sha256 = "1avpj21scw9c45208wf8q86n0fs73k3lgm54mgqdwln1m1ajfnvg";
-       libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal async auto-update base bytestring
-         containers directory exceptions filepath ghc hedgehog junit-xml
-         pretty-diff pretty-show safe-exceptions terminal-size text time
-         vector
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty ansi-terminal async auto-update base bytestring
-         containers directory exceptions filepath ghc hedgehog junit-xml
-         pretty-diff pretty-show safe-exceptions terminal-size text time
-         vector
-       ];
-       description = "A Prelude inspired by the Elm programming language";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "nri-prelude_0_5_0_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, auto-update, base
      , bytestring, containers, directory, exceptions, filepath, ghc
      , hedgehog, junit-xml, pretty-diff, pretty-show, safe-coloured-text
@@ -190249,7 +189882,6 @@ self: {
        ];
        description = "A Prelude inspired by the Elm programming language";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nsis" = callPackage
@@ -191207,6 +190839,8 @@ self: {
        pname = "o-clock";
        version = "1.2.0.1";
        sha256 = "039p0jjpmlkbz21szfj4abnjyi0k34m6b8fqpsmyj94nbq1qldy4";
+       revision = "1";
+       editedCabalFile = "0fxgbi56x61sm84qwks1hk8maxn7zl4jfbhgxfwq6w0jg1xdqdhm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ghc-prim ];
@@ -194711,8 +194345,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode";
-       version = "1.1.0";
-       sha256 = "1k8k24wkvjflrg5bcv6i4ypak5m0k20hrh0gxf5c23y5s4b9dmz5";
+       version = "1.1.1";
+       sha256 = "0kbfgafv3xkgczz27ap7xyqfvvn8a6sizc9h3ylklc8qrw38n149";
        libraryHaskellDepends = [
          base containers filepath hashable megaparsec parser-combinators
          text
@@ -194729,8 +194363,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode-lucid";
-       version = "1.5.0";
-       sha256 = "1vy8agbcrd81zskfwmrmz63vdif6a2wllr910nmg0jgqxbrd8wn1";
+       version = "1.6.0";
+       sha256 = "0qkar6cwmz67zm2jlah1yi004vap8d136167qwvm485cpd3vwxz7";
        libraryHaskellDepends = [
          base containers hashable lucid org-mode text
        ];
@@ -195963,64 +195597,6 @@ self: {
      , case-insensitive, citeproc, commonmark, commonmark-extensions
      , commonmark-pandoc, connection, containers, data-default, deepseq
      , Diff, directory, doclayout, doctemplates, emojis, exceptions
-     , executable-path, file-embed, filepath, Glob, haddock-library
-     , hslua, hslua-module-path, hslua-module-system, hslua-module-text
-     , HsYAML, HTTP, http-client, http-client-tls, http-types, ipynb
-     , jira-wiki-markup, JuicyPixels, mtl, network, network-uri
-     , pandoc-types, parsec, process, QuickCheck, random, safe
-     , scientific, SHA, skylighting, skylighting-core, split, syb
-     , tagsoup, tasty, tasty-bench, tasty-golden, tasty-hunit, tasty-lua
-     , tasty-quickcheck, temporary, texmath, text, text-conversions
-     , time, unicode-transforms, unix, unordered-containers, xml
-     , xml-conduit, zip-archive, zlib
-     }:
-     mkDerivation {
-       pname = "pandoc";
-       version = "2.12";
-       sha256 = "0z7j6hqfjis0a9bng7dlkwilksrambdcr72gj3aijv827hmz45sm";
-       configureFlags = [ "-fhttps" "-f-trypandoc" ];
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty attoparsec base base64-bytestring binary
-         blaze-html blaze-markup bytestring case-insensitive citeproc
-         commonmark commonmark-extensions commonmark-pandoc connection
-         containers data-default deepseq directory doclayout doctemplates
-         emojis exceptions file-embed filepath Glob haddock-library hslua
-         hslua-module-path hslua-module-system hslua-module-text HsYAML HTTP
-         http-client http-client-tls http-types ipynb jira-wiki-markup
-         JuicyPixels mtl network network-uri pandoc-types parsec process
-         random safe scientific SHA skylighting skylighting-core split syb
-         tagsoup temporary texmath text text-conversions time
-         unicode-transforms unix unordered-containers xml xml-conduit
-         zip-archive zlib
-       ];
-       executableHaskellDepends = [ base text ];
-       testHaskellDepends = [
-         base base64-bytestring bytestring containers Diff directory
-         doctemplates exceptions executable-path filepath Glob hslua mtl
-         pandoc-types process QuickCheck tasty tasty-golden tasty-hunit
-         tasty-lua tasty-quickcheck temporary text time xml zip-archive
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers mtl tasty tasty-bench text time
-       ];
-       postInstall = ''
-         mkdir -p $out/share/man/man1
-         mv "man/"*.1 $out/share/man/man1/
-       '';
-       description = "Conversion between markup formats";
-       license = lib.licenses.gpl2Plus;
-       maintainers = with lib.maintainers; [ peti ];
-     }) {};
-
-  "pandoc_2_13" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
-     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
-     , case-insensitive, citeproc, commonmark, commonmark-extensions
-     , commonmark-pandoc, connection, containers, data-default, deepseq
-     , Diff, directory, doclayout, doctemplates, emojis, exceptions
      , file-embed, filepath, Glob, haddock-library, hslua
      , hslua-module-path, hslua-module-system, hslua-module-text, HsYAML
      , HTTP, http-client, http-client-tls, http-types, ipynb
@@ -196070,7 +195646,6 @@ self: {
        '';
        description = "Conversion between markup formats";
        license = lib.licenses.gpl2Plus;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
@@ -196645,8 +196220,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.3.8";
-       sha256 = "093m8hds7x5i2kh478l7vcjjv60x68z96dzyxllaw9aijxrw9h3p";
+       version = "0.3.9";
+       sha256 = "1wl6jxpx181sx5w311c2h5kjpl5hjagbwfn68s6dbsbyp4p9sxjv";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -196811,47 +196386,6 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.1.4";
-       sha256 = "1q66pxacjxc43gbmjjrvs99wcrzp8yya4gx35qhbb6hgkzwssqhb";
-       libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring Cabal casa-client casa-types
-         conduit conduit-extra containers cryptonite cryptonite-conduit
-         digest filelock generic-deriving hackage-security hpack http-client
-         http-client-tls http-conduit http-download http-types memory mtl
-         network-uri path path-io persistent persistent-sqlite
-         persistent-template primitive resourcet rio rio-orphans
-         rio-prettyprint tar-conduit text text-metrics time transformers
-         unix-compat unliftio unordered-containers vector yaml zip-archive
-       ];
-       testHaskellDepends = [
-         aeson ansi-terminal base bytestring Cabal casa-client casa-types
-         conduit conduit-extra containers cryptonite cryptonite-conduit
-         digest exceptions filelock generic-deriving hackage-security
-         hedgehog hpack hspec http-client http-client-tls http-conduit
-         http-download http-types memory mtl network-uri path path-io
-         persistent persistent-sqlite persistent-template primitive
-         QuickCheck raw-strings-qq resourcet rio rio-orphans rio-prettyprint
-         tar-conduit text text-metrics time transformers unix-compat
-         unliftio unordered-containers vector yaml zip-archive
-       ];
-       description = "Content addressable Haskell package management";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "pantry_0_5_1_5" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
-     , casa-client, casa-types, conduit, conduit-extra, containers
-     , cryptonite, cryptonite-conduit, digest, exceptions, filelock
-     , generic-deriving, hackage-security, hedgehog, hpack, hspec
-     , http-client, http-client-tls, http-conduit, http-download
-     , http-types, memory, mtl, network-uri, path, path-io, persistent
-     , persistent-sqlite, persistent-template, primitive, QuickCheck
-     , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint
-     , tar-conduit, text, text-metrics, time, transformers, unix-compat
-     , unliftio, unordered-containers, vector, yaml, zip-archive
-     }:
-     mkDerivation {
-       pname = "pantry";
        version = "0.5.1.5";
        sha256 = "18pnihbybgnaa1hs9pcz8vvvzlfn3wv8p2rnnf1p2w6m63n8vf9a";
        libraryHaskellDepends = [
@@ -196877,7 +196411,6 @@ self: {
        ];
        description = "Content addressable Haskell package management";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pantry-tmp" = callPackage
@@ -199227,19 +198760,6 @@ self: {
     ({ mkDerivation, base, criterion, hspec, mwc-random, vector }:
      mkDerivation {
        pname = "pava";
-       version = "0.1.1.0";
-       sha256 = "0zb5zp90ld4g2zlm11ns603q7jymx23n110vrm74f842xdxffkfs";
-       libraryHaskellDepends = [ base vector ];
-       testHaskellDepends = [ base hspec vector ];
-       benchmarkHaskellDepends = [ base criterion mwc-random vector ];
-       description = "Greatest convex majorants and least concave minorants";
-       license = lib.licenses.gpl3Plus;
-     }) {};
-
-  "pava_0_1_1_1" = callPackage
-    ({ mkDerivation, base, criterion, hspec, mwc-random, vector }:
-     mkDerivation {
-       pname = "pava";
        version = "0.1.1.1";
        sha256 = "11jlhc1cqsn0r82rbwnf323s0w1ir3vf4ija0r39j58y19blc8zv";
        libraryHaskellDepends = [ base vector ];
@@ -199247,7 +198767,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion mwc-random vector ];
        description = "Greatest convex majorants and least concave minorants";
        license = lib.licenses.gpl3Plus;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "paymill" = callPackage
@@ -199636,22 +199155,6 @@ self: {
      }:
      mkDerivation {
        pname = "pcre-utils";
-       version = "0.1.8.1.1";
-       sha256 = "1x3db1hab0qwpw9m4564x86qibzg8jl6cj2k88jii3ihcg580ahz";
-       libraryHaskellDepends = [
-         array attoparsec base bytestring mtl regex-pcre-builtin vector
-       ];
-       testHaskellDepends = [ base bytestring HUnit regex-pcre-builtin ];
-       description = "Perl-like substitute and split for PCRE regexps";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "pcre-utils_0_1_8_2" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, HUnit, mtl
-     , regex-pcre-builtin, vector
-     }:
-     mkDerivation {
-       pname = "pcre-utils";
        version = "0.1.8.2";
        sha256 = "1plawzvgxww9m0vjawmkf59bfxzxf0l93g7hfwyqjq4hcc8pwq2l";
        libraryHaskellDepends = [
@@ -199660,7 +199163,6 @@ self: {
        testHaskellDepends = [ base bytestring HUnit regex-pcre-builtin ];
        description = "Perl-like substitute and split for PCRE regexps";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pcre2" = callPackage
@@ -200922,7 +200424,7 @@ self: {
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
-  "persistent_2_12_0_2" = callPackage
+  "persistent_2_12_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , blaze-html, bytestring, conduit, containers, criterion, deepseq
      , deepseq-generics, fast-logger, file-embed, hspec, http-api-data
@@ -200933,8 +200435,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent";
-       version = "2.12.0.2";
-       sha256 = "0wnrpwcdfrwm6kmvq7z9b65q3qid6f1gqdk46j8m1vh3x2qchlcv";
+       version = "2.12.1.0";
+       sha256 = "06cqrvavjzp2iyvi69j6ga0pqy6265dwsg44h93k4qffhknlms1a";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html bytestring
          conduit containers fast-logger http-api-data monad-logger mtl
@@ -201382,7 +200884,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "persistent-postgresql_2_12_0_0" = callPackage
+  "persistent-postgresql_2_12_1_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , conduit, containers, fast-logger, hspec, hspec-expectations
      , HUnit, monad-logger, mtl, persistent, persistent-qq
@@ -201393,8 +200895,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.12.0.0";
-       sha256 = "1mc9d4qdx0w49g6sgaq3ld30xkfwz76w6xpq79hhrds7hxalxqrc";
+       version = "2.12.1.0";
+       sha256 = "18b4069x4jb7qxmrv0hck7r7v8192bkn4nmhl3wfidwn1vvsa9da";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -206281,23 +205783,11 @@ self: {
     ({ mkDerivation, base, enumset, utility-ht }:
      mkDerivation {
        pname = "poll";
-       version = "0.0.0.1";
-       sha256 = "0agdl2bxw7ca05kqyc8dix4kvjdh67i91hn1scmcngjd3gz8gzmr";
-       libraryHaskellDepends = [ base enumset utility-ht ];
-       description = "Bindings to poll.h";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "poll_0_0_0_2" = callPackage
-    ({ mkDerivation, base, enumset, utility-ht }:
-     mkDerivation {
-       pname = "poll";
        version = "0.0.0.2";
        sha256 = "1bllh4yr96p7k44bc10zyhdx2zdh3brl0im3gnn5a1m6irsx6j42";
        libraryHaskellDepends = [ base enumset utility-ht ];
        description = "Bindings to poll.h";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "poly" = callPackage
@@ -206557,20 +206047,20 @@ self: {
 
   "polysemy-chronos" = callPackage
     ({ mkDerivation, aeson, base, chronos, containers, hedgehog
-     , polysemy, polysemy-plugin, polysemy-test, polysemy-time, tasty
-     , tasty-hedgehog, text
+     , polysemy, polysemy-plugin, polysemy-test, polysemy-time, relude
+     , tasty, tasty-hedgehog, text
      }:
      mkDerivation {
        pname = "polysemy-chronos";
-       version = "0.1.2.0";
-       sha256 = "1xv5nlr89jb0yzqzfb3dj2phi3ywvrazjilzd491892z3qbwvz5d";
+       version = "0.1.2.1";
+       sha256 = "0b33an8swx97fg6196vvs0zic3zkhigxy6zi2r6pbrw9v8fgwkqa";
        libraryHaskellDepends = [
          aeson base chronos containers polysemy polysemy-plugin
-         polysemy-time text
+         polysemy-time relude text
        ];
        testHaskellDepends = [
          aeson base chronos containers hedgehog polysemy polysemy-plugin
-         polysemy-test polysemy-time tasty tasty-hedgehog text
+         polysemy-test polysemy-time relude tasty tasty-hedgehog text
        ];
        description = "Polysemy effect for chronos";
        license = "BSD-2-Clause-Patent";
@@ -206586,8 +206076,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-conc";
-       version = "0.1.0.1";
-       sha256 = "1p8zhnf28zdmmfrmxixqvih5waididvm8h0vh5wvmjglhf5k35x5";
+       version = "0.1.0.2";
+       sha256 = "0kzb1lp5a94ahb25rzscxam77ms45jy0v0czvmwidlg0b082zwbw";
        libraryHaskellDepends = [
          async base containers polysemy polysemy-time relude stm stm-chans
          string-interpolate template-haskell text time unix
@@ -206659,8 +206149,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-http";
-       version = "0.4.0.1";
-       sha256 = "0yhv295kjnrk9d2i59y9x8fgaxnsiwgmbk6x7calysqkw195sa44";
+       version = "0.4.0.2";
+       sha256 = "0xxl33iydycw1n2q9wvbx3jlhzsw9yhbm4v0a8v2ic05nqlmaw4l";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring case-insensitive co-log-core
          co-log-polysemy composition containers data-default either
@@ -206699,23 +206189,23 @@ self: {
      }) {};
 
   "polysemy-log" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, hedgehog, polysemy
-     , polysemy-conc, polysemy-test, polysemy-time, relude, stm
-     , stm-chans, string-interpolate, tasty, tasty-hedgehog
-     , template-haskell, text, time
+    ({ mkDerivation, ansi-terminal, base, hedgehog, polysemy
+     , polysemy-conc, polysemy-test, polysemy-time, relude
+     , string-interpolate, tasty, tasty-hedgehog, template-haskell, text
+     , time
      }:
      mkDerivation {
        pname = "polysemy-log";
-       version = "0.2.0.1";
-       sha256 = "1zidk2i6mvd7i4dr83rdjhnw9v4603gig8qr3d5b7r6q4bvvm0va";
+       version = "0.2.2.1";
+       sha256 = "09dcw78gbw14fxa46w6xsw7b9xn9cqvvh9ngdnyjjv58vgd0k3yk";
        libraryHaskellDepends = [
-         ansi-terminal async base polysemy polysemy-conc polysemy-time
-         relude stm stm-chans string-interpolate template-haskell text time
+         ansi-terminal base polysemy polysemy-conc polysemy-time relude
+         string-interpolate template-haskell text time
        ];
        testHaskellDepends = [
-         ansi-terminal async base hedgehog polysemy polysemy-conc
-         polysemy-test polysemy-time relude stm stm-chans string-interpolate
-         tasty tasty-hedgehog template-haskell text time
+         ansi-terminal base hedgehog polysemy polysemy-conc polysemy-test
+         polysemy-time relude string-interpolate tasty tasty-hedgehog
+         template-haskell text time
        ];
        description = "Polysemy effects for logging";
        license = "BSD-2-Clause-Patent";
@@ -206726,21 +206216,20 @@ self: {
   "polysemy-log-co" = callPackage
     ({ mkDerivation, base, co-log, co-log-core, co-log-polysemy
      , hedgehog, polysemy, polysemy-conc, polysemy-log, polysemy-test
-     , polysemy-time, relude, string-interpolate, tasty, tasty-hedgehog
-     , text, time
+     , polysemy-time, relude, tasty, tasty-hedgehog, text, time
      }:
      mkDerivation {
        pname = "polysemy-log-co";
-       version = "0.2.0.1";
-       sha256 = "0jqyn96n7mdffyhbq7fxj8rl8prpcfmjl4wdhw4bax404bbm9v2n";
+       version = "0.2.2.1";
+       sha256 = "0k8zabqc31vgk2dqxmbxk2dkmirdqxypfr8h6k0svgi66jbqbmv8";
        libraryHaskellDepends = [
          base co-log co-log-core co-log-polysemy polysemy polysemy-conc
-         polysemy-log polysemy-time relude string-interpolate text time
+         polysemy-log polysemy-time relude text time
        ];
        testHaskellDepends = [
          base co-log co-log-core co-log-polysemy hedgehog polysemy
-         polysemy-conc polysemy-log polysemy-test polysemy-time relude
-         string-interpolate tasty tasty-hedgehog text time
+         polysemy-conc polysemy-log polysemy-test polysemy-time relude tasty
+         tasty-hedgehog text time
        ];
        description = "polysemy-log interpreter for co-log";
        license = "BSD-2-Clause-Patent";
@@ -206751,20 +206240,19 @@ self: {
   "polysemy-log-di" = callPackage
     ({ mkDerivation, base, di-polysemy, hedgehog, polysemy
      , polysemy-conc, polysemy-log, polysemy-test, polysemy-time, relude
-     , string-interpolate, tasty, tasty-hedgehog, text, time
+     , tasty, tasty-hedgehog, text, time
      }:
      mkDerivation {
        pname = "polysemy-log-di";
-       version = "0.2.0.1";
-       sha256 = "0n486xv9wayapk2bviik7mmqsrfzzdiq6rr7r1asjqygzksn48lv";
+       version = "0.2.2.1";
+       sha256 = "0rvikvzxk0qqbwx58w8fwmj3xkdf7i0zwz3w8brn79k3bq3m9bf5";
        libraryHaskellDepends = [
          base di-polysemy polysemy polysemy-conc polysemy-log polysemy-time
-         relude string-interpolate text time
+         relude text time
        ];
        testHaskellDepends = [
          base di-polysemy hedgehog polysemy polysemy-conc polysemy-log
-         polysemy-test polysemy-time relude string-interpolate tasty
-         tasty-hedgehog text time
+         polysemy-test polysemy-time relude tasty tasty-hedgehog text time
        ];
        description = "polysemy-log interpreter for di";
        license = "BSD-2-Clause-Patent";
@@ -206881,11 +206369,9 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-resume";
-       version = "0.1.0.1";
-       sha256 = "1pgirh7sz1lx45pkss1a4w7xgy7gcxmm7i2vz9hf0z7qdj9wfn8i";
-       libraryHaskellDepends = [
-         base polysemy polysemy-plugin relude transformers
-       ];
+       version = "0.1.0.2";
+       sha256 = "0s6ayc1qlpvpasysf9z5jcy3gfqc9agg76xxlahpjn1ysaswbgmq";
+       libraryHaskellDepends = [ base polysemy relude transformers ];
        testHaskellDepends = [
          base hedgehog polysemy polysemy-plugin polysemy-test relude tasty
          tasty-hedgehog text transformers
@@ -206903,8 +206389,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-test";
-       version = "0.3.1.0";
-       sha256 = "0a55kdfcjngdgl2is9qnhm7akrrjy03qsiihxgczabflcmqyazcb";
+       version = "0.3.1.1";
+       sha256 = "0xlhw9kf55fn26v068pxwajpl8dw7xcmrlkxk8ci55jans0blx9w";
        libraryHaskellDepends = [
          base containers either hedgehog path path-io polysemy
          polysemy-plugin relude string-interpolate tasty tasty-hedgehog
@@ -206929,8 +206415,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-time";
-       version = "0.1.2.0";
-       sha256 = "01z8y3jn63s8rkx27vj09hj6rl0ba4yjcc52yj7cvsvyi64s6ya3";
+       version = "0.1.2.1";
+       sha256 = "16b0wj6f9pcxq5in53yh2p52pj1w358f412rpvyhz376ak7z6h71";
        libraryHaskellDepends = [
          aeson base composition containers data-default either polysemy
          relude string-interpolate template-haskell text time torsor
@@ -208077,35 +207563,6 @@ self: {
      }) {};
 
   "postgresql-binary" = callPackage
-    ({ mkDerivation, aeson, base, base-prelude, binary-parser
-     , bytestring, bytestring-strict-builder, containers, conversion
-     , conversion-bytestring, conversion-text, criterion, json-ast
-     , loch-th, network-ip, placeholders, postgresql-libpq, QuickCheck
-     , quickcheck-instances, rerebase, scientific, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, transformers, unordered-containers
-     , uuid, vector
-     }:
-     mkDerivation {
-       pname = "postgresql-binary";
-       version = "0.12.3.3";
-       sha256 = "0aivmhzs1cnr86j6xv6nix913walqfvgirydzrp09l5ppp5i2sps";
-       libraryHaskellDepends = [
-         aeson base base-prelude binary-parser bytestring
-         bytestring-strict-builder containers loch-th network-ip
-         placeholders scientific text time transformers unordered-containers
-         uuid vector
-       ];
-       testHaskellDepends = [
-         aeson conversion conversion-bytestring conversion-text json-ast
-         loch-th network-ip placeholders postgresql-libpq QuickCheck
-         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ criterion rerebase ];
-       description = "Encoders and decoders for the PostgreSQL's binary format";
-       license = lib.licenses.mit;
-     }) {};
-
-  "postgresql-binary_0_12_4" = callPackage
     ({ mkDerivation, aeson, base, binary-parser, bytestring
      , bytestring-strict-builder, containers, conversion
      , conversion-bytestring, conversion-text, criterion, json-ast
@@ -208130,7 +207587,6 @@ self: {
        benchmarkHaskellDepends = [ criterion rerebase ];
        description = "Encoders and decoders for the PostgreSQL's binary format";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "postgresql-common" = callPackage
@@ -208799,34 +208255,6 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-typed";
-       version = "0.6.1.2";
-       sha256 = "0l2fkndiyb3yglgrj7mlmlsgg6qjgjzbh4przqk999c8cfr6bc66";
-       libraryHaskellDepends = [
-         aeson array attoparsec base binary bytestring containers cryptonite
-         data-default haskell-src-meta HDBC memory network old-locale
-         postgresql-binary scientific template-haskell text time tls
-         utf8-string uuid x509 x509-store x509-validation
-       ];
-       testHaskellDepends = [
-         base bytestring containers convertible HDBC HUnit network
-         QuickCheck time tls
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion network time tls
-       ];
-       description = "PostgreSQL interface with compile-time SQL type checking, optional HDBC backend";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "postgresql-typed_0_6_2_0" = callPackage
-    ({ mkDerivation, aeson, array, attoparsec, base, binary, bytestring
-     , containers, convertible, criterion, cryptonite, data-default
-     , haskell-src-meta, HDBC, HUnit, memory, network, old-locale
-     , postgresql-binary, QuickCheck, scientific, template-haskell, text
-     , time, tls, utf8-string, uuid, x509, x509-store, x509-validation
-     }:
-     mkDerivation {
-       pname = "postgresql-typed";
        version = "0.6.2.0";
        sha256 = "0v38c5ai3plc1vlgz536a41yflz2d7nm9laks28lnqvxaqim27aw";
        libraryHaskellDepends = [
@@ -208844,7 +208272,6 @@ self: {
        ];
        description = "PostgreSQL interface with compile-time SQL type checking, optional HDBC backend";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "postgresql-typed-lifted" = callPackage
@@ -218858,24 +218285,6 @@ self: {
      }:
      mkDerivation {
        pname = "rdf";
-       version = "0.1.0.4";
-       sha256 = "1ncvh2rkxmy3k3scrpf7zyambvr94s5hq6n2yb4h7f5yx6xzr0wk";
-       libraryHaskellDepends = [
-         attoparsec base bytestring deepseq dlist fgl text transformers
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq text
-       ];
-       description = "Representation and Incremental Processing of RDF Data";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rdf_0_1_0_5" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, criterion, deepseq
-     , dlist, fgl, text, transformers
-     }:
-     mkDerivation {
-       pname = "rdf";
        version = "0.1.0.5";
        sha256 = "1jrnmy9fdj3d3pnhycxl5smn6pjdm44b862wfp6hlb82vyl4556s";
        libraryHaskellDepends = [
@@ -218886,7 +218295,6 @@ self: {
        ];
        description = "Representation and Incremental Processing of RDF Data";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rdf4h" = callPackage
@@ -220059,6 +219467,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "records-sop_0_1_1_0" = callPackage
+    ({ mkDerivation, base, deepseq, generics-sop, ghc-prim, hspec
+     , should-not-typecheck
+     }:
+     mkDerivation {
+       pname = "records-sop";
+       version = "0.1.1.0";
+       sha256 = "01h6brqrpk5yhddi0cx2a9cv2dvri81xzx5ny616nfgy4fn9pfdl";
+       libraryHaskellDepends = [ base deepseq generics-sop ghc-prim ];
+       testHaskellDepends = [
+         base deepseq generics-sop hspec should-not-typecheck
+       ];
+       description = "Record subtyping and record utilities with generics-sop";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "records-th" = callPackage
     ({ mkDerivation, aeson, base, data-default, kinds, records
      , template-haskell, text, type-functions, unordered-containers
@@ -220709,7 +220134,7 @@ self: {
        broken = true;
      }) {};
 
-  "refinery" = callPackage
+  "refinery_0_3_0_0" = callPackage
     ({ mkDerivation, base, checkers, exceptions, hspec, logict, mmorph
      , mtl, QuickCheck
      }:
@@ -220723,6 +220148,23 @@ self: {
        ];
        description = "Toolkit for building proof automation systems";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "refinery" = callPackage
+    ({ mkDerivation, base, checkers, exceptions, hspec, mmorph, mtl
+     , QuickCheck
+     }:
+     mkDerivation {
+       pname = "refinery";
+       version = "0.4.0.0";
+       sha256 = "1bl1f714py5qxy5dvjlas6cd3vf9aczwi0z715r3cic74ga2k5qz";
+       libraryHaskellDepends = [ base exceptions mmorph mtl ];
+       testHaskellDepends = [
+         base checkers exceptions hspec mmorph mtl QuickCheck
+       ];
+       description = "Toolkit for building proof automation systems";
+       license = lib.licenses.bsd3;
      }) {};
 
   "reflection" = callPackage
@@ -221300,8 +220742,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-localize";
-       version = "1.0.2.0";
-       sha256 = "0iwxj8shik06r1wdhl8p5spvvn43xswilzhid8mfc3hj5khpzdzm";
+       version = "1.1.0.0";
+       sha256 = "16j6vqp7qqmkb1hm415nwcrnd8w4vdpqxbab2fwqmr4chpfrmf5n";
        libraryHaskellDepends = [
          base jsaddle mtl reflex reflex-external-ref text
        ];
@@ -221317,8 +220759,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-localize-dom";
-       version = "1.0.0.0";
-       sha256 = "1y2m15l6xxcmhhpn5jq3dfvzd04s5d84pm5s7iff9s0gkikhz4ga";
+       version = "1.0.3.0";
+       sha256 = "1jkid9d98ck7cnhr7zni1jn1rxi270226s0imkgxcn4y3sgrb94n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -222464,8 +221906,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.2.0.1";
-       sha256 = "0vpgjxm5mx11vnfhnvlzlawaqwa0a99iyimpd333ibz0psw10wka";
+       version = "0.2.0.2";
+       sha256 = "1lq8r382xm1m5b7i0jfjaj3f1jr98rdvjpn0h77i4i0i1wy529c1";
        libraryHaskellDepends = [
          base containers exceptions hashable mmorph mtl protolude resourcet
          semigroupoids semigroups template-haskell text transformers-base
@@ -222484,7 +221926,7 @@ self: {
        broken = true;
      }) {};
 
-  "registry_0_2_0_2" = callPackage
+  "registry_0_2_0_3" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
      , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph
      , MonadRandom, mtl, multimap, protolude, random, resourcet
@@ -222493,8 +221935,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry";
-       version = "0.2.0.2";
-       sha256 = "1lq8r382xm1m5b7i0jfjaj3f1jr98rdvjpn0h77i4i0i1wy529c1";
+       version = "0.2.0.3";
+       sha256 = "1fhqcpbvz16yj93mhf7lx40i8a00mizj51m3nyazg785xhil9xbs";
        libraryHaskellDepends = [
          base containers exceptions hashable mmorph mtl protolude resourcet
          semigroupoids semigroups template-haskell text transformers-base
@@ -225919,6 +225361,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "rio-orphans_0_1_2_0" = callPackage
+    ({ mkDerivation, base, exceptions, fast-logger, hspec
+     , monad-control, monad-logger, resourcet, rio, transformers-base
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "rio-orphans";
+       version = "0.1.2.0";
+       sha256 = "0vwc7ar9kiagvs5bywkh8x17kd02ra3zhd1mmsdwnl1p96bcshrw";
+       libraryHaskellDepends = [
+         base exceptions fast-logger monad-control monad-logger resourcet
+         rio transformers-base unliftio-core
+       ];
+       testHaskellDepends = [
+         base exceptions fast-logger hspec monad-control monad-logger
+         resourcet rio transformers-base unliftio-core
+       ];
+       description = "Orphan instances for the RIO type in the rio package";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "rio-prettyprint" = callPackage
     ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal, array
      , base, Cabal, colour, mtl, path, rio, text
@@ -226307,8 +225771,8 @@ self: {
      }:
      mkDerivation {
        pname = "rncryptor";
-       version = "0.3.0.1";
-       sha256 = "0j8y2iqxsin4gcgl85si7gl4bjrmdw9psvc7j3maa91fyh40dx49";
+       version = "0.3.0.2";
+       sha256 = "0j7dhgvb3d4cndddzvckn5nyg7zjhcaiybzd3i36s1vc5mv9h5ah";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227459,8 +226923,8 @@ self: {
      }:
      mkDerivation {
        pname = "row-types";
-       version = "1.0.0.0";
-       sha256 = "03qavr0d3ivap1n9nq7ks7yiappmzvirczi796y1krm0kgi25djy";
+       version = "1.0.1.0";
+       sha256 = "0msk1s6mnhclj9v2x2nnvbw3d4lbxhx2ks2hxaa726l3psakbs22";
        libraryHaskellDepends = [
          base constraints deepseq generic-lens hashable profunctors text
          unordered-containers
@@ -230097,9 +229561,9 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, hspec, scanner }:
      mkDerivation {
        pname = "scanner-attoparsec";
-       version = "0.1";
-       sha256 = "1x3calmq7hwbpvxzfsm5n1qkvkdsh73bhj3h1sckxl8ksc5zrbxi";
-       libraryHaskellDepends = [ attoparsec base scanner ];
+       version = "0.2";
+       sha256 = "1dyak8skwyj2rrl2bd3gcd724yr8bw18bkycxs6r27qk7xg65r8h";
+       libraryHaskellDepends = [ attoparsec base bytestring scanner ];
        testHaskellDepends = [ attoparsec base bytestring hspec scanner ];
        description = "Inject attoparsec parser with backtracking into non-backtracking scanner";
        license = lib.licenses.bsd3;
@@ -231269,12 +230733,12 @@ self: {
      }) {};
 
   "scroll-list" = callPackage
-    ({ mkDerivation, base, hspec }:
+    ({ mkDerivation, base, extra, hspec }:
      mkDerivation {
        pname = "scroll-list";
-       version = "1.0.0.1";
-       sha256 = "1qz4b04jkfkz9w6bz4g4zad5hj2nkl63y0klq0z5lgllf2f6ryw3";
-       libraryHaskellDepends = [ base ];
+       version = "1.1.0.0";
+       sha256 = "130k198xzvbkf2g725iraqx3wl2ns6fy5rj8viyjd8qz44yv533d";
+       libraryHaskellDepends = [ base extra ];
        testHaskellDepends = [ base hspec ];
        description = "This package provides functions for relocate an item within a list";
        license = lib.licenses.bsd3;
@@ -236267,6 +235731,34 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "serverless-haskell_0_12_6" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, amazonka-core
+     , amazonka-kinesis, amazonka-s3, base, bytestring, case-insensitive
+     , containers, hspec, hspec-discover, http-client, http-types
+     , iproute, lens, raw-strings-qq, safe-exceptions, text, time
+     , transformers, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "serverless-haskell";
+       version = "0.12.6";
+       sha256 = "1gk0zlfivpppirsalgxa58p8silr7ll396ld4x986m015hwnf8nh";
+       libraryHaskellDepends = [
+         aeson aeson-casing amazonka-core amazonka-kinesis amazonka-s3 base
+         bytestring case-insensitive containers http-client http-types
+         iproute lens safe-exceptions text time unix unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson aeson-casing amazonka-core amazonka-kinesis amazonka-s3 base
+         bytestring case-insensitive containers hspec hspec-discover
+         http-client http-types iproute lens raw-strings-qq safe-exceptions
+         text time transformers unix unordered-containers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Deploying Haskell code onto AWS Lambda using Serverless";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "serversession" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
      , containers, data-default, hashable, hspec, nonce, path-pieces
@@ -236711,25 +236203,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "setlocale";
-       version = "1.0.0.9";
-       sha256 = "18b6xafspzxrmz5m9r9nzy3z053crqi59xc8n8aqd4gw0pvqdcrv";
-       revision = "3";
-       editedCabalFile = "10ikb40vv1n3rk7cczhgpi2h4wmv2s0wzq5xkgjqvsqwl1pxkidw";
-       libraryHaskellDepends = [ base ];
-       description = "Haskell bindings to setlocale";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "setlocale_1_0_0_10" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "setlocale";
        version = "1.0.0.10";
        sha256 = "19rv89jkhq5ic7j5rzpygnmsbzim2mn8ip0m292za613q88gywir";
        libraryHaskellDepends = [ base ];
        description = "Haskell bindings to setlocale";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "setoid" = callPackage
@@ -237471,8 +236949,6 @@ self: {
        ];
        description = "Dependency tracking for Futhark";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "shake-google-closure-compiler" = callPackage
@@ -238206,23 +237682,6 @@ self: {
      }:
      mkDerivation {
        pname = "shellmet";
-       version = "0.0.3.1";
-       sha256 = "099v8w3b6s66mz79igjh57v98b90il6zkqh5wnqi3rvagbs89w5r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base process text ];
-       executableHaskellDepends = [ base text ];
-       executableToolDepends = [ markdown-unlit ];
-       testHaskellDepends = [ base doctest Glob ];
-       description = "Out of the shell solution for scripting in Haskell";
-       license = lib.licenses.mpl20;
-     }) {};
-
-  "shellmet_0_0_4_0" = callPackage
-    ({ mkDerivation, base, doctest, Glob, markdown-unlit, process, text
-     }:
-     mkDerivation {
-       pname = "shellmet";
        version = "0.0.4.0";
        sha256 = "1nrva50knx3ca0m6f84f1yim4apj949fqqmmrxqmxhlixjzafl8v";
        isLibrary = true;
@@ -238233,7 +237692,6 @@ self: {
        testHaskellDepends = [ base doctest Glob ];
        description = "Out of the shell solution for scripting in Haskell";
        license = lib.licenses.mpl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "shellout" = callPackage
@@ -240432,6 +239890,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "singleton-bool_0_1_6" = callPackage
+    ({ mkDerivation, base, boring, dec, deepseq, some }:
+     mkDerivation {
+       pname = "singleton-bool";
+       version = "0.1.6";
+       sha256 = "1pc34dbzx5g3vw5w03zifvqva3whyvxzfy3yh78qkpd05f0g98sw";
+       libraryHaskellDepends = [ base boring dec deepseq some ];
+       description = "Type level booleans";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "singleton-dict" = callPackage
     ({ mkDerivation, base, singletons }:
      mkDerivation {
@@ -241170,27 +240640,6 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.10.5";
-       sha256 = "09f21wkw8n5bjdn5bbrqphq4f44gipd1cb9b0ikjn9zrggglfnx9";
-       configureFlags = [ "-fexecutable" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary containers skylighting-core
-       ];
-       executableHaskellDepends = [
-         base blaze-html bytestring containers pretty-show text
-       ];
-       description = "syntax highlighting library";
-       license = lib.licenses.gpl2Only;
-     }) {};
-
-  "skylighting_0_10_5_1" = callPackage
-    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
-     , pretty-show, skylighting-core, text
-     }:
-     mkDerivation {
-       pname = "skylighting";
        version = "0.10.5.1";
        sha256 = "11y2j9c4gw0x5h974jrp0yppy5dys9i0nxdbzm374nwx8mjwdl4w";
        configureFlags = [ "-fexecutable" ];
@@ -241204,7 +240653,6 @@ self: {
        ];
        description = "syntax highlighting library";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "skylighting-core" = callPackage
@@ -241217,37 +240665,6 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.10.5";
-       sha256 = "1iaisswfg8ab6rd11002390jfxr309qyvlm85h57mi8svwxk09x2";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal attoparsec base base64-bytestring binary
-         blaze-html bytestring case-insensitive colour containers directory
-         filepath mtl safe text transformers utf8-string xml-conduit
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers Diff directory filepath
-         pretty-show QuickCheck tasty tasty-golden tasty-hunit
-         tasty-quickcheck text
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion directory filepath text
-       ];
-       description = "syntax highlighting library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "skylighting-core_0_10_5_1" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
-     , base64-bytestring, binary, blaze-html, bytestring
-     , case-insensitive, colour, containers, criterion, Diff, directory
-     , filepath, mtl, pretty-show, QuickCheck, safe, tasty, tasty-golden
-     , tasty-hunit, tasty-quickcheck, text, transformers, utf8-string
-     , xml-conduit
-     }:
-     mkDerivation {
-       pname = "skylighting-core";
        version = "0.10.5.1";
        sha256 = "14mz7krfkidgplhp49w84ryz74jrsdqll44wqd0my0m28v2vg9ka";
        isLibrary = true;
@@ -241267,7 +240684,6 @@ self: {
        ];
        description = "syntax highlighting library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "skylighting-extensions" = callPackage
@@ -242134,22 +241550,6 @@ self: {
      }) {};
 
   "smash" = callPackage
-    ({ mkDerivation, base, bifunctors, binary, deepseq, hashable }:
-     mkDerivation {
-       pname = "smash";
-       version = "0.1.1.0";
-       sha256 = "1vr6zc8mw2w510vcs3m8ngqbdscxywiqimvqs8jimjfyi86g30rb";
-       revision = "1";
-       editedCabalFile = "1p43gdh5d3vm5zx4mdi3zfka5i0zx332454aia4r7zrqs2x82csr";
-       libraryHaskellDepends = [
-         base bifunctors binary deepseq hashable
-       ];
-       testHaskellDepends = [ base ];
-       description = "Combinators for Maybe types";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "smash_0_1_2" = callPackage
     ({ mkDerivation, base, bifunctors, binary, deepseq, hashable, mtl
      , template-haskell
      }:
@@ -242164,7 +241564,6 @@ self: {
        ];
        description = "Smash products, wedge products, and pointed products";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smash-aeson" = callPackage
@@ -243671,8 +243070,8 @@ self: {
      }:
      mkDerivation {
        pname = "snaplet-purescript";
-       version = "0.5.2.3";
-       sha256 = "1da5yx6ghqkknkzgarnn0dx2za711sn8gl3ai0ahyy2wa9mdv6kd";
+       version = "0.6.0.0";
+       sha256 = "14p0na5jhbiwaifmfz96zzrgdx7rv9f0cxqa9pp815185h0p1lwr";
        libraryHaskellDepends = [
          base configurator mtl raw-strings-qq shelly snap snap-core
          string-conv text transformers
@@ -244805,6 +244204,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "some_1_0_3" = callPackage
+    ({ mkDerivation, base, deepseq }:
+     mkDerivation {
+       pname = "some";
+       version = "1.0.3";
+       sha256 = "0w3syapwz9v916zf1i4f8vxymdfg7syc2cpxgnqr018pbswzxrk2";
+       libraryHaskellDepends = [ base deepseq ];
+       testHaskellDepends = [ base ];
+       description = "Existential type: Some";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sonic-visualiser" = callPackage
     ({ mkDerivation, array, base, bytestring, bzlib, containers, mtl
      , pretty, utf8-string, xml
@@ -246142,19 +245554,6 @@ self: {
     ({ mkDerivation, base, containers, ghc, hlint, stm }:
      mkDerivation {
        pname = "splint";
-       version = "1.0.1.3";
-       sha256 = "1ji0jnq6d0c0yn4ka8pj838ff04ynj6d3vcv6xy3dl8v3si1mybd";
-       libraryHaskellDepends = [ base containers ghc hlint stm ];
-       description = "HLint as a GHC source plugin";
-       license = lib.licenses.isc;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "splint_1_0_1_4" = callPackage
-    ({ mkDerivation, base, containers, ghc, hlint, stm }:
-     mkDerivation {
-       pname = "splint";
        version = "1.0.1.4";
        sha256 = "1s7m43y4m074wk73scakb7ynf8na0fx1bnggj8v4l59bxa5mqsmm";
        libraryHaskellDepends = [ base containers ghc hlint stm ];
@@ -247442,8 +246841,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-all";
-       version = "0.1.2";
-       sha256 = "1iqm96f9c6csv4dzr6l7cyiv99nmbc9739xhycg2gvpm9sncmxrb";
+       version = "0.2";
+       sha256 = "0q64g4frvcmj308x27mibi89m6rwjf5v47ql4yy6cnf9arjzqf9f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -251586,6 +250985,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "string-random_0_1_4_1" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , optparse-applicative, pcre-heavy, QuickCheck, random, tasty
+     , tasty-hunit, tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "string-random";
+       version = "0.1.4.1";
+       sha256 = "1ggz48mzyzch3ga4682jd9y4g1j6px1anv7k8cczjlz9f4lh73nd";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base containers random text transformers
+       ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       testHaskellDepends = [
+         base bytestring pcre-heavy QuickCheck tasty tasty-hunit
+         tasty-quickcheck text
+       ];
+       description = "A library for generating random string from a regular experession";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "string-similarity" = callPackage
     ({ mkDerivation, base, bytestring, criterion, hspec, QuickCheck
      , suffixtree
@@ -255390,23 +254813,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "system-info";
-       version = "0.5.1";
-       sha256 = "10a43hb20gb8vgggibsnd3xg3al1wm4phjpp1mf2hnkf4nwxilm4";
-       libraryHaskellDepends = [ base ];
-       description = "Get the name of the operating system";
-       license = lib.licenses.mit;
-     }) {};
-
-  "system-info_0_5_2" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "system-info";
        version = "0.5.2";
        sha256 = "0k1mc0axh3iwy3d7svxl31b629c9s482bq7mshhs6glh9pv6cg74";
        libraryHaskellDepends = [ base ];
        description = "Get the name of the operating system";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "system-inotify" = callPackage
@@ -256928,8 +256339,8 @@ self: {
      }:
      mkDerivation {
        pname = "taskell";
-       version = "1.10.1";
-       sha256 = "1s05jwsfzjvgfcyd4n4ykzxld11mkf5gnyd9crl5ry5pg77iqw72";
+       version = "1.11.0";
+       sha256 = "0bwv4ma7dzyyygsvnyfp4siidr9an729y4zq85158dwwv74y4nkm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257078,8 +256489,8 @@ self: {
     ({ mkDerivation, base, containers, deepseq, tasty }:
      mkDerivation {
        pname = "tasty-bench";
-       version = "0.2.3";
-       sha256 = "16273rxlvjh960mdlhkpggx8rbza1n18fxl9m9yi8dhkli4g0w6a";
+       version = "0.2.4";
+       sha256 = "11hkhlpwxzxxi6ny4jklaz70cd0ca905yxv9idacmwajbrliinna";
        libraryHaskellDepends = [ base containers deepseq tasty ];
        description = "Featherlight benchmark framework";
        license = lib.licenses.mit;
@@ -257266,6 +256677,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "tasty-hedgehog_1_1_0_0" = callPackage
+    ({ mkDerivation, base, hedgehog, tagged, tasty
+     , tasty-expected-failure
+     }:
+     mkDerivation {
+       pname = "tasty-hedgehog";
+       version = "1.1.0.0";
+       sha256 = "0cy49z8n124xh2ra2482vfy5if1n6d9lbdjma2zg1mxfj0k0zyfb";
+       libraryHaskellDepends = [ base hedgehog tagged tasty ];
+       testHaskellDepends = [
+         base hedgehog tasty tasty-expected-failure
+       ];
+       description = "Integration for tasty and hedgehog";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-hedgehog-coverage" = callPackage
     ({ mkDerivation, base, containers, hedgehog, mtl, tagged, tasty
      , tasty-expected-failure, tasty-hedgehog, text, transformers
@@ -260484,27 +259912,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-builder";
-       version = "0.6.6.1";
-       sha256 = "03fjmxnz2nbfr63ff8nms58vjd8czz6pqq4ng5rbmiivlfj55ymm";
-       libraryHaskellDepends = [
-         base bytestring deferred-folds text transformers
-       ];
-       testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ criterion rerebase ];
-       description = "An efficient strict text builder";
-       license = lib.licenses.mit;
-     }) {};
-
-  "text-builder_0_6_6_2" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deferred-folds
-     , QuickCheck, quickcheck-instances, rerebase, tasty, tasty-hunit
-     , tasty-quickcheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "text-builder";
        version = "0.6.6.2";
        sha256 = "1cj6k27w9zm0g5wjfwyiwjljnqs9lz0zhw52nd0p7f1mhb9r80dw";
        libraryHaskellDepends = [
@@ -260517,7 +259924,6 @@ self: {
        benchmarkHaskellDepends = [ criterion rerebase ];
        description = "An efficient strict text builder";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-containers" = callPackage
@@ -262114,26 +261520,6 @@ self: {
 
   "th-utilities" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , hspec, primitive, syb, template-haskell, text, th-orphans, vector
-     }:
-     mkDerivation {
-       pname = "th-utilities";
-       version = "0.2.4.1";
-       sha256 = "1k3dlhhgxc4bnzb13qysbvb41vx6fxf26grs2fjm2s3h65sghqxd";
-       libraryHaskellDepends = [
-         base bytestring containers directory filepath primitive syb
-         template-haskell text th-orphans
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory filepath hspec primitive syb
-         template-haskell text th-orphans vector
-       ];
-       description = "Collection of useful functions for use with Template Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "th-utilities_0_2_4_2" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
      , hspec, primitive, syb, template-haskell, text, th-abstraction
      , th-orphans, vector
      }:
@@ -262151,7 +261537,6 @@ self: {
        ];
        description = "Collection of useful functions for use with Template Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "thank-you-stars" = callPackage
@@ -266112,8 +265497,8 @@ self: {
      }:
      mkDerivation {
        pname = "tracing";
-       version = "0.0.6.0";
-       sha256 = "0f92jh3pfd67pfy2yn26k05n2xy8iyshds9mq4hvwf0jq1kk9h6d";
+       version = "0.0.6.2";
+       sha256 = "0fabwv87b9r8khyk8gr769j6k3wqddrgzh86inx0xjx9swgdrr6q";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive containers
          http-client mtl network random stm text time transformers unliftio
@@ -268152,22 +267537,6 @@ self: {
      }:
      mkDerivation {
        pname = "ttc";
-       version = "0.3.0.0";
-       sha256 = "0k23fsp9fji17341iag3rv79lsxj7x26chhijl8lh3jraqvj9y4p";
-       libraryHaskellDepends = [ base bytestring template-haskell text ];
-       testHaskellDepends = [
-         base bytestring tasty tasty-hunit template-haskell text
-       ];
-       description = "Textual Type Classes";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ttc_0_4_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "ttc";
        version = "0.4.0.0";
        sha256 = "07b5vw7wxgxcsr04h4nx28bmv9a10hkdzhhssvka050hxhiyjmgv";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
@@ -268176,7 +267545,6 @@ self: {
        ];
        description = "Textual Type Classes";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ttl-hashtables" = callPackage
@@ -268238,8 +267606,7 @@ self: {
        executableHaskellDepends = [ base text time ttn ];
        description = "TheThingsNetwork client";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
+       maintainers = with lib.maintainers; [ sorki ];
      }) {};
 
   "ttrie" = callPackage
@@ -268615,31 +267982,6 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.21";
-       sha256 = "0sb1xnmvqby1lcg3p92v0nkpxnm2qk0gcn41mxxgp3xdm24vkz36";
-       revision = "1";
-       editedCabalFile = "0qh20z5gzbi3an78z7p338xdz61sbpffy0w0crx7fpwa95dlkf0m";
-       libraryHaskellDepends = [
-         ansi-wl-pprint async base bytestring clock containers directory
-         exceptions foldl hostname managed optional-args
-         optparse-applicative process stm streaming-commons system-fileio
-         system-filepath temporary text time transformers unix unix-compat
-       ];
-       testHaskellDepends = [ base doctest system-filepath temporary ];
-       benchmarkHaskellDepends = [ base criterion text ];
-       description = "Shell programming, Haskell-style";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "turtle_1_5_22" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
-     , containers, criterion, directory, doctest, exceptions, foldl
-     , hostname, managed, optional-args, optparse-applicative, process
-     , stm, streaming-commons, system-fileio, system-filepath, temporary
-     , text, time, transformers, unix, unix-compat
-     }:
-     mkDerivation {
-       pname = "turtle";
        version = "1.5.22";
        sha256 = "14lf43b5rxci6p9sy1gkb715m4b1s4rl65swn2qpdqv3h2yvpi4s";
        libraryHaskellDepends = [
@@ -268652,7 +267994,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Shell programming, Haskell-style";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "turtle-options" = callPackage
@@ -268705,8 +268046,8 @@ self: {
      }:
      mkDerivation {
        pname = "twee";
-       version = "2.3";
-       sha256 = "1fg8khaa5zkfyh2jawh2m7jyy3a4kbd755qa09gwg9b7y9wijamr";
+       version = "2.3.1";
+       sha256 = "0s9mplfbv2y8p745pzhmd7il1ykvndrbfs86c4w7r01lgy7dplxf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -268724,8 +268065,8 @@ self: {
      }:
      mkDerivation {
        pname = "twee-lib";
-       version = "2.3";
-       sha256 = "1ba98apscp1f4k9917an27aqymnr8gj8pkwj7g2ci02fh7dan9b9";
+       version = "2.3.1";
+       sha256 = "10n9p8d59baqkb1qmgl3wdybv1jyk343l4jrbjjcm0s8rbp842xm";
        libraryHaskellDepends = [
          base containers dlist ghc-prim pretty primitive random transformers
          uglymemo vector
@@ -270523,21 +269864,6 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, QuickCheck }:
      mkDerivation {
        pname = "typenums";
-       version = "0.1.3";
-       sha256 = "0ampchndx0z8bhdqgp14smv270pizjvlr54ns3x79hwjpg9m01rc";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec QuickCheck ];
-       testToolDepends = [ hspec-discover ];
-       description = "Type level numbers using existing Nat functionality";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "typenums_0_1_4" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, QuickCheck }:
-     mkDerivation {
-       pname = "typenums";
        version = "0.1.4";
        sha256 = "16bfn4s8q4w2f8a2c9l93b0yhj9qahccp9fs29rcj9q8873xaz6l";
        libraryHaskellDepends = [ base ];
@@ -276270,6 +275596,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "vector_0_12_3_0" = callPackage
+    ({ mkDerivation, base, base-orphans, deepseq, ghc-prim, HUnit
+     , primitive, QuickCheck, random, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "vector";
+       version = "0.12.3.0";
+       sha256 = "00xp86yad3yv4ja4q07gkmmcf7iwpcnzkkaf91zkx9nxb981iy0m";
+       libraryHaskellDepends = [ base deepseq ghc-prim primitive ];
+       testHaskellDepends = [
+         base base-orphans HUnit primitive QuickCheck random tasty
+         tasty-hunit tasty-quickcheck template-haskell transformers
+       ];
+       description = "Efficient Arrays";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vector-algorithms" = callPackage
     ({ mkDerivation, base, bytestring, containers, mwc-random
      , primitive, QuickCheck, vector
@@ -277421,28 +276766,6 @@ self: {
      }) {};
 
   "vinyl" = callPackage
-    ({ mkDerivation, aeson, array, base, criterion, doctest, ghc-prim
-     , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random
-     , primitive, should-not-typecheck, singletons, tagged, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "vinyl";
-       version = "0.13.0";
-       sha256 = "1ks5rzv3b5fjgcy4g54wxnfqa450ifyap18pq2sb2c8a6bkh3qlh";
-       libraryHaskellDepends = [ array base ghc-prim ];
-       testHaskellDepends = [
-         aeson base doctest hspec lens lens-aeson microlens mtl
-         should-not-typecheck singletons text unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base criterion linear microlens mwc-random primitive tagged vector
-       ];
-       description = "Extensible Records";
-       license = lib.licenses.mit;
-     }) {};
-
-  "vinyl_0_13_1" = callPackage
     ({ mkDerivation, aeson, array, base, criterion, deepseq, doctest
      , ghc-prim, hspec, lens, lens-aeson, linear, microlens, mtl
      , mwc-random, primitive, should-not-typecheck, singletons, tagged
@@ -277462,7 +276785,6 @@ self: {
        ];
        description = "Extensible Records";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vinyl-generics" = callPackage
@@ -278231,8 +277553,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "vulkan-api";
-       version = "1.3.0.0";
-       sha256 = "1afnj053p3azm9wwdsr49w2s82k64lb0f12ak2g2v8vgidrjl7qk";
+       version = "1.4.0.0";
+       sha256 = "1947fwxhxchdghsg0ka44018ywrnyiq36aiz42vm46gbj02dvj42";
        libraryHaskellDepends = [ base ];
        description = "Low-level low-overhead vulkan api bindings";
        license = lib.licenses.bsd3;
@@ -282514,22 +281836,6 @@ self: {
 
   "wikicfp-scraper" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, filepath, hspec
-     , scalpel-core, text, time
-     }:
-     mkDerivation {
-       pname = "wikicfp-scraper";
-       version = "0.1.0.11";
-       sha256 = "1f6zrgjhid1fps02hbd6lmaxpi635bdzcxbsfkfk8xd7wmj0x91b";
-       libraryHaskellDepends = [
-         attoparsec base bytestring scalpel-core text time
-       ];
-       testHaskellDepends = [ base bytestring filepath hspec time ];
-       description = "Scrape WikiCFP web site";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wikicfp-scraper_0_1_0_12" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, filepath, hspec
      , hspec-discover, scalpel-core, text, time
      }:
      mkDerivation {
@@ -282543,7 +281849,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Scrape WikiCFP web site";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wikipedia4epub" = callPackage
@@ -282568,24 +281873,6 @@ self: {
      }) {};
 
   "wild-bind" = callPackage
-    ({ mkDerivation, base, containers, hspec, microlens, QuickCheck
-     , semigroups, stm, text, transformers
-     }:
-     mkDerivation {
-       pname = "wild-bind";
-       version = "0.1.2.6";
-       sha256 = "1sfwz7qwlfhvdkw8f0xmywi7m3b3yd7p5hlrjndlqs8h2k8c7809";
-       libraryHaskellDepends = [
-         base containers semigroups text transformers
-       ];
-       testHaskellDepends = [
-         base hspec microlens QuickCheck stm transformers
-       ];
-       description = "Dynamic key binding framework";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wild-bind_0_1_2_7" = callPackage
     ({ mkDerivation, base, containers, hspec, hspec-discover, microlens
      , QuickCheck, semigroups, stm, text, transformers
      }:
@@ -282602,7 +281889,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Dynamic key binding framework";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wild-bind-indicator" = callPackage
@@ -282643,25 +281929,6 @@ self: {
      }) {};
 
   "wild-bind-x11" = callPackage
-    ({ mkDerivation, async, base, containers, fold-debounce, hspec, mtl
-     , semigroups, stm, text, time, transformers, wild-bind, X11
-     }:
-     mkDerivation {
-       pname = "wild-bind-x11";
-       version = "0.2.0.11";
-       sha256 = "05i0jrvap7vwzx3m97wfihplank8mjlap4q1bwvr9fb97farll0b";
-       libraryHaskellDepends = [
-         base containers fold-debounce mtl semigroups stm text transformers
-         wild-bind X11
-       ];
-       testHaskellDepends = [
-         async base hspec text time transformers wild-bind X11
-       ];
-       description = "X11-specific implementation for WildBind";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wild-bind-x11_0_2_0_12" = callPackage
     ({ mkDerivation, async, base, containers, fold-debounce, hspec
      , hspec-discover, mtl, semigroups, stm, text, time, transformers
      , wild-bind, X11
@@ -282680,7 +281947,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "X11-specific implementation for WildBind";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wilton-ffi" = callPackage
@@ -284469,8 +283735,8 @@ self: {
      }:
      mkDerivation {
        pname = "wstunnel";
-       version = "0.3.0.1";
-       sha256 = "17qbf9sy82lrnqz8aa3brggdps7adlizm75x3x5byib769v1k1pa";
+       version = "0.3.1.0";
+       sha256 = "14f790bya156ffdp2rrxzibz54yd714p59h56amfnsakrn8ygghy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -284485,7 +283751,7 @@ self: {
          async base binary bytestring classy-prelude hspec network
          network-conduit-tls streaming-commons text
        ];
-       description = "Initial project template from stack";
+       description = "Tunneling program over websocket protocol";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -288225,6 +287491,8 @@ self: {
        pname = "yasi";
        version = "0.1.2.1";
        sha256 = "0647z79wva7apkp0swj7gax780vqmhr5czxrvg88gl3bi03wcapl";
+       revision = "1";
+       editedCabalFile = "05vz40sxmwj9kxfk3s7nx4l6bhj4qpvd62nfkqa7xh9vgfj6rv31";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        testHaskellDepends = [
          base hedgehog tasty tasty-hedgehog tasty-hunit text
@@ -288665,34 +287933,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.6.10.1";
-       sha256 = "12bnadmf3afbkni3k8gc1srv2makssy62zciygg4dh8q7rr2pw2s";
-       libraryHaskellDepends = [
-         aeson authenticate base base16-bytestring base64-bytestring binary
-         blaze-builder blaze-html blaze-markup bytestring conduit
-         conduit-extra containers cryptonite data-default email-validate
-         file-embed http-client http-client-tls http-conduit http-types
-         memory network-uri nonce persistent random safe shakespeare
-         template-haskell text time transformers unliftio unliftio-core
-         unordered-containers wai yesod-core yesod-form yesod-persistent
-       ];
-       description = "Authentication for Yesod";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-auth_1_6_10_2" = callPackage
-    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
-     , base64-bytestring, binary, blaze-builder, blaze-html
-     , blaze-markup, bytestring, conduit, conduit-extra, containers
-     , cryptonite, data-default, email-validate, file-embed, http-client
-     , http-client-tls, http-conduit, http-types, memory, network-uri
-     , nonce, persistent, random, safe, shakespeare, template-haskell
-     , text, time, transformers, unliftio, unliftio-core
-     , unordered-containers, wai, yesod-core, yesod-form
-     , yesod-persistent
-     }:
-     mkDerivation {
-       pname = "yesod-auth";
        version = "1.6.10.2";
        sha256 = "16c4rddfmpw1smk7zayflwp1xy3avrqcr0cv6qx4aq949zpn6lz8";
        libraryHaskellDepends = [
@@ -288706,7 +287946,6 @@ self: {
        ];
        description = "Authentication for Yesod";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-auth-account" = callPackage
@@ -289052,6 +288291,30 @@ self: {
        broken = true;
      }) {};
 
+  "yesod-auth-oauth2_0_6_3_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
+     , hoauth2, hspec, http-client, http-conduit, http-types, memory
+     , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring
+     , yesod-auth, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-auth-oauth2";
+       version = "0.6.3.0";
+       sha256 = "0h2rvq0fb4alwz595a2rzmfv2a370shy58ga9n18vp4xg0pw6i28";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cryptonite errors hoauth2 http-client
+         http-conduit http-types memory microlens mtl safe-exceptions text
+         unliftio uri-bytestring yesod-auth yesod-core
+       ];
+       testHaskellDepends = [ base hspec uri-bytestring ];
+       description = "OAuth 2.0 authentication plugins";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "yesod-auth-pam" = callPackage
     ({ mkDerivation, base, hamlet, pam, text, yesod-auth, yesod-core
      , yesod-form
@@ -289272,6 +288535,44 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_6_19_0" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-html
+     , blaze-markup, bytestring, case-insensitive, cereal, clientsession
+     , conduit, conduit-extra, containers, cookie, deepseq, fast-logger
+     , gauge, hspec, hspec-expectations, http-types, HUnit, memory
+     , monad-logger, mtl, network, parsec, path-pieces, primitive
+     , random, resourcet, shakespeare, streaming-commons
+     , template-haskell, text, time, transformers, unix-compat, unliftio
+     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
+     , word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.6.19.0";
+       sha256 = "00mqvq47jf4ljqwj20jn5326hrap5gbm5bqq2xkijfs4ymmyw6vd";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-html blaze-markup bytestring
+         case-insensitive cereal clientsession conduit conduit-extra
+         containers cookie deepseq fast-logger http-types memory
+         monad-logger mtl parsec path-pieces primitive random resourcet
+         shakespeare template-haskell text time transformers unix-compat
+         unliftio unordered-containers vector wai wai-extra wai-logger warp
+         word8
+       ];
+       testHaskellDepends = [
+         async base bytestring clientsession conduit conduit-extra
+         containers cookie hspec hspec-expectations http-types HUnit network
+         path-pieces random resourcet shakespeare streaming-commons
+         template-haskell text transformers unliftio wai wai-extra warp
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring gauge shakespeare text
+       ];
+       description = "Creation of type-safe, RESTful web applications";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -289821,26 +289122,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-markdown";
-       version = "0.12.6.6";
-       sha256 = "1myjm5fjcqkzh90bz14mn5rrhy41wfg0i76dihhbkhx7g15z4nwz";
-       libraryHaskellDepends = [
-         base blaze-html blaze-markup bytestring directory pandoc persistent
-         shakespeare text xss-sanitize yesod-core yesod-form
-       ];
-       testHaskellDepends = [ base blaze-html hspec text ];
-       description = "Tools for using markdown in a yesod application";
-       license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "yesod-markdown_0_12_6_8" = callPackage
-    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
-     , directory, hspec, pandoc, persistent, shakespeare, text
-     , xss-sanitize, yesod-core, yesod-form
-     }:
-     mkDerivation {
-       pname = "yesod-markdown";
        version = "0.12.6.8";
        sha256 = "1jlnci0wkfg04qvad7qx19321s8jf2rskjghirwcqy1abg3bf96p";
        libraryHaskellDepends = [
@@ -289992,27 +289273,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-persistent";
-       version = "1.6.0.5";
-       sha256 = "0chvpzhfj0l1lacwslizhawsc9ns307q0wc6mcalz6gv7cm7mfi3";
-       libraryHaskellDepends = [
-         base blaze-builder conduit persistent persistent-template
-         resource-pool resourcet transformers yesod-core
-       ];
-       testHaskellDepends = [
-         base blaze-builder conduit hspec persistent persistent-sqlite text
-         wai-extra yesod-core
-       ];
-       description = "Some helpers for using Persistent from Yesod";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-persistent_1_6_0_6" = callPackage
-    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
-     , persistent-sqlite, persistent-template, resource-pool, resourcet
-     , text, transformers, wai-extra, yesod-core
-     }:
-     mkDerivation {
-       pname = "yesod-persistent";
        version = "1.6.0.6";
        sha256 = "169bwdnaxw926yr5wbcgf7n6v914sgv2vw6ywc95b5xpm0i0dyph";
        libraryHaskellDepends = [
@@ -290025,7 +289285,6 @@ self: {
        ];
        description = "Some helpers for using Persistent from Yesod";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-platform" = callPackage
@@ -290675,6 +289934,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-websockets_0_3_0_3" = callPackage
+    ({ mkDerivation, base, conduit, mtl, transformers, unliftio
+     , wai-websockets, websockets, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-websockets";
+       version = "0.3.0.3";
+       sha256 = "0hm4qzn0kqwl7mfvhgc1h1xbpj80fnkfbh5r3k9c52n5dmcapy6n";
+       libraryHaskellDepends = [
+         base conduit mtl transformers unliftio wai-websockets websockets
+         yesod-core
+       ];
+       description = "WebSockets support for Yesod";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-websockets-extra" = callPackage
     ({ mkDerivation, base, enclosed-exceptions, transformers
      , websockets, yesod-websockets
@@ -291855,39 +291131,6 @@ self: {
      }:
      mkDerivation {
        pname = "zenacy-html";
-       version = "2.0.2";
-       sha256 = "12m953skm4ms6y211ahjrr6gkmrh4p3h2snpcpg1fc039nxgkc9p";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring containers data-default dlist extra mtl pretty-show
-         safe safe-exceptions text transformers vector word8
-       ];
-       executableHaskellDepends = [
-         base bytestring containers data-default dlist extra pretty-show
-         text vector
-       ];
-       testHaskellDepends = [
-         base bytestring containers data-default dlist extra HUnit mtl
-         pretty-show raw-strings-qq test-framework test-framework-hunit text
-         transformers
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring containers criterion data-default dlist pretty-show
-         raw-strings-qq text
-       ];
-       description = "A standard compliant HTML parsing library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "zenacy-html_2_0_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, criterion
-     , data-default, dlist, extra, HUnit, mtl, pretty-show
-     , raw-strings-qq, safe, safe-exceptions, test-framework
-     , test-framework-hunit, text, transformers, vector, word8
-     }:
-     mkDerivation {
-       pname = "zenacy-html";
        version = "2.0.3";
        sha256 = "1lbgl2g921prcgl0pk5c8mzfy7ssnnrk7d4rz047xhgb3x0381nc";
        isLibrary = true;
@@ -291911,7 +291154,6 @@ self: {
        ];
        description = "A standard compliant HTML parsing library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "zenacy-unicode" = callPackage
@@ -291920,22 +291162,6 @@ self: {
      }:
      mkDerivation {
        pname = "zenacy-unicode";
-       version = "1.0.0";
-       sha256 = "03sksmmmn380nvh0f139g63b4yx42ziimv79xjja7yx6mhaa0pqf";
-       libraryHaskellDepends = [ base bytestring vector word8 ];
-       testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit text
-       ];
-       description = "Unicode utilities for Haskell";
-       license = lib.licenses.mit;
-     }) {};
-
-  "zenacy-unicode_1_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, HUnit, test-framework
-     , test-framework-hunit, text, vector, word8
-     }:
-     mkDerivation {
-       pname = "zenacy-unicode";
        version = "1.0.1";
        sha256 = "1l03zr1j6h1h15rnz6mk731g5ib1h3x59b3aqm30i0kd2h28g0vw";
        libraryHaskellDepends = [ base bytestring vector word8 ];
@@ -291944,7 +291170,6 @@ self: {
        ];
        description = "Unicode utilities for Haskell";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "zenc" = callPackage
@@ -292024,8 +291249,8 @@ self: {
      }:
      mkDerivation {
        pname = "zeolite-lang";
-       version = "0.16.0.0";
-       sha256 = "10sy0s2k20ampqpql6ifpb8y5sdrrc23zpssh0cxs6rp144gcdg4";
+       version = "0.17.0.0";
+       sha256 = "1czw727j73n4rdlxb97jvr082xdvsqyp6n99qxq73gigag6jp0zk";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
diff --git a/pkgs/development/haskell-modules/patches/gitit-pandoc-2.12.patch b/pkgs/development/haskell-modules/patches/gitit-pandoc-2.12.patch
deleted file mode 100644
index da8e27d2b31..00000000000
--- a/pkgs/development/haskell-modules/patches/gitit-pandoc-2.12.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-commit a03d3b043458f45d29ba32068a77c0d3b8a4223f
-Author: sternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>
-Date:   Fri Apr 2 15:14:02 2021 +0200
-
-    Allow compilation with pandoc 2.12 and 2.13
-    
-    pandoc 2.13 introduced the following breakages for gitit:
-    
-    * UTF8.readFile now returns a Text which is actually ideal for gitit.
-      If pandoc is new enough we just make readFileUTF8 an alias for
-      UTF8.readFile.
-    
-    * Text.Pandoc.Shared no longer exports substitute. In order to be
-      conservative I've chosen to just copy the substitute function from
-      pandoc 2.11.4. I need this patch kind of urgently so I didn't want to
-      make any changes or refactors independently from upstream if
-      avoidable. However, I'd be happy to rebase this PR branch to adopt a
-      different solution to just copying the function.
-
-diff --git a/src/Network/Gitit/Authentication.hs b/src/Network/Gitit/Authentication.hs
-index 4c240e7..c0f92fd 100644
---- a/src/Network/Gitit/Authentication.hs
-+++ b/src/Network/Gitit/Authentication.hs
-@@ -44,7 +44,7 @@ import System.Exit
- import System.Log.Logger (logM, Priority(..))
- import Data.Char (isAlphaNum, isAlpha)
- import qualified Data.Map as M
--import Text.Pandoc.Shared (substitute)
-+import Data.List (stripPrefix)
- import Data.Maybe (isJust, fromJust, isNothing, fromMaybe)
- import Network.URL (exportURL, add_param, importURL)
- import Network.BSD (getHostName)
-@@ -54,6 +54,16 @@ import Codec.Binary.UTF8.String (encodeString)
- import Data.ByteString.UTF8 (toString)
- import Network.Gitit.Rpxnow as R
- 
-+-- | Replace each occurrence of one sublist in a list with another.
-+--   Vendored in from pandoc 2.11.4 as 2.12 removed this function.
-+substitute :: (Eq a) => [a] -> [a] -> [a] -> [a]
-+substitute _ _ [] = []
-+substitute [] _ xs = xs
-+substitute target replacement lst@(x:xs) =
-+    case stripPrefix target lst of
-+      Just lst' -> replacement ++ substitute target replacement lst'
-+      Nothing   -> x : substitute target replacement xs
-+
- data ValidationType = Register
-                     | ResetPassword
-                     deriving (Show,Read)
-diff --git a/src/Network/Gitit/Util.hs b/src/Network/Gitit/Util.hs
-index c5e9fe5..067130a 100644
---- a/src/Network/Gitit/Util.hs
-+++ b/src/Network/Gitit/Util.hs
-@@ -45,7 +45,11 @@ import Network.URL (encString)
- 
- -- | Read file as UTF-8 string.  Encode filename as UTF-8.
- readFileUTF8 :: FilePath -> IO Text
-+#if MIN_VERSION_pandoc(2,12,0)
-+readFileUTF8 = UTF8.readFile
-+#else
- readFileUTF8 = fmap T.pack . UTF8.readFile
-+#endif
- 
- -- | Perform a function a directory and return to working directory.
- inDir :: FilePath -> IO a -> IO a
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index e9d9366851e..c99596ea026 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -22,8 +22,8 @@ let
   };
 
 in mkDerivation {
-  version = "18.3.4.8";
-  sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g";
+  version = "18.3.4.11";
+  sha256 = "190xbv77v5x2g8xkzdg9bpwa1ylkc18d03ag2a0frcwcv76x53k1";
 
   patches = [
     rmAndPwdPatch
diff --git a/pkgs/development/interpreters/erlang/R19.nix b/pkgs/development/interpreters/erlang/R19.nix
index d5f3afe5f3d..65ac57413f6 100644
--- a/pkgs/development/interpreters/erlang/R19.nix
+++ b/pkgs/development/interpreters/erlang/R19.nix
@@ -1,8 +1,8 @@
 { mkDerivation, fetchpatch }:
 
 mkDerivation {
-  version = "19.3.6.11";
-  sha256 = "0b02iv8dly1vkc2xnqqi030sdj34h4gji2h4qgilllajr1f868vm";
+  version = "19.3.6.13";
+  sha256 = "1zbg54p7pdr8bjyrxvi7vs41vgamqa8lsynnm6ac6845q0xwpwid";
 
   patches = [
     # macOS 10.13 crypto fix from OTP-20.1.2
diff --git a/pkgs/development/interpreters/erlang/R20.nix b/pkgs/development/interpreters/erlang/R20.nix
index 3a33e55767b..dfa363c0f25 100644
--- a/pkgs/development/interpreters/erlang/R20.nix
+++ b/pkgs/development/interpreters/erlang/R20.nix
@@ -1,8 +1,8 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "20.3.8.9";
-  sha256 = "0v2iiyzss8hiih98wvj0gi2qzdmmhh7bvc9p025wlfm4k7r1109a";
+  version = "20.3.8.26";
+  sha256 = "062405s59hkdkmw2dryq0qc1k03jsncj7yqisgj35x9sqpzm4w7a";
 
   prePatch = ''
     substituteInPlace configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix
index e1145090c86..f0291bcfd9f 100644
--- a/pkgs/development/interpreters/erlang/R21.nix
+++ b/pkgs/development/interpreters/erlang/R21.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "21.3.8.21";
-  sha256 = "sha256-zQCs2hOA66jxAaxl/B42EKCejAktIav2rpVQCNyKCh4=";
+  version = "21.3.8.22";
+  sha256 = "sha256-k6dChY/ogWqmcNz9P3t+p9C7oywXhR5oqdBfNtkh6I4=";
 }
diff --git a/pkgs/development/interpreters/erlang/R22.nix b/pkgs/development/interpreters/erlang/R22.nix
index 8bfe111f065..5be67081b11 100644
--- a/pkgs/development/interpreters/erlang/R22.nix
+++ b/pkgs/development/interpreters/erlang/R22.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "22.3.4.16";
-  sha256 = "sha256-V0RwEPfjnHtEzShNh6Q49yGC5fbt2mNR4xy6f6iWvck=";
+  version = "22.3.4.17";
+  sha256 = "sha256-YhKU9I4qN+TVG3t//t9htUBkOu8DS75vbn/qWvS1zc0=";
 }
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 325d8e87e4a..c32a1b038e4 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -5,6 +5,8 @@
 , libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null
 , parallelBuild ? false
 , systemd, wxSupport ? true
+# updateScript deps
+, writeScript, common-updater-scripts, coreutils, git
 }:
 { baseName ? "erlang"
 , version
@@ -103,6 +105,24 @@ in stdenv.mkDerivation ({
 
   setupHook = ./setup-hook.sh;
 
+  passthru = {
+    updateScript =
+      let major = builtins.head (builtins.splitVersion version);
+      in writeScript "update.sh" ''
+      #!${stdenv.shell}
+      set -ox errexit
+      PATH=${lib.makeBinPath [ common-updater-scripts coreutils git gnused ]}
+      latest=$(list-git-tags https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1)
+      if [ "$latest" != "${version}" ]; then
+        nixpkgs="$(git rev-parse --show-toplevel)"
+        nix_file="$nixpkgs/pkgs/development/interpreters/erlang/R${major}.nix"
+        update-source-version ${baseName}R${major} "$latest" --version-key=version --print-changes --file="$nix_file"
+      else
+        echo "${baseName}R${major} is already up-to-date"
+      fi
+    '';
+  };
+
   meta = with lib; ({
     homepage = "https://www.erlang.org/";
     downloadPage = "https://www.erlang.org/download.html";
diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix
index 3713a257663..a3c953b8a30 100644
--- a/pkgs/development/libraries/aqbanking/sources.nix
+++ b/pkgs/development/libraries/aqbanking/sources.nix
@@ -1,11 +1,11 @@
 {
-  gwenhywfar.version = "5.4.1";
-  gwenhywfar.sha256 = "16waq39mbhhjcma2ykdbqvpcw0ba3ksqqwsp55zczhg320s41zgv";
-  gwenhywfar.releaseId = "344";
+  gwenhywfar.version = "5.6.0";
+  gwenhywfar.sha256 = "1isbj4a7vdgagp3kkvx2pjcjy8lba6kzjr11fmr06aci1694dbsp";
+  gwenhywfar.releaseId = "364";
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "158";
-  aqbanking.version = "6.2.5";
-  aqbanking.sha256 = "1pyny15g8y5dzzl4yg7jjnavygfzsi2g1jl7as9grqy77q70cnyg";
-  aqbanking.releaseId = "342";
+  aqbanking.version = "6.2.10";
+  aqbanking.sha256 = "13dbpi58mw09gnsza11pxy5c8j99r11nkyg2j53y4lqk47rmyhvq";
+  aqbanking.releaseId = "368";
 }
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index 39fb5d7eb21..988a27a5878 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -1,24 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.5.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg";
+    sha256 = "sha256-NH66WAOqAaMm/IIu8L5R7CUFhX56yTLH7mPY1Q4jDC4=";
   };
 
-  patches = [
-    # Remove once https://github.com/awslabs/aws-c-common/pull/764 is merged
-    (fetchpatch {
-      url = "https://github.com/awslabs/aws-c-common/commit/4f85fb3e398d4e4d320d3559235267b26cbc9531.patch";
-      sha256 = "1jg3mz507w4kwgmg57kvz419gvw47pd9rkjr6jhsmvardmyyskap";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index d232e4e2208..1d666d4d984 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.10.1";
+  version = "5.10.2";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8upRrk2x2gaS+JwCmZblrRSRxy0uNfFLTW7ua2ix2wI=";
+    sha256 = "sha256-hPcmO2nzXCuhU2GjE0B1Bz9OkJ4mY2txFr+cWGaw1bo=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index fa4421b9413..fac8a40bb24 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jasper";
-  version = "2.0.26";
+  version = "2.0.28";
 
   src = fetchFromGitHub {
     owner = "jasper-software";
     repo = pname;
     rev = "version-${version}";
-    hash = "sha256-zmoC8nIsQm2u2cSzu2prdyofo3JFNzJ1bjbIZ3YaAn4=";
+    hash = "sha256-f3UG5w8GbwZcsFBaQN6v8kdEkKIGgizcAgaVZtKwS78=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index e55cda51748..45b79571b43 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.17.0";
+  version = "3.18.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "sha256-VlKJrGZOMmnWFmdwV3SchBfyRsHM78eNV+uWONLZbJI=";
+    sha256 = "sha256-cQNcKa/mEdeH1MaLhj203MOphfYDTQ5pn/GzUmSZGcE=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 7d9aa52e596..6607a4d00fb 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -7,7 +7,7 @@ assert enablePython -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.42.0";
+  version = "2.43.0";
 
   outputs = [ "out" "dev" ];
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "IntelRealSense";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8r8j0g7EaSUWujX+BNdkIJhzaLITMLsozjhOtQBriTA=";
+    sha256 = "sha256-N7EvpcJjtK3INHK7PgoiEVIMq9zGcHKMeI+/dwZ3bNs=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 9211d9d233f..a0248e774b7 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librsync";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "librsync";
     repo = "librsync";
     rev = "v${version}";
-    sha256 = "131cd4asmpm4nskidzgiy8xibbnpibvvbq857a0pcky77min5g4z";
+    sha256 = "sha256-GNwOIZ2UjvsYIthotiPDBrabYzCGFG/YVEbwVa9Nwi4=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/medfile/default.nix b/pkgs/development/libraries/medfile/default.nix
index a89cb43d261..c8ff0c05ade 100644
--- a/pkgs/development/libraries/medfile/default.nix
+++ b/pkgs/development/libraries/medfile/default.nix
@@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1khzclkrd1yn9mz3g14ndgpsbj8j50v8dsjarcj6kkn9zgbbazc4";
   };
 
+  patches = [
+    ./hdf5-1.12.patch
+  ];
+
   nativeBuildInputs = [ cmake ];
   buildInputs = [ hdf5 ];
 
diff --git a/pkgs/development/libraries/medfile/hdf5-1.12.patch b/pkgs/development/libraries/medfile/hdf5-1.12.patch
new file mode 100644
index 00000000000..ab73e00487c
--- /dev/null
+++ b/pkgs/development/libraries/medfile/hdf5-1.12.patch
@@ -0,0 +1,86 @@
+--- a/config/cmake_files/medMacros.cmake
++++ b/config/cmake_files/medMacros.cmake
+@@ -447,7 +447,7 @@ MACRO(MED_FIND_HDF5)
+     ##
+     ## Requires 1.10.x version
+     ##
+-    IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1)
++    IF (HDF5_VERSION VERSION_LESS 1.10.2)
+         MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.")
+     ENDIF()
+     ##
+--- a/src/ci/MEDfileCompatibility.c
++++ b/src/ci/MEDfileCompatibility.c
+@@ -71,7 +71,7 @@ MEDfileCompatibility(const char* const filename,
+   _hversionMMR=10000*_hmajeur+100*_hmineur+_hrelease;
+   /* ISCRUTE(_hversionMMR); */
+   /* ISCRUTE(HDF_VERSION_NUM_REF); */
+-  if ( (_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF) ) *hdfok = MED_TRUE;
++  if ( ((_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF)) || _hversionMMR > HDF_VERSION_NUM_REF ) *hdfok = MED_TRUE;
+ 
+   /* TODO : Vérifier si la version mineure HDF du fichier est supérieure
+      à la version mineure de la bibliothèque HDF utilisée :
+@@ -113,7 +113,7 @@ MEDfileCompatibility(const char* const filename,
+ #if MED_NUM_MAJEUR != 4
+ #error "Don't forget to update the test version here when you change the major version of the library !"
+ #endif
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !"
+ #error "Cf. _MEDfileCreate ..."
+ #endif
+--- a/src/hdfi/_MEDfileCreate.c
++++ b/src/hdfi/_MEDfileCreate.c
+@@ -159,7 +159,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access
+    * En HDF5-1.10.0p1 cela n'a aucun effet ! 
+    * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+    */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+    
+--- a/src/hdfi/_MEDfileOpen.c
++++ b/src/hdfi/_MEDfileOpen.c
+@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod
+ 
+    •   The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order). 
+   */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ /* L'avantage de bloquer le modèle interne HDF5 
+--- a/src/hdfi/_MEDmemFileOpen.c
++++ b/src/hdfi/_MEDmemFileOpen.c
+@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile
+     goto ERROR;
+   }
+ 
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+   if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) {
+--- a/src/hdfi/_MEDparFileCreate.c
++++ b/src/hdfi/_MEDparFileCreate.c
+@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc
+    * En HDF5-1.10.0p1 cela n'a aucun effet ! 
+    * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+    */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+    
+--- a/src/hdfi/_MEDparFileOpen.c
++++ b/src/hdfi/_MEDparFileOpen.c
+@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access
+     MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG);
+     goto ERROR;
+   }
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 12
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+   if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index b45c2d92b2f..021dc1c3d95 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mlt";
-  version = "6.24.0";
+  version = "6.26.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "1my43ica2qax2622307dv4gn3w8hkchy643i9pq8r9yh2hd4pvs9";
+    sha256 = "FPXROiX7A6oB1VMipw3slyhk7q4fO6m9amohnC67lnA=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch b/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch
deleted file mode 100644
index d91e43ba2d3..00000000000
--- a/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/demos/programs/workspace/xrmLib.c
-+++ b/demos/programs/workspace/xrmLib.c
-@@ -30,7 +30,14 @@ static char rcsid[] = "$XConsortium: xrmLib.c /main/6 1995/07/14 10:01:41 drk $"
- #endif
- 
- #include <stdio.h>
--#include <malloc.h>
-+#if defined(__cplusplus) || defined(__STDC__) || defined(__EXTENSIONS__)
-+#  include <stdlib.h>
-+#  if defined(HAVE_MALLOC_H)
-+#  include <malloc.h>
-+#  elif defined(HAVE_SYS_MALLOC_H)
-+#  include <sys/malloc.h>
-+#  endif
-+#endif
- #include <Xm/Xm.h>
- #include "wsm.h"
- #include "wsmDebug.h"
-
diff --git a/pkgs/development/libraries/motif/default.nix b/pkgs/development/libraries/motif/default.nix
index 0499aaec532..f99bd8f2630 100644
--- a/pkgs/development/libraries/motif/default.nix
+++ b/pkgs/development/libraries/motif/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, libtool
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libtool
 , xlibsWrapper, xbitmaps, libXrender, libXmu, libXt
 , expat, libjpeg, libpng, libiconv
 , flex
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "motif";
-  version = "2.3.6";
+  version = "2.3.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/motif/${pname}-${version}.tar.gz";
-    sha256 = "1ksqbp0bzdw6wcrx8s4hj4ivvxmw54hz85l2xfigb87cxmmhx0gs";
+    sha256 = "1rxwkrhmj8sfg7dwmkhq885valwqbh26d79033q7vb7fcqv756w5";
   };
 
   buildInputs = [
@@ -26,26 +26,27 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libXp libXau ];
 
-  hardeningDisable = [ "format" ];
-
-  makeFlags = [ "CFLAGS=-fno-strict-aliasing" ];
-
-  prePatch = ''
-    rm lib/Xm/Xm.h
-  '' + lib.optionalString (!demoSupport) ''
+  prePatch = lib.optionalString (!demoSupport) ''
     sed '/^SUBDIRS =,^$/s/\<demos\>//' -i Makefile.{am,in}
   '';
 
-  patches = [ ./Remove-unsupported-weak-refs-on-darwin.patch
-              ./Use-correct-header-for-malloc.patch
-              ./Add-X.Org-to-bindings-file.patch
-            ];
+  patches = [
+    ./Remove-unsupported-weak-refs-on-darwin.patch
+    ./Add-X.Org-to-bindings-file.patch
+    (fetchpatch rec {
+      name = "fix-format-security.patch";
+      url = "https://raw.githubusercontent.com/void-linux/void-packages/b9a1110dabb01c052dadc1abae1413bd4afe3652/srcpkgs/motif/patches/02-${name}";
+      sha256 = "13vzpf8yxvhf4gl7q0yzlr6ak1yzx382fsqsrv5lc8jbbg4nwrrq";
+    })
+  ];
+
+  enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://motif.ics.com";
     description = "Unix standard widget-toolkit and window-manager";
-    platforms = with platforms; linux ++ darwin;
-    license = with licenses; [ lgpl21 ];
-    maintainers = with maintainers; [ ];
+    platforms = platforms.unix;
+    license = with licenses; [ lgpl21Plus ];
+    maintainers = with maintainers; [ qyliss ];
   };
 }
diff --git a/pkgs/development/libraries/notcurses/default.nix b/pkgs/development/libraries/notcurses/default.nix
index 9b5043a1e23..dd2a816f7d3 100644
--- a/pkgs/development/libraries/notcurses/default.nix
+++ b/pkgs/development/libraries/notcurses/default.nix
@@ -3,7 +3,7 @@
   multimediaSupport ? true
 }:
 let
-  version = "2.2.3";
+  version = "2.2.4";
 in
 stdenv.mkDerivation {
   pname = "notcurses";
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     owner  = "dankamongmen";
     repo   = "notcurses";
     rev    = "v${version}";
-    sha256 = "sha256-O6bu/tEotsxHAx6rCi0xRaklmF0l6neYwwscF2w0HJg=";
+    sha256 = "sha256-FScs6eQxhRMEyPDSD+50RO1B6DIAo+KnvHP3RO2oAnw=";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/oneDNN/default.nix b/pkgs/development/libraries/oneDNN/default.nix
index 93da285e824..cce17acbf0a 100644
--- a/pkgs/development/libraries/oneDNN/default.nix
+++ b/pkgs/development/libraries/oneDNN/default.nix
@@ -5,13 +5,13 @@
 # https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
 stdenv.mkDerivation rec {
   pname = "oneDNN";
-  version = "2.1.3";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "oneapi-src";
     repo = "oneDNN";
     rev = "v${version}";
-    sha256 = "sha256-xByu0HWeyDg5WV/zVO4HO/uwZ2RPrud0FlZHPfFom1E=";
+    sha256 = "sha256-orsllgBt2EHuZOy9vkgDK3XT6BfbtyIPvO4REB9tAgs=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix
new file mode 100644
index 00000000000..a083c06a334
--- /dev/null
+++ b/pkgs/development/libraries/openvino/default.nix
@@ -0,0 +1,121 @@
+{ lib
+, addOpenGLRunpath
+, autoPatchelfHook
+, stdenv
+, fetchFromGitHub
+, cmake
+, git
+, protobuf
+, tbb
+, opencv
+, unzip
+, shellcheck
+, python
+, enablePython ? false
+}:
+
+let
+
+  onnx_src = fetchFromGitHub {
+    owner = "onnx";
+    repo = "onnx";
+    rev = "v1.8.1";
+    sha256 = "+1zNnZ4lAyVYRptfk0PV7koIX9FqcfD1Ah33qj/G2rA=";
+  };
+
+in
+stdenv.mkDerivation rec {
+  pname = "openvino";
+  version = "2021.2";
+
+  src = fetchFromGitHub {
+    owner = "openvinotoolkit";
+    repo = "openvino";
+    rev = version;
+    sha256 = "pv4WTfY1U5GbA9Yj07UOLQifvVH3oDfWptxxYW5IwVQ=";
+    fetchSubmodules = true;
+  };
+
+  dontUseCmakeBuildDir = true;
+
+  cmakeFlags = [
+    "-DNGRAPH_USE_SYSTEM_PROTOBUF:BOOL=ON"
+    "-DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON"
+    "-DFETCHCONTENT_SOURCE_DIR_EXT_ONNX:STRING=${onnx_src}"
+    "-DENABLE_VPU:BOOL=OFF"
+    "-DTBB_DIR:STRING=${tbb}"
+    "-DENABLE_OPENCV:BOOL=ON"
+    "-DOPENCV:STRING=${opencv}"
+    "-DENABLE_GNA:BOOL=OFF"
+    "-DENABLE_SPEECH_DEMO:BOOL=OFF"
+    "-DBUILD_TESTING:BOOL=OFF"
+    "-DENABLE_CLDNN_TESTS:BOOL=OFF"
+    "-DNGRAPH_INTERPRETER_ENABLE:BOOL=ON"
+    "-DNGRAPH_TEST_UTIL_ENABLE:BOOL=OFF"
+    "-DNGRAPH_UNIT_TEST_ENABLE:BOOL=OFF"
+    "-DENABLE_SAMPLES:BOOL=OFF"
+    "-DENABLE_CPPLINT:BOOL=OFF"
+  ] ++ lib.optional enablePython [
+    "-DENABLE_PYTHON:BOOL=ON"
+  ];
+
+  preConfigure = ''
+    # To make install openvino inside /lib instead of /python
+    substituteInPlace inference-engine/ie_bridges/python/CMakeLists.txt \
+      --replace 'DESTINATION python/''${PYTHON_VERSION}/openvino' 'DESTINATION lib/''${PYTHON_VERSION}/site-packages/openvino' \
+      --replace 'DESTINATION python/''${PYTHON_VERSION}' 'DESTINATION lib/''${PYTHON_VERSION}/site-packages/openvino'
+    substituteInPlace inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt \
+      --replace 'python/''${PYTHON_VERSION}/openvino/inference_engine' 'lib/''${PYTHON_VERSION}/site-packages/openvino/inference_engine'
+
+    # Used to download OpenCV based on Linux Distro and make it use system OpenCV
+    substituteInPlace inference-engine/cmake/dependencies.cmake \
+        --replace 'include(linux_name)' ' ' \
+        --replace 'if (ENABLE_OPENCV)' 'if (ENABLE_OPENCV AND NOT DEFINED OPENCV)'
+
+    cmakeDir=$PWD
+    mkdir ../build
+    cd ../build
+  '';
+
+  autoPatchelfIgnoreMissingDeps = true;
+
+  nativeBuildInputs = [
+    cmake
+    autoPatchelfHook
+    addOpenGLRunpath
+  ];
+
+  buildInputs = [
+    git
+    protobuf
+    opencv
+    unzip
+    python
+    tbb
+    shellcheck
+  ] ++ lib.optional enablePython (with python.pkgs; [
+    cython
+    pybind11
+  ]);
+
+  postFixup = ''
+    # Link to OpenCL
+    find $out -type f \( -name '*.so' -or -name '*.so.*' \) | while read lib; do
+      addOpenGLRunpath "$lib"
+    done
+  '';
+
+  meta = with lib; {
+    description = "OpenVINOâ„¢ Toolkit repository";
+    longDescription = ''
+      This toolkit allows developers to deploy pre-trained deep learning models through a high-level C++ Inference Engine API integrated with application logic.
+
+      This open source version includes several components: namely Model Optimizer, nGraph and Inference Engine, as well as CPU, GPU, MYRIAD,
+      multi device and heterogeneous plugins to accelerate deep learning inferencing on Intel® CPUs and Intel® Processor Graphics.
+      It supports pre-trained models from the Open Model Zoo, along with 100+ open source and public models in popular formats such as Caffe*, TensorFlow*, MXNet* and ONNX*.
+    '';
+    homepage = "https://docs.openvinotoolkit.org/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ tfmoraes ];
+  };
+}
diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix
index 1bec3300f80..48fc95e788a 100644
--- a/pkgs/development/libraries/physics/pythia/default.nix
+++ b/pkgs/development/libraries/physics/pythia/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pythia";
-  version = "8.303";
+  version = "8.304";
 
   src = fetchurl {
     url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
-    sha256 = "0gli6zf8931i7kyminppisc9d0q69xxnalvhld5fgnkh4q82nz6d";
+    sha256 = "18frx7xyvxnz57fxjncjyjzsk169h0jz6hxzjfpmwm3dzcc712fk";
   };
 
   buildInputs = [ boost fastjet hepmc zlib rsync lhapdf ];
diff --git a/pkgs/development/libraries/physics/rivet/darwin.patch b/pkgs/development/libraries/physics/rivet/darwin.patch
deleted file mode 100644
index 2d397f1da6c..00000000000
--- a/pkgs/development/libraries/physics/rivet/darwin.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/include/Rivet/Tools/osdir.hh b/include/Rivet/Tools/osdir.hh
-index 05f06ca..59af7de 100644
---- a/include/Rivet/Tools/osdir.hh
-+++ b/include/Rivet/Tools/osdir.hh
-@@ -21,7 +21,7 @@
- 
- /// @cond OSDIR
- 
--#if defined(unix) || defined(__unix) || defined(__unix__)
-+#if defined(unix) || defined(__unix) || defined(__unix__) || defined(__APPLE__)
- #define OSLINK_OSDIR_POSIX
- #elif defined(_WIN32)
- #define OSLINK_OSDIR_WINDOWS
-@@ -32,18 +32,7 @@
- #include <string>
- 
- #if defined(OSLINK_OSDIR_NOTSUPPORTED)
--
--namespace oslink
--{
--	class directory
--	{
--		public:
--			directory(const std::string&)		{ }
--			operator void*() const				{ return (void*)0; }
--			std::string next()					{ return ""; }
--	};
--}
--
-+#error Platform misdetected or oslink is not implemented
- #elif defined(OSLINK_OSDIR_POSIX)
- 
- #include <sys/types.h>
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index 44065904d99..9d312498704 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -1,50 +1,14 @@
-{ lib, stdenv, fetchurl, fetchpatch, fastjet, fastjet-contrib, ghostscript, hepmc, imagemagick, less, python3, rsync, texlive, yoda, which, makeWrapper }:
+{ lib, stdenv, fetchurl, fastjet, fastjet-contrib, ghostscript, hepmc, imagemagick, less, python3, rsync, texlive, yoda, which, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "rivet";
-  version = "3.1.3";
+  version = "3.1.4";
 
   src = fetchurl {
     url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    sha256 = "08g0f84l7r6vm4n7gn36qi3bzacscpv061m9xar2572vf10wxpak";
+    sha256 = "sha256-N+3ICilozhAxWJ5DumtJKHfKeQG+o4+Lt1NqXIz4EA0=";
   };
 
-  patches = [
-    ./darwin.patch # configure relies on impure sw_vers to -Dunix
-
-    # fix compilation errors (fails depending on number of cores filesystem ordering?)
-    # https://gitlab.com/hepcedar/rivet/-/merge_requests/220
-    (fetchpatch {
-      url = "https://gitlab.com/hepcedar/rivet/commit/3203bf12a4bef81f880789eb9cde7ff489ae5115.diff";
-      sha256 = "0zn5yxlv6dk4vcqgz0syzb9mp4qc9smpmgshcqimcvii7qcp20mc";
-    })
-    # https://gitlab.com/hepcedar/rivet/-/merge_requests/223
-    (fetchpatch {
-      url = "https://gitlab.com/hepcedar/rivet/commit/476f267c46b126fa163a92aa6cbcb7806c4624c3.diff";
-      sha256 = "0dhkraddzp06v5z0d2wf0c8vsd50hl5pqsjgsrb8x14d0vwi8rnc";
-    })
-
-    # fix for new python and fix transparency gs 9.52
-    # gs 9.52 opacity fix
-    (fetchpatch {
-      url = "https://gitlab.com/hepcedar/rivet/commit/25c4bee19882fc56407b0a438f86e1a11753d5e6.diff";
-      sha256 = "18p2wk54r0qfq6l27z6805zq1z5jhk5sbxbjixgibzq8prj1a78v";
-    })
-
-    # make-plots: fix wrong logic in Plot.set_xmax()
-    (fetchpatch {
-      url = "https://gitlab.com/hepcedar/rivet/commit/d371c6c10cf67a41c0e4e27c16ff5723d6276ad2.diff";
-      sha256 = "0w622rd5darj7qafbbc84blznvy5rnhsdyr2n1i1fkz19mrf5h2p";
-    })
-
-    # fix https://gitlab.com/hepcedar/rivet/-/issues/200
-    (fetchpatch {
-      url = "https://gitlab.com/hepcedar/rivet/commit/442dbd17dcb3bd6e30b26e54c50f6a8237f966f9.diff";
-      includes = [ "bin/make-pgfplots" "bin/make-plots" "bin/make-plots-fast" ];
-      sha256 = "0c3rysgcib49km1zdpgsdai3xi4s6ijqgxp4whn04mrh3qf4bmr3";
-    })
-  ];
-
   latex = texlive.combine { inherit (texlive)
     scheme-basic
     collection-pstricks
diff --git a/pkgs/development/ocaml-modules/janestreet/0.12.nix b/pkgs/development/ocaml-modules/janestreet/0.12.nix
index 295960764dc..10d8886d994 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.12.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.12.nix
@@ -1,13 +1,10 @@
-{ janePackage
-, ctypes
-, num
-, octavius
-, ppxlib
-, re
+{ self
 , openssl
 }:
 
-rec {
+with self;
+
+{
 
   ocaml-compiler-libs = janePackage {
     pname = "ocaml-compiler-libs";
diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix
index 738828e8308..eb429b2bb6d 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -1,30 +1,11 @@
-{ janePackage
-, alcotest
-, angstrom
-, angstrom-async
-, base64
-, cryptokit
-, ctypes
-, dune-configurator
-, faraday
-, inotify
-, js_of_ocaml
-, js_of_ocaml-ppx
-, lambdasoup
-, magic-mime
-, num
-, octavius
-, ppxlib
-, re
-, tyxml
-, uri-sexp
-, zarith
+{ self
 , openssl
-, ounit
 , zstd
 }:
 
-rec {
+with self;
+
+{
 
   accessor = janePackage {
     pname = "accessor";
diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix
index a4c026ffb8b..679ef4a58e4 100644
--- a/pkgs/development/ocaml-modules/janestreet/default.nix
+++ b/pkgs/development/ocaml-modules/janestreet/default.nix
@@ -1,10 +1,10 @@
-{ janePackage, ocamlbuild, angstrom, cryptokit, ctypes,
-  magic-mime, ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re,
-  num, openssl
-, ppxlib
+{ self
+, openssl
 }:
 
-rec {
+with self;
+
+{
 
   ocaml-compiler-libs = janePackage {
     pname = "ocaml-compiler-libs";
diff --git a/pkgs/development/ocaml-modules/janestreet/old.nix b/pkgs/development/ocaml-modules/janestreet/old.nix
index 447a9cdf71f..8b4a6ed5296 100644
--- a/pkgs/development/ocaml-modules/janestreet/old.nix
+++ b/pkgs/development/ocaml-modules/janestreet/old.nix
@@ -1,8 +1,32 @@
-{ stdenv, lib, janePackage, ocaml, ocamlbuild, cryptokit, ctypes, magic-mime,
-  ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith, num,
-  openssl }:
-
-rec {
+{ self
+, super
+, lib
+, stdenv
+, openssl
+}:
+
+let
+  inherit (super)
+    janePackage
+    ocaml
+    ocamlbuild
+    cryptokit
+    ctypes
+    magic-mime
+    ocaml-migrate-parsetree
+    octavius
+    ounit
+    ppx_deriving
+    re
+    zarith
+    num
+    ;
+
+in
+
+with self;
+
+{
 
   # Jane Street packages, up to ppx_core
 
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
index 3265413d98f..eec6f447dc4 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
@@ -7,11 +7,11 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.08";
 
   pname = "mirage-crypto";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchurl {
     url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-v${version}.tbz";
-    sha256 = "53e0ae90f19651ab7f09156557ea5ec07bce7a52468ec6687471e0333f3e2133";
+    sha256 = "da200c0afdbe63474ab19f2bc616e26c10b0e4fbb53fb97fefb2794212f5d442";
   };
 
   useDune2 = true;
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
index 701604c8710..4921f579c41 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/jsonrpc.nix
@@ -4,23 +4,36 @@
 , ocaml-syntax-shims
 , yojson
 , result
-, fetchzip
+, fetchurl
 , lib
+, ocaml
 }:
 
+let params =
+  if lib.versionAtLeast ocaml.version "4.12"
+  then {
+    version = "1.5.0";
+    sha256 = "0g82m3jrp4s0m3fn9xmm8khrb3acccq8ns9p62bqa09pjd4vgdk2";
+  } else {
+    version = "1.4.1";
+    sha256 = "1ssyazc0yrdng98cypwa9m3nzfisdzpp7hqnx684rqj8f0g3gs6f";
+  }
+; in
 
 buildDunePackage rec {
   pname = "jsonrpc";
-  version = "1.4.1";
-  src = fetchzip {
+  inherit (params) version;
+  src = fetchurl {
     url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/jsonrpc-${version}.tbz";
-    sha256 = "0hzpw17qfhb0cxgwah1fv4k300r363dy1kv0977anl44dlanx1v5";
+    inherit (params) sha256;
   };
 
   useDune2 = true;
   minimumOCamlVersion = "4.06";
 
-  buildInputs = [ yojson stdlib-shims ocaml-syntax-shims ppx_yojson_conv_lib result ];
+  buildInputs = [ yojson stdlib-shims ocaml-syntax-shims ];
+
+  propagatedBuildInputs = [ ppx_yojson_conv_lib result ];
 
   meta = with lib; {
     description = "Jsonrpc protocol implementation in OCaml";
diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix
index f2bbfdcec18..04361de7222 100644
--- a/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/pkgs/development/ocaml-modules/printbox/default.nix
@@ -1,21 +1,24 @@
-{ lib, fetchFromGitHub, buildDunePackage, uucp, uutf }:
+{ lib, fetchFromGitHub, buildDunePackage, ocaml, uucp, uutf, mdx }:
 
 buildDunePackage rec {
   pname = "printbox";
-  version = "0.4";
+  version = "0.5";
 
-  minimumOCamlVersion = "4.05";
+  useDune2 = true;
+
+  minimumOCamlVersion = "4.03";
 
   src = fetchFromGitHub {
     owner = "c-cube";
     repo = pname;
     rev = version;
-    sha256 = "0bq2v37v144i00h1zwyqhkfycxailr245n97yff0f7qnidxprix0";
+    sha256 = "099yxpp7d9bms6dwzp9im7dv1qb801hg5rx6awpx3rpfl4cvqfn2";
   };
 
-  checkInputs = lib.optionals doCheck [ uucp uutf ];
+  checkInputs = [ uucp uutf mdx.bin ];
 
-  doCheck = true;
+  # mdx is not available for OCaml < 4.07
+  doCheck = lib.versionAtLeast ocaml.version "4.07";
 
   meta = {
     homepage = "https://github.com/c-cube/printbox/";
diff --git a/pkgs/development/python-modules/aioemonitor/default.nix b/pkgs/development/python-modules/aioemonitor/default.nix
new file mode 100644
index 00000000000..e78cb83b3f4
--- /dev/null
+++ b/pkgs/development/python-modules/aioemonitor/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytest-raises
+, pytestCheckHook
+, pythonOlder
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "aioemonitor";
+  version = "1.0.5";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0h8zqqy8v8r1fl9bp3m8icr2sy44p0mbfl1hbb0zni17r9r50dhn";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    xmltodict
+  ];
+
+  checkInputs = [
+    aioresponses
+    pytest-asyncio
+    pytest-raises
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace '"pytest-runner>=5.2",' ""
+  '';
+
+  pythonImportsCheck = [ "aioemonitor" ];
+
+  meta = with lib; {
+    description = "Python client for SiteSage Emonitor";
+    homepage = "https://github.com/bdraco/aioemonitor";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiohttp-wsgi/default.nix b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
new file mode 100644
index 00000000000..25264a66527
--- /dev/null
+++ b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiohttp-wsgi";
+  version = "0.8.2";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "etianen";
+    repo = pname;
+    rev = version;
+    sha256 = "0wirn3xqxxgkpy5spicd7p1bkdnsrch61x2kcpdwpixmx961pq7x";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aiohttp_wsgi" ];
+
+  meta = with lib; {
+    description = "WSGI adapter for aiohttp";
+    homepage = "https://github.com/etianen/aiohttp-wsgi";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiolip/default.nix b/pkgs/development/python-modules/aiolip/default.nix
new file mode 100644
index 00000000000..1db1ae1cf03
--- /dev/null
+++ b/pkgs/development/python-modules/aiolip/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiolip";
+  version = "1.1.4";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = version;
+    sha256 = "1f8mlvbnfcn3sigsmjdpdpgxmnbvcjhfr7lzch61i8sy25dgakji";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "'pytest-runner'," ""
+  '';
+
+  pythonImportsCheck = [ "aiolip" ];
+
+  meta = with lib; {
+    description = "Python module for the Lutron Integration Protocol";
+    homepage = "https://github.com/bdraco/aiolip";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiosyncthing/default.nix b/pkgs/development/python-modules/aiosyncthing/default.nix
new file mode 100644
index 00000000000..553876a48cf
--- /dev/null
+++ b/pkgs/development/python-modules/aiosyncthing/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, aioresponses
+, buildPythonPackage
+, fetchFromGitHub
+, expects
+, pytest-asyncio
+, pytest-mock
+, pytestCheckHook
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "aiosyncthing";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "zhulik";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0704qbg3jy80vaw3bcvhy988s1qs3fahpfwkja71fy70bh0vc860";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aioresponses
+    expects
+    pytestCheckHook
+    pytest-asyncio
+    pytest-mock
+  ];
+
+  pythonImportsCheck = [ "aiosyncthing" ];
+
+  meta = with lib; {
+    description = "Python client for the Syncthing REST API";
+    homepage = "https://github.com/zhulik/aiosyncthing";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/arrow/1.nix b/pkgs/development/python-modules/arrow/1.nix
new file mode 100644
index 00000000000..f9b830762b3
--- /dev/null
+++ b/pkgs/development/python-modules/arrow/1.nix
@@ -0,0 +1,41 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder
+, simplejson, typing-extensions, python-dateutil, pytz, pytest-mock, sphinx
+, dateparser, pytestcov, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "arrow";
+  version = "1.0.3";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0793badh4hgbk2c5g70hmbl7n3d4g5d87bcflld0w9rjwy59r71r";
+  };
+
+  propagatedBuildInputs = [ python-dateutil ]
+    ++ lib.optionals (!pythonOlder "3.8") [ typing-extensions ];
+
+  checkInputs = [
+    dateparser
+    pytestCheckHook
+    pytestcov
+    pytest-mock
+    pytz
+    simplejson
+    sphinx
+  ];
+
+  # ParserError: Could not parse timezone expression "America/Nuuk"
+  disabledTests = [
+    "test_parse_tz_name_zzz"
+  ];
+
+  meta = with lib; {
+    description = "Python library for date manipulation";
+    homepage = "https://github.com/crsmithdev/arrow";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ thoughtpolice oxzi ];
+  };
+}
diff --git a/pkgs/development/python-modules/certbot/default.nix b/pkgs/development/python-modules/certbot/default.nix
index 7ae6a3fa0b8..7b4f7064b16 100644
--- a/pkgs/development/python-modules/certbot/default.nix
+++ b/pkgs/development/python-modules/certbot/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "certbot";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1cwhhybj2fjalhhyd184ndn3bid3qib1yy5a93m146cqqgwpw4j6";
+    sha256 = "sha256-J514zgmIcHpwySChFBXGKR4552wS9z5x8Berk/irHSU=";
   };
 
   sourceRoot = "source/${pname}";
diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix
index 8fba64d0a8f..90e34288154 100644
--- a/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "devolo-home-control-api";
-  version = "0.17.1";
+  version = "0.17.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "2Fake";
     repo = "devolo_home_control_api";
     rev = "v${version}";
-    sha256 = "sha256-5PaIZPwikDmT4kmh0Qfg65gBAUYralmO6a22GtzoB7A=";
+    sha256 = "1h7admqb1l28sxwhhkkhw0sfzgpn8zpczvmi3h28f68csflkv379";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/discordpy/default.nix b/pkgs/development/python-modules/discordpy/default.nix
index 94181def867..d4f742d97f5 100644
--- a/pkgs/development/python-modules/discordpy/default.nix
+++ b/pkgs/development/python-modules/discordpy/default.nix
@@ -1,35 +1,40 @@
 { lib
-, fetchFromGitHub
+, aiohttp
 , buildPythonPackage
+, fetchFromGitHub
+, libopus
+, pynacl
 , pythonOlder
-, withVoice ? true, libopus
-, aiohttp
 , websockets
+, withVoice ? true
 }:
 
 buildPythonPackage rec {
   pname = "discord.py";
-  version = "1.7.0";
-  disabled = pythonOlder "3.5.3";
+  version = "1.7.1";
+  disabled = pythonOlder "3.8";
 
-  # only distributes wheels on pypi now
   src = fetchFromGitHub {
     owner = "Rapptz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1i5k2qb894rjksn21pk9shash1y7v4138rkk8mqr1a1yvgnr5ibg";
+    sha256 = "sha256-dpASIqe6rJEyiWJyPbQhq9M54lX1ilfp4UuGnbJcFLo=";
   };
 
-  propagatedBuildInputs = [ aiohttp websockets ];
+  propagatedBuildInputs = [
+    aiohttp
+    websockets
+  ] ++ lib.optionalString withVoice [
+    libopus
+    pynacl
+  ];
+
   patchPhase = ''
-    substituteInPlace "requirements.txt" \
-      --replace "websockets>=6.0,!=7.0,!=8.0,!=8.0.1,<9.0" "websockets"
-  '' + lib.optionalString withVoice ''
     substituteInPlace "discord/opus.py" \
       --replace "ctypes.util.find_library('opus')" "'${libopus}/lib/libopus.so.0'"
   '';
 
-  # only have integration tests with discord
+  # Only have integration tests with discord
   doCheck = false;
 
   pythonImportsCheck = [
@@ -44,7 +49,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A python wrapper for the Discord API";
+    description = "Python wrapper for the Discord API";
     homepage = "https://discordpy.rtfd.org/";
     maintainers = [ maintainers.ivar ];
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/expects/default.nix b/pkgs/development/python-modules/expects/default.nix
new file mode 100644
index 00000000000..093bdc27bf8
--- /dev/null
+++ b/pkgs/development/python-modules/expects/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "expects";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "jaimegildesagredo";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mk1mhh8n9ly820krkhazn1w96f10vmgh21y2wr44sn8vwr4ngyy";
+  };
+
+  # mamba is used as test runner. Not available and should not be used as
+  # it's just another unmaintained test runner.
+  doCheck = false;
+  pythonImportsCheck = [ "expects" ];
+
+  meta = with lib; {
+    description = "Expressive and extensible TDD/BDD assertion library for Python";
+    homepage = "https://expects.readthedocs.io/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/greenlet/default.nix b/pkgs/development/python-modules/greenlet/default.nix
index 846c3d24ef5..c1de32eff51 100644
--- a/pkgs/development/python-modules/greenlet/default.nix
+++ b/pkgs/development/python-modules/greenlet/default.nix
@@ -13,14 +13,11 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "719e169c79255816cdcf6dccd9ed2d089a72a9f6c42273aae12d55e8d35bdcf8";
+    sha256 = "1y6wbg9yhm9dw6m768n4yslp56h85pnxkk3drz6icn15g6f1d7ki";
   };
 
   propagatedBuildInputs = [ six ];
 
-  # No tests in archive
-  doCheck = false;
-
   meta = {
     homepage = "https://pypi.python.org/pypi/greenlet";
     description = "Module for lightweight in-process concurrent programming";
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index 7bf1df61c0d..9e5921bb412 100644
--- a/pkgs/development/python-modules/h5py/default.nix
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -14,7 +14,7 @@ in buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "89474be911bfcdb34cbf0d98b8ec48b578c27a89fdb1ae4ee7513f1ef8d9249e";
+    sha256 = "sha256-iUdL6RG/zbNMvw2YuOxItXjCeon9sa5O51E/HvjZJJ4=";
   };
 
   # avoid strict pinning of numpy
@@ -49,6 +49,7 @@ in buildPythonPackage rec {
   meta = with lib; {
     description = "Pythonic interface to the HDF5 binary data format";
     homepage = "http://www.h5py.org/";
-    license = licenses.bsd2;
+    license = licenses.bsd3;
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix
index 0397a2d7629..a9f0d30ef44 100644
--- a/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.42.0";
+  version = "0.43.0";
 
   src = fetchFromGitHub {
     owner = "nabucasa";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vDgjuNgwNp9cDgiCNxhACOcuaxcrR+0DW/U5OaSW0n4=";
+    sha256 = "sha256-mfVSiquZrCtAza4q9Ocle22e4ZMoTgxguevuOlZEUm8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/homematicip/default.nix b/pkgs/development/python-modules/homematicip/default.nix
new file mode 100644
index 00000000000..b2d6da18fe7
--- /dev/null
+++ b/pkgs/development/python-modules/homematicip/default.nix
@@ -0,0 +1,77 @@
+{ lib
+, aenum
+, aiohttp
+, aiohttp-wsgi
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, pytest-aiohttp
+, pytest-asyncio
+, requests
+, websocket_client
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "homematicip";
+  version = "1.0.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "coreGreenberet";
+    repo = "homematicip-rest-api";
+    rev = version;
+    sha256 = "0bgvrjcf10kiqqkbl56sxx3jydd722b08q2j9c8sxpk0qdrmrinv";
+  };
+
+  propagatedBuildInputs = [
+    aenum
+    aiohttp
+    async-timeout
+    requests
+    websocket_client
+    websockets
+  ];
+
+  checkInputs = [
+    aiohttp-wsgi
+    pytest-aiohttp
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Assert issues with datetime
+    "test_contact_interface_device"
+    "test_dimmer"
+    "test_heating_failure_alert_group"
+    "test_heating"
+    "test_humidity_warning_rule_group"
+    "test_meta_group"
+    "test_pluggable_switch_measuring"
+    "test_rotary_handle_sensor"
+    "test_security_group"
+    "test_shutter_device"
+    "test_smoke_detector"
+    "test_switching_group"
+    "test_temperature_humidity_sensor_outdoor"
+    "test_wall_mounted_thermostat_pro"
+    "test_weather_sensor"
+    # Random failures
+    "test_home_getSecurityJournal"
+    "test_home_unknown_types"
+    # Requires network access
+    "test_websocket"
+  ];
+
+  pythonImportsCheck = [ "homematicip" ];
+
+  meta = with lib; {
+    description = "Python module for the homematicIP REST API";
+    homepage = "https://github.com/coreGreenberet/homematicip-rest-api";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ifcopenshell/default.nix b/pkgs/development/python-modules/ifcopenshell/default.nix
index 75d1c4d7740..2eedaaece69 100644
--- a/pkgs/development/python-modules/ifcopenshell/default.nix
+++ b/pkgs/development/python-modules/ifcopenshell/default.nix
@@ -1,11 +1,10 @@
 { lib, stdenv
 , buildPythonPackage
 , fetchFromGitHub
-, substituteAll
 , python
 , gcc10
 , cmake
-, boost172
+, boost17x
 , icu
 , swig
 , pcre
@@ -16,29 +15,21 @@
 
 buildPythonPackage rec {
   pname = "ifcopenshell";
-  version = "0.6.0b0";
+  version = "210410";
   format = "other";
 
   src = fetchFromGitHub {
     owner  = "IfcOpenShell";
     repo   = "IfcOpenShell";
-    rev    = "v${version}";
+    rev    = "blenderbim-${version}";
     fetchSubmodules = true;
-    sha256 = "1ad1s9az41z2f46rbi1jnr46mgc0q4h5kz1jm9xdlwifqv9y04g1";
+    sha256 = "1g52asxrqcfj01iqvf03k3bb6rg3v04hh1wc3nmn329a2lwjbxpw";
   };
 
-  patches = [
-    (substituteAll {
-      name = "site-packages.patch";
-      src = ./site-packages.patch;
-      site_packages = "lib/${python.libPrefix}/site-packages";
-    })
-  ];
-
   nativeBuildInputs = [ gcc10 cmake ];
 
   buildInputs = [
-    boost172
+    boost17x
     icu
     pcre
     libxml2
@@ -48,7 +39,9 @@ buildPythonPackage rec {
     cd cmake
   '';
 
+  PYTHONUSERBASE=".";
   cmakeFlags = [
+    "-DUSERSPACE_PYTHON_PREFIX=ON"
     "-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
     "-DOCC_LIBRARY_DIR=${opencascade-occt}/lib"
     "-DOPENCOLLADA_INCLUDE_DIR=${opencollada}/include/opencollada"
diff --git a/pkgs/development/python-modules/ifcopenshell/site-packages.patch b/pkgs/development/python-modules/ifcopenshell/site-packages.patch
deleted file mode 100644
index e61fe2056f7..00000000000
--- a/pkgs/development/python-modules/ifcopenshell/site-packages.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/src/ifcwrap/CMakeLists.txt
-+++ b/src/ifcwrap/CMakeLists.txt
-@@ -68,26 +68,17 @@ endif()
- # directory in which the wrapper can be installed.
- FIND_PACKAGE(PythonInterp)
- IF(PYTHONINTERP_FOUND AND NOT "${PYTHON_EXECUTABLE}" STREQUAL "")
--    EXECUTE_PROCESS(
--        COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import get_python_lib; sys.stdout.write(get_python_lib(1))"
--        OUTPUT_VARIABLE python_package_dir
--    )
--
--    IF("${python_package_dir}" STREQUAL "")
--        MESSAGE(WARNING "Unable to locate Python site-package directory, unable to install the Python wrapper")
--    ELSE()
-         FILE(GLOB_RECURSE sourcefiles "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/*.py")
-         FOREACH(file ${sourcefiles})
-             FILE(RELATIVE_PATH relative "${CMAKE_CURRENT_SOURCE_DIR}/../ifcopenshell-python/ifcopenshell/" "${file}")
-             GET_FILENAME_COMPONENT(dir "${relative}" DIRECTORY)
- 			INSTALL(FILES "${file}"
--                    DESTINATION "${python_package_dir}/ifcopenshell/${dir}")
-+                    DESTINATION "@site_packages@/ifcopenshell/${dir}")
-         ENDFOREACH()
-         INSTALL(FILES "${CMAKE_BINARY_DIR}/ifcwrap/ifcopenshell_wrapper.py"
--                DESTINATION "${python_package_dir}/ifcopenshell")
-+                DESTINATION "@site_packages@/ifcopenshell")
-         INSTALL(TARGETS _ifcopenshell_wrapper
--                DESTINATION "${python_package_dir}/ifcopenshell")
--    ENDIF()
-+                DESTINATION "@site_packages@/ifcopenshell")
- ELSE()
-     MESSAGE(WARNING "No Python interpreter found, unable to install the Python wrapper")
- ENDIF()
diff --git a/pkgs/development/python-modules/isbnlib/default.nix b/pkgs/development/python-modules/isbnlib/default.nix
index 4957b5d3131..f9e4ba6532b 100644
--- a/pkgs/development/python-modules/isbnlib/default.nix
+++ b/pkgs/development/python-modules/isbnlib/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "isbnlib";
-  version = "3.10.6";
+  version = "3.10.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b324c7c8689741bba6d71d1369d49780a24fe946b11a3c005d56e09bf705cd19";
+    sha256 = "sha256-gbMxV9qOLCpIH3rUceG1ds9ZUpjwOv1gyYL3GLkS3Ik=";
   };
 
   checkInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Extract, clean, transform, hyphenate and metadata for ISBNs";
     homepage = "https://github.com/xlcnd/isbnlib";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Only;
     maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/jsonpath-ng/default.nix b/pkgs/development/python-modules/jsonpath-ng/default.nix
index a623c859e16..da3a03c2a3e 100644
--- a/pkgs/development/python-modules/jsonpath-ng/default.nix
+++ b/pkgs/development/python-modules/jsonpath-ng/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook ];
 
-  disabledTestFiles = [
+  disabledTestPaths = [
     # Exclude tests that require oslotest
     "tests/test_jsonpath_rw_ext.py"
   ];
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
index 5576196811a..9a53e852f1a 100644
--- a/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -1,20 +1,37 @@
-{ lib, buildPythonPackage, fetchPypi
-, aiohttp, jsonrpc-base }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, jsonrpc-base
+, pytest-aiohttp
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "jsonrpc-async";
   version = "2.0.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "52b1cfe584df8bc2d19930fc18c5e982378690c825ba6916103724195ba52099";
+  src = fetchFromGitHub {
+    owner = "emlove";
+    repo = pname;
+    rev = version;
+    sha256 = "1ff3523rwgira5llmf5iriwqag7b6ln9vmj0s70yyc6k98yg06rp";
   };
 
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
 
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
+
   meta = with lib; {
     description = "A JSON-RPC client library for asyncio";
-    homepage = "https://github.com/armills/jsonrpc-async";
+    homepage = "https://github.com/emlove/jsonrpc-async";
     license = licenses.bsd3;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix
index bb9dc6bd33e..008b181b9ef 100644
--- a/pkgs/development/python-modules/jsonrpc-base/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-base/default.nix
@@ -1,19 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "jsonrpc-base";
   version = "2.0.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a583a6646cf3860a427d56ea6732e04618a919c5ea4a78d3dcb44d866c11a8e5";
+  src = fetchFromGitHub {
+    owner = "emlove";
+    repo = pname;
+    rev = version;
+    sha256 = "0xxhn0vb7mr8k1w9xbqhhyx9qkgkc318qkyflgfbvjc926n50680";
   };
 
-  propagatedBuildInputs = [ ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
 
   meta = with lib; {
     description = "A JSON-RPC client library base interface";
-    homepage = "https://github.com/armills/jsonrpc-base";
+    homepage = "https://github.com/emlove/jsonrpc-base";
     license = licenses.bsd3;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index 44e3b1a68e5..faecca760d3 100644
--- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -1,7 +1,10 @@
-{ lib, buildPythonPackage, fetchPypi
-, aiohttp, jsonrpc-base, pep8
-, pytestCheckHook
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+, jsonrpc-base
 , pytest-asyncio
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -10,19 +13,24 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10a5490479970b5b7093b4345528c538a1e1a51d9c58ae09ca2742fa6547bc3a";
+    sha256 = "0fmw8xjzlhi7r84swn4w3njy389qqll5ad5ljdq5n2wpg424k98h";
   };
 
-  nativeBuildInputs = [ pep8 ];
+  propagatedBuildInputs = [
+    aiohttp
+    jsonrpc-base
+  ];
 
-  propagatedBuildInputs = [ aiohttp jsonrpc-base ];
+  checkInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
 
-  checkInputs = [ pytestCheckHook pytest-asyncio ];
   pytestFlagsArray = [ "tests.py" ];
 
   meta = with lib; {
     description = "A JSON-RPC websocket client library for asyncio";
-    homepage = "https://github.com/armills/jsonrpc-websocket";
+    homepage = "https://github.com/emlove/jsonrpc-websocket";
     license = licenses.bsd3;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/development/python-modules/karton-asciimagic/default.nix b/pkgs/development/python-modules/karton-asciimagic/default.nix
new file mode 100644
index 00000000000..f62e602896b
--- /dev/null
+++ b/pkgs/development/python-modules/karton-asciimagic/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, karton-core
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "karton-asciimagic";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "CERT-Polska";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yvd0plpwy5qkd2jljpd6wm6dlj2g8csvj1q2md23vsgx7h7v2vm";
+  };
+
+  propagatedBuildInputs = [
+    karton-core
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "karton.core==4.0.5" "karton-core"
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "karton.asciimagic" ];
+
+  meta = with lib; {
+    description = "Decoders for ascii-encoded executables for the Karton framework";
+    homepage = "https://github.com/CERT-Polska/karton-asciimagic";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/karton-classifier/default.nix b/pkgs/development/python-modules/karton-classifier/default.nix
new file mode 100644
index 00000000000..a623486f03c
--- /dev/null
+++ b/pkgs/development/python-modules/karton-classifier/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, chardet
+, fetchFromGitHub
+, karton-core
+, python
+, python_magic
+}:
+
+buildPythonPackage rec {
+  pname = "karton-classifier";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "CERT-Polska";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "05pxv0smrzgmljykc6yx0rx8b85ck7fa09xjkjw0dd7lb6bb19a6";
+  };
+
+  propagatedBuildInputs = [
+    chardet
+    karton-core
+    python_magic
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "chardet==3.0.4" "chardet" \
+      --replace "karton-core==4.0.4" "karton-core" \
+      --replace "python-magic==0.4.18" "python-magic"
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "karton.classifier" ];
+
+  meta = with lib; {
+    description = "File type classifier for the Karton framework";
+    homepage = "https://github.com/CERT-Polska/karton-classifier";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix
new file mode 100644
index 00000000000..b05c6bd343f
--- /dev/null
+++ b/pkgs/development/python-modules/karton-core/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, minio
+, python
+, redis
+}:
+
+buildPythonPackage rec {
+  pname = "karton-core";
+  version = "4.2.0";
+
+  src = fetchFromGitHub {
+    owner = "CERT-Polska";
+    repo = "karton";
+    rev = "v${version}";
+    sha256 = "08j1bm9g58576sswcrpfczaki24nlqqaypp7qv1rxxwsyp5pq6h6";
+  };
+
+  propagatedBuildInputs = [ minio redis ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Distributed malware processing framework";
+    homepage = "https://karton-core.readthedocs.io/";
+    maintainers = with maintainers; [ chivay ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/labgrid/default.nix b/pkgs/development/python-modules/labgrid/default.nix
index e9f0eda56cc..86edc2f8d5e 100644
--- a/pkgs/development/python-modules/labgrid/default.nix
+++ b/pkgs/development/python-modules/labgrid/default.nix
@@ -22,13 +22,13 @@
 
 buildPythonPackage rec {
   pname = "labgrid";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "labgrid-project";
     repo = "labgrid";
     rev = "v${version}";
-    sha256 = "sha256-wMYsgZXNP8kTt/x8c4e96BXrbjIZZ6RsH04BfD0zGwo=";
+    sha256 = "03dg0c5vahrdj1153pmd4653hjisq3cc6niqnwayjx5pjb15ikxk";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/meinheld/default.nix b/pkgs/development/python-modules/meinheld/default.nix
index 9cf02e4c886..0fced5f3e71 100644
--- a/pkgs/development/python-modules/meinheld/default.nix
+++ b/pkgs/development/python-modules/meinheld/default.nix
@@ -9,6 +9,12 @@ buildPythonPackage rec {
     sha256 = "008c76937ac2117cc69e032dc69cea9f85fc605de9bac1417f447c41c16a56d6";
   };
 
+  patchPhase = ''
+    # Allow greenlet-1.0.0.
+    # See https://github.com/mopemope/meinheld/pull/123
+    substituteInPlace setup.py --replace "greenlet>=0.4.5,<0.5" "greenlet>=0.4.5,<2.0.0"
+  '';
+
   propagatedBuildInputs = [ greenlet ];
 
   # No tests
diff --git a/pkgs/development/python-modules/nad-receiver/default.nix b/pkgs/development/python-modules/nad-receiver/default.nix
new file mode 100644
index 00000000000..ee7ac9648e1
--- /dev/null
+++ b/pkgs/development/python-modules/nad-receiver/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, pyserial
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "nad-receiver";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "joopert";
+    repo = "nad_receiver";
+    rev = version;
+    sha256 = "1mylrrvxczhplscayf4hvj56vaqkh7mv32fn9pcvla83y39kg8rw";
+  };
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "nad_receiver" ];
+
+  meta = with lib; {
+    description = "Python interface for NAD receivers";
+    homepage = "https://github.com/joopert/nad_receiver";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/nexia/default.nix b/pkgs/development/python-modules/nexia/default.nix
new file mode 100644
index 00000000000..dbd1c798a3f
--- /dev/null
+++ b/pkgs/development/python-modules/nexia/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "nexia";
+  version = "0.9.6";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = version;
+    sha256 = "1k8h1p2zqm8gghff03jh8q3zik7jw2l686cyyg36r3qrgz6zi19q";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    requests-mock
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace '"pytest-runner",' ""
+  '';
+
+  pythonImportsCheck = [ "nexia" ];
+
+  meta = with lib; {
+    description = "Python module for Nexia thermostats";
+    homepage = "https://github.com/bdraco/nexia";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/omnilogic/default.nix b/pkgs/development/python-modules/omnilogic/default.nix
new file mode 100644
index 00000000000..6e12e573706
--- /dev/null
+++ b/pkgs/development/python-modules/omnilogic/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, aiohttp
+, xmltodict
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "omnilogic";
+  version = "0.4.3";
+
+  src = fetchFromGitHub {
+    owner = "djtimca";
+    repo = "omnilogic-api";
+    rev = "v${version}";
+    sha256 = "19pmbykq0mckk23aj33xbhg3gjx557xy9a481mp6pkmihf2lsc8z";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    xmltodict
+  ];
+
+  postPatch = ''
+    # Is not used but still present in setup.py
+    substituteInPlace setup.py --replace "'config'," ""
+  '';
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "omnilogic" ];
+
+  meta = with lib; {
+    description = "Python interface for the Hayward Omnilogic pool control system";
+    homepage = "https://github.com/djtimca/omnilogic-api";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index 1fbdd6773e6..52c37115411 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "PlexAPI";
-  version = "4.5.0";
+  version = "4.5.1";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "sha256-MjV1JUHrIHTu3UHy4HnMtTEjSCx3U9kMgUkbCJOAZr0=";
+    sha256 = "sha256-WrjIN6+7ybprnjCv57BdKaQYoQ+HgGVr/XytXcbAmwg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plexwebsocket/default.nix b/pkgs/development/python-modules/plexwebsocket/default.nix
index 47e7778fc0f..86bd3c0bdb0 100644
--- a/pkgs/development/python-modules/plexwebsocket/default.nix
+++ b/pkgs/development/python-modules/plexwebsocket/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "plexwebsocket";
-  version = "0.0.12";
+  version = "0.0.13";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jjlawren";
     repo = "python-plexwebsocket";
     rev = "v${version}";
-    sha256 = "1xdzb268c71yb25a5mk4g2jrbq4dv8bynfirs7p4n8a51p030dz6";
+    sha256 = "sha256-u9zO3d0d4Qg+u4ezVRGkNDpJqHkYIMrEMJzBK5WKk8Y=";
   };
 
   propagatedBuildInputs = [ aiohttp ];
diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix
index 29c9698ec28..a04f4a1d8c1 100644
--- a/pkgs/development/python-modules/poetry/default.nix
+++ b/pkgs/development/python-modules/poetry/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "python-poetry";
     repo = pname;
     rev = version;
-    sha256 = "sha256-DgIDtwL7R/oipcU7BMt31+ImgiQ9/9noNVNdpm+OZi8=";
+    sha256 = "0bv6irpscpak6pldkzrx4j12dqnpfz5h8fy5lliglizv0avh60hf";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyclimacell/default.nix b/pkgs/development/python-modules/pyclimacell/default.nix
new file mode 100644
index 00000000000..c9eb0f0353f
--- /dev/null
+++ b/pkgs/development/python-modules/pyclimacell/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, pytz
+}:
+
+buildPythonPackage rec {
+  pname = "pyclimacell";
+  version = "0.18.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "raman325";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0pxlh3lwd1az6v7vbaz9kv6ngqxf34iddp7vr0d0p8apbvinwrha";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    pytz
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pyclimacell" ];
+
+  meta = with lib; {
+    description = "Python client for ClimaCell API";
+    homepage = "https://github.com/raman325/pyclimacell";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pycognito/default.nix b/pkgs/development/python-modules/pycognito/default.nix
index 511df9f07f5..797da43352d 100644
--- a/pkgs/development/python-modules/pycognito/default.nix
+++ b/pkgs/development/python-modules/pycognito/default.nix
@@ -1,7 +1,6 @@
 { lib
 , boto3
 , buildPythonPackage
-, cryptography
 , envs
 , fetchFromGitHub
 , isPy27
@@ -13,20 +12,16 @@
 
 buildPythonPackage rec {
   pname = "pycognito";
-  version = "0.1.5";
+  version = "2021.03.1";
+  disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "pvizeli";
     repo = pname;
     rev = version;
-    sha256 = "sha256-RJeHPCTuaLN+zB0N0FGt4qrTI6++1ks5iBn64Cx0Psc=";
+    sha256 = "sha256-V3R6i1/FZrjcfRqJhczjURr/+x++iCvZ3aCK9wdEL1A=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'python-jose[cryptography]' 'python-jose'
-  '';
-
   propagatedBuildInputs = [
     boto3
     envs
@@ -34,20 +29,24 @@ buildPythonPackage rec {
     requests
   ];
 
-  disabled = isPy27;
-
   checkInputs = [
     mock
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'python-jose[cryptography]' 'python-jose'
+  '';
+
   pytestFlagsArray = [ "tests.py" ];
+
   pythonImportsCheck = [ "pycognito" ];
 
   meta = with lib; {
     description = "Python class to integrate Boto3's Cognito client so it is easy to login users. With SRP support";
-    homepage = "https://GitHub.com/pvizeli/pycognito";
+    homepage = "https://github.com/pvizeli/pycognito";
     license = licenses.asl20;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/development/python-modules/pydanfossair/default.nix b/pkgs/development/python-modules/pydanfossair/default.nix
new file mode 100644
index 00000000000..d492923f07a
--- /dev/null
+++ b/pkgs/development/python-modules/pydanfossair/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pydanfossair";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "JonasPed";
+    repo = "pydanfoss-air";
+    rev = "v${version}";
+    sha256 = "0950skga7x930whdn9f765x7fi8g6rr3zh99zpzaj8avjdwf096b";
+  };
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pydanfossair" ];
+
+  meta = with lib; {
+    description = "Python interface for Danfoss Air HRV systems";
+    homepage = "https://github.com/JonasPed/pydanfoss-air";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyeconet/default.nix b/pkgs/development/python-modules/pyeconet/default.nix
new file mode 100644
index 00000000000..2a5bbd9470f
--- /dev/null
+++ b/pkgs/development/python-modules/pyeconet/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, paho-mqtt
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "pyeconet";
+  version = "0.1.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pxwsmxzbmrab6p6qr867pc43ky2yjv2snra534wrdrknpj40h4s";
+  };
+
+  propagatedBuildInputs = [
+    paho-mqtt
+    aiohttp
+  ];
+
+  # Tests require credentials
+  doCheck = false;
+  pythonImportsCheck = [ "pyeconet" ];
+
+  meta = with lib; {
+    description = "Python interface to the EcoNet API";
+    homepage = "https://github.com/w1ll1am23/pyeconet";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyemby/default.nix b/pkgs/development/python-modules/pyemby/default.nix
new file mode 100644
index 00000000000..81c015df35c
--- /dev/null
+++ b/pkgs/development/python-modules/pyemby/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, aiohttp
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pyemby";
+  version = "1.7";
+
+  src = fetchFromGitHub {
+    owner = "mezz64";
+    repo = pname;
+    rev = version;
+    sha256 = "04fvpv3fz4q160s4ikldwxflxl1zbxgfgy9qs6grgpnd23p0ylk8";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyemby" ];
+
+  meta = with lib; {
+    description = "Python library to interface with the Emby API";
+    homepage = "https://github.com/mezz64/pyemby";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyenvisalink/default.nix b/pkgs/development/python-modules/pyenvisalink/default.nix
new file mode 100644
index 00000000000..54a552f88fe
--- /dev/null
+++ b/pkgs/development/python-modules/pyenvisalink/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, async-timeout
+, buildPythonPackage
+, colorlog
+, fetchPypi
+, pyserial
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyenvisalink";
+  version = "4.1";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1h30gmmynihmjkd107skk2gpi210b6gfdahwqmydyj5isxrvzmq2";
+  };
+
+  propagatedBuildInputs = [
+    async-timeout
+    colorlog
+    pyserial
+  ];
+
+  # Tests require an Envisalink device
+  doCheck = false;
+  pythonImportsCheck = [ "pyenvisalink" ];
+
+  meta = with lib; {
+    description = "Python interface for Envisalink 2DS/3 Alarm API";
+    homepage = "https://github.com/Cinntax/pyenvisalink";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix
new file mode 100644
index 00000000000..14f2e55a1f4
--- /dev/null
+++ b/pkgs/development/python-modules/pyezviz/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pandas
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pyezviz";
+  version = "0.1.8.7";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "baqs";
+    repo = "pyEzviz";
+    rev = version;
+    sha256 = "0k7wl9wf5i0yfdds6f9ma78ckz1p4h72z5s3qg0axzra62fvl9xg";
+  };
+
+  propagatedBuildInputs = [
+    pandas
+    requests
+  ];
+
+  # Project has no tests. test_cam_rtsp.py is more a sample for using the module
+  doCheck = false;
+  pythonImportsCheck = [ "pyezviz" ];
+
+  meta = with lib; {
+    description = "Python interface for for Ezviz cameras";
+    homepage = "https://github.com/baqs/pyEzviz/";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyintesishome/default.nix b/pkgs/development/python-modules/pyintesishome/default.nix
new file mode 100644
index 00000000000..87ed0234729
--- /dev/null
+++ b/pkgs/development/python-modules/pyintesishome/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pyintesishome";
+  version = "1.7.7";
+
+  src = fetchFromGitHub {
+    owner = "jnimmo";
+    repo = "pyIntesisHome";
+    rev = version;
+    sha256 = "1wjh6bib6bg9rf4q9z6dlrf3gncj859hz4i20a9w06jci7b2yaaz";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "pyintesishome" ];
+
+  meta = with lib; {
+    description = "Python interface for IntesisHome devices";
+    homepage = "https://github.com/jnimmo/pyIntesisHome";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pykodi/default.nix b/pkgs/development/python-modules/pykodi/default.nix
index 24450270a83..a0ca9a4c573 100644
--- a/pkgs/development/python-modules/pykodi/default.nix
+++ b/pkgs/development/python-modules/pykodi/default.nix
@@ -1,15 +1,28 @@
-{ lib, buildPythonPackage, fetchPypi, aiohttp, jsonrpc-async, jsonrpc-websocket }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+, jsonrpc-async
+, jsonrpc-websocket
+}:
 
 buildPythonPackage rec {
   pname = "pykodi";
-  version = "0.2.3";
+  version = "0.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "099xyn5aql5mdim6kh4hwx0fg1a3bx73qdvwr48nz23cljmmk1m8";
+    sha256 = "1al2q4jiqxjnz0j2xvs2hqzrz6fm3hmda5zjnkp8gdvgchd1cmn7";
   };
 
-  propagatedBuildInputs = [ aiohttp jsonrpc-async jsonrpc-websocket ];
+  propagatedBuildInputs = [
+    aiohttp
+    jsonrpc-async
+    jsonrpc-websocket
+  ];
+
+  # has no tests
+  doCheck = false;
 
   pythonImportsCheck = [ "pykodi" ];
 
diff --git a/pkgs/development/python-modules/pykwalify/default.nix b/pkgs/development/python-modules/pykwalify/default.nix
index ee5347d77a3..b65c0fd4670 100644
--- a/pkgs/development/python-modules/pykwalify/default.nix
+++ b/pkgs/development/python-modules/pykwalify/default.nix
@@ -1,6 +1,12 @@
-{ lib, buildPythonPackage, fetchPypi
-, dateutil, docopt, pyyaml
-, pytest, testfixtures
+{ lib
+, buildPythonPackage
+, dateutil
+, docopt
+, fetchPypi
+, pytestCheckHook
+, pyyaml
+, ruamel-yaml
+, testfixtures
 }:
 
 buildPythonPackage rec {
@@ -9,24 +15,26 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "796b2ad3ed4cb99b88308b533fb2f559c30fa6efb4fa9fda11347f483d245884";
+    sha256 = "sha256-eWsq0+1MuZuIMItTP7L1WcMPpu+0+p/aETR/SD0kWIQ=";
   };
 
   propagatedBuildInputs = [
     dateutil
     docopt
     pyyaml
+    ruamel-yaml
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
     testfixtures
   ];
 
-  checkPhase = ''
-    pytest \
-      -k 'not test_multi_file_support'
-  '';
+  disabledTests = [
+    "test_multi_file_support"
+  ];
+
+  pythonImportsCheck = [ "pykwalify" ];
 
   meta = with lib; {
     homepage = "https://github.com/Grokzen/pykwalify";
diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix
new file mode 100644
index 00000000000..aa2182c176d
--- /dev/null
+++ b/pkgs/development/python-modules/pylutron-caseta/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchFromGitHub
+, pytest-asyncio
+, pytest-sugar
+, pytest-timeout
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pylutron-caseta";
+  version = "0.9.0";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "gurumitts";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07mz4hn0455qmfqs4xcqlhbf3qvrnmifd0vzpcqlqaqcn009iahq";
+  };
+
+  propagatedBuildInputs = [
+    cryptography
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytest-sugar
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pylutron_caseta" ];
+
+  meta = with lib; {
+    description = "Python module o control Lutron Caseta devices";
+    homepage = "https://github.com/gurumitts/pylutron-caseta";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymazda/default.nix b/pkgs/development/python-modules/pymazda/default.nix
index 4d0dbeaed3b..77d4f175273 100644
--- a/pkgs/development/python-modules/pymazda/default.nix
+++ b/pkgs/development/python-modules/pymazda/default.nix
@@ -1,19 +1,19 @@
 { lib
 , aiohttp
 , buildPythonPackage
-, fetchPypi
 , cryptography
+, fetchPypi
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pymazda";
-  version = "0.1.0";
+  version = "0.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "174c58e6e78081af3105524074ae26e62be683389e495ab85a30e2adbf7ba365";
+    sha256 = "sha256-Z0sRfLkOxYmPDZiSKqqbd68dcTDU+x8QhPe/Oo43KEA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix
index b2b65680fab..0910f601dc2 100644
--- a/pkgs/development/python-modules/pynvim/default.nix
+++ b/pkgs/development/python-modules/pynvim/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a795378bde5e8092fbeb3a1a99be9c613d2685542f1db0e5c6fd467eed56dff";
+    sha256 = "sha256-OnlTeL3l6AkvvrOhqZvpxhPSaFVC8dsOXG/UZ+7Vbf8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pypandoc/default.nix b/pkgs/development/python-modules/pypandoc/default.nix
index c54e220228a..b5acf6c0543 100644
--- a/pkgs/development/python-modules/pypandoc/default.nix
+++ b/pkgs/development/python-modules/pypandoc/default.nix
@@ -1,5 +1,6 @@
-{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch
-, pandoc, haskellPackages, texlive }:
+{ lib, substituteAll, buildPythonPackage, fetchFromGitHub
+, pandoc, texlive
+}:
 
 buildPythonPackage rec {
   pname = "pypandoc";
@@ -12,25 +13,18 @@ buildPythonPackage rec {
     sha256 = "1lpslfns6zxx7b0xr13bzg921lwrj5am8za0b2dviywk6iiib0ld";
   };
 
-  # https://github.com/bebraw/pypandoc/pull/204
   patches = [
-    (fetchpatch {
-      url = "https://github.com/sternenseemann/pypandoc/commit/e422e277dd667c77dae11fad931dbb6015e9a784.patch";
-      sha256 = "11l11kh2a4k0h1g4yvijb60076kzxlkrvda3x6dc1s8fz352bpg3";
+    (substituteAll {
+      src = ./static-pandoc-path.patch;
+      pandoc = "${lib.getBin pandoc}/bin/pandoc";
     })
+    ./skip-tests.patch
+    ./new-pandoc-headings.patch
   ];
 
-  postPatch = ''
-    # set pandoc path statically
-    sed -i '/^__pandoc_path = None$/c__pandoc_path = "${pandoc}/bin/pandoc"' pypandoc/__init__.py
-
-    # Skip test that requires network access
-    sed -i '/test_basic_conversion_from_http_url/i\\    @unittest.skip\("no network access during checkPhase"\)' tests.py
-  '';
-
-  preCheck = ''
-    export PATH="${haskellPackages.pandoc-citeproc}/bin:${texlive.combined.scheme-small}/bin:$PATH"
-  '';
+  checkInputs = [
+    texlive.combined.scheme-small
+  ];
 
   meta = with lib; {
     description = "Thin wrapper for pandoc";
diff --git a/pkgs/development/python-modules/pypandoc/new-pandoc-headings.patch b/pkgs/development/python-modules/pypandoc/new-pandoc-headings.patch
new file mode 100644
index 00000000000..6716bf57d1b
--- /dev/null
+++ b/pkgs/development/python-modules/pypandoc/new-pandoc-headings.patch
@@ -0,0 +1,22 @@
+diff --git a/tests.py b/tests.py
+index aede281..c400888 100755
+--- a/tests.py
++++ b/tests.py
+@@ -295,7 +295,7 @@ class TestPypandoc(unittest.TestCase):
+ 
+     def test_unicode_input(self):
+         # make sure that pandoc always returns unicode and does not mishandle it
+-        expected = u'üäöîôû{0}======{0}{0}'.format(os.linesep)
++        expected = u'# üäöîôû'.format(os.linesep)
+         written = pypandoc.convert_text(u'<h1>üäöîôû</h1>', 'md', format='html')
+         self.assertTrue(isinstance(written, unicode_type))
+         self.assertEqualExceptForNewlineEnd(expected, written)
+@@ -305,7 +305,7 @@ class TestPypandoc(unittest.TestCase):
+         self.assertTrue(isinstance(written, unicode_type))
+ 
+         # Only use german umlauts in th next test, as iso-8859-15 covers that
+-        expected = u'üäö€{0}===={0}{0}'.format(os.linesep)
++        expected = u'# üäö€'.format(os.linesep)
+         bytes = u'<h1>üäö€</h1>'.encode("iso-8859-15")
+ 
+         # Without encoding, this fails as we expect utf-8 per default
diff --git a/pkgs/development/python-modules/pypandoc/skip-tests.patch b/pkgs/development/python-modules/pypandoc/skip-tests.patch
new file mode 100644
index 00000000000..d8f7f972177
--- /dev/null
+++ b/pkgs/development/python-modules/pypandoc/skip-tests.patch
@@ -0,0 +1,20 @@
+diff --git a/tests.py b/tests.py
+index deb50e0..aede281 100755
+--- a/tests.py
++++ b/tests.py
+@@ -179,6 +179,7 @@ class TestPypandoc(unittest.TestCase):
+             received = pypandoc.convert_file(file_url, 'rst')
+             self.assertEqualExceptForNewlineEnd(expected, received)
+ 
++    @unittest.skip("no network access during checkPhase")
+     def test_basic_conversion_from_http_url(self):
+         url = 'https://raw.githubusercontent.com/bebraw/pypandoc/master/README.md'
+         received = pypandoc.convert_file(url, 'html')
+@@ -247,6 +248,7 @@ class TestPypandoc(unittest.TestCase):
+ 
+         self.assertRaises(RuntimeError, f)
+ 
++    @unittest.skip("pandoc-citeproc has been deprecated")
+     def test_conversion_with_citeproc_filter(self):
+         # we just want to get a temp file name, where we can write to
+         filters = ['pandoc-citeproc']
diff --git a/pkgs/development/python-modules/pypandoc/static-pandoc-path.patch b/pkgs/development/python-modules/pypandoc/static-pandoc-path.patch
new file mode 100644
index 00000000000..bb495e78bea
--- /dev/null
+++ b/pkgs/development/python-modules/pypandoc/static-pandoc-path.patch
@@ -0,0 +1,10 @@
+diff --git a/pypandoc/__init__.py b/pypandoc/__init__.py
+index 6d5b79b..65437aa 100644
+--- a/pypandoc/__init__.py
++++ b/pypandoc/__init__.py
+@@ -582,4 +582,4 @@ def clean_pandocpath_cache():
+ 
+ 
+ __version = None
+-__pandoc_path = None
++__pandoc_path = "@pandoc@"
diff --git a/pkgs/development/python-modules/pyruckus/default.nix b/pkgs/development/python-modules/pyruckus/default.nix
new file mode 100644
index 00000000000..5129631426b
--- /dev/null
+++ b/pkgs/development/python-modules/pyruckus/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pexpect
+, python-slugify
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyruckus";
+  version = "0.14";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "gabe565";
+    repo = pname;
+    rev = version;
+    sha256 = "069asvx7g2gywpmid0cbf84mlzhgha4yqd47y09syz09zgv34a36";
+  };
+
+  propagatedBuildInputs = [
+    pexpect
+    python-slugify
+  ];
+
+  # Tests requires network features
+  doCheck = false;
+  pythonImportsCheck = [ "pyruckus" ];
+
+  meta = with lib; {
+    description = "Python client for Ruckus Unleashed";
+    homepage = "https://github.com/gabe565/pyruckus";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix
new file mode 100644
index 00000000000..d0c54c1acfb
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-subprocess/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, pytest
+, pytestCheckHook
+, docutils
+, pygments
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-subprocess";
+  version = "1.0.1";
+
+  disabled = pythonOlder "3.4";
+
+  src = fetchFromGitHub {
+    owner = "aklajnert";
+    repo = "pytest-subprocess";
+    rev = version;
+    sha256 = "16ghwyv1vy45dd9cysjvcvvpm45958x071id2qrvgaziy2j6yx3j";
+  };
+
+  buildInputs = [
+    pytest
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    docutils
+    pygments
+  ];
+
+  disabledTests = [
+    "test_multiple_wait" # https://github.com/aklajnert/pytest-subprocess/issues/36
+  ];
+
+  meta = with lib; {
+    description = "A plugin to fake subprocess for pytest";
+    homepage = "https://github.com/aklajnert/pytest-subprocess";
+    changelog = "https://github.com/aklajnert/pytest-subprocess/blob/${version}/HISTORY.rst";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-smarttub/default.nix b/pkgs/development/python-modules/python-smarttub/default.nix
index d06eb3488fb..d9d1d446d1e 100644
--- a/pkgs/development/python-modules/python-smarttub/default.nix
+++ b/pkgs/development/python-modules/python-smarttub/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "python-smarttub";
-  version = "0.0.21";
+  version = "0.0.23";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "mdz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7phx6CI6sqUCZIUxL6ea25UWAcI3NAz66hIleUfN4bk=";
+    sha256 = "0maqbmk50xjhv9f0zm62ayzyf99kic3c0g5714cqkw3pfp8k75cx";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-telegram-bot/default.nix b/pkgs/development/python-modules/python-telegram-bot/default.nix
index 27276e0619c..b5155fd4bb6 100644
--- a/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -1,28 +1,33 @@
 { lib
-, fetchPypi
+, APScheduler
 , buildPythonPackage
 , certifi
 , decorator
+, fetchPypi
 , future
-, urllib3
-, tornado
-, pytest
-, APScheduler
 , isPy3k
+, tornado
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "python-telegram-bot";
-  version = "13.3";
+  version = "13.4.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-dw1sGfdeUw3n9qh4TsBpRdqEvNI0SnKTK4wqBaeM1CE=";
+    sha256 = "141w3701jjl460702xddqvi3hswp24jnkl6cakvz2aqrmcyxq7sc";
   };
 
-  checkInputs = [ pytest ];
-  propagatedBuildInputs = [ certifi future urllib3 tornado decorator APScheduler ];
+  propagatedBuildInputs = [
+    APScheduler
+    certifi
+    decorator
+    future
+    tornado
+    urllib3
+  ];
 
   # --with-upstream-urllib3 is not working properly
   postPatch = ''
@@ -31,6 +36,7 @@ buildPythonPackage rec {
     substituteInPlace requirements.txt \
       --replace 'APScheduler==3.6.3' 'APScheduler'
   '';
+
   setupPyGlobalFlags = "--with-upstream-urllib3";
 
   # tests not included with release
@@ -38,7 +44,7 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "telegram" ];
 
   meta = with lib; {
-    description = "This library provides a pure Python interface for the Telegram Bot API.";
+    description = "Python library to interface with the Telegram Bot API";
     homepage = "https://python-telegram-bot.org";
     license = licenses.lgpl3Only;
     maintainers = with maintainers; [ veprbl pingiun ];
diff --git a/pkgs/development/python-modules/pythonegardia/default.nix b/pkgs/development/python-modules/pythonegardia/default.nix
new file mode 100644
index 00000000000..4c2394421fb
--- /dev/null
+++ b/pkgs/development/python-modules/pythonegardia/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pythonegardia";
+  version = "1.0.40";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rv6m5zaflf3nanpl1xmfmfcpg8kzcnmniq1hhgrybsspkc7mvry";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # Project has no tests, only two test file for manual interaction
+  doCheck = false;
+  pythonImportsCheck = [ "pythonegardia" ];
+
+  meta = with lib; {
+    description = "Python interface with Egardia/Woonveilig alarms";
+    homepage = "https://github.com/jeroenterheerdt/python-egardia";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 145c9a24075..1436153e1db 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -38,6 +38,7 @@ assert !(MPISupport && cudaSupport) || mpi.cudatoolkit == cudatoolkit;
 assert !cudaSupport || magma.cudatoolkit == cudatoolkit;
 
 let
+  setBool = v: if v then "1" else "0";
   cudatoolkit_joined = symlinkJoin {
     name = "${cudatoolkit.name}-unsplit";
     # nccl is here purely for semantic grouping it could be moved to nativeBuildInputs
@@ -160,16 +161,17 @@ in buildPythonPackage rec {
   # Use pytorch's custom configurations
   dontUseCmakeConfigure = true;
 
-  BUILD_NAMEDTENSOR = true;
-  BUILD_DOCS = buildDocs;
+  BUILD_NAMEDTENSOR = setBool true;
+  BUILD_DOCS = setBool buildDocs;
 
-  USE_MKL = blas.implementation == "mkl";
+  # We only do an imports check, so do not build tests either.
+  BUILD_TEST = setBool false;
 
   # Unlike MKL, oneDNN (née MKLDNN) is FOSS, so we enable support for
   # it by default. PyTorch currently uses its own vendored version
   # of oneDNN through Intel iDeep.
-  USE_MKLDNN = mklDnnSupport;
-  USE_MKLDNN_CBLAS = mklDnnSupport;
+  USE_MKLDNN = setBool mklDnnSupport;
+  USE_MKLDNN_CBLAS = setBool mklDnnSupport;
 
   preBuild = ''
     export MAX_JOBS=$NIX_BUILD_CORES
@@ -198,7 +200,7 @@ in buildPythonPackage rec {
   PYTORCH_BUILD_VERSION = version;
   PYTORCH_BUILD_NUMBER = 0;
 
-  USE_SYSTEM_NCCL=useSystemNccl;                  # don't build pytorch's third_party NCCL
+  USE_SYSTEM_NCCL=setBool useSystemNccl;                  # don't build pytorch's third_party NCCL
 
   # Suppress a weird warning in mkl-dnn, part of ideep in pytorch
   # (upstream seems to have fixed this in the wrong place?)
diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix
index 1eebc05d89e..cb74224770d 100644
--- a/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "pyturbojpeg";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchPypi {
     pname = "PyTurboJPEG";
     inherit version;
-    sha256 = "09688a93331281e566569b4d313e1d1a058ca32ccae1a2473847a10e4ca2f2a7";
+    sha256 = "sha256-dWmj/huCkborcShf2BT+L3ybEfgdKVIGiJnkz755xwo=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix
new file mode 100644
index 00000000000..c7f36fec35a
--- /dev/null
+++ b/pkgs/development/python-modules/pywemo/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, ifaddr
+, lxml
+, poetry-core
+, pytest-vcr
+, pytestCheckHook
+, pythonOlder
+, requests
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "pywemo";
+  version = "0.6.4";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    sha256 = "1hm1vs6m65vqar0lcjnynz0d9y9ri5s75fzhvp0yfjkcnp06gnfa";
+  };
+
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedBuildInputs = [
+    ifaddr
+    requests
+    urllib3
+    lxml
+  ];
+
+  checkInputs = [
+    pytest-vcr
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pywemo" ];
+
+  meta = with lib; {
+    description = "Python module to discover and control WeMo devices";
+    homepage = "https://github.com/pywemo/pywemo";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix
index 2d88460b497..ba41712c236 100644
--- a/pkgs/development/python-modules/pywizlight/default.nix
+++ b/pkgs/development/python-modules/pywizlight/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pywizlight";
-  version = "0.4.5";
+  version = "0.4.6";
 
   src = fetchFromGitHub {
     owner = "sbidy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-E2rpkdj93LymlkST8HgZ+8VcJFOWwz8787NPfTCSXFY=";
+    sha256 = "sha256-BCHLd1SbdHWrl7dcLD69t2K5Sa1WtGpMxTmMyDWl9u4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sleepyq/default.nix b/pkgs/development/python-modules/sleepyq/default.nix
new file mode 100644
index 00000000000..0a335de3177
--- /dev/null
+++ b/pkgs/development/python-modules/sleepyq/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, inflection
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "sleepyq";
+  version = "0.8.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1bhzrxpzglfw4qbqfzyxr7dmmavzq4pq0h90jh0aa8vdw7iy7g7v";
+  };
+
+  propagatedBuildInputs = [
+    inflection
+    requests
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "sleepyq" ];
+
+  meta = with lib; {
+    description = "Python module for SleepIQ API";
+    homepage = "https://github.com/technicalpickles/sleepyq";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/snitun/default.nix b/pkgs/development/python-modules/snitun/default.nix
index 901987fbff6..10eada9f095 100644
--- a/pkgs/development/python-modules/snitun/default.nix
+++ b/pkgs/development/python-modules/snitun/default.nix
@@ -22,6 +22,8 @@ buildPythonPackage rec {
     # port binding conflicts
     "test_snitun_single_runner_timeout"
     "test_snitun_single_runner_throttling"
+    # ConnectionResetError: [Errno 54] Connection reset by peer
+    "test_peer_listener_timeout"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/speedtest-cli/default.nix b/pkgs/development/python-modules/speedtest-cli/default.nix
index 7476a54a98b..b4842a54761 100644
--- a/pkgs/development/python-modules/speedtest-cli/default.nix
+++ b/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -7,11 +7,11 @@
 # required for home-assistant
 buildPythonPackage rec {
   pname = "speedtest-cli";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0m1fpsb318mrpliw026a7nhx8iky306rmfi565734k7r49i3h7fg";
+    sha256 = "1w4h7m0isbvfy4zx6m5j4594p5y4pjbpzsr0h4yzmdgd7hip69sy";
   };
 
   # tests require working internet connection
diff --git a/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix b/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix
new file mode 100644
index 00000000000..0f0b6c545cf
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchPypi, sphinx, sphinxcontrib-tikz }:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-bayesnet";
+  version = "0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x1kisvj7221cxfzmwplx3xlwbavl636fpncnjh7gghp1af71clw";
+  };
+
+  propagatedBuildInputs = [ sphinx sphinxcontrib-tikz ];
+
+  # No tests
+  doCheck = false;
+  pythonImportsCheck = [ "sphinxcontrib.bayesnet" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/jluttine/sphinx-bayesnet";
+    description = "Bayesian networks and factor graphs in Sphinx using TikZ syntax";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ jluttine ];
+  };
+}
diff --git a/pkgs/development/python-modules/splinter/default.nix b/pkgs/development/python-modules/splinter/default.nix
index fde5733a864..1ae05cab973 100644
--- a/pkgs/development/python-modules/splinter/default.nix
+++ b/pkgs/development/python-modules/splinter/default.nix
@@ -1,30 +1,50 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , selenium
+, six
 , flask
-, coverage
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "splinter";
   version = "0.14.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "459e39e7a9f7572db6f1cdb5fdc5ccfc6404f021dccb969ee6287be2386a40db";
+  src = fetchFromGitHub {
+    owner = "cobrateam";
+    repo = "splinter";
+    rev = version;
+    sha256 = "0480bqprv8581cvnc80ls91rz9780wvdnfw99zsw44hvy2yg15a6";
   };
 
-  propagatedBuildInputs = [ selenium ];
+  propagatedBuildInputs = [
+    selenium
+    six
+  ];
 
-  checkInputs = [ flask coverage ];
+  checkInputs = [
+    flask
+    pytestCheckHook
+  ];
 
-  # No tests included
-  doCheck = false;
+  disabledTestPaths = [
+    "samples"
+    "tests/test_djangoclient.py"
+    "tests/test_flaskclient.py"
+    "tests/test_webdriver.py"
+    "tests/test_webdriver_chrome.py"
+    "tests/test_webdriver_firefox.py"
+    "tests/test_webdriver_remote.py"
+    "tests/test_zopetestbrowser.py"
+  ];
 
-  meta = {
+  pythonImportsCheck = [ "splinter" ];
+
+  meta = with lib; {
     description = "Browser abstraction for web acceptance testing";
     homepage = "https://github.com/cobrateam/splinter";
-    license = lib.licenses.bsd3;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 19dcc708651..c5bd0ad1114 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -8,6 +8,7 @@
 , regex
 , requests
 , numpy
+, packaging
 , protobuf
 , sacremoses
 , tokenizers
@@ -25,6 +26,8 @@ buildPythonPackage rec {
     hash = "sha256-kl1Z2FBo+yqVXUqLaUtet6IycmdcAtfydNTI4MNNrkc=";
   };
 
+  nativeBuildInputs = [ packaging ];
+
   propagatedBuildInputs = [
     cookiecutter
     filelock
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 56f3ba29ddf..a010c43e21e 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -12,19 +12,28 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.51.1";
+  version = "6.56.0";
+
 
-  # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "sha256-OHtmUFm/9GkpIzz0DdSdlHyBFRIgu8GxQ4S4VMJik9o=";
+    sha256 = "sha256-vVJuuPxVyOqnplPYrjCjIm5IyIFZvsCMoDLrrHpHK+4=";
   };
 
-  buildInputs = [ nose mock ];
+  propagatedBuildInputs = [
+    pyjwt
+    pysocks
+    pytz
+    requests
+    six
+  ];
 
-  propagatedBuildInputs = [ pyjwt pysocks pytz six requests ];
+  checkInputs = [
+    mock
+    nose
+  ];
 
   pythonImportsCheck = [ "twilio" ];
 
diff --git a/pkgs/development/python-modules/twitterapi/default.nix b/pkgs/development/python-modules/twitterapi/default.nix
index b244167f88e..a53a3fda616 100644
--- a/pkgs/development/python-modules/twitterapi/default.nix
+++ b/pkgs/development/python-modules/twitterapi/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "twitterapi";
-  version = "2.6.8";
+  version = "2.6.10";
 
   src = fetchFromGitHub {
     owner = "geduldig";
     repo = "TwitterAPI";
     rev = "v${version}";
-    sha256 = "sha256-X/j+3bWLQ9b4q0k/JTE984o1VZS0KTQnC0AdZpNsksY=";
+    sha256 = "sha256-ylxjeIK9cjT4r71j+sULYs6yyYWfKDkpm0bESMo7s3o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/wakeonlan/default.nix b/pkgs/development/python-modules/wakeonlan/default.nix
index 36689eb13a1..9499254ae4c 100644
--- a/pkgs/development/python-modules/wakeonlan/default.nix
+++ b/pkgs/development/python-modules/wakeonlan/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , pytestCheckHook
 , pythonOlder
@@ -9,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "wakeonlan";
-  version = "2.0.0";
+  version = "2.0.1";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
@@ -17,7 +16,7 @@ buildPythonPackage rec {
     owner = "remcohaszing";
     repo = "pywakeonlan";
     rev = version;
-    sha256 = "0p9jyiv0adcymbnmbay72g9phlbhsr4kmrwxscbdjq81gcmxsi0y";
+    sha256 = "sha256-WgoL8ntfEaHcvVbJjdewe0wE31Lq7WBj8Bppeq1uJx8=";
   };
 
   nativeBuildInputs = [
@@ -28,15 +27,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/remcohaszing/pywakeonlan/pull/19
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/remcohaszing/pywakeonlan/commit/6aa5050ed94ef718dfcd0b946546b6a738f47ee3.patch";
-      sha256 = "1xzj2464ziwm7bp05bzbjwjp9whmgp1py3isr41d92qvnil86vm6";
-    })
-  ];
-
   pytestFlagsArray = [ "test_wakeonlan.py" ];
 
   pythonImportsCheck = [ "wakeonlan" ];
diff --git a/pkgs/development/python-modules/webexteamssdk/default.nix b/pkgs/development/python-modules/webexteamssdk/default.nix
new file mode 100644
index 00000000000..21c9e352bf0
--- /dev/null
+++ b/pkgs/development/python-modules/webexteamssdk/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, pyjwt
+, requests
+, requests_toolbelt
+}:
+
+buildPythonPackage rec {
+  pname = "webexteamssdk";
+  version = "1.6";
+
+  src = fetchFromGitHub {
+    owner = "CiscoDevNet";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0bw28ag1iqyqlxz83m4qb3r94kipv5mpf3bsvc8zv5vh4dv52bp2";
+  };
+
+  propagatedBuildInputs = [
+    future
+    pyjwt
+    requests
+    requests_toolbelt
+  ];
+
+  # Tests require a Webex Teams test domain
+  doCheck = false;
+  pythonImportsCheck = [ "webexteamssdk" ];
+
+  meta = with lib; {
+    description = "Python module for Webex Teams APIs";
+    homepage = "https://github.com/CiscoDevNet/webexteamssdk";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/west/default.nix b/pkgs/development/python-modules/west/default.nix
index b04dee437b5..6b937509314 100644
--- a/pkgs/development/python-modules/west/default.nix
+++ b/pkgs/development/python-modules/west/default.nix
@@ -10,7 +10,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8306ebc674348f4155d82bfe8501282b41ed86cb44c3fc636a8ccf8e057b1847";
+    sha256 = "sha256-gwbrxnQ0j0FV2Cv+hQEoK0HthstEw/xjaozPjgV7GEc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 34a4c90d190..d9c42910e64 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.55";
+  version = "0.0.56";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = version;
-    sha256 = "sha256-mc7mOaxn2FCvwYv9yE0mIOSQ1F+xJJ+1LynOdEV07I8=";
+    sha256 = "1jss5pnxdjlp0kplqxgr09vv1zq9n7l9w08hsywy2vglqmd67a66";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/bundler-env/default.nix b/pkgs/development/ruby-modules/bundler-env/default.nix
index d412d10102f..faef3be4d91 100644
--- a/pkgs/development/ruby-modules/bundler-env/default.nix
+++ b/pkgs/development/ruby-modules/bundler-env/default.nix
@@ -23,7 +23,7 @@
 let
   inherit (import ../bundled-common/functions.nix {inherit lib ruby gemConfig groups; }) genStubsScript;
 
-  basicEnv = (callPackage ../bundled-common {}) (args // { inherit pname name; mainGemName = pname; });
+  basicEnv = (callPackage ../bundled-common { inherit bundler; }) (args // { inherit pname name; mainGemName = pname; });
 
   inherit (basicEnv) envPaths;
   # Idea here is a mkDerivation that gen-bin-stubs new stubs "as specified" -
diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix
index 912328ead26..c058a3fec23 100644
--- a/pkgs/development/tools/air/default.nix
+++ b/pkgs/development/tools/air/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "air";
-  version = "1.15.1";
+  version = "1.25";
 
   src = fetchFromGitHub {
     owner = "cosmtrek";
     repo = "air";
     rev = "v${version}";
-    sha256 = "0d34k8hyag84j24bhax4gvg8mkzqyhdqd16rfirpfjiqvqh0vdkz";
+    sha256 = "sha256-on9Rb+QGFWx7/k9xD+tcaPu6YNaBBkFBHHMSWJbZpWM=";
   };
 
-  vendorSha256 = "0k28rxnd0vyb6ljbi83bm1gl7j4r660a3ckjxnzc2qzwvfj69g53";
+  vendorSha256 = "sha256-B7AgUFjiW3P1dU88u3kswbCQJ7Qq7rgPlX+b+3Pq1L4=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/analysis/rizin/cutter.nix b/pkgs/development/tools/analysis/rizin/cutter.nix
index 55795b9830c..a4c2d0d45c1 100644
--- a/pkgs/development/tools/analysis/rizin/cutter.nix
+++ b/pkgs/development/tools/analysis/rizin/cutter.nix
@@ -11,13 +11,13 @@
 
 mkDerivation rec {
   pname = "cutter";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "rizinorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "sha256-uIN/NR+swu9Ie0wP2aBhw5WBvTe9NDmzSs+lQMCeavc=";
+    sha256 = "sha256-IQCJOUgefSdMSa27E6I/CL35Kx5pHq/u+5Q0FHUAR1E=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/analysis/rizin/default.nix b/pkgs/development/tools/analysis/rizin/default.nix
index fdc8da7b5f8..20184ac53a1 100644
--- a/pkgs/development/tools/analysis/rizin/default.nix
+++ b/pkgs/development/tools/analysis/rizin/default.nix
@@ -18,29 +18,42 @@
 , ninja
 , capstone
 , tree-sitter
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "rizin";
-  version = "0.1.2";
+  version = "0.2.0";
 
   src = fetchurl {
-    url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-${version}.tar.xz";
-    sha256 = "sha256-npUp8wJiKAaQKSigXtndhJLTJ4+pyFqa0FwDLBqR/sE=";
+    url = "https://github.com/rizinorg/rizin/releases/download/v${version}/rizin-src-v${version}.tar.xz";
+    sha256 = "sha256-CGHeo247syha+rVtiAQz0XkEYK9p4DHTnLK2FhBOvE8=";
   };
 
   mesonFlags = [
-    "-Duse_sys_capstone=true"
-    "-Duse_sys_magic=true"
-    "-Duse_sys_libzip=true"
-    "-Duse_sys_zlib=true"
-    "-Duse_sys_xxhash=true"
-    "-Duse_sys_lz4=true"
-    "-Duse_sys_openssl=true"
-    "-Duse_sys_tree_sitter=true"
+    "-Duse_sys_capstone=enabled"
+    "-Duse_sys_magic=enabled"
+    "-Duse_sys_libzip=enabled"
+    "-Duse_sys_zlib=enabled"
+    "-Duse_sys_xxhash=enabled"
+    "-Duse_sys_lz4=enabled"
+    "-Duse_sys_openssl=enabled"
+    "-Duse_sys_tree_sitter=enabled"
   ];
 
-  nativeBuildInputs = [ pkg-config meson ninja cmake ];
+  nativeBuildInputs = [ pkg-config meson ninja cmake (python3.withPackages (ps: [ ps.setuptools ])) ];
+
+  # meson's find_library seems to not use our compiler wrapper if static paraemter
+  # is either true/false... We work around by also providing LIBRARY_PATH
+  preConfigure = ''
+    LIBRARY_PATH=""
+    for b in ${toString (map lib.getLib buildInputs)}; do
+      if [[ -d "$b/lib" ]]; then
+        LIBRARY_PATH="$b/lib''${LIBRARY_PATH:+:}$LIBRARY_PATH"
+      fi
+    done
+    export LIBRARY_PATH
+  '';
 
   buildInputs = [
     file
diff --git a/pkgs/development/tools/async-profiler/default.nix b/pkgs/development/tools/async-profiler/default.nix
index 3d887d6c893..d271528de7e 100644
--- a/pkgs/development/tools/async-profiler/default.nix
+++ b/pkgs/development/tools/async-profiler/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "async-profiler";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchFromGitHub {
     owner = "jvm-profiling-tools";
     repo = "async-profiler";
     rev = "v${version}";
-    sha256 = "sha256-R/TFElytq3mBG+jKjb7XlFUqpXBpSZGfbscUdg2vevE=";
+    sha256 = "sha256-vSBueRNraMgLcaprPsBUriX3WZ7N0UrllnSVLL2F738=";
   };
 
   buildInputs = [ jdk8 ];
diff --git a/pkgs/development/tools/bazel-kazel/default.nix b/pkgs/development/tools/bazel-kazel/default.nix
index 39379924178..abb32b3ba51 100644
--- a/pkgs/development/tools/bazel-kazel/default.nix
+++ b/pkgs/development/tools/bazel-kazel/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-kazel";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "repo-infra";
     rev = "v${version}";
-    sha256 = "sha256-g7jfuWe4UeAbNf+kOa0Y9BamUnGEbOGxZ+KdQWdWl48=";
+    sha256 = "sha256-EfK8uJQvZkB5V/SGOLRznAFGsgVGwFv6MWkLPWePYvM=";
   };
 
   vendorSha256 = "sha256-1+7Mx1Zh1WolqTpWNe560PRzRYaWVUVLvNvUOysaW5I=";
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 441254ce263..e181917c417 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -1,19 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "3.5.0";
-
-  goPackagePath = "github.com/bazelbuild/buildtools";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = version;
-    sha256 = "179k0kwh7i2azkhk8dw7ac50a05q7n3i29pqaf69yw7jrpbf8k85";
+    sha256 = "0q7b9zh38vblqs5lwhjk28km89p706aky4wv6bwz2vg9gl6bfclq";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "1w6i1lb72mfdyb901gpl9yc6ql73j5kik6li0j5jv5ab2m3j9qvf";
+
+  preBuild = ''
+    rm -r warn/docs
+  '';
+
+  doCheck = false;
 
   excludedPackages = [ "generatetables" ];
 
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix b/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
deleted file mode 100644
index a64f96d2c07..00000000000
--- a/pkgs/development/tools/build-managers/bazel/buildtools/deps.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/golang/protobuf";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/protobuf";
-      rev = "84668698ea25b64748563aa20726db66a6b8d299";
-      sha256 = "1gkd1942vk9n8kfzdwy1iil6wgvlwjq7a3y5jc49ck4lz9rhmgkq";
-    };
-  }
-  {
-    goPackagePath = "go.starlark.net";
-    fetch = {
-      type = "git";
-      url = "https://github.com/google/starlark-go";
-      rev = "6677ee5c7211380ec7e6a1b50dc45287e40ca9e1";
-      sha256 = "1dl8q1lwvmm38w2lzfwray2djdcq40z89yy6vzy387w0xrax0jj0";
-    };
-  }
-]
diff --git a/pkgs/development/tools/build-managers/msbuild/create-deps.sh b/pkgs/development/tools/build-managers/msbuild/create-deps.sh
new file mode 100755
index 00000000000..c9bd4ba7eb6
--- /dev/null
+++ b/pkgs/development/tools/build-managers/msbuild/create-deps.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p jq -p xmlstarlet -p curl
+set -euo pipefail
+
+cat << EOL
+{ fetchurl }: [
+EOL
+
+mapfile -t repos < <(
+    xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.config |
+        while IFS= read index
+        do
+            curl --compressed -fsL "$index" | \
+                jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
+        done
+    )
+
+find .packages fake-home/.nuget/packages -name \*.nupkg -printf '%P\n' | sort -u |
+    while IFS= read file
+    do
+        packagedir=$(dirname $file)
+        version=$(basename $packagedir)
+        package=$(dirname $packagedir)
+
+        found=false
+        for repo in "${repos[@]}"
+        do
+            url="$repo$package/$version/$package.$version.nupkg"
+            if curl -fsL "$url" -o /dev/null
+            then
+                found=true
+                break
+            fi
+        done
+
+        if ! $found
+        then
+            echo "couldn't find $package $version" >&2
+            exit 1
+        fi
+
+        sha256=$(nix-prefetch-url "$url" 2>/dev/null)
+        cat << EOL
+  {
+    name = "$package";
+    version = "$version";
+    src = fetchurl {
+      url = "$url";
+      sha256 = "$sha256";
+    };
+  }
+EOL
+    done
+
+cat << EOL
+]
+EOL
diff --git a/pkgs/development/tools/build-managers/msbuild/default.nix b/pkgs/development/tools/build-managers/msbuild/default.nix
index 82c5c88d174..51fd32bd9de 100644
--- a/pkgs/development/tools/build-managers/msbuild/default.nix
+++ b/pkgs/development/tools/build-managers/msbuild/default.nix
@@ -1,23 +1,33 @@
-{ lib, stdenv, fetchurl, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnet-sdk }:
+{ lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnet-sdk, writeText, roslyn }:
 
 let
 
   xplat = fetchurl {
-    url = "https://github.com/mono/msbuild/releases/download/0.07/mono_msbuild_xplat-master-8f608e49.zip";
-    sha256 = "1jxq3fk9a6q2a8i9zacxaz3fkvc22i9qvzlpa7wbb95h42g0ffhq";
+    url = "https://github.com/mono/msbuild/releases/download/0.08/mono_msbuild_6.4.0.208.zip";
+    sha256 = "05k7qmnhfvrdgyjn6vp81jb97y21m261jnwdyqpjqpcmzz18j93g";
   };
 
-  deps = import ./nuget.nix { inherit fetchurl; };
+  deps = map (package: package.src)
+    (import ./deps.nix { inherit fetchurl; });
+
+  nuget-config = writeText "NuGet.config" ''
+    <?xml version="1.0" encoding="utf-8"?>
+    <configuration>
+      <packageSources>
+        <clear />
+      </packageSources>
+    </configuration>
+  '';
 
 in
 
 stdenv.mkDerivation rec {
   pname = "msbuild";
-  version = "16.3+xamarinxplat.2019.07.26.14.57";
+  version = "16.8+xamarinxplat.2020.07.30.15.02";
 
   src = fetchurl {
     url = "https://download.mono-project.com/sources/msbuild/msbuild-${version}.tar.xz";
-    sha256 = "1zcdfx4xsh62wj3g1jc2an0lppsfs691lz4dv05xbgi01aq1hk6a";
+    sha256 = "10amyca78b6pjfsy54b1rgwz2c1bx0sfky9zhldvzy4divckp25g";
   };
 
   nativeBuildInputs = [
@@ -32,25 +42,34 @@ stdenv.mkDerivation rec {
     makeWrapper
   ];
 
-  # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=msbuild
-  phases = ["unpackPhase" "buildPhase" "installPhase" "installCheckPhase"];
-
   # https://github.com/NixOS/nixpkgs/issues/38991
   # bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
   LOCALE_ARCHIVE = lib.optionalString stdenv.isLinux
       "${glibcLocales}/lib/locale/locale-archive";
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/mono/msbuild/commit/cad85cefabdaa001fb4bdbea2f5bf1d1cdb83c9b.patch";
+      sha256 = "1s8agc7nxxs69b3fl1v1air0c4dpig3hy4sk11l1560jrlx06dhh";
+    })
+  ];
+
+  postPatch = ''
+    sed -i -e "/<\/projectImportSearchPaths>/a <property name=\"MSBuildExtensionsPath\" value=\"$out/lib/mono/xbuild\"/>" \
+      src/MSBuild/app.config
+  '';
+
   buildPhase = ''
     # nuget would otherwise try to base itself in /homeless-shelter
     export HOME=$(pwd)/fake-home
 
+    cp ${nuget-config} NuGet.config
+    nuget sources Add -Name nixos -Source $(pwd)/nixos
+
     for package in ${toString deps}; do
       nuget add $package -Source nixos
     done
 
-    nuget sources Disable -Name "nuget.org"
-    nuget sources Add -Name nixos -Source $(pwd)/nixos
-
     # license check is case sensitive
     mv LICENSE license.bak && mv license.bak license
 
@@ -64,27 +83,25 @@ stdenv.mkDerivation rec {
     # overwrite the file
     echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
 
-    # msbuild response files to use only the nixos source
-    echo "/p:RestoreSources=nixos" > artifacts/mono-msbuild/MSBuild.rsp
-    echo "/p:RestoreSources=nixos" > src/MSBuild/MSBuild.rsp
-
     # not patchShebangs, there is /bin/bash in the body of the script as well
     substituteInPlace ./eng/cibuild_bootstrapped_msbuild.sh --replace /bin/bash ${stdenv.shell}
 
     # DisableNerdbankVersioning https://gitter.im/Microsoft/msbuild/archives/2018/06/27?at=5b33dbc4ce3b0f268d489bfa
     # TODO there are some (many?) failing tests
     ./eng/cibuild_bootstrapped_msbuild.sh --host_type mono --configuration Release --skip_tests /p:DisableNerdbankVersioning=true
+    patchShebangs stage1/mono-msbuild/msbuild
   '';
 
   installPhase = ''
-    mono artifacts/mono-msbuild/MSBuild.dll mono/build/install.proj /p:MonoInstallPrefix="$out" /p:Configuration=Release-MONO
+    stage1/mono-msbuild/msbuild mono/build/install.proj /p:MonoInstallPrefix="$out" /p:Configuration=Release-MONO
 
-    ln -s ${mono}/lib/mono/msbuild/Current/bin/Roslyn $out/lib/mono/msbuild/Current/bin/Roslyn
+    ln -s ${roslyn}/lib/dotnet/microsoft.net.compilers.toolset/*/tasks/net472 $out/lib/mono/msbuild/Current/bin/Roslyn
 
     makeWrapper ${mono}/bin/mono $out/bin/msbuild \
-      --set MSBuildExtensionsPath $out/lib/mono/xbuild \
       --set-default MONO_GC_PARAMS "nursery-size=64m" \
       --add-flags "$out/lib/mono/msbuild/15.0/bin/MSBuild.dll"
+
+    ln -s $(find ${dotnet-sdk} -name libhostfxr.so) $out/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
   '';
 
   doInstallCheck = true;
@@ -130,4 +147,3 @@ EOF
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/tools/build-managers/msbuild/deps.nix b/pkgs/development/tools/build-managers/msbuild/deps.nix
new file mode 100644
index 00000000000..32d1c9569a6
--- /dev/null
+++ b/pkgs/development/tools/build-managers/msbuild/deps.nix
@@ -0,0 +1,1562 @@
+{ fetchurl }: [
+  {
+    name = "fsharp.net.sdk";
+    version = "1.0.4-bundled-0100";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/fsharp.net.sdk/1.0.4-bundled-0100/fsharp.net.sdk.1.0.4-bundled-0100.nupkg";
+      sha256 = "0zy4n2an2jh3xrdy1m5fjvynpd0b66i0hkpqdhy2q6d7dj0ks351";
+    };
+  }
+  {
+    name = "illink.tasks";
+    version = "0.1.6-prerelease.19380.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/illink.tasks/0.1.6-prerelease.19380.1/illink.tasks.0.1.6-prerelease.19380.1.nupkg";
+      sha256 = "1ihgzhizgiijg2kj38fn6hsinvxi7bvl0dpk7mbgc08rpgfdsvja";
+    };
+  }
+  {
+    name = "largeaddressaware";
+    version = "1.0.3";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/largeaddressaware/1.0.3/largeaddressaware.1.0.3.nupkg";
+      sha256 = "1ppss9bgj0hf5s8307bnm2a4qm10mrymp0v12m28a5q81zjz0fr5";
+    };
+  }
+  {
+    name = "microbuild.core";
+    version = "0.2.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core/0.2.0/microbuild.core.0.2.0.nupkg";
+      sha256 = "1ya040l8fhi0hhira8kwdmv7cc88ar7kiixkpxirgcn9gmpn7ggv";
+    };
+  }
+  {
+    name = "microbuild.core.sentinel";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg";
+      sha256 = "035kqx5fkapql108n222lz8psvxk04mv3dy1qg3h08i4b8j3dy8i";
+    };
+  }
+  {
+    name = "microsoft.bcl.asyncinterfaces";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg";
+      sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
+    };
+  }
+  {
+    name = "microsoft.build";
+    version = "14.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build/14.3.0/microsoft.build.14.3.0.nupkg";
+      sha256 = "16jzspb0qj9szjfhhmb836vgqdq4m1gk3y816qg2mdjmv52r91dh";
+    };
+  }
+  {
+    name = "microsoft.build.centralpackageversions";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.centralpackageversions/2.0.1/microsoft.build.centralpackageversions.2.0.1.nupkg";
+      sha256 = "17cjiaj2b98q8s89168g42jb8rhwm6062jcbv57rbkdiiwdsn55k";
+    };
+  }
+  {
+    name = "microsoft.build.framework";
+    version = "14.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build.framework/14.3.0/microsoft.build.framework.14.3.0.nupkg";
+      sha256 = "19p1w27d3qi09fxag0byvjrv6x54nd5fkiszqzqr7676r90aswxh";
+    };
+  }
+  {
+    name = "microsoft.build.framework";
+    version = "15.5.180";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.framework/15.5.180/microsoft.build.framework.15.5.180.nupkg";
+      sha256 = "064y3a711ikx9pm9d2wyms4i3k4f9hfvn3vymhwygg7yv7gcj92z";
+    };
+  }
+  {
+    name = "microsoft.build.nugetsdkresolver";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/microsoft.build.nugetsdkresolver/5.7.0-rtm.6710/microsoft.build.nugetsdkresolver.5.7.0-rtm.6710.nupkg";
+      sha256 = "07zi6akd5iqq6q3cwc273vvfx70dn2lzx1ham4pzlq7dh7gq3vha";
+    };
+  }
+  {
+    name = "microsoft.build.tasks.git";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build.tasks.git/1.1.0-beta-20206-02/microsoft.build.tasks.git.1.1.0-beta-20206-02.nupkg";
+      sha256 = "1gwlhvqlkvs5c7qjky726alf71xflbh3x970g3dypfczi0y6gccx";
+    };
+  }
+  {
+    name = "microsoft.build.utilities.core";
+    version = "14.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.build.utilities.core/14.3.0/microsoft.build.utilities.core.14.3.0.nupkg";
+      sha256 = "0xk5n4i40w53amrd7bxlhikdvmh8z2anrk99pvz2rf50v946g6li";
+    };
+  }
+  {
+    name = "microsoft.build.utilities.core";
+    version = "15.5.180";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.utilities.core/15.5.180/microsoft.build.utilities.core.15.5.180.nupkg";
+      sha256 = "0c4bjhaqgc98bchln8p5d2p1vyn8qrha2b8gpn2l7bnznbcrd630";
+    };
+  }
+  {
+    name = "microsoft.codeanalysis.build.tasks";
+    version = "3.0.0-beta3-19064-03";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.codeanalysis.build.tasks/3.0.0-beta3-19064-03/microsoft.codeanalysis.build.tasks.3.0.0-beta3-19064-03.nupkg";
+      sha256 = "1l01l0jyqgs8ix5v6b6n0q4yv1y1khr14dh7pw0qivkc5gsys19v";
+    };
+  }
+  {
+    name = "microsoft.codecoverage";
+    version = "16.1.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.codecoverage/16.1.1/microsoft.codecoverage.16.1.1.nupkg";
+      sha256 = "0xca3sys0a5ilz16ic7g4gds2b974nvmf89qwr1i6v8f7illhda5";
+    };
+  }
+  {
+    name = "microsoft.diasymreader.pdb2pdb";
+    version = "1.1.0-beta2-19521-03";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.diasymreader.pdb2pdb/1.1.0-beta2-19521-03/microsoft.diasymreader.pdb2pdb.1.1.0-beta2-19521-03.nupkg";
+      sha256 = "1r82h0qiah2xx9rg8lvfvfdzxz60zd6vfs8kvck0csha5psmn56w";
+    };
+  }
+  {
+    name = "microsoft.dotnet.arcade.sdk";
+    version = "1.0.0-beta.20365.6";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.arcade.sdk/1.0.0-beta.20365.6/microsoft.dotnet.arcade.sdk.1.0.0-beta.20365.6.nupkg";
+      sha256 = "1ypsxq3ljdfwvrqyg6b8ii8mbqnjcb2vdr17jc4h0mdmkj0rlcdl";
+    };
+  }
+  {
+    name = "microsoft.dotnet.msbuildsdkresolver";
+    version = "3.1.400-preview.20365.4";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.msbuildsdkresolver/3.1.400-preview.20365.4/microsoft.dotnet.msbuildsdkresolver.3.1.400-preview.20365.4.nupkg";
+      sha256 = "0ifhk0whgbq0yw075al8sb14ajcnvyp883srx1j62vil9gfz0fp9";
+    };
+  }
+  {
+    name = "microsoft.dotnet.signtool";
+    version = "1.0.0-beta.20365.6";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.signtool/1.0.0-beta.20365.6/microsoft.dotnet.signtool.1.0.0-beta.20365.6.nupkg";
+      sha256 = "0zaw9hc19ldms3jy6n27x4p9clzz3nvpddyacwhgqiahjw2wqasz";
+    };
+  }
+  {
+    name = "microsoft.net.build.extensions";
+    version = "3.1.400-preview.20365.20";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.build.extensions/3.1.400-preview.20365.20/microsoft.net.build.extensions.3.1.400-preview.20365.20.nupkg";
+      sha256 = "1vmcj7p7jsr1lbkbxqqjsixkaxdazr5nwhhp1q402dgky9cayhd5";
+    };
+  }
+  {
+    name = "microsoft.net.compilers.toolset";
+    version = "3.7.0-5.20367.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.compilers.toolset/3.7.0-5.20367.1/microsoft.net.compilers.toolset.3.7.0-5.20367.1.nupkg";
+      sha256 = "1z8hzzmxs8jchq1jmmmwhpf3hsvrj803y3zb8j3xg9xkbnryfzwk";
+    };
+  }
+  {
+    name = "microsoft.netcore.platforms";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/1.0.1/microsoft.netcore.platforms.1.0.1.nupkg";
+      sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+    };
+  }
+  {
+    name = "microsoft.netcore.platforms";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg";
+      sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+    };
+  }
+  {
+    name = "microsoft.netcore.targets";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.netcore.targets/1.0.1/microsoft.netcore.targets.1.0.1.nupkg";
+      sha256 = "1gn085ddzn8psqfhmwcjzq2zrmb5gca2liap79a43wyw4gs8ip78";
+    };
+  }
+  {
+    name = "microsoft.netcore.targets";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg";
+      sha256 = "0idlsfwd9sn4p9jr1dqi14b8n2ly0k4dnjpvh8jfhxgnzzl98z5k";
+    };
+  }
+  {
+    name = "microsoft.netframework.referenceassemblies";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netframework.referenceassemblies/1.0.0/microsoft.netframework.referenceassemblies.1.0.0.nupkg";
+      sha256 = "0na724xhvqm63vq9y18fl9jw9q2v99bdwr353378s5fsi11qzxp9";
+    };
+  }
+  {
+    name = "microsoft.netframework.referenceassemblies.net472";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netframework.referenceassemblies.net472/1.0.0/microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg";
+      sha256 = "1bqinq2nxnpqxziypg1sqy3ly0nymxxjpn8fwkn3rl4vl6gdg3rc";
+    };
+  }
+  {
+    name = "microsoft.net.sdk";
+    version = "3.1.400-preview.20365.20";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk/3.1.400-preview.20365.20/microsoft.net.sdk.3.1.400-preview.20365.20.nupkg";
+      sha256 = "02ann6rsnc6wl84wsk2fz7dpxcp5sq0b6jm3vv23av4b1f86f82y";
+    };
+  }
+  {
+    name = "microsoft.net.sdk.publish";
+    version = "3.1.300-servicing.20216.7";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk.publish/3.1.300-servicing.20216.7/microsoft.net.sdk.publish.3.1.300-servicing.20216.7.nupkg";
+      sha256 = "1xivqihp2zrkmd4f65fgh9hn9ix75sqklbnanqlfk9dq67wscp41";
+    };
+  }
+  {
+    name = "microsoft.net.sdk.razor";
+    version = "3.1.6";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.net.sdk.razor/3.1.6/microsoft.net.sdk.razor.3.1.6.nupkg";
+      sha256 = "1vw0zi0lq52frivq8mgfvm79rfx0v492q6fci1jls1zwwjk0v9ia";
+    };
+  }
+  {
+    name = "microsoft.net.sdk.web";
+    version = "3.1.300-servicing.20216.7";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk.web/3.1.300-servicing.20216.7/microsoft.net.sdk.web.3.1.300-servicing.20216.7.nupkg";
+      sha256 = "001jd2iwww0vb5x5dii915z82syh1aj48n62bn8zi1d3chwacr51";
+    };
+  }
+  {
+    name = "microsoft.net.sdk.web.projectsystem";
+    version = "3.1.300-servicing.20216.7";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.sdk.web.projectsystem/3.1.300-servicing.20216.7/microsoft.net.sdk.web.projectsystem.3.1.300-servicing.20216.7.nupkg";
+      sha256 = "0601mix6l18h8afxxgdbbv695d0sjskady209z52sf4bvf4h4kal";
+    };
+  }
+  {
+    name = "microsoft.net.test.sdk";
+    version = "16.1.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.net.test.sdk/16.1.1/microsoft.net.test.sdk.16.1.1.nupkg";
+      sha256 = "13mcqv85yf4f1rx06sz5ff4pcmbr4rkgqkqzmwl8ywadbh523125";
+    };
+  }
+  {
+    name = "microsoft.sourcelink.azurerepos.git";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.sourcelink.azurerepos.git/1.1.0-beta-20206-02/microsoft.sourcelink.azurerepos.git.1.1.0-beta-20206-02.nupkg";
+      sha256 = "00hfjh8d3z5np51qgr1s3q4j7bl34mfiypf7nbxcmxa7cyj0rg65";
+    };
+  }
+  {
+    name = "microsoft.sourcelink.common";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.sourcelink.common/1.1.0-beta-20206-02/microsoft.sourcelink.common.1.1.0-beta-20206-02.nupkg";
+      sha256 = "1qv0k0apxv3j1pccki2rzakjfb0868hmg0968da0639f75s3glr9";
+    };
+  }
+  {
+    name = "microsoft.sourcelink.github";
+    version = "1.1.0-beta-20206-02";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.sourcelink.github/1.1.0-beta-20206-02/microsoft.sourcelink.github.1.1.0-beta-20206-02.nupkg";
+      sha256 = "0q1mgjjkwxvzn5v29pqiyg0j0jwi5qc0q04za9k1x138kliq2iba";
+    };
+  }
+  {
+    name = "microsoft.visualstudio.sdk.embedinteroptypes";
+    version = "15.0.15";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15/microsoft.visualstudio.sdk.embedinteroptypes.15.0.15.nupkg";
+      sha256 = "0chr3slzzcanwcyd9isx4gichqzmfh4zd3h83piw0r4xsww1wmpd";
+    };
+  }
+  {
+    name = "microsoft.visualstudio.setup.configuration.interop";
+    version = "1.16.30";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.visualstudio.setup.configuration.interop/1.16.30/microsoft.visualstudio.setup.configuration.interop.1.16.30.nupkg";
+      sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4";
+    };
+  }
+  {
+    name = "microsoft.web.xdt";
+    version = "2.1.2";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.web.xdt/2.1.2/microsoft.web.xdt.2.1.2.nupkg";
+      sha256 = "1as6cih26xyxjsa5ibqik1fwbyxl58ivpngidr6w1nh5fi5zg9zw";
+    };
+  }
+  {
+    name = "microsoft.win32.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.win32.primitives/4.0.1/microsoft.win32.primitives.4.0.1.nupkg";
+      sha256 = "1pviskapkc6qm108r0q2x15vkgyqsczf9xpmrlm42q68ainc9ai3";
+    };
+  }
+  {
+    name = "microsoft.win32.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.win32.primitives/4.3.0/microsoft.win32.primitives.4.3.0.nupkg";
+      sha256 = "1nvwzj039y9ngdpz7zg0vszvrr3za2vfmjg222jc8c1dibk6y6ah";
+    };
+  }
+  {
+    name = "netstandard.library";
+    version = "1.6.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/netstandard.library/1.6.1/netstandard.library.1.6.1.nupkg";
+      sha256 = "03pxpc6dzpw56l8qhcb0wzvirqgs3c008jcakqxvfqmy25m3dnyn";
+    };
+  }
+  {
+    name = "newtonsoft.json";
+    version = "9.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/newtonsoft.json/9.0.1/newtonsoft.json.9.0.1.nupkg";
+      sha256 = "1qayanmqh3xiw0bjwm825j1n6nvbhc6yqkdpaawpyd0l71d5qh13";
+    };
+  }
+  {
+    name = "nuget.build.tasks";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.build.tasks/5.7.0-rtm.6710/nuget.build.tasks.5.7.0-rtm.6710.nupkg";
+      sha256 = "0zwacvci3y8xyhy6jzc0wd20rzgb6lzv0ci8a4qg8ay315bmd9sp";
+    };
+  }
+  {
+    name = "nuget.build.tasks.pack";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.build.tasks.pack/5.7.0-rtm.6710/nuget.build.tasks.pack.5.7.0-rtm.6710.nupkg";
+      sha256 = "16scfs0gwfs9r5kp65jfz3ip7w56xyni6fwgpmj0y6dbazzqm6zs";
+    };
+  }
+  {
+    name = "nuget.commandline";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.commandline/4.1.0/nuget.commandline.4.1.0.nupkg";
+      sha256 = "03ik0rcdl7vdwxa9fx5cgl98yzb45swr08jmrnjk1ympjqvf94s1";
+    };
+  }
+  {
+    name = "nuget.commands";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.commands/5.7.0-rtm.6710/nuget.commands.5.7.0-rtm.6710.nupkg";
+      sha256 = "0sm2x95q8y0sab7fsb2sqqhvw2x0scsavv968jxjf3ynb5n155q3";
+    };
+  }
+  {
+    name = "nuget.common";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.common/5.7.0-rtm.6710/nuget.common.5.7.0-rtm.6710.nupkg";
+      sha256 = "07wxir208mmfzi2xxhn8xskbchx9d7nahmy2xqcx09mwkkr7m0qg";
+    };
+  }
+  {
+    name = "nuget.configuration";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.configuration/5.7.0-rtm.6710/nuget.configuration.5.7.0-rtm.6710.nupkg";
+      sha256 = "1h9r627nj3bhwfwzf2b265s5zl00sj5z5x085a6l8qg2v8sig628";
+    };
+  }
+  {
+    name = "nuget.credentials";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.credentials/5.7.0-rtm.6710/nuget.credentials.5.7.0-rtm.6710.nupkg";
+      sha256 = "06yd4ny5nzpxl6n3l57n585inj0bjybcmwcz0w3clyib9l2ybsjz";
+    };
+  }
+  {
+    name = "nuget.dependencyresolver.core";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.dependencyresolver.core/5.7.0-rtm.6710/nuget.dependencyresolver.core.5.7.0-rtm.6710.nupkg";
+      sha256 = "0s3qlwg98qd5brfh6k9lsviqpij8n73ci54c9bmal56k12hkvfdm";
+    };
+  }
+  {
+    name = "nuget.frameworks";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.frameworks/5.7.0-rtm.6710/nuget.frameworks.5.7.0-rtm.6710.nupkg";
+      sha256 = "05g4aaq3gc1p104dpanr255xcag399918m02vpanf29qpz3g325d";
+    };
+  }
+  {
+    name = "nuget.librarymodel";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.librarymodel/5.7.0-rtm.6710/nuget.librarymodel.5.7.0-rtm.6710.nupkg";
+      sha256 = "1pj5y29f21ch4sgwg5xx4n0lsd1qiiyjy6ly6vaabfrimx4d0s23";
+    };
+  }
+  {
+    name = "nuget.packagemanagement";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.packagemanagement/5.7.0-rtm.6710/nuget.packagemanagement.5.7.0-rtm.6710.nupkg";
+      sha256 = "1kiix6r2birnrlwki5mb5a7sbxh8wqj87f69qid6dr556x2w8h9z";
+    };
+  }
+  {
+    name = "nuget.packaging";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.packaging/5.7.0-rtm.6710/nuget.packaging.5.7.0-rtm.6710.nupkg";
+      sha256 = "16frbw8k81cazary6d8sbdccr6hv57rc7rzdi9bagdnzvpm8h13l";
+    };
+  }
+  {
+    name = "nuget.projectmodel";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.projectmodel/5.7.0-rtm.6710/nuget.projectmodel.5.7.0-rtm.6710.nupkg";
+      sha256 = "11i1kyqvmq70rkqrxhxnhsihaxx32ww0l9175473mmyia3wrbwyw";
+    };
+  }
+  {
+    name = "nuget.protocol";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.protocol/5.7.0-rtm.6710/nuget.protocol.5.7.0-rtm.6710.nupkg";
+      sha256 = "1515p7a4kdm9wr8iizcmvzwqphxsfwqbnq41jv8mibrx7vih0s90";
+    };
+  }
+  {
+    name = "nuget.resolver";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.resolver/5.7.0-rtm.6710/nuget.resolver.5.7.0-rtm.6710.nupkg";
+      sha256 = "17bm159knhx7iznm9ilk3mwb0n1gh1dp0ihhapyb1fmh9ings30b";
+    };
+  }
+  {
+    name = "nuget.versioning";
+    version = "5.7.0-rtm.6710";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/9d15d80a-6afc-4f7e-901b-9378146a4b8b/nuget/v3/flat2/nuget.versioning/5.7.0-rtm.6710/nuget.versioning.5.7.0-rtm.6710.nupkg";
+      sha256 = "1kj9xvcbwvvhhi45bi6f9m1cv8wx6y4xfmnxc8liwcgwh9gvwdjl";
+    };
+  }
+  {
+    name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "10a3jqkh1h23qsn7pjlji61d7dph7qy8c6ssfjqmlgydm4rnin64";
+    };
+  }
+  {
+    name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1md38ys5h8srinnq9qxz47c9i27x7pv84avdi3rbq68hfkcslx93";
+    };
+  }
+  {
+    name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0cgvqxccg4lkxiyvw3jrn71pbybbbcd3i8v6v4przgrr7f7k6nfj";
+    };
+  }
+  {
+    name = "runtime.native.system";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system/4.0.0/runtime.native.system.4.0.0.nupkg";
+      sha256 = "0fwsjhqj235hhy2zl8x3a828whn4nck7jr7hi09ccbk24xf4f17f";
+    };
+  }
+  {
+    name = "runtime.native.system";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system/4.3.0/runtime.native.system.4.3.0.nupkg";
+      sha256 = "02gnfm33gf163kybkahfza8q10jp890hiczcnbg2aasf1n0jq857";
+    };
+  }
+  {
+    name = "runtime.native.system.io.compression";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system.io.compression/4.3.0/runtime.native.system.io.compression.4.3.0.nupkg";
+      sha256 = "05370qi83pxfyn3whzkjjwb4q80vlr3mbz0dfa0hc0cbl5jx4y20";
+    };
+  }
+  {
+    name = "runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.native.system.security.cryptography.openssl/4.3.0/runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1il7m43j4nq15xf01npgxd8q83q8mkk4xk07dd7g0sfsxm9k127d";
+    };
+  }
+  {
+    name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1pr8ji41rsifx6yh89xg1yw45g5snw96xxqw0g3q48rbdg5j79iw";
+    };
+  }
+  {
+    name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1r8hllb6fdb4adij7b7ld32hf5r5jxyqh4pacrvfgjckmyx8js8c";
+    };
+  }
+  {
+    name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "16r149hajvr8ikyjbsw2m67yqfvxg6j1sb2slw9pzrly06mxmpks";
+    };
+  }
+  {
+    name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0j2f2v1nm7sys6qpljhp4s18zz3hblymjl60yrccqfac7yr9hxrq";
+    };
+  }
+  {
+    name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0wgz0y2fm6xcnlmpl1zh5963ribjbnzr2l6prsw3xi7sbfyjyi8c";
+    };
+  }
+  {
+    name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "0qr13ykxj7zs7i8z0x63v8za2h33ndnvvw83wffp9xbb2fibj3gi";
+    };
+  }
+  {
+    name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg";
+      sha256 = "1jg8gfh261zqmimf5ba76djr201q0bamm2385zxni5jnyyc4iis4";
+    };
+  }
+  {
+    name = "shouldly";
+    version = "3.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/shouldly/3.0.0/shouldly.3.0.0.nupkg";
+      sha256 = "1hg28w898kl84rx57sclb2z9b76v5hxlwxig1xnb6fr81aahzlw3";
+    };
+  }
+  {
+    name = "sn";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/sn/1.0.0/sn.1.0.0.nupkg";
+      sha256 = "1012fcdc6vq2355v86h434s6p2nnqgpdapb7p25l4h39g5q8p1qs";
+    };
+  }
+  {
+    name = "system.appcontext";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.appcontext/4.1.0/system.appcontext.4.1.0.nupkg";
+      sha256 = "02vsx9l8ahzykjw6psf8yd5grndk63x4rw0lc0rl0s9z203694j3";
+    };
+  }
+  {
+    name = "system.appcontext";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.appcontext/4.3.0/system.appcontext.4.3.0.nupkg";
+      sha256 = "1ipqwwfphj4ndi6krnbali0f3260bmdg0lb9w7w00k3z20gwpjgy";
+    };
+  }
+  {
+    name = "system.buffers";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.buffers/4.3.0/system.buffers.4.3.0.nupkg";
+      sha256 = "1x5m2z3x8s4d0z13l8j6jfbaqpwh8dwyg930pcg67gz88zchfhq8";
+    };
+  }
+  {
+    name = "system.buffers";
+    version = "4.4.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.buffers/4.4.0/system.buffers.4.4.0.nupkg";
+      sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
+    };
+  }
+  {
+    name = "system.buffers";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.buffers/4.5.0/system.buffers.4.5.0.nupkg";
+      sha256 = "0c8qh10lhc8gcl58772i91lc97bljy3dvi6s2r8cjlf0240j5yll";
+    };
+  }
+  {
+    name = "system.collections";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections/4.0.11/system.collections.4.0.11.nupkg";
+      sha256 = "19kjsnpbpznh7qjsyxadw2i8pd4iikrlxwak12l749sli2qd77dj";
+    };
+  }
+  {
+    name = "system.collections";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections/4.3.0/system.collections.4.3.0.nupkg";
+      sha256 = "0209rky2iyiyqxg0amhmvy6c3fww6pbrq9ffynjnmapizmsvq7ya";
+    };
+  }
+  {
+    name = "system.collections.concurrent";
+    version = "4.0.12";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.concurrent/4.0.12/system.collections.concurrent.4.0.12.nupkg";
+      sha256 = "1c4lv39n2i7k146njgk7334izcxjn06cnhmippc1vhwj3bqbzg62";
+    };
+  }
+  {
+    name = "system.collections.concurrent";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.concurrent/4.3.0/system.collections.concurrent.4.3.0.nupkg";
+      sha256 = "0y6jag332kgkj392mrv7i2a3cgc60ff4hl0nx5qw40hq3w2d9j8z";
+    };
+  }
+  {
+    name = "system.collections.immutable";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.immutable/1.2.0/system.collections.immutable.1.2.0.nupkg";
+      sha256 = "1ywivzq43lqlh42qywq6v57yf499dya5rbzk6k7fnkj1121fr7kw";
+    };
+  }
+  {
+    name = "system.collections.immutable";
+    version = "1.5.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.immutable/1.5.0/system.collections.immutable.1.5.0.nupkg";
+      sha256 = "1yn0g10x5lss68i5n5x9q9z1kbxcbblrwp51ph79cgbi01ga999q";
+    };
+  }
+  {
+    name = "system.collections.nongeneric";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.collections.nongeneric/4.0.1/system.collections.nongeneric.4.0.1.nupkg";
+      sha256 = "1wj1ddyycsggg3sjq0iflzyj93m7ny8mc2dpzvh5iqy89lj3gx1m";
+    };
+  }
+  {
+    name = "system.console";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.console/4.0.0/system.console.4.0.0.nupkg";
+      sha256 = "0fw0ap3c0svxjbkgr5yrkck36lbrijhsx48v53xkam5y6m0vh1s3";
+    };
+  }
+  {
+    name = "system.console";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.console/4.3.0/system.console.4.3.0.nupkg";
+      sha256 = "0hyp57lqq986hnj7h017mz1qa1p3qqw3n98nxngdj947ck4mwmpd";
+    };
+  }
+  {
+    name = "system.diagnostics.debug";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg";
+      sha256 = "0j4czvcp72qamsj8irwg0sv5lqil4g6q1ghqsm40g5f3380fxcn3";
+    };
+  }
+  {
+    name = "system.diagnostics.debug";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg";
+      sha256 = "02az3f9n0sy9hpjqq05dkwa4d4bgyrs57b69byya20zydvyxxm9z";
+    };
+  }
+  {
+    name = "system.diagnostics.diagnosticsource";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.diagnosticsource/4.3.0/system.diagnostics.diagnosticsource.4.3.0.nupkg";
+      sha256 = "0rqi76pqplmk8lzqhwxkkn6ramk56bm66ijg3zki9gzaaqx7fbfk";
+    };
+  }
+  {
+    name = "system.diagnostics.process";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.process/4.1.0/system.diagnostics.process.4.1.0.nupkg";
+      sha256 = "1fzm5jrfs4awz0qc2yav1assdnx45j5crpva50a4s0l0dnnvf2jh";
+    };
+  }
+  {
+    name = "system.diagnostics.tools";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tools/4.3.0/system.diagnostics.tools.4.3.0.nupkg";
+      sha256 = "0fmmnsvnjxh4gjw2jjix3f7ndvhdh9h4rb4nbjk285c2rgfp2kyn";
+    };
+  }
+  {
+    name = "system.diagnostics.tracesource";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tracesource/4.0.0/system.diagnostics.tracesource.4.0.0.nupkg";
+      sha256 = "0dwq0z7p3jpxp4y9x1k3pglrs572xx5dsp4nmnz5v5wr6a1kdc8l";
+    };
+  }
+  {
+    name = "system.diagnostics.tracing";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tracing/4.1.0/system.diagnostics.tracing.4.1.0.nupkg";
+      sha256 = "0lzdnq31spwv2xd9xkf0ph4zlg7bqifcvp1915jk1hb5fjjf1byp";
+    };
+  }
+  {
+    name = "system.diagnostics.tracing";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.diagnostics.tracing/4.3.0/system.diagnostics.tracing.4.3.0.nupkg";
+      sha256 = "0zwc9qk2ig6h74dnn4hxlyhnfchp6yd6hqv39dy0dhp3xagwfqp3";
+    };
+  }
+  {
+    name = "system.globalization";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.globalization/4.0.11/system.globalization.4.0.11.nupkg";
+      sha256 = "04pycnih66s15rbwss94ylm0svfr276ym4w4w14bb9g56dk0wwyy";
+    };
+  }
+  {
+    name = "system.globalization";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.globalization/4.3.0/system.globalization.4.3.0.nupkg";
+      sha256 = "1sydnlnaqmarcfs1cvaa3rpax7qhzd8wd67f74k89lr3k77cagfh";
+    };
+  }
+  {
+    name = "system.globalization.calendars";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.globalization.calendars/4.3.0/system.globalization.calendars.4.3.0.nupkg";
+      sha256 = "1qfa54p7ab2himyry3lf0j85gpz3mx9yj0sy0v2j9i94ndvk1w7c";
+    };
+  }
+  {
+    name = "system.io";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io/4.1.0/system.io.4.1.0.nupkg";
+      sha256 = "0drs586wimx7vzwqfdb72k640iz24645cwz053n1f08752bjkzq8";
+    };
+  }
+  {
+    name = "system.io";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io/4.3.0/system.io.4.3.0.nupkg";
+      sha256 = "1n3qypsgn18pg13vyjcnchz3zbfajdk6swl1wzf0hv6324v8xyd7";
+    };
+  }
+  {
+    name = "system.io.compression";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.compression/4.3.0/system.io.compression.4.3.0.nupkg";
+      sha256 = "0mxp384amfdapgsf6fkyf3c5q10jc2yy55v3vim8wq1w8aim1qcf";
+    };
+  }
+  {
+    name = "system.io.compression.zipfile";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.compression.zipfile/4.3.0/system.io.compression.zipfile.4.3.0.nupkg";
+      sha256 = "08fbnsgbbnfj7d6k5zdqvm3580iqwrq4qzbnyq6iw9g93kmlyh5p";
+    };
+  }
+  {
+    name = "system.io.filesystem";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg";
+      sha256 = "0mp3n5214lzxz7qn2y5k7f2y9qv067xa23bnbyyhpmlkbl3grwc6";
+    };
+  }
+  {
+    name = "system.io.filesystem";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg";
+      sha256 = "1p4r4n4minxgir17xh7rwv503fj1zgnm1vb24and7v2n6id4ma61";
+    };
+  }
+  {
+    name = "system.io.filesystem.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg";
+      sha256 = "12mspig2fvzhvbdm22yk081lpn7rc45xwwricc5vnaszgjp83gns";
+    };
+  }
+  {
+    name = "system.io.filesystem.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg";
+      sha256 = "0s22vnhy6cxyzicipj3937rldxk1znlykakc6j596mjgsmshpfqn";
+    };
+  }
+  {
+    name = "system.linq";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.linq/4.1.0/system.linq.4.1.0.nupkg";
+      sha256 = "1n404dvsz6p2d18q9k3ip1vyl8ffbsz6xvc2bl2bba9ccpyjhygm";
+    };
+  }
+  {
+    name = "system.linq";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.linq/4.3.0/system.linq.4.3.0.nupkg";
+      sha256 = "1419wbklbn2vliwfy77p759k084h8jp9i3559shbhrzfxjr2fcv9";
+    };
+  }
+  {
+    name = "system.linq.expressions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg";
+      sha256 = "177cz5hgcbq8lpgvdjmkpsx4kr645wpxhbgh3aw3f28nqlmhl70j";
+    };
+  }
+  {
+    name = "system.memory";
+    version = "4.5.3";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.memory/4.5.3/system.memory.4.5.3.nupkg";
+      sha256 = "1igqq2lqrijpbn66w1020cyyqiwy80i9fkqrmalamjmvmyg28p8m";
+    };
+  }
+  {
+    name = "system.net.http";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.net.http/4.3.0/system.net.http.4.3.0.nupkg";
+      sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+    };
+  }
+  {
+    name = "system.net.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.net.primitives/4.3.0/system.net.primitives.4.3.0.nupkg";
+      sha256 = "1zfrz4p3nmz3cnb0i8xwc76175328dfgrlmp3bcwvp5vplv3ncnz";
+    };
+  }
+  {
+    name = "system.net.sockets";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.net.sockets/4.3.0/system.net.sockets.4.3.0.nupkg";
+      sha256 = "026ghgh25lw953aqd83npk856g4bwi6a8y7jc695qj8lb929yp5s";
+    };
+  }
+  {
+    name = "system.numerics.vectors";
+    version = "4.4.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.numerics.vectors/4.4.0/system.numerics.vectors.4.4.0.nupkg";
+      sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
+    };
+  }
+  {
+    name = "system.numerics.vectors";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.numerics.vectors/4.5.0/system.numerics.vectors.4.5.0.nupkg";
+      sha256 = "1r66gjpvbmgr3216ch2fx9zzd08fb78br4hzblvsvi7wfwp6w7ip";
+    };
+  }
+  {
+    name = "system.objectmodel";
+    version = "4.0.12";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg";
+      sha256 = "06abwzrai4k999qmc8bkcvq26px2ws9gk04c01c1ix9fw02pf546";
+    };
+  }
+  {
+    name = "system.objectmodel";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg";
+      sha256 = "18mryszf4a66a52v9din5wgqiykp0ficl5zl5l9grkrisjnl7jh4";
+    };
+  }
+  {
+    name = "system.private.datacontractserialization";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.private.datacontractserialization/4.1.1/system.private.datacontractserialization.4.1.1.nupkg";
+      sha256 = "1hrbq85s14x7ck6an570z8p7slprlsswxlydz0pdzfmnqwpv0qbi";
+    };
+  }
+  {
+    name = "system.reflection";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection/4.1.0/system.reflection.4.1.0.nupkg";
+      sha256 = "003bmllpdf35jsbbhgsi4a24rqprdhgjpi3d76jk7sgllbh6p1wj";
+    };
+  }
+  {
+    name = "system.reflection";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection/4.3.0/system.reflection.4.3.0.nupkg";
+      sha256 = "00f1n6r8z6zw3mfhrfg402s6fj95jj9d8z5s62kfmd7pdsnv39xi";
+    };
+  }
+  {
+    name = "system.reflection.emit";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg";
+      sha256 = "0s1cpkpnn2x6bicspj1x7z7zlfg1h5iy8mvr5bcq55fgpyf6xin8";
+    };
+  }
+  {
+    name = "system.reflection.emit.ilgeneration";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg";
+      sha256 = "0q789n72y47jkld2076khan7zz2gm04znpnz0nznin7ykp8aa0ih";
+    };
+  }
+  {
+    name = "system.reflection.emit.lightweight";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg";
+      sha256 = "10hsbdar8vzvq3izv3v8a93rz7brnmrcrcl5c0nvy8vlmdk41jlx";
+    };
+  }
+  {
+    name = "system.reflection.extensions";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg";
+      sha256 = "1n1gig2nlycrz1rzy1gi56gcw568ibdpnbknjy7gv9i76aw2kvy7";
+    };
+  }
+  {
+    name = "system.reflection.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.extensions/4.3.0/system.reflection.extensions.4.3.0.nupkg";
+      sha256 = "020gr3yjb3aa49hm4qyxqrz318ll2rnc8qpcby341ik0gr4ij3wz";
+    };
+  }
+  {
+    name = "system.reflection.metadata";
+    version = "1.6.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.metadata/1.6.0/system.reflection.metadata.1.6.0.nupkg";
+      sha256 = "1kw4xsm093zd10jf3vjc2lxmv0zq6chi3g8rka8w0d3l3a5hh3ly";
+    };
+  }
+  {
+    name = "system.reflection.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.primitives/4.0.1/system.reflection.primitives.4.0.1.nupkg";
+      sha256 = "1r0a1xhlrdr6kdhia9r6rcywds4r8wbk0jagsac6x3rc0kq5f1yi";
+    };
+  }
+  {
+    name = "system.reflection.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg";
+      sha256 = "1b10cxizldqk8niyihhxsabfjkyrlnkgf4im038lbxs3pq7a12yl";
+    };
+  }
+  {
+    name = "system.reflection.typeextensions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg";
+      sha256 = "13y2gvadvzgv5hrizwd53xyciq88p8mpclyqfmikspij4pyb5328";
+    };
+  }
+  {
+    name = "system.resources.extensions";
+    version = "4.6.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.resources.extensions/4.6.0/system.resources.extensions.4.6.0.nupkg";
+      sha256 = "0inch9jgchgmsg3xjivbhh9mpin40mhdd8dgf4i1p3g42i0hzc0j";
+    };
+  }
+  {
+    name = "system.resources.reader";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.reader/4.0.0/system.resources.reader.4.0.0.nupkg";
+      sha256 = "0nipl2mayrbgf62mbi3z9crk9hvcrxnry008a33iyk9xy45rmyk1";
+    };
+  }
+  {
+    name = "system.resources.resourcemanager";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.resourcemanager/4.0.1/system.resources.resourcemanager.4.0.1.nupkg";
+      sha256 = "1hjlz6rvr5c7qmvmbv1a338zqjl1dbj0qqidwv9z0ldy4jmg89cy";
+    };
+  }
+  {
+    name = "system.resources.resourcemanager";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.resourcemanager/4.3.0/system.resources.resourcemanager.4.3.0.nupkg";
+      sha256 = "1bi65kd8fps7gncs053pawc0j44pz4wcgdj3jcw7gpjr4j0zyxwi";
+    };
+  }
+  {
+    name = "system.runtime";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime/4.1.0/system.runtime.4.1.0.nupkg";
+      sha256 = "05n73j0s3qgjnp5w2jxaacn93kpq14cldxncv15v04b3lla30mpr";
+    };
+  }
+  {
+    name = "system.runtime";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime/4.3.0/system.runtime.4.3.0.nupkg";
+      sha256 = "0cffdplihjrivvcayzvz32gmv7yissf2pmyaga4fw7g262rf5mxi";
+    };
+  }
+  {
+    name = "system.runtime.compilerservices.unsafe";
+    version = "4.5.2";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.compilerservices.unsafe/4.5.2/system.runtime.compilerservices.unsafe.4.5.2.nupkg";
+      sha256 = "0bp6in9qqhprbk85wd0cnfnpjcwdknyyc9rk0891kldx3alnd4h7";
+    };
+  }
+  {
+    name = "system.runtime.compilerservices.unsafe";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.7.0/system.runtime.compilerservices.unsafe.4.7.0.nupkg";
+      sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
+    };
+  }
+  {
+    name = "system.runtime.extensions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.extensions/4.1.0/system.runtime.extensions.4.1.0.nupkg";
+      sha256 = "0bms87hf2q90kkfg75ljdk09410fl64326wpvhqgfkgw019704yc";
+    };
+  }
+  {
+    name = "system.runtime.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.extensions/4.3.0/system.runtime.extensions.4.3.0.nupkg";
+      sha256 = "18qn6zjvpngda5bd9nrpphwy5lppmkla86jk5bdapz6ar44ic8wy";
+    };
+  }
+  {
+    name = "system.runtime.handles";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.handles/4.0.1/system.runtime.handles.4.0.1.nupkg";
+      sha256 = "00kzqs5d8gm1ppc13idybcdrr07yk2a7f5bdrb0mw7c1bafjp1px";
+    };
+  }
+  {
+    name = "system.runtime.handles";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.handles/4.3.0/system.runtime.handles.4.3.0.nupkg";
+      sha256 = "1klsizwincb42v9yl6m9czgqcmxr7a1h1ri687ldqy4w15718adi";
+    };
+  }
+  {
+    name = "system.runtime.interopservices";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices/4.1.0/system.runtime.interopservices.4.1.0.nupkg";
+      sha256 = "1876kwm4ziikya5s75sb1cp23qwdsd7xhlmlb9gaglibzwkd8b9d";
+    };
+  }
+  {
+    name = "system.runtime.interopservices";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices/4.3.0/system.runtime.interopservices.4.3.0.nupkg";
+      sha256 = "0l13wfr3y4rq667cyw1rl3bdq24zhs34jwv61piwnv77flwr4brq";
+    };
+  }
+  {
+    name = "system.runtime.interopservices.runtimeinformation";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices.runtimeinformation/4.0.0/system.runtime.interopservices.runtimeinformation.4.0.0.nupkg";
+      sha256 = "05pmsmrjmy3mk4r8xqihc3w7128d4qccjg6wkyd7zc2yq67w7xmg";
+    };
+  }
+  {
+    name = "system.runtime.interopservices.runtimeinformation";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.interopservices.runtimeinformation/4.3.0/system.runtime.interopservices.runtimeinformation.4.3.0.nupkg";
+      sha256 = "131108h1vnayxx6ms2axinja3sqckb1b8z9v8fjnaf9ix8zvmaxq";
+    };
+  }
+  {
+    name = "system.runtime.numerics";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.numerics/4.3.0/system.runtime.numerics.4.3.0.nupkg";
+      sha256 = "06i4k2ng909fvlq9dhglgyp0iv5vj6b42vqlsvk2gcn6ssgkq9ya";
+    };
+  }
+  {
+    name = "system.runtime.serialization.primitives";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg";
+      sha256 = "1mqwgsda61xm2p4chcniypnnrahh8l6j8c9j45jd2r0hmrvnsc4k";
+    };
+  }
+  {
+    name = "system.runtime.serialization.xml";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.runtime.serialization.xml/4.1.1/system.runtime.serialization.xml.4.1.1.nupkg";
+      sha256 = "19mwnihzks4l2q73bsg5ylbawxqcji3slzzp0v46v6xvvrq480wq";
+    };
+  }
+  {
+    name = "system.security.cryptography.algorithms";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.algorithms/4.3.0/system.security.cryptography.algorithms.4.3.0.nupkg";
+      sha256 = "04lfa74ll34fk2r42fkdldvcgjp27i3d5zbxx5bxx1dfpsqhkavv";
+    };
+  }
+  {
+    name = "system.security.cryptography.encoding";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.encoding/4.3.0/system.security.cryptography.encoding.4.3.0.nupkg";
+      sha256 = "1icdqp1c8f7971h1vkls87m8bdxs7xqg4xs7ygi0x3n56pjbqfpi";
+    };
+  }
+  {
+    name = "system.security.cryptography.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.primitives/4.3.0/system.security.cryptography.primitives.4.3.0.nupkg";
+      sha256 = "02dsnjxw9bymk0a2qnnlavpi0jq8832dviblv5f9icmwldridc8y";
+    };
+  }
+  {
+    name = "system.security.cryptography.x509certificates";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.security.cryptography.x509certificates/4.3.0/system.security.cryptography.x509certificates.4.3.0.nupkg";
+      sha256 = "0p02s2k8gcx86ys67ydbgrlnp5q7f073jnlgpliqp4f7d2wiwszd";
+    };
+  }
+  {
+    name = "system.security.principal.windows";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.principal.windows/4.7.0/system.security.principal.windows.4.7.0.nupkg";
+      sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d";
+    };
+  }
+  {
+    name = "system.text.encoding";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding/4.0.11/system.text.encoding.4.0.11.nupkg";
+      sha256 = "0q829jqhv2sdggb3xjlbdp65g2670w9gw64q2irdzr47gl7zpzyl";
+    };
+  }
+  {
+    name = "system.text.encoding";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg";
+      sha256 = "04fsaadvsnjz6jmf88n26md9zcmvwgn2dkwqkjvhf5apph8gi44g";
+    };
+  }
+  {
+    name = "system.text.encoding.codepages";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding.codepages/4.0.1/system.text.encoding.codepages.4.0.1.nupkg";
+      sha256 = "0ixii299wspn434ccjjv8pcvxww3qjl8257r0dx7myh816v3a9sz";
+    };
+  }
+  {
+    name = "system.text.encoding.extensions";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg";
+      sha256 = "15f89w0vwnfp10544wbq0z6fjqn7ig03q3kl16x2pp47rac6yj17";
+    };
+  }
+  {
+    name = "system.text.encoding.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg";
+      sha256 = "1w6jxdkrczxwyw2bbs9ng0zi2nk3paznyhm1vnh5vc8v10k96v98";
+    };
+  }
+  {
+    name = "system.text.encodings.web";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg";
+      sha256 = "0sd3bihfar5rwm6nib4lhyys306nkm02qvk6p6sgzmnlfmma2wn3";
+    };
+  }
+  {
+    name = "system.text.json";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.json/4.7.0/system.text.json.4.7.0.nupkg";
+      sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
+    };
+  }
+  {
+    name = "system.text.regularexpressions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg";
+      sha256 = "1ndgfw99bds4772p7578ylcb4whls76qhiz9a3bh4qy9si48afcv";
+    };
+  }
+  {
+    name = "system.text.regularexpressions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.text.regularexpressions/4.3.0/system.text.regularexpressions.4.3.0.nupkg";
+      sha256 = "1510mdlfdc42vyp738wvmqdy3sir2yyh5w3da3v5i0ar2c4jn6wi";
+    };
+  }
+  {
+    name = "system.threading";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading/4.0.11/system.threading.4.0.11.nupkg";
+      sha256 = "12w6vdai88ldgnv9f71rybwyvlzkk1nr57d7f8cz6rajwliz7h6g";
+    };
+  }
+  {
+    name = "system.threading";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading/4.3.0/system.threading.4.3.0.nupkg";
+      sha256 = "1ad1drl7q1f8fmfaq3r2bswg58nbc2y01mrbhlwkv41ij1ij3fz3";
+    };
+  }
+  {
+    name = "system.threading.tasks";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks/4.0.11/system.threading.tasks.4.0.11.nupkg";
+      sha256 = "03gvdi1qk4kyws4sjfl5w3fy9qbrq0d0i72n7a8d59lchm6l9zjk";
+    };
+  }
+  {
+    name = "system.threading.tasks";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg";
+      sha256 = "0y0gw9q62dchzhk3fcdcdfhk6c5zr0a6rs34qfdbkgksnva10cm1";
+    };
+  }
+  {
+    name = "system.threading.tasks.dataflow";
+    version = "4.9.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.dataflow/4.9.0/system.threading.tasks.dataflow.4.9.0.nupkg";
+      sha256 = "01lhdmb9w4h82yaqrqpzvz5cv2b228kj332k2h6nz0qycpjd6b0y";
+    };
+  }
+  {
+    name = "system.threading.tasks.extensions";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg";
+      sha256 = "1dxi845z4cd83v2ph7dq9ykf5gxr6gaw9k29wckv5zhx1rjwprfg";
+    };
+  }
+  {
+    name = "system.threading.tasks.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg";
+      sha256 = "1dr14m9c2psrvavv74dzwbi09avn0hxmdvr6z03f96mxkrk3cm1d";
+    };
+  }
+  {
+    name = "system.threading.tasks.extensions";
+    version = "4.5.2";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg";
+      sha256 = "03qkna7pwxaxnxg3ydc1vpjzzrizq55gm7w519gqlmd6yca61vzm";
+    };
+  }
+  {
+    name = "system.threading.tasks.parallel";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.tasks.parallel/4.0.1/system.threading.tasks.parallel.4.0.1.nupkg";
+      sha256 = "00l76cv7yys3ilrpi32xrs8qk45gmliqvmw2w2zxg3h21y6r0xc0";
+    };
+  }
+  {
+    name = "system.threading.thread";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.thread/4.0.0/system.threading.thread.4.0.0.nupkg";
+      sha256 = "0ay1bjmyk0jv6plj9layh3nhr7lnl5a6gzlqi2pgqglb1s9j1x4s";
+    };
+  }
+  {
+    name = "system.threading.timer";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.timer/4.0.1/system.threading.timer.4.0.1.nupkg";
+      sha256 = "0imrcq43k6ii97xpfkwzsvhs6idvgc6mi5c9p7ah828wbaxqh1my";
+    };
+  }
+  {
+    name = "system.threading.timer";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.threading.timer/4.3.0/system.threading.timer.4.3.0.nupkg";
+      sha256 = "11p4yxkcn2amlxhwipyia38k8glpam5c9l47y5dvjdicg42dgxl8";
+    };
+  }
+  {
+    name = "system.valuetuple";
+    version = "4.5.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.valuetuple/4.5.0/system.valuetuple.4.5.0.nupkg";
+      sha256 = "068v2h0v8873jh3zc06bxcfzch9frggak1s9csyisl7xzwdijsqn";
+    };
+  }
+  {
+    name = "system.xml.readerwriter";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg";
+      sha256 = "04ijmcrb40x08br0fdpxmrm0fw2ahpiqjs9wmrqx38ngf96irb7l";
+    };
+  }
+  {
+    name = "system.xml.readerwriter";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg";
+      sha256 = "1dsj4s5jwjqix52sizyncvrv5p1h9cdnkh5c4a6407s3gkkh4gzw";
+    };
+  }
+  {
+    name = "system.xml.xdocument";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg";
+      sha256 = "14j57hlnmba6rwjwkxx8yp7rk5zf2dzq5j9f22j84jr0xxf00j2f";
+    };
+  }
+  {
+    name = "system.xml.xmldocument";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xmldocument/4.0.1/system.xml.xmldocument.4.0.1.nupkg";
+      sha256 = "1x2iz1l482876vjr11vsrl895n1bbaflxbj239dpf5a48p06gq7y";
+    };
+  }
+  {
+    name = "system.xml.xmlserializer";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xmlserializer/4.0.11/system.xml.xmlserializer.4.0.11.nupkg";
+      sha256 = "0987zp4nskf0dbsl3h4s5m1ianjcc398zmp2b98j4834c45jh0bm";
+    };
+  }
+  {
+    name = "system.xml.xpath";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.xml.xpath/4.3.0/system.xml.xpath.4.3.0.nupkg";
+      sha256 = "0hvn82chjynkixvvk9dy9djqvb0hlkbc2hy00gy27vjhd8i4iqkx";
+    };
+  }
+  {
+    name = "vswhere";
+    version = "2.6.7";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/vswhere/2.6.7/vswhere.2.6.7.nupkg";
+      sha256 = "0h4k5i96p7633zzf4xsv7615f9x72rr5qr7b9934ri2y6gshfcwk";
+    };
+  }
+  {
+    name = "xlifftasks";
+    version = "1.0.0-beta.20206.1";
+    src = fetchurl {
+      url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/xlifftasks/1.0.0-beta.20206.1/xlifftasks.1.0.0-beta.20206.1.nupkg";
+      sha256 = "0xsfzws7rn9sfk4mgkbil21m8d3k3kccfk5f4g6lzvc1vk0pa26j";
+    };
+  }
+  {
+    name = "xunit";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit/2.4.1/xunit.2.4.1.nupkg";
+      sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
+    };
+  }
+  {
+    name = "xunit.abstractions";
+    version = "2.0.3";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.abstractions/2.0.3/xunit.abstractions.2.0.3.nupkg";
+      sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
+    };
+  }
+  {
+    name = "xunit.analyzers";
+    version = "0.10.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.analyzers/0.10.0/xunit.analyzers.0.10.0.nupkg";
+      sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
+    };
+  }
+  {
+    name = "xunit.assert";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.assert/2.4.1/xunit.assert.2.4.1.nupkg";
+      sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
+    };
+  }
+  {
+    name = "xunit.core";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.core/2.4.1/xunit.core.2.4.1.nupkg";
+      sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
+    };
+  }
+  {
+    name = "xunit.extensibility.core";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.extensibility.core/2.4.1/xunit.extensibility.core.2.4.1.nupkg";
+      sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
+    };
+  }
+  {
+    name = "xunit.extensibility.execution";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.extensibility.execution/2.4.1/xunit.extensibility.execution.2.4.1.nupkg";
+      sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
+    };
+  }
+  {
+    name = "xunit.runner.console";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.runner.console/2.4.1/xunit.runner.console.2.4.1.nupkg";
+      sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13";
+    };
+  }
+  {
+    name = "xunit.runner.visualstudio";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/xunit.runner.visualstudio/2.4.1/xunit.runner.visualstudio.2.4.1.nupkg";
+      sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
+    };
+  }
+]
diff --git a/pkgs/development/tools/build-managers/msbuild/nuget.nix b/pkgs/development/tools/build-managers/msbuild/nuget.nix
deleted file mode 100644
index 0aae3840752..00000000000
--- a/pkgs/development/tools/build-managers/msbuild/nuget.nix
+++ /dev/null
@@ -1,1130 +0,0 @@
-{ fetchurl }: let
-
-  fetchNuGet = { url, name, version, sha256 }: fetchurl {
-    inherit name url sha256;
-  };
-
-in [
-(fetchNuGet {
-        name = "microsoft.build";
-        version = "14.3.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.build/14.3.0";
-        sha256 = "1zamn3p8xxi0wsjlpln0y71ncb977f3fp08mvaz4wmbmi76nr0rz";
-        })
-(fetchNuGet {
-        name = "system.io";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.io/4.1.0";
-        sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
-        })
-(fetchNuGet {
-        name = "system.io";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io/4.3.0";
-        sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
-        })
-(fetchNuGet {
-        name = "system.xml.xpath";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.xml.xpath/4.3.0";
-        sha256 = "1cv2m0p70774a0sd1zxc8fm8jk3i5zk2bla3riqvi8gsm0r4kpci";
-        })
-(fetchNuGet {
-        name = "microsoft.net.compilers.toolset";
-        version = "3.3.0-beta2-19367-02";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.net.compilers.toolset/3.3.0-beta2-19367-02/microsoft.net.compilers.toolset.3.3.0-beta2-19367-02.nupkg";
-        sha256 = "1v9lz2fmfprhql0klqa8iipiiz3wcflvlgr3a86pcjjk7x0y84sl";
-        })
-(fetchNuGet {
-        name = "system.io.filesystem";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.io.filesystem/4.0.1";
-        sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
-        })
-(fetchNuGet {
-        name = "system.io.filesystem";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io.filesystem/4.3.0";
-        sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
-        })
-(fetchNuGet {
-        name = "largeaddressaware";
-        version = "1.0.3";
-        url = "https://www.nuget.org/api/v2/package/largeaddressaware/1.0.3";
-        sha256 = "1ppss9bgj0hf5s8307bnm2a4qm10mrymp0v12m28a5q81zjz0fr5";
-        })
-(fetchNuGet {
-        name = "nuget.protocol";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.protocol/5.2.0-rtm.6067";
-        sha256 = "0fm3qgcdsy6dy6fih0n9a4w39mzdha4cz51gr9pp9g4nag34za2a";
-        })
-(fetchNuGet {
-        name = "runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
-        })
-(fetchNuGet {
-        name = "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
-        })
-(fetchNuGet {
-        name = "system.buffers";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.buffers/4.3.0";
-        sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
-        })
-(fetchNuGet {
-        name = "system.buffers";
-        version = "4.4.0";
-        url = "https://www.nuget.org/api/v2/package/system.buffers/4.4.0";
-        sha256 = "183f8063w8zqn99pv0ni0nnwh7fgx46qzxamwnans55hhs2l0g19";
-        })
-(fetchNuGet {
-        name = "xunit.core";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit.core/2.4.1";
-        sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
-        })
-(fetchNuGet {
-        name = "system.io.filesystem.primitives";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.primitives/4.3.0";
-        sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
-        })
-(fetchNuGet {
-        name = "system.io.filesystem.primitives";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.primitives/4.0.1";
-        sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
-        })
-(fetchNuGet {
-        name = "system.xml.xmldocument";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.xml.xmldocument/4.0.1";
-        sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
-        })
-(fetchNuGet {
-        name = "system.xml.xmldocument";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.xml.xmldocument/4.3.0";
-        sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
-        })
-(fetchNuGet {
-        name = "microsoft.build.framework";
-        version = "15.5.180";
-        url = "https://www.nuget.org/api/v2/package/microsoft.build.framework/15.5.180";
-        sha256 = "064y3a711ikx9pm9d2wyms4i3k4f9hfvn3vymhwygg7yv7gcj92z";
-        })
-(fetchNuGet {
-        name = "microsoft.build.framework";
-        version = "14.3.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.build.framework/14.3.0";
-        sha256 = "0r7y1i7dbr3pb53fdrh268hyi627w85nzv2iblwyg8dzkfxraafd";
-        })
-(fetchNuGet {
-        name = "system.globalization";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.globalization/4.3.0";
-        sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
-        })
-(fetchNuGet {
-        name = "system.globalization";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.globalization/4.0.11";
-        sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
-        })
-(fetchNuGet {
-        name = "microsoft.dotnet.signtool";
-        version = "1.0.0-beta.19372.10";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.signtool/1.0.0-beta.19372.10/microsoft.dotnet.signtool.1.0.0-beta.19372.10.nupkg";
-        sha256 = "1f2im2lilw10zslfclxh49knr542jy7q09p009flxsgn68riy0j6";
-        })
-(fetchNuGet {
-        name = "system.runtime.handles";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.handles/4.3.0";
-        sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
-        })
-(fetchNuGet {
-        name = "system.runtime.handles";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.handles/4.0.1";
-        sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
-        })
-(fetchNuGet {
-        name = "microsoft.codeanalysis.common";
-        version = "3.0.0-beta1-61516-01";
-        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.common/3.0.0-beta1-61516-01";
-        sha256 = "1qfm61yrsmihhir7n3hb5ccn1r50i39rv1g74880ma7ihjl1hz54";
-        })
-(fetchNuGet {
-        name = "microsoft.netcore.platforms";
-        version = "1.0.1";
-        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.platforms/1.0.1";
-        sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
-        })
-(fetchNuGet {
-        name = "microsoft.netcore.platforms";
-        version = "1.1.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.platforms/1.1.0";
-        sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
-        })
-(fetchNuGet {
-        name = "system.reflection.primitives";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.primitives/4.3.0";
-        sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
-        })
-(fetchNuGet {
-        name = "system.reflection.primitives";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.primitives/4.0.1";
-        sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
-        })
-(fetchNuGet {
-        name = "microbuild.core";
-        version = "0.2.0";
-        url = "https://www.nuget.org/api/v2/package/microbuild.core/0.2.0";
-        sha256 = "0q4s45jskbyxfx4ay6znnvv94zma2wd85b8rwmwszd2nb0xl3194";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.tracesource";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracesource/4.0.0";
-        sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
-        })
-(fetchNuGet {
-        name = "system.runtime.numerics";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.numerics/4.3.0";
-        sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks.parallel";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.parallel/4.3.0";
-        sha256 = "1rr3qa4hxwyj531s4nb3bwrxnxxwz617i0n9gh6x7nr7dd3ayzgh";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks.parallel";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.parallel/4.0.1";
-        sha256 = "114wdg32hr46dfsnns3pgs67kcha5jn47p5gg0mhxfn5vrkr2p75";
-        })
-(fetchNuGet {
-        name = "nuget.credentials";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.credentials/5.2.0-rtm.6067";
-        sha256 = "07g2na590sph9li5igww74i3gqyrj5cb6gsgjh54f1f4bs4x1c4k";
-        })
-(fetchNuGet {
-        name = "system.objectmodel";
-        version = "4.0.12";
-        url = "https://www.nuget.org/api/v2/package/system.objectmodel/4.0.12";
-        sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
-        })
-(fetchNuGet {
-        name = "system.objectmodel";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.objectmodel/4.3.0";
-        sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
-        })
-(fetchNuGet {
-        name = "system.xml.xmlserializer";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.xml.xmlserializer/4.0.11";
-        sha256 = "01nzc3gdslw90qfykq4qzr2mdnqxjl4sj0wp3fixiwdmlmvpib5z";
-        })
-(fetchNuGet {
-        name = "microsoft.codeanalysis.build.tasks";
-        version = "3.0.0-beta1-61516-01";
-        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.build.tasks/3.0.0-beta1-61516-01";
-        sha256 = "1cjpqbd4i0gxhh86nvamlpkisd1krcrya6riwjhghvpjph6115vp";
-        })
-(fetchNuGet {
-        name = "system.private.datacontractserialization";
-        version = "4.1.1";
-        url = "https://www.nuget.org/api/v2/package/system.private.datacontractserialization/4.1.1";
-        sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
-        })
-(fetchNuGet {
-        name = "system.numerics.vectors";
-        version = "4.4.0";
-        url = "https://www.nuget.org/api/v2/package/system.numerics.vectors/4.4.0";
-        sha256 = "0rdvma399070b0i46c4qq1h2yvjj3k013sqzkilz4bz5cwmx1rba";
-        })
-(fetchNuGet {
-        name = "microsoft.build.centralpackageversions";
-        version = "2.0.1";
-        url = "https://www.nuget.org/api/v2/package/microsoft.build.centralpackageversions/2.0.1";
-        sha256 = "17cjiaj2b98q8s89168g42jb8rhwm6062jcbv57rbkdiiwdsn55k";
-        })
-(fetchNuGet {
-        name = "system.text.encoding.extensions";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.text.encoding.extensions/4.0.11";
-        sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
-        })
-(fetchNuGet {
-        name = "system.text.encoding.extensions";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.text.encoding.extensions/4.3.0";
-        sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
-        })
-(fetchNuGet {
-        name = "microsoft.visualstudio.sdk.embedinteroptypes";
-        version = "15.0.15";
-        url = "https://www.nuget.org/api/v2/package/microsoft.visualstudio.sdk.embedinteroptypes/15.0.15";
-        sha256 = "0chr3slzzcanwcyd9isx4gichqzmfh4zd3h83piw0r4xsww1wmpd";
-        })
-(fetchNuGet {
-        name = "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
-        })
-(fetchNuGet {
-        name = "system.runtime.extensions";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.extensions/4.1.0";
-        sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
-        })
-(fetchNuGet {
-        name = "system.runtime.extensions";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.extensions/4.3.0";
-        sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
-        })
-(fetchNuGet {
-        name = "system.resources.extensions";
-        version = "4.6.0-preview8.19364.1";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/system.resources.extensions/4.6.0-preview8.19364.1/system.resources.extensions.4.6.0-preview8.19364.1.nupkg";
-        sha256 = "0jh9ilbicmsngv77a4ayzs0n7s440ycdf726nbljw029gq4rzvqf";
-        })
-(fetchNuGet {
-        name = "nuget.frameworks";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.frameworks/5.2.0-rtm.6067";
-        sha256 = "1g1kcfqhxr1bhl3ksbdmz3rb9nq1qmkac1sijf9ng4gmr9fmprdm";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.diagnosticsource";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.diagnosticsource/4.3.0";
-        sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
-        })
-(fetchNuGet {
-        name = "system.security.claims";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.claims/4.3.0";
-        sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
-        })
-(fetchNuGet {
-        name = "system.linq.expressions";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.linq.expressions/4.3.0";
-        sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.stacktrace";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.stacktrace/4.3.0";
-        sha256 = "0ash4h9k0m7xsm0yl79r0ixrdz369h7y922wipp5gladmlbvpyjd";
-        })
-(fetchNuGet {
-        name = "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.tracing";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracing/4.3.0";
-        sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.tracing";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tracing/4.1.0";
-        sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
-        })
-(fetchNuGet {
-        name = "xunit.analyzers";
-        version = "0.10.0";
-        url = "https://www.nuget.org/api/v2/package/xunit.analyzers/0.10.0";
-        sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
-        })
-(fetchNuGet {
-        name = "xunit.assert";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit.assert/2.4.1";
-        sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
-        })
-(fetchNuGet {
-        name = "system.appcontext";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.appcontext/4.1.0";
-        sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz";
-        })
-(fetchNuGet {
-        name = "system.appcontext";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.appcontext/4.3.0";
-        sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
-        })
-(fetchNuGet {
-        name = "system.text.encoding.codepages";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.text.encoding.codepages/4.3.0";
-        sha256 = "0lgxg1gn7pg7j0f942pfdc9q7wamzxsgq3ng248ikdasxz0iadkv";
-        })
-(fetchNuGet {
-        name = "system.text.encoding.codepages";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.text.encoding.codepages/4.0.1";
-        sha256 = "00wpm3b9y0k996rm9whxprngm8l500ajmzgy2ip9pgwk0icp06y3";
-        })
-(fetchNuGet {
-        name = "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
-        })
-(fetchNuGet {
-        name = "microsoft.codeanalysis.csharp";
-        version = "3.0.0-beta1-61516-01";
-        url = "https://dotnet.myget.org/F/roslyn/api/v2/package/microsoft.codeanalysis.csharp/3.0.0-beta1-61516-01";
-        sha256 = "0a7npkdw6s5jczw1lkm63x2bpz1z3ccid20h5nm6k78cv7sihm4h";
-        })
-(fetchNuGet {
-        name = "system.console";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/system.console/4.0.0";
-        sha256 = "0ynxqbc3z1nwbrc11hkkpw9skw116z4y9wjzn7id49p9yi7mzmlf";
-        })
-(fetchNuGet {
-        name = "system.console";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.console/4.3.0";
-        sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
-        })
-(fetchNuGet {
-        name = "system.reflection.typeextensions";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.typeextensions/4.1.0";
-        sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
-        })
-(fetchNuGet {
-        name = "system.runtime.compilerservices.unsafe";
-        version = "4.5.2";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.compilerservices.unsafe/4.5.2";
-        sha256 = "1vz4275fjij8inf31np78hw50al8nqkngk04p3xv5n4fcmf1grgi";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks/4.3.0";
-        sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks/4.0.11";
-        sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
-        })
-(fetchNuGet {
-        name = "xunit.abstractions";
-        version = "2.0.3";
-        url = "https://www.nuget.org/api/v2/package/xunit.abstractions/2.0.3";
-        sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
-        })
-(fetchNuGet {
-        name = "microsoft.build.utilities.core";
-        version = "15.5.180";
-        url = "https://www.nuget.org/api/v2/package/microsoft.build.utilities.core/15.5.180";
-        sha256 = "0c4bjhaqgc98bchln8p5d2p1vyn8qrha2b8gpn2l7bnznbcrd630";
-        })
-(fetchNuGet {
-        name = "microsoft.build.utilities.core";
-        version = "14.3.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.build.utilities.core/14.3.0";
-        sha256 = "0351nsnx12nzkss6vaqwwh7d7car7hrgyh0vyd4bl83c4x3ls1kb";
-        })
-(fetchNuGet {
-        name = "system.reflection.emit";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.emit/4.0.1";
-        sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
-        })
-(fetchNuGet {
-        name = "microsoft.visualstudio.setup.configuration.interop";
-        version = "1.16.30";
-        url = "https://www.nuget.org/api/v2/package/microsoft.visualstudio.setup.configuration.interop/1.16.30";
-        sha256 = "14022lx03vdcqlvbbdmbsxg5pqfx1rfq2jywxlyaz9v68cvsb0g4";
-        })
-(fetchNuGet {
-        name = "system.net.sockets";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.net.sockets/4.3.0";
-        sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
-        })
-(fetchNuGet {
-        name = "microsoft.dotnet.arcade.sdk";
-        version = "1.0.0-beta.19372.10";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.dotnet.arcade.sdk/1.0.0-beta.19372.10/microsoft.dotnet.arcade.sdk.1.0.0-beta.19372.10.nupkg";
-        sha256 = "1lii0yg4fbsma80mmvw2zwplc26abb46q6gkxwbsbkyszkw128hv";
-        })
-(fetchNuGet {
-        name = "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
-        })
-(fetchNuGet {
-        name = "runtime.native.system.io.compression";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.native.system.io.compression/4.3.0";
-        sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.debug";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.debug/4.3.0";
-        sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.debug";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.debug/4.0.11";
-        sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
-        })
-(fetchNuGet {
-        name = "system.xml.readerwriter";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.xml.readerwriter/4.3.0";
-        sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
-        })
-(fetchNuGet {
-        name = "system.xml.readerwriter";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.xml.readerwriter/4.0.11";
-        sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
-        })
-(fetchNuGet {
-        name = "system.threading.timer";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.timer/4.3.0";
-        sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
-        })
-(fetchNuGet {
-        name = "system.threading.timer";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.threading.timer/4.0.1";
-        sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6";
-        })
-(fetchNuGet {
-        name = "system.reflection.metadata";
-        version = "1.4.2";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.metadata/1.4.2";
-        sha256 = "08b7b43vczlliv8k7q43jinjfrxwpljsglw7sxmc6sd7d54pd1vi";
-        })
-(fetchNuGet {
-        name = "system.reflection.metadata";
-        version = "1.6.0";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.metadata/1.6.0";
-        sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4";
-        })
-(fetchNuGet {
-        name = "system.xml.xdocument";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.xml.xdocument/4.3.0";
-        sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
-        })
-(fetchNuGet {
-        name = "system.linq";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.linq/4.3.0";
-        sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
-        })
-(fetchNuGet {
-        name = "system.linq";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.linq/4.1.0";
-        sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
-        })
-(fetchNuGet {
-        name = "nuget.librarymodel";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.librarymodel/5.2.0-rtm.6067";
-        sha256 = "0dxvnspgkc1lcmilb67kkipg39ih34cmifs6jwk9kbrwf96z51q9";
-        })
-(fetchNuGet {
-        name = "xlifftasks";
-        version = "1.0.0-beta.19252.1";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/xlifftasks/1.0.0-beta.19252.1/xlifftasks.1.0.0-beta.19252.1.nupkg";
-        sha256 = "0249sfb30y9dgsfryaj8644qw3yc1xp2xzc08lsrwvmm8vjcvkri";
-        })
-(fetchNuGet {
-        name = "system.text.regularexpressions";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.text.regularexpressions/4.3.0";
-        sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
-        })
-(fetchNuGet {
-        name = "system.text.regularexpressions";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.text.regularexpressions/4.1.0";
-        sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
-        })
-(fetchNuGet {
-        name = "system.security.accesscontrol";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.accesscontrol/4.3.0";
-        sha256 = "1gakrskmlmwhzmjc1c2mrwk0fml615rsk31dw0kbjnn9yqnnrjbi";
-        })
-(fetchNuGet {
-        name = "xunit.runner.visualstudio";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit.runner.visualstudio/2.4.1";
-        sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
-        })
-(fetchNuGet {
-        name = "system.resources.resourcemanager";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.resources.resourcemanager/4.0.1";
-        sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
-        })
-(fetchNuGet {
-        name = "system.resources.resourcemanager";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.resources.resourcemanager/4.3.0";
-        sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
-        })
-(fetchNuGet {
-        name = "nuget.projectmodel";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.projectmodel/5.2.0-rtm.6067";
-        sha256 = "1s5950nbcsnfrpbaxdnl6cv1xbsa57fln04lhyrki536476a6wcn";
-        })
-(fetchNuGet {
-        name = "nuget.versioning";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.versioning/5.2.0-rtm.6067";
-        sha256 = "04rr31ms95h7ymqxlalpv3xs48j8ng4ljfz5lmrfw7547rhcrj2h";
-        })
-(fetchNuGet {
-        name = "system.memory";
-        version = "4.5.3";
-        url = "https://www.nuget.org/api/v2/package/system.memory/4.5.3";
-        sha256 = "0naqahm3wljxb5a911d37mwjqjdxv9l0b49p5dmfyijvni2ppy8a";
-        })
-(fetchNuGet {
-        name = "system.resources.reader";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/system.resources.reader/4.0.0";
-        sha256 = "1jafi73dcf1lalrir46manq3iy6xnxk2z7gpdpwg4wqql7dv3ril";
-        })
-(fetchNuGet {
-        name = "nuget.common";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.common/5.2.0-rtm.6067";
-        sha256 = "1ff5dhkv8v04n2kr5gyjjvki4mqsp1w4dwsgj7cvdcfcm8alba0m";
-        })
-(fetchNuGet {
-        name = "runtime.native.system";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.native.system/4.0.0";
-        sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
-        })
-(fetchNuGet {
-        name = "runtime.native.system";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.native.system/4.3.0";
-        sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
-        })
-(fetchNuGet {
-        name = "system.runtime.interopservices";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices/4.1.0";
-        sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
-        })
-(fetchNuGet {
-        name = "system.runtime.interopservices";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices/4.3.0";
-        sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
-        })
-(fetchNuGet {
-        name = "microbuild.core.sentinel";
-        version = "1.0.0";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microbuild.core.sentinel/1.0.0/microbuild.core.sentinel.1.0.0.nupkg";
-        sha256 = "035kqx5fkapql108n222lz8psvxk04mv3dy1qg3h08i4b8j3dy8i";
-        })
-(fetchNuGet {
-        name = "sn";
-        version = "1.0.0";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/sn/1.0.0/sn.1.0.0.nupkg";
-        sha256 = "1012fcdc6vq2355v86h434s6p2nnqgpdapb7p25l4h39g5q8p1qs";
-        })
-(fetchNuGet {
-        name = "system.text.encoding";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.text.encoding/4.0.11";
-        sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
-        })
-(fetchNuGet {
-        name = "system.text.encoding";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.text.encoding/4.3.0";
-        sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
-        })
-(fetchNuGet {
-        name = "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
-        })
-(fetchNuGet {
-        name = "system.reflection.emit.lightweight";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.emit.lightweight/4.0.1";
-        sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
-        })
-(fetchNuGet {
-        name = "microsoft.net.test.sdk";
-        version = "15.9.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.net.test.sdk/15.9.0";
-        sha256 = "0g7wjgiigs4v8qa32g9ysqgx8bx55dzmbxfkc4ic95mpd1vkjqxw";
-        })
-(fetchNuGet {
-        name = "system.io.compression";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io.compression/4.3.0";
-        sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
-        })
-(fetchNuGet {
-        name = "system.runtime.serialization.primitives";
-        version = "4.1.1";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.serialization.primitives/4.1.1";
-        sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.fileversioninfo";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.fileversioninfo/4.3.0";
-        sha256 = "094hx249lb3vb336q7dg3v257hbxvz2jnalj695l7cg5kxzqwai7";
-        })
-(fetchNuGet {
-        name = "system.xml.xpath.xdocument";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.xml.xpath.xdocument/4.3.0";
-        sha256 = "1wxckyb7n1pi433xzz0qcwcbl1swpra64065mbwwi8dhdc4kiabn";
-        })
-(fetchNuGet {
-        name = "system.security.principal.windows";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.principal.windows/4.3.0";
-        sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
-        })
-(fetchNuGet {
-        name = "vswhere";
-        version = "2.6.7";
-        url = "https://www.nuget.org/api/v2/package/vswhere/2.6.7";
-        sha256 = "0h4k5i96p7633zzf4xsv7615f9x72rr5qr7b9934ri2y6gshfcwk";
-        })
-(fetchNuGet {
-        name = "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
-        })
-(fetchNuGet {
-        name = "xunit.runner.console";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit.runner.console/2.4.1";
-        sha256 = "13ykz9anhz72xc4q6byvdfwrp54hlcbl6zsfapwfhnzyvfgb9w13";
-        })
-(fetchNuGet {
-        name = "system.threading";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.threading/4.0.11";
-        sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
-        })
-(fetchNuGet {
-        name = "system.threading";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading/4.3.0";
-        sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks.dataflow";
-        version = "4.5.24";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.dataflow/4.5.24";
-        sha256 = "0wahbfdb0jxx3hi04xggfms8wgf68wmvv68m2vfp8v2kiqr5mr2r";
-        })
-(fetchNuGet {
-        name = "microsoft.codeanalysis.analyzers";
-        version = "1.1.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.codeanalysis.analyzers/1.1.0";
-        sha256 = "08r667hj2259wbim1p3al5qxkshydykmb7nd9ygbjlg4mmydkapc";
-        })
-(fetchNuGet {
-        name = "system.dynamic.runtime";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.dynamic.runtime/4.3.0";
-        sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
-        })
-(fetchNuGet {
-        name = "system.io.pipes";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io.pipes/4.3.0";
-        sha256 = "1ygv16gzpi9cnlzcqwijpv7055qc50ynwg3vw29vj1q3iha3h06r";
-        })
-(fetchNuGet {
-        name = "system.net.primitives";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.net.primitives/4.3.0";
-        sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
-        })
-(fetchNuGet {
-        name = "system.runtime.serialization.xml";
-        version = "4.1.1";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.serialization.xml/4.1.1";
-        sha256 = "11747an5gbz821pwahaim3v82gghshnj9b5c4cw539xg5a3gq7rk";
-        })
-(fetchNuGet {
-        name = "system.security.cryptography.encoding";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.encoding/4.3.0";
-        sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
-        })
-(fetchNuGet {
-        name = "system.collections.nongeneric";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.collections.nongeneric/4.0.1";
-        sha256 = "19994r5y5bpdhj7di6w047apvil8lh06lh2c2yv9zc4fc5g9bl4d";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.tools";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.tools/4.3.0";
-        sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
-        })
-(fetchNuGet {
-        name = "microsoft.netframework.referenceassemblies";
-        version = "1.0.0-alpha-004";
-        url = "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/microsoft.netframework.referenceassemblies/1.0.0-alpha-004";
-        sha256 = "1qrpxhcx11v92lqwvrih88mlyfw2rkrsjqh7gl8c1h71vyppr3bp";
-        })
-(fetchNuGet {
-        name = "system.reflection.emit.ilgeneration";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.emit.ilgeneration/4.0.1";
-        sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
-        })
-(fetchNuGet {
-        name = "xunit.extensibility.execution";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit.extensibility.execution/2.4.1";
-        sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
-        })
-(fetchNuGet {
-        name = "microsoft.codecoverage";
-        version = "15.9.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.codecoverage/15.9.0";
-        sha256 = "10v5xrdilnm362g9545qxvlrbwc9vn65jhpb1i0jlhyqsj6bfwzg";
-        })
-(fetchNuGet {
-        name = "xunit.extensibility.core";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit.extensibility.core/2.4.1";
-        sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
-        })
-(fetchNuGet {
-        name = "system.collections.concurrent";
-        version = "4.0.12";
-        url = "https://www.nuget.org/api/v2/package/system.collections.concurrent/4.0.12";
-        sha256 = "07y08kvrzpak873pmyxs129g1ch8l27zmg51pcyj2jvq03n0r0fc";
-        })
-(fetchNuGet {
-        name = "system.collections.concurrent";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.collections.concurrent/4.3.0";
-        sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
-        })
-(fetchNuGet {
-        name = "system.collections";
-        version = "4.0.11";
-        url = "https://www.nuget.org/api/v2/package/system.collections/4.0.11";
-        sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
-        })
-(fetchNuGet {
-        name = "system.collections";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.collections/4.3.0";
-        sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
-        })
-(fetchNuGet {
-        name = "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
-        })
-(fetchNuGet {
-        name = "microsoft.build.nugetsdkresolver";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/microsoft.build.nugetsdkresolver/5.2.0-rtm.6067";
-        sha256 = "1rz2i4md7b8rlybb9s7416l0pr357f3ar149s6ipfq0xijn3xgmh";
-        })
-(fetchNuGet {
-        name = "system.reflection";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.reflection/4.1.0";
-        sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
-        })
-(fetchNuGet {
-        name = "system.reflection";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.reflection/4.3.0";
-        sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
-        })
-(fetchNuGet {
-        name = "nuget.configuration";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.configuration/5.2.0-rtm.6067";
-        sha256 = "075mypb32i0d0x73rcr0di6pb0bhlp0izv3633ky64kddriajma1";
-        })
-(fetchNuGet {
-        name = "system.net.http";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.net.http/4.3.0";
-        sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
-        })
-(fetchNuGet {
-        name = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
-        })
-(fetchNuGet {
-        name = "system.security.cryptography.x509certificates";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.x509certificates/4.3.0";
-        sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
-        })
-(fetchNuGet {
-        name = "nuget.packaging";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.packaging/5.2.0-rtm.6067";
-        sha256 = "16p5glvvpp5rw10ycbpyg39k4prir450l12r5frpm8qz0rdp3xig";
-        })
-(fetchNuGet {
-        name = "nuget.commands";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.commands/5.2.0-rtm.6067";
-        sha256 = "06vnphsmwnvcigwj37hy5abipjzwhnq61zw66cclwd6jjibb1kh9";
-        })
-(fetchNuGet {
-        name = "system.runtime";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime/4.1.0";
-        sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
-        })
-(fetchNuGet {
-        name = "system.runtime";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime/4.3.0";
-        sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
-        })
-(fetchNuGet {
-        name = "microsoft.win32.primitives";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.win32.primitives/4.3.0";
-        sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
-        })
-(fetchNuGet {
-        name = "microsoft.win32.primitives";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/microsoft.win32.primitives/4.0.1";
-        sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
-        })
-(fetchNuGet {
-        name = "system.collections.immutable";
-        version = "1.2.0";
-        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.2.0";
-        sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
-        })
-(fetchNuGet {
-        name = "system.collections.immutable";
-        version = "1.3.1";
-        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.3.1";
-        sha256 = "17615br2x5riyx8ivf1dcqwj6q3ipq1bi5hqhw54yfyxmx38ddva";
-        })
-(fetchNuGet {
-        name = "system.collections.immutable";
-        version = "1.5.0";
-        url = "https://www.nuget.org/api/v2/package/system.collections.immutable/1.5.0";
-        sha256 = "1d5gjn5afnrf461jlxzawcvihz195gayqpcfbv6dd7pxa9ialn06";
-        })
-(fetchNuGet {
-        name = "nuget.dependencyresolver.core";
-        version = "5.2.0-rtm.6067";
-        url = "https://dotnet.myget.org/F/nuget-build/api/v2/package/nuget.dependencyresolver.core/5.2.0-rtm.6067";
-        sha256 = "0iw1z2lascjjmdkk9nf2wqm5sj5nqjv4611xx29vlmp6cyhnpq4i";
-        })
-(fetchNuGet {
-        name = "netstandard.library";
-        version = "1.6.1";
-        url = "https://www.nuget.org/api/v2/package/netstandard.library/1.6.1";
-        sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
-        })
-(fetchNuGet {
-        name = "shouldly";
-        version = "3.0.0";
-        url = "https://www.nuget.org/api/v2/package/shouldly/3.0.0";
-        sha256 = "1hg28w898kl84rx57sclb2z9b76v5hxlwxig1xnb6fr81aahzlw3";
-        })
-(fetchNuGet {
-        name = "microsoft.diasymreader.pdb2pdb";
-        version = "1.1.0-beta1-62506-02";
-        url = "https://dotnetfeed.blob.core.windows.net/dotnet-core/flatcontainer/microsoft.diasymreader.pdb2pdb/1.1.0-beta1-62506-02/microsoft.diasymreader.pdb2pdb.1.1.0-beta1-62506-02.nupkg";
-        sha256 = "1dkhpmq5aw34nndvb4xc370866vf33x70zrjhgvnpwwspb6vb0zh";
-        })
-(fetchNuGet {
-        name = "system.globalization.calendars";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.globalization.calendars/4.3.0";
-        sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
-        })
-(fetchNuGet {
-        name = "system.io.compression.zipfile";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io.compression.zipfile/4.3.0";
-        sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
-        })
-(fetchNuGet {
-        name = "system.runtime.interopservices.runtimeinformation";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices.runtimeinformation/4.0.0";
-        sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
-        })
-(fetchNuGet {
-        name = "system.runtime.interopservices.runtimeinformation";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.runtime.interopservices.runtimeinformation/4.3.0";
-        sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
-        })
-(fetchNuGet {
-        name = "system.io.filesystem.driveinfo";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.io.filesystem.driveinfo/4.3.0";
-        sha256 = "0j67khc75lwdf7d5i3z41cks7zhac4zdccgvk2xmq6wm1l08xnlh";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks.extensions";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.extensions/4.3.0";
-        sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
-        })
-(fetchNuGet {
-        name = "system.threading.tasks.extensions";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.tasks.extensions/4.0.0";
-        sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
-        })
-(fetchNuGet {
-        name = "microsoft.netcore.targets";
-        version = "1.0.1";
-        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.targets/1.0.1";
-        sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p";
-        })
-(fetchNuGet {
-        name = "microsoft.netcore.targets";
-        version = "1.1.0";
-        url = "https://www.nuget.org/api/v2/package/microsoft.netcore.targets/1.1.0";
-        sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
-        })
-(fetchNuGet {
-        name = "system.reflection.extensions";
-        version = "4.0.1";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.extensions/4.0.1";
-        sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
-        })
-(fetchNuGet {
-        name = "system.reflection.extensions";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.reflection.extensions/4.3.0";
-        sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.process";
-        version = "4.1.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.process/4.1.0";
-        sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
-        })
-(fetchNuGet {
-        name = "system.diagnostics.process";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.diagnostics.process/4.3.0";
-        sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
-        })
-(fetchNuGet {
-        name = "system.security.cryptography.primitives";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.primitives/4.3.0";
-        sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
-        })
-(fetchNuGet {
-        name = "system.threading.thread";
-        version = "4.0.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.thread/4.0.0";
-        sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
-        })
-(fetchNuGet {
-        name = "system.threading.thread";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.threading.thread/4.3.0";
-        sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
-        })
-(fetchNuGet {
-        name = "newtonsoft.json";
-        version = "9.0.1";
-        url = "https://www.nuget.org/api/v2/package/newtonsoft.json/9.0.1";
-        sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
-        })
-(fetchNuGet {
-        name = "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0";
-        sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
-        })
-(fetchNuGet {
-        name = "xunit";
-        version = "2.4.1";
-        url = "https://www.nuget.org/api/v2/package/xunit/2.4.1";
-        sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
-        })
-(fetchNuGet {
-        name = "system.valuetuple";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.valuetuple/4.3.0";
-        sha256 = "1227k7fxbxapq7dms4lvwwjdf3pr1jcsmhy2nzzhj6g6hs530hxn";
-        })
-(fetchNuGet {
-        name = "microsoft.netframework.referenceassemblies.net472";
-        version = "1.0.0-alpha-004";
-        url = "https://dotnet.myget.org/F/roslyn-tools/api/v2/package/microsoft.netframework.referenceassemblies.net472/1.0.0-alpha-004";
-        sha256 = "08wa54dm7yskayzxivnwbm8sg1pf6ai8ccr64ixf9lyz3yw6y0nc";
-        })
-(fetchNuGet {
-        name = "system.security.cryptography.algorithms";
-        version = "4.3.0";
-        url = "https://www.nuget.org/api/v2/package/system.security.cryptography.algorithms/4.3.0";
-        sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
-        })
-]
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index 0be4faf0ed8..9085be14284 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.1.27";
+  version = "0.1.28";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1708g8msv5cw0b4gljyjqns328wbci3p3avwysms4aknm4vky0g0";
+    sha256 = "sha256-UssjIix2sFLqau5PMFNDP9XPCSNUdRO6aBixIQNtSy8=";
   };
 
-  vendorSha256 = "0m7k6k790i06i8a5r8y7787mmikfibbvl7s8xqxygq1f5cpdspd6";
+  vendorSha256 = "sha256-pl3dLisu4Oc77kgfuteKbsZaDzrHo1wUigZEkM4081Q=";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.VERSION=${version}" ];
 
diff --git a/pkgs/development/tools/clpm/default.nix b/pkgs/development/tools/clpm/default.nix
index 0dfa99367ac..ae2e1011ae2 100644
--- a/pkgs/development/tools/clpm/default.nix
+++ b/pkgs/development/tools/clpm/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchgit
 , wrapLisp
-, sbcl
+, sbcl_2_0_9
 , openssl
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    (wrapLisp sbcl)
+    (wrapLisp sbcl_2_0_9)
     openssl
   ];
 
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
new file mode 100644
index 00000000000..e453a78dec4
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -0,0 +1,265 @@
+{ autoPatchelfHook
+, coreutils
+, curl
+, dotnetCorePackages
+, dotnetPackages
+, fetchFromGitHub
+, fetchurl
+, git
+, glibc
+, icu
+, libkrb5
+, lib
+, linkFarm
+, lttng-ust
+, makeWrapper
+, nodejs-12_x
+, openssl
+, stdenv
+, zlib
+}:
+let
+  pname = "github-actions-runner";
+  version = "2.277.1";
+
+  deps = (import ./deps.nix { inherit fetchurl; });
+  nugetPackages = map
+    (x: {
+      name = "${x.name}.nupkg";
+      path = "${x}";
+    })
+    deps;
+  nugetSource = linkFarm "${pname}-${version}-packages" nugetPackages;
+
+  dotnetSdk = dotnetCorePackages.sdk_3_1;
+  runtimeId = "linux-x64";
+
+  disabledTest = [
+    # Self-updating is patched out, hence this test will fail
+    "FullyQualifiedName!=GitHub.Runner.Common.Tests.Listener.RunnerL0.TestRunOnceHandleUpdateMessage"
+  ] ++ map
+    # Online tests
+    (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.Worker.ActionManagerL0.PrepareActions_${x}")
+    [
+      "DownloadActionFromGraph"
+      "DownloadActionFromGraph_Legacy"
+      "NotPullOrBuildImagesMultipleTimes"
+      "NotPullOrBuildImagesMultipleTimes_Legacy"
+      "RepositoryActionWithActionYamlFile_DockerHubImage"
+      "RepositoryActionWithActionYamlFile_DockerHubImage_Legacy"
+      "RepositoryActionWithActionfileAndDockerfile"
+      "RepositoryActionWithActionfileAndDockerfile_Legacy"
+      "RepositoryActionWithActionfile_DockerHubImage"
+      "RepositoryActionWithActionfile_DockerHubImage_Legacy"
+      "RepositoryActionWithActionfile_Dockerfile"
+      "RepositoryActionWithActionfile_Dockerfile_Legacy"
+      "RepositoryActionWithActionfile_DockerfileRelativePath"
+      "RepositoryActionWithActionfile_DockerfileRelativePath_Legacy"
+      "RepositoryActionWithActionfile_Node"
+      "RepositoryActionWithActionfile_Node_Legacy"
+      "RepositoryActionWithDockerfile"
+      "RepositoryActionWithDockerfile_Legacy"
+      "RepositoryActionWithDockerfileInRelativePath"
+      "RepositoryActionWithDockerfileInRelativePath_Legacy"
+      "RepositoryActionWithDockerfilePrepareActions_Repository"
+      "RepositoryActionWithInvalidWrapperActionfile_Node"
+      "RepositoryActionWithInvalidWrapperActionfile_Node_Legacy"
+      "RepositoryActionWithWrapperActionfile_PreSteps"
+      "RepositoryActionWithWrapperActionfile_PreSteps_Legacy"
+    ] ++ map
+    (x: "FullyQualifiedName!=GitHub.Runner.Common.Tests.DotnetsdkDownloadScriptL0.${x}")
+    [
+      "EnsureDotnetsdkBashDownloadScriptUpToDate"
+      "EnsureDotnetsdkPowershellDownloadScriptUpToDate"
+    ];
+  testFilterXml = lib.concatStringsSep "&amp;" disabledTest;
+in
+stdenv.mkDerivation rec {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "actions";
+    repo = "runner";
+    rev = "183a3dd9a0d4d51feddc5fe9fa6c3b5f8b08343d"; # v${version}
+    sha256 = "sha256-fQH4QwdR8E76ckUjMCaKOsDjNoVBIWAw2YcFRrVucX8=";
+  };
+
+  nativeBuildInputs = [
+    dotnetSdk
+    dotnetPackages.Nuget
+    makeWrapper
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    curl # libcurl.so.4
+    libkrb5 # libgssapi_krb5.so.2
+    lttng-ust # liblttng-ust.so.0
+    stdenv.cc.cc.lib # libstdc++.so.6
+    zlib # libz.so.1
+    icu
+  ];
+
+  patches = [
+    # Don't run Git, no restore on build/test
+    ./patches/dir-proj.patch
+    # Replace some paths that originally point to Nix's read-only store
+    ./patches/host-context-dirs.patch
+    # Use GetDirectory() to obtain "diag" dir
+    ./patches/use-get-directory-for-diag.patch
+    # Don't try to install systemd service
+    ./patches/dont-install-systemd-service.patch
+    # Don't try to self-update runner (cannot be disabled, see https://github.com/actions/runner/issues/485)
+    ./patches/ignore-self-update.patch
+  ];
+
+  postPatch = ''
+    # Relax the version requirement
+    substituteInPlace src/global.json \
+      --replace '3.1.302' '${dotnetSdk.version}'
+
+    # Disable specific tests
+    substituteInPlace src/dir.proj \
+      --replace 'dotnet test Test/Test.csproj' \
+                "dotnet test Test/Test.csproj --filter '${testFilterXml}'"
+
+    # Fix FHS path
+    substituteInPlace src/Test/L0/Util/IOUtilL0.cs \
+      --replace '/bin/ln' '${coreutils}/bin/ln'
+  '';
+
+  configurePhase = ''
+    runHook preConfigure
+
+    # Set up Nuget dependencies
+    export HOME=$(mktemp -d)
+    export DOTNET_CLI_TELEMETRY_OPTOUT=1
+    export DOTNET_NOLOGO=1
+
+    # Never use nuget.org
+    nuget sources Disable -Name "nuget.org"
+
+    # Restore the dependencies
+    dotnet restore src/ActionsRunner.sln \
+      --runtime "${runtimeId}" \
+      --source "${nugetSource}"
+
+    runHook postConfigure
+  '';
+
+  postConfigure = ''
+    # `crossgen` dependency is called during build
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \
+      $HOME/.nuget/packages/microsoft.netcore.app.runtime.${runtimeId}/*/tools/crossgen
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    dotnet msbuild \
+      -t:Build \
+      -p:PackageRuntime="${runtimeId}" \
+      -p:BUILDCONFIG="Release" \
+      -p:RunnerVersion="${version}" \
+      -p:GitInfoCommitHash="${src.rev}" \
+      src/dir.proj
+
+    runHook postBuild
+  '';
+
+  doCheck = true;
+
+  checkInputs = [ git ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    mkdir -p _layout/externals
+    ln -s ${nodejs-12_x} _layout/externals/node12
+
+    # BUILDCONFIG needs to be "Debug"
+    dotnet msbuild \
+      -t:test \
+      -p:PackageRuntime="${runtimeId}" \
+      -p:BUILDCONFIG="Debug" \
+      -p:RunnerVersion="${version}" \
+      -p:GitInfoCommitHash="${src.rev}" \
+      src/dir.proj
+
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    # Copy the built binaries to lib/ instead of bin/ as they
+    # have to be wrapped in the fixup phase to work
+    mkdir -p $out/lib
+    cp -r _layout/bin/. $out/lib/
+
+    # Delete debugging files
+    find "$out/lib" -type f -name '*.pdb' -delete
+
+    # Install the helper scripts to bin/ to resemble the upstream package
+    mkdir -p $out/bin
+    install -m755 src/Misc/layoutbin/runsvc.sh        $out/bin/
+    install -m755 src/Misc/layoutbin/RunnerService.js $out/lib/
+    install -m755 src/Misc/layoutroot/run.sh          $out/lib/
+    install -m755 src/Misc/layoutroot/config.sh       $out/lib/
+    install -m755 src/Misc/layoutroot/env.sh          $out/lib/
+
+    # Rewrite reference in helper scripts from bin/ to lib/
+    substituteInPlace $out/lib/run.sh    --replace '"$DIR"/bin' "$out/lib"
+    substituteInPlace $out/lib/config.sh --replace './bin' "$out/lib"
+
+    # Make paths absolute
+    substituteInPlace $out/bin/runsvc.sh \
+      --replace './externals' "$out/externals" \
+      --replace './bin' "$out/lib"
+
+    # The upstream package includes Node 12 and expects it at the path
+    # externals/node12. As opposed to the official releases, we don't
+    # link the Alpine Node flavor.
+    mkdir -p $out/externals
+    ln -s ${nodejs-12_x} $out/externals/node12
+
+    runHook postInstall
+  '';
+
+  # Stripping breaks the binaries
+  dontStrip = true;
+
+  postFixup = ''
+    fix_rpath() {
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/lib/$1
+    }
+
+    wrap() {
+      makeWrapper $out/lib/$1 $out/bin/$1 \
+        --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath (buildInputs ++ [ openssl ])} \
+        ''${@:2}
+    }
+
+    fix_rpath Runner.Listener
+    fix_rpath Runner.PluginHost
+    fix_rpath Runner.Worker
+
+    wrap Runner.Listener
+    wrap Runner.PluginHost
+    wrap Runner.Worker
+    wrap run.sh
+    wrap env.sh
+
+    wrap config.sh --prefix PATH : ${lib.makeBinPath [ glibc.bin ]}
+  '';
+
+  meta = with lib; {
+    description = "Self-hosted runner for GitHub Actions";
+    homepage = "https://github.com/actions/runner";
+    license = licenses.mit;
+    maintainers = with maintainers; [ veehaitch ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/continuous-integration/github-runner/deps.nix b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
new file mode 100644
index 00000000000..a556a83aa49
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/deps.nix
@@ -0,0 +1,1217 @@
+{ fetchurl }:
+let
+  fetchNuGet = { name, version, sha256 }: fetchurl {
+    inherit sha256;
+    name = "${name}.${version}";
+    url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+  };
+in
+[
+
+  (fetchNuGet {
+    name = "Castle.Core";
+    version = "4.4.0";
+    sha256 = "0rpcbmyhckvlvp6vbzpj03c1gqz56ixc6f15vgmxmyf1g40c24pf";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.AspNetCore.App.Runtime.linux-x64";
+    version = "3.1.8";
+    sha256 = "140zr3nwkmf6xc52gq4iz6ycyh95fxy0jpgn637pkd9z423z8135";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.AspNet.WebApi.Client";
+    version = "5.2.4";
+    sha256 = "00fkczf69z2rwarcd8kjjdp47517a0ca6lggn72qbilsp03a5scj";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.IdentityModel.Logging";
+    version = "5.2.1";
+    sha256 = "1gpka9jm2gl6f07pcwzwvaxw9xq1a19i9fskn0qs921c5grhlp3g";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.IdentityModel.Tokens";
+    version = "5.2.1";
+    sha256 = "03v6145vr1winq8xxfikydicds4f10qmy1ybyz2gfimnzzx51w00";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NetCore.App.Runtime.linux-x64";
+    version = "3.1.8";
+    sha256 = "1bv9n9wzsqf9g8h6z10p61xkcx8ad4nnip83qv8yyfvhr4kdmbsa";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "1.0.1";
+    sha256 = "01al6cfxp68dscl15z7rxfw9zvhm64dncsw09a1vmdkacsa2v6lr";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "1.1.0";
+    sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "2.0.0";
+    sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Targets";
+    version = "1.1.0";
+    sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.NET.Test.Sdk";
+    version = "15.0.0";
+    sha256 = "1ca9v53dphsgk22spilfwq1hjzp2sgrrj85v7hd7wfc6gjh31mb5";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.TestPlatform.ObjectModel";
+    version = "15.0.0";
+    sha256 = "0xqssz2y8jzqph6kv1fzy00wzjcnc2whhlf8jsszgpn69ld7f1rb";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.TestPlatform.TestHost";
+    version = "15.0.0";
+    sha256 = "1mi59wxwdqyzmkan0v9qrar96f50xs6k38xzv3l6ky859si2qk4b";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.Win32.Primitives";
+    version = "4.0.1";
+    sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.Win32.Primitives";
+    version = "4.3.0";
+    sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.Win32.Registry";
+    version = "4.0.0";
+    sha256 = "1spf4m9pikkc19544p29a47qnhcd885klncahz133hbnyqbkmz9k";
+  })
+
+  (fetchNuGet {
+    name = "Microsoft.Win32.Registry";
+    version = "4.4.0";
+    sha256 = "088j2anh1rnkxdcycw5kgp97ahk7cj741y6kask84880835arsb6";
+  })
+
+  (fetchNuGet {
+    name = "Minimatch";
+    version = "2.0.0";
+    sha256 = "1k84q1bz1qq2nh35nip8vmi65wixsh5y7piln5b4n172xzhfqvx0";
+  })
+
+  (fetchNuGet {
+    name = "Moq";
+    version = "4.11.0";
+    sha256 = "08bnk80scjjqnkdbjam8grcqrw2rvj9z7556hiznac7in3fcp77w";
+  })
+
+  (fetchNuGet {
+    name = "NETStandard.Library";
+    version = "1.6.0";
+    sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k";
+  })
+
+  (fetchNuGet {
+    name = "NETStandard.Library";
+    version = "1.6.1";
+    sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8";
+  })
+
+  (fetchNuGet {
+    name = "Newtonsoft.Json";
+    version = "10.0.1";
+    sha256 = "15ncqic3p2rzs8q8ppi0irl2miq75kilw4lh8yfgjq96id0ds3hv";
+  })
+
+  (fetchNuGet {
+    name = "Newtonsoft.Json";
+    version = "11.0.2";
+    sha256 = "1784xi44f4k8v1fr696hsccmwpy94bz7kixxqlri98zhcxn406b2";
+  })
+
+  (fetchNuGet {
+    name = "Newtonsoft.Json";
+    version = "9.0.1";
+    sha256 = "0mcy0i7pnfpqm4pcaiyzzji4g0c8i3a5gjz28rrr28110np8304r";
+  })
+
+  (fetchNuGet {
+    name = "Newtonsoft.Json.Bson";
+    version = "1.0.1";
+    sha256 = "1r1hvj5gjl466bya2bfl5aaj8rbwyf5x1msg710wf3k2llbci1xa";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Collections";
+    version = "4.3.0";
+    sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Diagnostics.Tools";
+    version = "4.3.0";
+    sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Diagnostics.Tracing";
+    version = "4.3.0";
+    sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Globalization";
+    version = "4.3.0";
+    sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Globalization.Calendars";
+    version = "4.3.0";
+    sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.IO";
+    version = "4.3.0";
+    sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Reflection";
+    version = "4.3.0";
+    sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Reflection.Extensions";
+    version = "4.3.0";
+    sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Reflection.Primitives";
+    version = "4.3.0";
+    sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Resources.ResourceManager";
+    version = "4.3.0";
+    sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Runtime";
+    version = "4.3.0";
+    sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Runtime.Handles";
+    version = "4.3.0";
+    sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Runtime.InteropServices";
+    version = "4.3.0";
+    sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Text.Encoding";
+    version = "4.3.0";
+    sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Text.Encoding.Extensions";
+    version = "4.3.0";
+    sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Threading.Tasks";
+    version = "4.3.0";
+    sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
+  })
+
+  (fetchNuGet {
+    name = "runtime.any.System.Threading.Timer";
+    version = "4.3.0";
+    sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086";
+  })
+
+  (fetchNuGet {
+    name = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d";
+  })
+
+  (fetchNuGet {
+    name = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59";
+  })
+
+  (fetchNuGet {
+    name = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System";
+    version = "4.0.0";
+    sha256 = "1ppk69xk59ggacj9n7g6fyxvzmk1g5p4fkijm0d7xqfkig98qrkf";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System";
+    version = "4.3.0";
+    sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.IO.Compression";
+    version = "4.3.0";
+    sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Net.Http";
+    version = "4.3.0";
+    sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q";
+  })
+
+  (fetchNuGet {
+    name = "runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97";
+  })
+
+  (fetchNuGet {
+    name = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3";
+  })
+
+  (fetchNuGet {
+    name = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf";
+  })
+
+  (fetchNuGet {
+    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple";
+    version = "4.3.0";
+    sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi";
+  })
+
+  (fetchNuGet {
+    name = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3";
+  })
+
+  (fetchNuGet {
+    name = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn";
+  })
+
+  (fetchNuGet {
+    name = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3";
+  })
+
+  (fetchNuGet {
+    name = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy";
+  })
+
+  (fetchNuGet {
+    name = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.Microsoft.Win32.Primitives";
+    version = "4.3.0";
+    sha256 = "0y61k9zbxhdi0glg154v30kkq7f8646nif8lnnxbvkjpakggd5id";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.Console";
+    version = "4.3.0";
+    sha256 = "1pfpkvc6x2if8zbdzg9rnc5fx51yllprl8zkm5npni2k50lisy80";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.Diagnostics.Debug";
+    version = "4.3.0";
+    sha256 = "1lps7fbnw34bnh3lm31gs5c0g0dh7548wfmb8zz62v0zqz71msj5";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.IO.FileSystem";
+    version = "4.3.0";
+    sha256 = "14nbkhvs7sji5r1saj2x8daz82rnf9kx28d3v2qss34qbr32dzix";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.Net.Primitives";
+    version = "4.3.0";
+    sha256 = "0bdnglg59pzx9394sy4ic66kmxhqp8q8bvmykdxcbs5mm0ipwwm4";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.Net.Sockets";
+    version = "4.3.0";
+    sha256 = "03npdxzy8gfv035bv1b9rz7c7hv0rxl5904wjz51if491mw0xy12";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.Private.Uri";
+    version = "4.3.0";
+    sha256 = "1jx02q6kiwlvfksq1q9qr17fj78y5v6mwsszav4qcz9z25d5g6vk";
+  })
+
+  (fetchNuGet {
+    name = "runtime.unix.System.Runtime.Extensions";
+    version = "4.3.0";
+    sha256 = "0pnxxmm8whx38dp6yvwgmh22smknxmqs5n513fc7m4wxvs1bvi4p";
+  })
+
+  (fetchNuGet {
+    name = "Sdk";
+    version = "1.0.0";
+    sha256 = "0425gviagj8xl8mwl4bwn1v98j7407sdk78xgxk37z62vgcgs73w";
+  })
+
+  (fetchNuGet {
+    name = "System.AppContext";
+    version = "4.3.0";
+    sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya";
+  })
+
+  (fetchNuGet {
+    name = "System.Buffers";
+    version = "4.3.0";
+    sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections";
+    version = "4.0.11";
+    sha256 = "1ga40f5lrwldiyw6vy67d0sg7jd7ww6kgwbksm19wrvq9hr0bsm6";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections";
+    version = "4.3.0";
+    sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections.Concurrent";
+    version = "4.3.0";
+    sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections.Immutable";
+    version = "1.2.0";
+    sha256 = "1jm4pc666yiy7af1mcf7766v710gp0h40p228ghj6bavx7xfa38m";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections.NonGeneric";
+    version = "4.3.0";
+    sha256 = "07q3k0hf3mrcjzwj8fwk6gv3n51cb513w4mgkfxzm3i37sc9kz7k";
+  })
+
+  (fetchNuGet {
+    name = "System.Collections.Specialized";
+    version = "4.3.0";
+    sha256 = "1sdwkma4f6j85m3dpb53v9vcgd0zyc9jb33f8g63byvijcj39n20";
+  })
+
+  (fetchNuGet {
+    name = "System.ComponentModel";
+    version = "4.3.0";
+    sha256 = "0986b10ww3nshy30x9sjyzm0jx339dkjxjj3401r3q0f6fx2wkcb";
+  })
+
+  (fetchNuGet {
+    name = "System.ComponentModel.EventBasedAsync";
+    version = "4.0.11";
+    sha256 = "07r5i7xwban347nsfw28hhjwpr78ywksjyhywvhj1yr0s7sr00wh";
+  })
+
+  (fetchNuGet {
+    name = "System.ComponentModel.Primitives";
+    version = "4.3.0";
+    sha256 = "1svfmcmgs0w0z9xdw2f2ps05rdxmkxxhf0l17xk9l1l8xfahkqr0";
+  })
+
+  (fetchNuGet {
+    name = "System.ComponentModel.TypeConverter";
+    version = "4.1.0";
+    sha256 = "178cva9p1cs043h5n2fry5xkzr3wc9n0hwbxa8m3ymld9m6wcv0y";
+  })
+
+  (fetchNuGet {
+    name = "System.ComponentModel.TypeConverter";
+    version = "4.3.0";
+    sha256 = "17ng0p7v3nbrg3kycz10aqrrlw4lz9hzhws09pfh8gkwicyy481x";
+  })
+
+  (fetchNuGet {
+    name = "System.Console";
+    version = "4.3.0";
+    sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Debug";
+    version = "4.0.11";
+    sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Debug";
+    version = "4.3.0";
+    sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.DiagnosticSource";
+    version = "4.3.0";
+    sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Process";
+    version = "4.1.0";
+    sha256 = "061lrcs7xribrmq7kab908lww6kn2xn1w3rdc41q189y0jibl19s";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.TextWriterTraceListener";
+    version = "4.0.0";
+    sha256 = "1xigiwkwyxak0dhm0p8i2zb7a9syly9cdb5s9zkr9rbad4f2fqhs";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Tools";
+    version = "4.3.0";
+    sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.TraceSource";
+    version = "4.0.0";
+    sha256 = "1mc7r72xznczzf6mz62dm8xhdi14if1h8qgx353xvhz89qyxsa3h";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.TraceSource";
+    version = "4.3.0";
+    sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Tracing";
+    version = "4.1.0";
+    sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394";
+  })
+
+  (fetchNuGet {
+    name = "System.Diagnostics.Tracing";
+    version = "4.3.0";
+    sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4";
+  })
+
+  (fetchNuGet {
+    name = "System.Dynamic.Runtime";
+    version = "4.3.0";
+    sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization";
+    version = "4.0.11";
+    sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization";
+    version = "4.3.0";
+    sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization.Calendars";
+    version = "4.3.0";
+    sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq";
+  })
+
+  (fetchNuGet {
+    name = "System.Globalization.Extensions";
+    version = "4.3.0";
+    sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls";
+  })
+
+  (fetchNuGet {
+    name = "System.IdentityModel.Tokens.Jwt";
+    version = "5.2.1";
+    sha256 = "08n1z9ngsi26qlhwpjzxafhwl3p279widfci64l2ahxf1gprfqsx";
+  })
+
+  (fetchNuGet {
+    name = "System.IO";
+    version = "4.1.0";
+    sha256 = "1g0yb8p11vfd0kbkyzlfsbsp5z44lwsvyc0h3dpw6vqnbi035ajp";
+  })
+
+  (fetchNuGet {
+    name = "System.IO";
+    version = "4.3.0";
+    sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.Compression";
+    version = "4.3.0";
+    sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.Compression.ZipFile";
+    version = "4.3.0";
+    sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem";
+    version = "4.0.1";
+    sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem";
+    version = "4.3.0";
+    sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem.AccessControl";
+    version = "4.4.0";
+    sha256 = "11sna2bv5ai4sivrs7g2gp7g0yjp02s0kasl01j3fa1cvnwwvgkv";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem.Primitives";
+    version = "4.0.1";
+    sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+  })
+
+  (fetchNuGet {
+    name = "System.IO.FileSystem.Primitives";
+    version = "4.3.0";
+    sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c";
+  })
+
+  (fetchNuGet {
+    name = "System.Linq";
+    version = "4.1.0";
+    sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+  })
+
+  (fetchNuGet {
+    name = "System.Linq";
+    version = "4.3.0";
+    sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7";
+  })
+
+  (fetchNuGet {
+    name = "System.Linq.Expressions";
+    version = "4.3.0";
+    sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Http";
+    version = "4.3.0";
+    sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.NameResolution";
+    version = "4.3.0";
+    sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Primitives";
+    version = "4.3.0";
+    sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii";
+  })
+
+  (fetchNuGet {
+    name = "System.Net.Sockets";
+    version = "4.3.0";
+    sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla";
+  })
+
+  (fetchNuGet {
+    name = "System.ObjectModel";
+    version = "4.3.0";
+    sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2";
+  })
+
+  (fetchNuGet {
+    name = "System.Private.DataContractSerialization";
+    version = "4.1.1";
+    sha256 = "1xk9wvgzipssp1393nsg4n16zbr5481k03nkdlj954hzq5jkx89r";
+  })
+
+  (fetchNuGet {
+    name = "System.Private.DataContractSerialization";
+    version = "4.3.0";
+    sha256 = "06fjipqvjp559rrm825x6pll8gimdj9x1n3larigh5hsm584gndw";
+  })
+
+  (fetchNuGet {
+    name = "System.Private.Uri";
+    version = "4.3.0";
+    sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection";
+    version = "4.1.0";
+    sha256 = "1js89429pfw79mxvbzp8p3q93il6rdff332hddhzi5wqglc4gml9";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection";
+    version = "4.3.0";
+    sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Emit";
+    version = "4.3.0";
+    sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Emit.ILGeneration";
+    version = "4.3.0";
+    sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Emit.Lightweight";
+    version = "4.3.0";
+    sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Extensions";
+    version = "4.0.1";
+    sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Extensions";
+    version = "4.3.0";
+    sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Metadata";
+    version = "1.3.0";
+    sha256 = "1y5m6kryhjpqqm2g3h3b6bzig13wkiw954x3b7icqjm6xypm1x3b";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Primitives";
+    version = "4.0.1";
+    sha256 = "1bangaabhsl4k9fg8khn83wm6yial8ik1sza7401621jc6jrym28";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.Primitives";
+    version = "4.3.0";
+    sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.TypeExtensions";
+    version = "4.1.0";
+    sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.TypeExtensions";
+    version = "4.3.0";
+    sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1";
+  })
+
+  (fetchNuGet {
+    name = "System.Reflection.TypeExtensions";
+    version = "4.4.0";
+    sha256 = "0n9r1w4lp2zmadyqkgp4sk9wy90sj4ygq4dh7kzamx26i9biys5h";
+  })
+
+  (fetchNuGet {
+    name = "System.Resources.ResourceManager";
+    version = "4.0.1";
+    sha256 = "0b4i7mncaf8cnai85jv3wnw6hps140cxz8vylv2bik6wyzgvz7bi";
+  })
+
+  (fetchNuGet {
+    name = "System.Resources.ResourceManager";
+    version = "4.3.0";
+    sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime";
+    version = "4.1.0";
+    sha256 = "02hdkgk13rvsd6r9yafbwzss8kr55wnj8d5c7xjnp8gqrwc8sn0m";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime";
+    version = "4.3.0";
+    sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Extensions";
+    version = "4.1.0";
+    sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Extensions";
+    version = "4.3.0";
+    sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Handles";
+    version = "4.0.1";
+    sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Handles";
+    version = "4.3.0";
+    sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices";
+    version = "4.1.0";
+    sha256 = "01kxqppx3dr3b6b286xafqilv4s2n0gqvfgzfd4z943ga9i81is1";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices";
+    version = "4.3.0";
+    sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices.RuntimeInformation";
+    version = "4.0.0";
+    sha256 = "0glmvarf3jz5xh22iy3w9v3wyragcm4hfdr17v90vs7vcrm7fgp6";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.InteropServices.RuntimeInformation";
+    version = "4.3.0";
+    sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Loader";
+    version = "4.0.0";
+    sha256 = "0lpfi3psqcp6zxsjk2qyahal7zaawviimc8lhrlswhip2mx7ykl0";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Loader";
+    version = "4.3.0";
+    sha256 = "07fgipa93g1xxgf7193a6vw677mpzgr0z0cfswbvqqb364cva8dk";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Numerics";
+    version = "4.3.0";
+    sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Serialization.Json";
+    version = "4.0.2";
+    sha256 = "08ypbzs0sb302ga04ds5b2wxa2gg0q50zpa0nvc87ipjhs0v66dn";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Serialization.Primitives";
+    version = "4.1.1";
+    sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Serialization.Primitives";
+    version = "4.3.0";
+    sha256 = "01vv2p8h4hsz217xxs0rixvb7f2xzbh6wv1gzbfykcbfrza6dvnf";
+  })
+
+  (fetchNuGet {
+    name = "System.Runtime.Serialization.Xml";
+    version = "4.3.0";
+    sha256 = "1b2cxl2h7s8cydbhbmxhvvq071n9ck61g08npg4gyw7nvg37rfni";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.AccessControl";
+    version = "4.4.0";
+    sha256 = "0ixqw47krkazsw0ycm22ivkv7dpg6cjz8z8g0ii44bsx4l8gcx17";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Claims";
+    version = "4.3.0";
+    sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Algorithms";
+    version = "4.2.0";
+    sha256 = "148s9g5dgm33ri7dnh19s4lgnlxbpwvrw2jnzllq2kijj4i4vs85";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Algorithms";
+    version = "4.3.0";
+    sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Cng";
+    version = "4.3.0";
+    sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Cng";
+    version = "4.4.0";
+    sha256 = "1grg9id80m358crr5y4q4rhhbrm122yw8jrlcl1ybi7nkmmck40n";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Csp";
+    version = "4.3.0";
+    sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Encoding";
+    version = "4.3.0";
+    sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.OpenSsl";
+    version = "4.3.0";
+    sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Pkcs";
+    version = "4.4.0";
+    sha256 = "1bn7d2czpc994qzdph4drv7p1cv4x55j2dhbmr113p0gs4hx33zh";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.Primitives";
+    version = "4.3.0";
+    sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.ProtectedData";
+    version = "4.4.0";
+    sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Cryptography.X509Certificates";
+    version = "4.3.0";
+    sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Principal";
+    version = "4.3.0";
+    sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Principal.Windows";
+    version = "4.3.0";
+    sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
+  })
+
+  (fetchNuGet {
+    name = "System.Security.Principal.Windows";
+    version = "4.4.0";
+    sha256 = "11rr16fp68apc0arsymgj18w8ajs9a4366wgx9iqwny4glrl20wp";
+  })
+
+  (fetchNuGet {
+    name = "System.ServiceProcess.ServiceController";
+    version = "4.4.0";
+    sha256 = "0hyijvysbcjh20mbbgajg9wh04nkjd6y5lqxgm0a6m28zjcjshl6";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding";
+    version = "4.0.11";
+    sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding";
+    version = "4.3.0";
+    sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding.CodePages";
+    version = "4.4.0";
+    sha256 = "07bzjnflxjk9vgpljfybrpqmvsr9qr2f20nq5wf11imwa5pbhgfc";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding.Extensions";
+    version = "4.0.11";
+    sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.Encoding.Extensions";
+    version = "4.3.0";
+    sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy";
+  })
+
+  (fetchNuGet {
+    name = "System.Text.RegularExpressions";
+    version = "4.3.0";
+    sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading";
+    version = "4.0.11";
+    sha256 = "19x946h926bzvbsgj28csn46gak2crv2skpwsx80hbgazmkgb1ls";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading";
+    version = "4.3.0";
+    sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Channels";
+    version = "4.5.0";
+    sha256 = "0n6z3wjia7h2a5vl727p97riydnb6jhhkb1pdcnizza02dwkz0nz";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Tasks";
+    version = "4.0.11";
+    sha256 = "0nr1r41rak82qfa5m0lhk9mp0k93bvfd7bbd9sdzwx9mb36g28p5";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Tasks";
+    version = "4.3.0";
+    sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.3.0";
+    sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Tasks.Extensions";
+    version = "4.5.1";
+    sha256 = "1ikrplvw4m6pzjbq3bfbpr572n4i9mni577zvmrkaygvx85q3myw";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Thread";
+    version = "4.0.0";
+    sha256 = "1gxxm5fl36pjjpnx1k688dcw8m9l7nmf802nxis6swdaw8k54jzc";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.ThreadPool";
+    version = "4.0.10";
+    sha256 = "0fdr61yjcxh5imvyf93n2m3n5g9pp54bnw2l1d2rdl9z6dd31ypx";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.ThreadPool";
+    version = "4.3.0";
+    sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
+  })
+
+  (fetchNuGet {
+    name = "System.Threading.Timer";
+    version = "4.3.0";
+    sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.ReaderWriter";
+    version = "4.0.11";
+    sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.ReaderWriter";
+    version = "4.3.0";
+    sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XDocument";
+    version = "4.3.0";
+    sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XmlDocument";
+    version = "4.0.1";
+    sha256 = "0ihsnkvyc76r4dcky7v3ansnbyqjzkbyyia0ir5zvqirzan0bnl1";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XmlDocument";
+    version = "4.3.0";
+    sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XmlSerializer";
+    version = "4.3.0";
+    sha256 = "07pa4sx196vxkgl3csvdmw94nydlsm9ir38xxcs84qjn8cycd912";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XPath";
+    version = "4.0.1";
+    sha256 = "0fjqgb6y66d72d5n8qq1h213d9nv2vi8mpv8p28j3m9rccmsh04m";
+  })
+
+  (fetchNuGet {
+    name = "System.Xml.XPath.XmlDocument";
+    version = "4.0.1";
+    sha256 = "0l7yljgif41iv5g56l3nxy97hzzgck2a7rhnfnljhx9b0ry41bvc";
+  })
+
+  (fetchNuGet {
+    name = "xunit";
+    version = "2.4.1";
+    sha256 = "0xf3kaywpg15flqaqfgywqyychzk15kz0kz34j21rcv78q9ywq20";
+  })
+
+  (fetchNuGet {
+    name = "xunit.abstractions";
+    version = "2.0.3";
+    sha256 = "00wl8qksgkxld76fgir3ycc5rjqv1sqds6x8yx40927q5py74gfh";
+  })
+
+  (fetchNuGet {
+    name = "xunit.analyzers";
+    version = "0.10.0";
+    sha256 = "15n02q3akyqbvkp8nq75a8rd66d4ax0rx8fhdcn8j78pi235jm7j";
+  })
+
+  (fetchNuGet {
+    name = "xunit.assert";
+    version = "2.4.1";
+    sha256 = "1imynzh80wxq2rp9sc4gxs4x1nriil88f72ilhj5q0m44qqmqpc6";
+  })
+
+  (fetchNuGet {
+    name = "xunit.core";
+    version = "2.4.1";
+    sha256 = "1nnb3j4kzmycaw1g76ii4rfqkvg6l8gqh18falwp8g28h802019a";
+  })
+
+  (fetchNuGet {
+    name = "xunit.extensibility.core";
+    version = "2.4.1";
+    sha256 = "103qsijmnip2pnbhciqyk2jyhdm6snindg5z2s57kqf5pcx9a050";
+  })
+
+  (fetchNuGet {
+    name = "xunit.extensibility.execution";
+    version = "2.4.1";
+    sha256 = "1pbilxh1gp2ywm5idfl0klhl4gb16j86ib4x83p8raql1dv88qia";
+  })
+
+  (fetchNuGet {
+    name = "xunit.runner.visualstudio";
+    version = "2.4.1";
+    sha256 = "0fln5pk18z98gp0zfshy1p9h6r9wc55nyqhap34k89yran646vhn";
+  })
+
+  (fetchNuGet {
+    name = "YamlDotNet.Signed";
+    version = "5.3.0";
+    sha256 = "1gnp5aa2zzg7v61bbn2ra1npy0p07szp5w8vqk44fdj3fcvrdxib";
+  })
+
+]
diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch
new file mode 100644
index 00000000000..9a75b12544a
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/patches/dir-proj.patch
@@ -0,0 +1,53 @@
+From 4267ee7fa5169b4fd5ce732118769e559806a390 Mon Sep 17 00:00:00 2001
+From: Vincent Haupert <mail@vincent-haupert.de>
+Date: Sat, 13 Mar 2021 21:52:03 +0100
+Subject: [PATCH] Patch dir.proj
+
+Don't execute Git for GitInfoCommitHash property
+Don't restore for build target
+Don't restore for test target
+---
+ src/dir.proj | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/src/dir.proj b/src/dir.proj
+index 1c91e0c..8b27d3f 100644
+--- a/src/dir.proj
++++ b/src/dir.proj
+@@ -2,9 +2,6 @@
+ <Project ToolsVersion="14.0" DefaultTargets="Build" 
+     xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+     <Target Name="GenerateConstant">
+-        <Exec Command="git rev-parse HEAD" ConsoleToMSBuild="true">
+-            <Output TaskParameter="ConsoleOutput" PropertyName="GitInfoCommitHash" />
+-        </Exec>
+         <Message Text="Building $(Product): $(GitInfoCommitHash) --- $(PackageRuntime)" Importance="high"/>
+ 
+         <ItemGroup>
+@@ -39,14 +36,13 @@
+     </ItemGroup>
+ 
+     <Target Name="Build" DependsOnTargets="GenerateConstant">
+-        <MSBuild Targets="Restore" Projects="@(ProjectFiles)" StopOnFirstFailure="true" />
+         <MSBuild Targets="Publish" Projects="@(ProjectFiles)" BuildInParallel="false" StopOnFirstFailure="true" Properties="Configuration=$(BUILDCONFIG);PackageRuntime=$(PackageRuntime);Version=$(RunnerVersion);RuntimeIdentifier=$(PackageRuntime);PublishDir=$(MSBuildProjectDirectory)/../_layout/bin" />
+         <Exec Command="%22$(DesktopMSBuild)%22 Runner.Service/Windows/RunnerService.csproj /p:Configuration=$(BUILDCONFIG) /p:OutputPath=%22$(MSBuildProjectDirectory)/../_layout/bin%22" ConsoleToMSBuild="true" Condition="'$(PackageRuntime)' == 'win-x64' Or '$(PackageRuntime)' == 'win-x86'" />
+     </Target>
+ 
+     <Target Name="Test" DependsOnTargets="GenerateConstant">
+-        <Exec Command="dotnet build Test/Test.csproj -c $(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime)" ConsoleToMSBuild="true" />
+-        <Exec Command="dotnet test Test/Test.csproj --no-build --logger:trx" ConsoleToMSBuild="true" />
++        <Exec Command="dotnet build Test/Test.csproj --no-restore -c $(BUILDCONFIG) /p:PackageRuntime=$(PackageRuntime)" ConsoleToMSBuild="true" />
++        <Exec Command="dotnet test Test/Test.csproj --no-restore --no-build --logger:trx" ConsoleToMSBuild="true" />
+     </Target>
+ 
+     <Target Name="Layout" DependsOnTargets="Clean;Build">
+@@ -84,4 +80,4 @@
+         <RemoveDir Directories="Test/bin" />
+         <RemoveDir Directories="Test/obj" />
+     </Target>
+-</Project>
+\ No newline at end of file
++</Project>
+-- 
+2.30.1
+
diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch
new file mode 100644
index 00000000000..6279a4ecb4b
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/patches/dont-install-systemd-service.patch
@@ -0,0 +1,15 @@
+diff --git a/src/Runner.Listener/Configuration/ConfigurationManager.cs b/src/Runner.Listener/Configuration/ConfigurationManager.cs
+index 8d08b06..bdfa3a2 100644
+--- a/src/Runner.Listener/Configuration/ConfigurationManager.cs
++++ b/src/Runner.Listener/Configuration/ConfigurationManager.cs
+@@ -320,10 +320,6 @@ namespace GitHub.Runner.Listener.Configuration
+                 serviceControlManager.ConfigureService(runnerSettings, command);
+             }
+ 
+-#elif OS_LINUX || OS_OSX
+-            // generate service config script for OSX and Linux, GenerateScripts() will no-opt on windows.
+-            var serviceControlManager = HostContext.GetService<ILinuxServiceControlManager>();
+-            serviceControlManager.GenerateScripts(runnerSettings);
+ #endif
+         }
+ 
diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch
new file mode 100644
index 00000000000..662ad9676da
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/patches/host-context-dirs.patch
@@ -0,0 +1,20 @@
+diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs
+index d4ea48c..2ec8455 100644
+--- a/src/Runner.Common/HostContext.cs
++++ b/src/Runner.Common/HostContext.cs
+@@ -220,12 +220,13 @@ namespace GitHub.Runner.Common
+ 
+                 case WellKnownDirectory.Externals:
+                     path = Path.Combine(
+-                        GetDirectory(WellKnownDirectory.Root),
++                        new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName,
+                         Constants.Path.ExternalsDirectory);
+                     break;
+ 
+                 case WellKnownDirectory.Root:
+-                    path = new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName;
++                    path = Environment.GetEnvironmentVariable("RUNNER_ROOT")
++                                ?? new DirectoryInfo(GetDirectory(WellKnownDirectory.Bin)).Parent.FullName;
+                     break;
+ 
+                 case WellKnownDirectory.Temp:
diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch
new file mode 100644
index 00000000000..b505bbc7503
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/patches/ignore-self-update.patch
@@ -0,0 +1,24 @@
+diff --git a/src/Runner.Listener/Runner.cs b/src/Runner.Listener/Runner.cs
+index 68b0b4e..5da21fe 100644
+--- a/src/Runner.Listener/Runner.cs
++++ b/src/Runner.Listener/Runner.cs
+@@ -391,18 +391,7 @@ namespace GitHub.Runner.Listener
+                             HostContext.WritePerfCounter($"MessageReceived_{message.MessageType}");
+                             if (string.Equals(message.MessageType, AgentRefreshMessage.MessageType, StringComparison.OrdinalIgnoreCase))
+                             {
+-                                if (autoUpdateInProgress == false)
+-                                {
+-                                    autoUpdateInProgress = true;
+-                                    var runnerUpdateMessage = JsonUtility.FromString<AgentRefreshMessage>(message.Body);
+-                                    var selfUpdater = HostContext.GetService<ISelfUpdater>();
+-                                    selfUpdateTask = selfUpdater.SelfUpdate(runnerUpdateMessage, jobDispatcher, !runOnce && HostContext.StartupType != StartupType.Service, HostContext.RunnerShutdownToken);
+-                                    Trace.Info("Refresh message received, kick-off selfupdate background process.");
+-                                }
+-                                else
+-                                {
+-                                    Trace.Info("Refresh message received, skip autoupdate since a previous autoupdate is already running.");
+-                                }
++                                Trace.Info("Ignoring received refresh message (would trigger self-update).");
+                             }
+                             else if (string.Equals(message.MessageType, JobRequestMessageTypes.PipelineAgentJobRequest, StringComparison.OrdinalIgnoreCase))
+                             {
diff --git a/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch b/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch
new file mode 100644
index 00000000000..ff91bcff158
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/github-runner/patches/use-get-directory-for-diag.patch
@@ -0,0 +1,25 @@
+diff --git a/src/Runner.Common/HostContext.cs b/src/Runner.Common/HostContext.cs
+index d4ea48c..15c1800 100644
+--- a/src/Runner.Common/HostContext.cs
++++ b/src/Runner.Common/HostContext.cs
+@@ -109,7 +109,7 @@ namespace GitHub.Runner.Common
+                 }
+ 
+                 // this should give us _diag folder under runner root directory
+-                string diagLogDirectory = Path.Combine(new DirectoryInfo(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location)).Parent.FullName, Constants.Path.DiagDirectory);
++                string diagLogDirectory = GetDirectory(WellKnownDirectory.Diag);
+                 _traceManager = new TraceManager(new HostTraceListener(diagLogDirectory, hostType, logPageSize, logRetentionDays), this.SecretMasker);
+             }
+             else
+@@ -272,7 +272,10 @@ namespace GitHub.Runner.Common
+                     throw new NotSupportedException($"Unexpected well known directory: '{directory}'");
+             }
+ 
+-            _trace.Info($"Well known directory '{directory}': '{path}'");
++            if (_trace != null)
++            {
++                _trace.Info($"Well known directory '{directory}': '{path}'");
++            }
+             return path;
+         }
+ 
diff --git a/pkgs/development/tools/database/dbmate/default.nix b/pkgs/development/tools/database/dbmate/default.nix
index 6634c2b6384..0e4609a1fa2 100644
--- a/pkgs/development/tools/database/dbmate/default.nix
+++ b/pkgs/development/tools/database/dbmate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dbmate";
-  version = "1.11.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "amacneil";
     repo = "dbmate";
     rev = "v${version}";
-    sha256 = "1q1hyrd1zlynyb0720fd1lwg22l3bwjbcak2aplh259p698gwyf5";
+    sha256 = "sha256-Kk8CtGw1lGNky2CUjaedh0IcDooaxWkeEnaYl/5jSTc=";
   };
 
-  vendorSha256 = "197zpjvvv9xpfbw443kbxvhjmjqmx1h2bj1xl2vwgf0w64mkk84z";
+  vendorSha256 = "sha256-Qe3fwyEf/NiGmUSha/zZHRBR1okw2vE97u7tybqiWNI=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/github-commenter/default.nix b/pkgs/development/tools/github-commenter/default.nix
index 05784c47eff..b1c247c70f9 100644
--- a/pkgs/development/tools/github-commenter/default.nix
+++ b/pkgs/development/tools/github-commenter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "github-commenter";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "cloudposse";
     repo = pname;
     rev = version;
-    sha256 = "HgiCgyig+49g275G6zZ0kGTxt1TSfFK8kt+SOf4ei74=";
+    sha256 = "sha256-IBo4FAoYX1FmrmQ9mlyyu1TGLY7dlH7pWalBoRb2puE=";
   };
 
-  vendorSha256 = "Gw+cR5sA5MGuclcvur8olmRtK04LDP5vKJ5k7yZO3B0=";
+  vendorSha256 = "sha256-H1SnNG+/ALYs7h/oT8zWBhAXOuCFY0Sto2ATBBZg2ek=";
 
   meta = with lib; {
     description = "Command line utility for creating GitHub comments on Commits, Pull Request Reviews or Issues";
diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix
index 3d892378133..9a0fa54fb2d 100644
--- a/pkgs/development/tools/go-toml/default.nix
+++ b/pkgs/development/tools/go-toml/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "go-toml";
-  version = "1.8.1";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "pelletier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pi1r9ds0vxjza4qrbk52y98wxrzh1ghwzc9c2v1w6i02pdwdcz9";
+    sha256 = "sha256-m8VgjfNDxSX6fRG2/gEJlVc9hCnua+o79ttrd8P20kU=";
   };
 
   goPackagePath = "github.com/pelletier/go-toml";
diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix
index de3672df3d9..dfef3906602 100644
--- a/pkgs/development/tools/jbang/default.nix
+++ b/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.69.2";
+  version = "0.70.0";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-MsVmsZOupkJWGyoTxxQavcO78X4MMuIqJXaPSbd/Tgg=";
+    sha256 = "sha256-Fy7TvWJVRJI5fhfZzMuW+KBLaVLWKjk/I3Kx60Wazyo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index 1d8e4115309..cd0fb4a3330 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.26.1";
+  version = "0.27.3";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-naTO5cckUfs32z7bm5jGGEuo8db11fnTnQdUDKK2W/I=";
+    sha256 = "sha256-giHAeD7hhda9YV+NQuZ6w0eow79egGhUCIX0dPvhrWk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index 100190b0894..78c99d94c8d 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.10.0";
+  version = "0.10.1";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "1v9br6nad6yhq9y1z4b9z6xdsjrgqh7wlxww7vp7ws28cg85mqyg";
+    outputHash     = "0z4ddnwx510hnx6w72fxmksmnwxg8p2nqxg7i7xix24gykgmgj5a";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 0cf98d651c5..4128118decf 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -13,19 +13,29 @@
 
 let ccache = stdenv.mkDerivation rec {
   pname = "ccache";
-  version = "4.2";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1lr9804xyzbs72f9jbbzy1fjqxwrwpb4rp431wqialvms4251d8f";
+    hash = "sha256-AmgJpW7AGCSggbHp1fLO5yhXS9LIm7O77nQdDERJYAA=";
   };
 
-  patches = lib.optional stdenv.isDarwin (substituteAll {
-    src = ./force-objdump-on-darwin.patch;
-    objdump = "${binutils.bintools}/bin/objdump";
-  });
+  patches = [
+    # test/run use compgen to get environment variable names, but
+    # compgen isn't available in non-interactive bash.
+    ./env-instead-of-compgen.patch
+
+    # When building for Darwin, test/run uses dwarfdump, whereas on
+    # Linux it uses objdump. We don't have dwarfdump packaged for
+    # Darwin, so this patch updates the test to also use objdump on
+    # Darwin.
+    (substituteAll {
+      src = ./force-objdump-on-darwin.patch;
+      objdump = "${binutils.bintools}/bin/objdump";
+    })
+  ];
 
   nativeBuildInputs = [ asciidoc cmake perl ];
 
@@ -38,7 +48,7 @@ let ccache = stdenv.mkDerivation rec {
   checkPhase = ''
     export HOME=$(mktemp -d)
     ctest --output-on-failure ${lib.optionalString stdenv.isDarwin ''
-      -E '^(test.nocpp2|test.modules)$'
+      -E '^(test.nocpp2|test.basedir|test.multi_arch)$'
     ''}
   '';
 
diff --git a/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch b/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch
new file mode 100644
index 00000000000..313de0fa58c
--- /dev/null
+++ b/pkgs/development/tools/misc/ccache/env-instead-of-compgen.patch
@@ -0,0 +1,18 @@
+diff --git a/test/run b/test/run
+index cbdd98f0..bc930200 100755
+--- a/test/run
++++ b/test/run
+@@ -346,11 +346,11 @@ expect_perm() {
+ }
+ 
+ reset_environment() {
+-    while IFS= read -r name; do
++    while IFS='=' read -r name value; do
+         if [[ $name =~ ^CCACHE_[A-Z0-9_]*$ ]]; then
+             unset $name
+         fi
+-    done < <(compgen -e)
++    done < <(env)
+ 
+     unset GCC_COLORS
+     unset TERM
diff --git a/pkgs/development/tools/misc/ccls/default.nix b/pkgs/development/tools/misc/ccls/default.nix
index 218a396490f..06f3723509f 100644
--- a/pkgs/development/tools/misc/ccls/default.nix
+++ b/pkgs/development/tools/misc/ccls/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ccls";
-  version = "0.20201219";
+  version = "0.20210330";
 
   src = fetchFromGitHub {
     owner = "MaskRay";
     repo = "ccls";
     rev = version;
-    sha256 = "sha256-qCZYSzUh5WBQxMX6LtWRBz0VWnZVNR4v06aH9bJIb1o=";
+    sha256 = "sha256-jipSipgD0avd7XODlpxnqjHK3s6nacaxbIQIddix7X8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/misc/openfpgaloader/default.nix b/pkgs/development/tools/misc/openfpgaloader/default.nix
index 9537e11e112..1e3b3469dca 100644
--- a/pkgs/development/tools/misc/openfpgaloader/default.nix
+++ b/pkgs/development/tools/misc/openfpgaloader/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openfpgaloader";
-  version = "0.2.5";
+  version = "0.2.6";
 
   src = fetchFromGitHub {
     owner = "trabucayre";
     repo = "openFPGALoader";
     rev = "v${version}";
-    sha256 = "sha256-Qbw+vmpxiZXTGM0JwpS5mGzcsSJNegsvmncm+cOVrVE=";
+    sha256 = "sha256-OWRMWNOPm6flgeTKYWYE+LcG3HW6i8s2NQ1dr/oeOEw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/tools/misc/usbsdmux/default.nix b/pkgs/development/tools/misc/usbsdmux/default.nix
index 59b5dc98239..ed7a6d8a220 100644
--- a/pkgs/development/tools/misc/usbsdmux/default.nix
+++ b/pkgs/development/tools/misc/usbsdmux/default.nix
@@ -2,13 +2,16 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "usbsdmux";
-  version = "0.1.8";
+  version = "0.2.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0m3d0rs9s5v5hnsjkfybmd8v54gn7rc1dbg5vc48rryhc969pr9f";
+    sha256 = "sha256-ydDUSqBTY62iOtWdgrFh2qrO9LMi+OCYIw5reh6uoIA=";
   };
 
+  # usbsdmux is not meant to be used as an importable module and has no tests
+  doCheck = false;
+
   meta = with lib; {
     description = "Control software for the LXA USB-SD-Mux";
     homepage = "https://github.com/linux-automation/usbsdmux";
diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix
index 675f66dcf47..2d52cda7cbd 100644
--- a/pkgs/development/tools/ocaml/ocp-indent/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix
@@ -4,6 +4,8 @@ buildDunePackage rec {
   version = "1.8.2";
   pname = "ocp-indent";
 
+  useDune2 = true;
+
   src = fetchzip {
     url = "https://github.com/OCamlPro/ocp-indent/archive/${version}.tar.gz";
     sha256 = "1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3";
diff --git a/pkgs/development/tools/protoc-gen-twirp/default.nix b/pkgs/development/tools/protoc-gen-twirp/default.nix
index ae92a105503..6ca016f8e6b 100644
--- a/pkgs/development/tools/protoc-gen-twirp/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "protoc-gen-twirp";
-  version = "7.1.1";
+  version = "7.2.0";
 
   src = fetchFromGitHub {
     owner = "twitchtv";
     repo = "twirp";
     rev = "v${version}";
-    sha256 = "sha256-GN7akAp0zzS8wVhgXlT1ceFUFKH4Sz74XQ8ofIE8T/k=";
+    sha256 = "sha256-W7t36F1St0YLPowHaZSboVNnvX7E2Lg5tPWeyeUSabA=";
   };
 
   goPackagePath = "github.com/twitchtv/twirp";
@@ -18,6 +18,8 @@ buildGoPackage rec {
     "protoc-gen-twirp_python"
   ];
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A simple RPC framework with protobuf service definitions";
     homepage = "https://github.com/twitchtv/twirp";
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
index 62e85a87487..6fef3dd8675 100644
--- a/pkgs/development/tools/purescript/spago/default.nix
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -3,6 +3,7 @@
 , lib
 
 # The following are only needed for the passthru.tests:
+, cacert
 , git
 , nodejs
 , purescript
@@ -35,6 +36,7 @@ spago.overrideAttrs (oldAttrs: {
         {
           __noChroot = true;
           nativeBuildInputs = [
+            cacert
             git
             nodejs
             purescript
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index 58458ea79aa..eca516bbeba 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -12,11 +12,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.19.0";
+  version = "0.20.0";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "182a9pkv64rbyqrig470cmql4ingf5vpxh11xkxqq2baxym3vwip";
-    rev = "960a310d6efca3bb40009eb06d88382e4670ccef";
+    sha256 = "1n48p9ycry8bjnf9jlcfgyxsbgn5985l4vhbwlv46kbb41ddwi51";
+    rev = "7dfd2236aff92e5ae4f7a4dc336b50a7e14e4f44";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/py-spy/default.nix b/pkgs/development/tools/py-spy/default.nix
index 7a93d5ecbe0..89480f53a37 100644
--- a/pkgs/development/tools/py-spy/default.nix
+++ b/pkgs/development/tools/py-spy/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "py-spy";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "benfred";
     repo = "py-spy";
     rev = "v${version}";
-    sha256 = "sha256-7282DGLNHpKorNTHvpMLmqF2DrEVMIiQIzf5nTuJ7lc=";
+    sha256 = "sha256-O6DbY/0ZI+BeG22jd9snbE718Y2vv7fqmeDdGWTnqfY=";
   };
 
   NIX_CFLAGS_COMPILE = "-L${libunwind}/lib";
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
 
   checkInputs = [ python3 ];
 
-  cargoSha256 = "sha256-qVnOuLNMAy+6MP+dh6vLiSXvwQBAwyzRnHzCP60BdWk=";
+  cargoSha256 = "sha256-GFH8RzyAMtdfoHPcCV3pKf24fKU65vhMLQfLtkhD0Ns=";
 
   meta = with lib; {
     description = "Sampling profiler for Python programs";
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 73e3cfd3c4c..955df96b228 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZjXAZN93ij42WVYSOgvKAzFZ/cZ2RTFKT2sr44j7TVc=";
+    sha256 = "sha256-v7Gdemn0IeO6lOg/kT6VKuL5ZSOqA9A721Wv5QStO2Q=";
   };
 
-  cargoSha256 = "sha256-eQv9pFegHTjjjFURiD/yN/srtONAwAH3vwfrSY/LM/Q=";
+  cargoSha256 = "sha256-SF7LfxmUMX7f+9BmYTzdjTFplXj5j0e181yRVTIEGH4=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index d8b31810c54..cb10b8196aa 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -1,16 +1,58 @@
-{ pkgs, callPackage, CoreServices }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake
+, libiconv
+, useMimalloc ? false
+, doCheck ? true
+}:
 
-{
-  rust-analyzer-unwrapped = callPackage ./generic.nix rec {
-    rev = "2021-03-22";
-    version = "unstable-${rev}";
-    sha256 = "sha256-Q8yr5x4+R9UCk5kw/nJgBtGVBeZTDwyuwpyNJUKSPzA=";
-    cargoSha256 = "sha256-cJ5KPNrX1H4IfHENDGyU2rgxl5TTqvoeXk7558oqwuA=";
+let
+  rev = "2021-04-05";
+in
 
-    inherit CoreServices;
+rustPlatform.buildRustPackage {
+  pname = "rust-analyzer-unwrapped";
+  version = "unstable-${rev}";
+  cargoSha256 = "sha256-kDwdKa08E0h24lOOa7ALeNqHlMjMry/ru1qwCIyKmuE=";
+
+  src = fetchFromGitHub {
+    owner = "rust-analyzer";
+    repo = "rust-analyzer";
+    inherit rev;
+    sha256 = "sha256-ZDxy87F3uz8bTF1/2LIy5r4Nv/M3xe97F7mwJNEFcUs=";
   };
 
-  rust-analyzer = callPackage ./wrapper.nix {} {
-    unwrapped = pkgs.rust-analyzer-unwrapped;
+  buildAndTestSubdir = "crates/rust-analyzer";
+
+  cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";
+
+  nativeBuildInputs = lib.optional useMimalloc cmake;
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    CoreServices
+    libiconv
+  ];
+
+  RUST_ANALYZER_REV = rev;
+
+  inherit doCheck;
+  preCheck = lib.optionalString doCheck ''
+    export RUST_SRC_PATH=${rustPlatform.rustLibSrc}
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    versionOutput="$($out/bin/rust-analyzer --version)"
+    echo "'rust-analyzer --version' returns: $versionOutput"
+    [[ "$versionOutput" == "rust-analyzer ${rev}" ]]
+    runHook postInstallCheck
+  '';
+
+  passthru.updateScript = ./update.sh;
+
+  meta = with lib; {
+    description = "An experimental modular compiler frontend for the Rust language";
+    homepage = "https://github.com/rust-analyzer/rust-analyzer";
+    license = with licenses; [ mit asl20 ];
+    maintainers = with maintainers; [ oxalica ];
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix
deleted file mode 100644
index ddb834af6c3..00000000000
--- a/pkgs/development/tools/rust/rust-analyzer/generic.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake
-, libiconv
-, useMimalloc ? false
-, doCheck ? true
-
-# Version specific args
-, rev, version, sha256, cargoSha256
-}:
-
-rustPlatform.buildRustPackage {
-  pname = "rust-analyzer-unwrapped";
-  inherit version cargoSha256;
-
-  src = fetchFromGitHub {
-    owner = "rust-analyzer";
-    repo = "rust-analyzer";
-    inherit rev sha256;
-  };
-
-  buildAndTestSubdir = "crates/rust-analyzer";
-
-  cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";
-
-  nativeBuildInputs = lib.optional useMimalloc cmake;
-
-  buildInputs = lib.optionals stdenv.isDarwin [
-    CoreServices
-    libiconv
-  ];
-
-  RUST_ANALYZER_REV = rev;
-
-  inherit doCheck;
-  preCheck = lib.optionalString doCheck ''
-    export RUST_SRC_PATH=${rustPlatform.rustLibSrc}
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    runHook preInstallCheck
-    versionOutput="$($out/bin/rust-analyzer --version)"
-    echo "'rust-analyzer --version' returns: $versionOutput"
-    [[ "$versionOutput" == "rust-analyzer ${rev}" ]]
-    runHook postInstallCheck
-  '';
-
-  passthru.updateScript = ./update.sh;
-
-  patches = [ ./rust_1_49.patch ];
-
-  meta = with lib; {
-    description = "An experimental modular compiler frontend for the Rust language";
-    homepage = "https://github.com/rust-analyzer/rust-analyzer";
-    license = with licenses; [ mit asl20 ];
-    maintainers = with maintainers; [ oxalica ];
-  };
-}
diff --git a/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch b/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch
deleted file mode 100644
index fcde6d6337e..00000000000
--- a/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs b/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs
-index 4e75a7b14..91f51a1a7 100644
---- a/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs
-+++ b/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs
-@@ -93,7 +93,7 @@ fn validate_method_call_expr(
-     let krate = module.krate();
- 
-     let iter_trait = FamousDefs(sema, Some(krate)).core_iter_Iterator()?;
--    it_type.impls_trait(sema.db, iter_trait, &[]).then(|| (expr, receiver))
-+    if it_type.impls_trait(sema.db, iter_trait, &[]) { Some((expr, receiver)) } else { None }
- }
- 
- #[cfg(test)]
diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh
index 1bd46862692..185ce70534c 100755
--- a/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -25,7 +25,7 @@ echo "$old_rev -> $rev"
 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 "/fetchFromGitHub/,/}/ s#sha256 = \".*\"#sha256 = \"$sha256\"#" \
     -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/rust/rust-analyzer/wrapper.nix b/pkgs/development/tools/rust/rust-analyzer/wrapper.nix
index bed20628182..6fa5207de6e 100644
--- a/pkgs/development/tools/rust/rust-analyzer/wrapper.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/wrapper.nix
@@ -1,17 +1,15 @@
-{ lib, rustPlatform, runCommandNoCC, makeWrapper }:
-
-lib.makeOverridable ({
-  unwrapped,
-  pname ? "rust-analyzer",
-  version ? unwrapped.version,
+{ lib, rustPlatform, runCommand, makeWrapper, rust-analyzer-unwrapped
+, pname ? "rust-analyzer"
+, version ? rust-analyzer-unwrapped.version
   # Use name from `RUST_SRC_PATH`
-  rustSrc ? rustPlatform.rustLibSrc,
-}: runCommandNoCC "${pname}-${version}" {
+, rustSrc ? rustPlatform.rustLibSrc
+}:
+runCommand "${pname}-${version}" {
   inherit pname version;
-  inherit (unwrapped) src meta;
+  inherit (rust-analyzer-unwrapped) src meta;
   nativeBuildInputs = [ makeWrapper ];
 } ''
   mkdir -p $out/bin
-  makeWrapper ${unwrapped}/bin/rust-analyzer $out/bin/rust-analyzer \
+  makeWrapper ${rust-analyzer-unwrapped}/bin/rust-analyzer $out/bin/rust-analyzer \
     --set-default RUST_SRC_PATH "${rustSrc}"
-'')
+''
diff --git a/pkgs/development/tools/scenebuilder/default.nix b/pkgs/development/tools/scenebuilder/default.nix
new file mode 100644
index 00000000000..3d3b6bbe9d7
--- /dev/null
+++ b/pkgs/development/tools/scenebuilder/default.nix
@@ -0,0 +1,116 @@
+{ lib, stdenv, fetchFromGitHub, jdk, gradleGen, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell, makeWrapper, glib, wrapGAppsHook }:
+let
+  # The default one still uses jdk8 (#89731)
+  gradle = (gradleGen.override (old: { java = jdk; })).gradle_latest;
+
+  pname = "scenebuilder";
+  version = "15.0.1";
+
+  src = fetchFromGitHub {
+    owner = "gluonhq";
+    repo = pname;
+    rev = version;
+    sha256 = "0dqlpfgr9qpmk62zsnhzw4q6n0swjqy00294q0kb4djp3jn47iz4";
+  };
+
+  deps = stdenv.mkDerivation {
+    name = "${pname}-deps";
+    inherit src;
+
+    nativeBuildInputs = [ jdk perl gradle ];
+
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d);
+      gradle --no-daemon build -x test
+    '';
+
+    # Mavenize dependency paths
+    # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "0n93kb8pajlbidvdrsf3hwcwqzvgdm6dnly7wvk3vpargx6k7y1r";
+  };
+
+  # Point to our local deps repo
+  gradleInit = writeText "init.gradle" ''
+    settingsEvaluated { settings ->
+      settings.pluginManagement {
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+    logger.lifecycle 'Replacing Maven repositories with ${deps}...'
+    gradle.projectsLoaded {
+      rootProject.allprojects {
+        buildscript {
+          repositories {
+            clear()
+            maven { url '${deps}' }
+          }
+        }
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = "Scene Builder";
+    exec = "scenebuilder";
+    icon = "scenebuilder";
+    comment = "A visual, drag'n'drop, layout tool for designing JavaFX application user interfaces.";
+    desktopName = pname;
+    mimeType = "application/java;application/java-vm;application/java-archive";
+    categories = "Development";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit pname src version;
+
+  nativeBuildInputs = [ jdk gradle makeWrapper glib wrapGAppsHook ];
+
+  dontWrapGApps = true; # prevent double wrapping
+
+  buildPhase = ''
+    runHook preBuild
+
+    export GRADLE_USER_HOME=$(mktemp -d)
+    gradle -PVERSION=${version} --offline --no-daemon --info --init-script ${gradleInit} build -x test
+
+    runHook postBuild
+    '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share/{${pname},icons/hicolor/128x128/apps}
+    cp app/build/libs/SceneBuilder-${version}-all.jar $out/share/${pname}/${pname}.jar
+    cp app/build/resources/main/com/oracle/javafx/scenebuilder/app/SB_Logo.png $out/share/icons/hicolor/128x128/apps/scenebuilder.png
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    makeWrapper ${jdk}/bin/java $out/bin/${pname} --add-flags "-jar $out/share/${pname}/${pname}.jar" "''${gappsWrapperArgs[@]}"
+    '';
+
+  desktopItems = [ desktopItem ];
+
+  meta = with lib; {
+    description = "A visual, drag'n'drop, layout tool for designing JavaFX application user interfaces.";
+    homepage = "https://gluonhq.com/products/scene-builder/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ wirew0rm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/scenic-view/default.nix b/pkgs/development/tools/scenic-view/default.nix
new file mode 100644
index 00000000000..6575f490a22
--- /dev/null
+++ b/pkgs/development/tools/scenic-view/default.nix
@@ -0,0 +1,113 @@
+{ lib, stdenv, fetchFromGitHub, jdk, gradleGen, makeDesktopItem, copyDesktopItems, perl, writeText, runtimeShell, makeWrapper }:
+let
+  # The default one still uses jdk8 (#89731)
+  gradle = (gradleGen.override (old: { java = jdk; })).gradle_latest;
+
+  pname = "scenic-view";
+  version = "11.0.2";
+
+  src = fetchFromGitHub {
+    owner = "JonathanGiles";
+    repo = pname;
+    rev = version;
+    sha256 = "1idfh9hxqs4fchr6gvhblhvjqk4mpl4rnpi84vn1l3yb700z7dwy";
+  };
+
+  deps = stdenv.mkDerivation {
+    name = "${pname}-deps";
+    inherit src;
+
+    nativeBuildInputs = [ jdk perl gradle ];
+
+    buildPhase = ''
+      export GRADLE_USER_HOME=$(mktemp -d);
+      gradle --no-daemon build
+    '';
+
+    # Mavenize dependency paths
+    # e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
+    installPhase = ''
+      find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+    '';
+
+    outputHashAlgo =  "sha256";
+    outputHashMode = "recursive";
+    outputHash = "0d6qs0wg2nfxyq85q46a8dcdqknz9pypb2qmvc8k2w8vcdac1y7n";
+  };
+
+  # Point to our local deps repo
+  gradleInit = writeText "init.gradle" ''
+    settingsEvaluated { settings ->
+      settings.pluginManagement {
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+    logger.lifecycle 'Replacing Maven repositories with ${deps}...'
+    gradle.projectsLoaded {
+      rootProject.allprojects {
+        buildscript {
+          repositories {
+            clear()
+            maven { url '${deps}' }
+          }
+        }
+        repositories {
+          clear()
+          maven { url '${deps}' }
+        }
+      }
+    }
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = pname;
+    desktopName = pname;
+    exec = pname;
+    comment = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications.";
+    mimeType = "application/java;application/java-vm;application/java-archive";
+    categories = "Development";
+  };
+
+in stdenv.mkDerivation rec {
+  inherit pname version src;
+  nativeBuildInputs = [ jdk gradle makeWrapper ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    export GRADLE_USER_HOME=$(mktemp -d)
+    gradle --offline --no-daemon --info --init-script ${gradleInit} build
+
+    runHook postBuild
+    '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share/${pname}
+    cp build/libs/scenicview.jar $out/share/${pname}/${pname}.jar
+    makeWrapper ${jdk}/bin/java $out/bin/${pname} --add-flags "-jar $out/share/${pname}/${pname}.jar"
+
+    runHook postInstall
+  '';
+
+  desktopItems = [ desktopItem ];
+
+  meta = with lib; {
+    description = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications.";
+    longDescription = ''
+      A JavaFX application designed to make it simple to understand the current state of your application scenegraph
+      and to also easily manipulate properties of the scenegraph without having to keep editing your code.
+      This lets you find bugs and get things pixel perfect without having to do the compile-check-compile dance.
+    '';
+    homepage = "https://github.com/JonathanGiles/scenic-view/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ wirew0rm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/tf2pulumi/default.nix b/pkgs/development/tools/tf2pulumi/default.nix
new file mode 100644
index 00000000000..9dc40913771
--- /dev/null
+++ b/pkgs/development/tools/tf2pulumi/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "tf2pulumi";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "pulumi";
+    repo = "tf2pulumi";
+    rev = "v${version}";
+    sha256 = "199c4hd236mfz9c44rpzpbr3w3fjj8pbw656jd9k3v2igzw942c7";
+  };
+
+  vendorSha256 = "1cwyag67q0361szfjv1cyi51cg1bbmkpy34y33hn53aa55pkm1fw";
+
+  buildFlagsArray = ''
+    -ldflags=-s -w -X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}
+  '';
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Convert Terraform projects to Pulumi TypeScript programs";
+    homepage = "https://www.pulumi.com/tf2pulumi/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mausch ];
+  };
+}
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 26e93614336..f00c080cd1f 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, runCommand, yq-go }:
 
 buildGoModule rec {
   pname = "yq-go";
@@ -24,6 +24,13 @@ buildGoModule rec {
     done
   '';
 
+  passthru.tests = {
+    simple = runCommand "${pname}-test" {} ''
+      echo "test: 1" | ${yq-go}/bin/yq eval -j > $out
+      [ "$(cat $out | tr -d $'\n ')" = '{"test":1}' ]
+    '';
+  };
+
   meta = with lib; {
     description = "Portable command-line YAML processor";
     homepage = "https://mikefarah.gitbook.io/yq/";
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix
index f5677b142e2..54e1646fcae 100644
--- a/pkgs/games/anki/bin.nix
+++ b/pkgs/games/anki/bin.nix
@@ -3,14 +3,14 @@
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "2.1.40";
+  version = "2.1.43";
 
   unpacked = stdenv.mkDerivation {
     inherit pname version;
 
     src = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2";
-      sha256 = "0zcvjm0dv3mjln2npv415yfaa1fykif738qkis52x3pq1by2aiam";
+      sha256 = "0kadv3fxi76h7xxmb4lckkgcwiv0b7cn630l62dxa2abxibans29";
     };
 
     installPhase = ''
@@ -49,7 +49,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
 
   src = fetchurl {
     url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg";
-    sha256 = "14f0sp9h963qix4wa0kg7z8a2nhch9aybv736rm55aqk6mady6vi";
+    sha256 = "0vvgiybq1ygq7cly1r4ircgzg2cpprindr7nnlbnrmandjy2kw49";
   };
 
   nativeBuildInputs = [ undmg ];
diff --git a/pkgs/games/cataclysm-dda/default.nix b/pkgs/games/cataclysm-dda/default.nix
index ada212ea7e9..1649cd031a4 100644
--- a/pkgs/games/cataclysm-dda/default.nix
+++ b/pkgs/games/cataclysm-dda/default.nix
@@ -33,7 +33,8 @@ let
     buildMod
     buildSoundPack
     buildTileSet
-    wrapCDDA;
+    wrapCDDA
+    attachPkgs;
 
     inherit pkgs;
   };
diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix
index 36f37f7aeba..9af90481acd 100644
--- a/pkgs/games/cataclysm-dda/git.nix
+++ b/pkgs/games/cataclysm-dda/git.nix
@@ -1,4 +1,4 @@
-{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA
+{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA, attachPkgs
 , tiles ? true, Cocoa
 , debug ? false
 , useXdgDir ? false
@@ -26,11 +26,6 @@ let
       "VERSION=git-${version}-${lib.substring 0 8 src.rev}"
     ];
 
-    passthru = common.passthru // {
-      pkgs = pkgs.override { build = self; };
-      withMods = wrapCDDA self;
-    };
-
     meta = common.meta // {
       maintainers = with lib.maintainers;
       common.meta.maintainers ++ [ rardiol ];
@@ -38,4 +33,4 @@ let
   });
 in
 
-self
+attachPkgs pkgs self
diff --git a/pkgs/games/cataclysm-dda/lib.nix b/pkgs/games/cataclysm-dda/lib.nix
index 02678ed0228..f2b38a16aa5 100644
--- a/pkgs/games/cataclysm-dda/lib.nix
+++ b/pkgs/games/cataclysm-dda/lib.nix
@@ -1,6 +1,6 @@
 { callPackage }:
 
-{
+rec {
   buildMod = callPackage ./builder.nix {
     type = "mod";
   };
@@ -14,4 +14,33 @@
   };
 
   wrapCDDA = callPackage ./wrapper.nix {};
+
+  # Required to fix `pkgs` and `withMods` attrs after applying `overrideAttrs`.
+  #
+  # Example:
+  #     let
+  #       myBuild = cataclysmDDA.jenkins.latest.tiles.overrideAttrs (_: {
+  #         x = "hello";
+  #       });
+  #
+  #       # This refers to the derivation before overriding! So, `badExample.x` is not accessible.
+  #       badExample = myBuild.withMods (_: []);
+  #
+  #       # `myBuild` is correctly referred by `withMods` and `goodExample.x` is accessible.
+  #       goodExample = let
+  #         inherit (cataclysmDDA) attachPkgs pkgs;
+  #       in
+  #       (attachPkgs pkgs myBuild).withMods (_: []);
+  #     in
+  #     goodExample.x  # returns "hello"
+  attachPkgs = pkgs: super:
+  let
+    self = super.overrideAttrs (old: {
+      passthru = old.passthru // {
+        pkgs = pkgs.override { build = self; };
+        withMods = wrapCDDA self;
+      };
+    });
+  in
+  self;
 }
diff --git a/pkgs/games/cataclysm-dda/pkgs/default.nix b/pkgs/games/cataclysm-dda/pkgs/default.nix
index 6f3df09a786..39abad809c5 100644
--- a/pkgs/games/cataclysm-dda/pkgs/default.nix
+++ b/pkgs/games/cataclysm-dda/pkgs/default.nix
@@ -13,15 +13,17 @@ let
     };
   };
 
-  pkgs' = lib.mapAttrs (_: mod: lib.filterAttrs availableForBuild mod) pkgs;
+  pkgs' = lib.mapAttrs (_: mods: lib.filterAttrs isAvailable mods) pkgs;
 
-  availableForBuild = _: mod:
+  isAvailable = _: mod:
   if isNull build then
     true
   else if build.isTiles then
-    mod.forTiles
+    mod.forTiles or false
+  else if build.isCurses then
+    mod.forCurses or false
   else
-    mod.forCurses;
+    false;
 in
 
 lib.makeExtensible (_: pkgs')
diff --git a/pkgs/games/cataclysm-dda/stable.nix b/pkgs/games/cataclysm-dda/stable.nix
index 4210a216694..d0452090ca6 100644
--- a/pkgs/games/cataclysm-dda/stable.nix
+++ b/pkgs/games/cataclysm-dda/stable.nix
@@ -1,4 +1,4 @@
-{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA
+{ lib, callPackage, CoreFoundation, fetchFromGitHub, pkgs, wrapCDDA, attachPkgs
 , tiles ? true, Cocoa
 , debug ? false
 , useXdgDir ? false
@@ -19,11 +19,6 @@ let
       sha256 = "qhHtsm5cM0ct/7qXev0SiLInO2jqs2odxhWndLfRDIE=";
     };
 
-    passthru = common.passthru // {
-      pkgs = pkgs.override { build = self; };
-      withMods = wrapCDDA self;
-    };
-
     meta = common.meta // {
       maintainers = with lib.maintainers;
       common.meta.maintainers ++ [ skeidel ];
@@ -31,4 +26,4 @@ let
   });
 in
 
-self
+attachPkgs pkgs self
diff --git a/pkgs/games/cdogs-sdl/default.nix b/pkgs/games/cdogs-sdl/default.nix
new file mode 100644
index 00000000000..1c35e1e86e7
--- /dev/null
+++ b/pkgs/games/cdogs-sdl/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, SDL2
+, SDL2_image
+, SDL2_mixer
+, cmake
+, gtk3-x11
+, python3
+, protobuf
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cdogs";
+  version = "0.11.0";
+
+  src = fetchFromGitHub {
+    repo = "cdogs-sdl";
+    owner = "cxong";
+    rev = version;
+    sha256 = "sha256-zWwlcEM2KsYiB48cmRTjou0C86SqeoOLrbacCR0SfIA=";
+  };
+
+  postPatch = ''
+    patchShebangs src/proto/nanopb/generator/*
+  '';
+
+  cmakeFlags = [ "-DCDOGS_DATA_DIR=${placeholder "out"}/" ];
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    (python3.withPackages (pp: with pp; [ pp.protobuf setuptools ]))
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_mixer
+    gtk3-x11
+    protobuf
+  ];
+
+  meta = with lib; {
+    homepage = "https://cxong.github.io/cdogs-sdl";
+    description = "Open source classic overhead run-and-gun game";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ nixinator ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/games/openttd/default.nix b/pkgs/games/openttd/default.nix
index 87e8084399c..a39b9cab359 100644
--- a/pkgs/games/openttd/default.nix
+++ b/pkgs/games/openttd/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchzip, cmake, SDL2, libpng, zlib, xz, freetype, fontconfig, libxdg_basedir
+{ lib, stdenv, fetchurl, fetchzip, cmake, SDL2, libpng, zlib, xz, freetype, fontconfig
 , withOpenGFX ? true, withOpenSFX ? true, withOpenMSX ? true
 , withFluidSynth ? true, audioDriver ? "alsa", fluidsynth, soundfont-fluid, procps
 , writeScriptBin, makeWrapper, runtimeShell
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
-  buildInputs = [ SDL2 libpng xz zlib freetype fontconfig libxdg_basedir ]
+  buildInputs = [ SDL2 libpng xz zlib freetype fontconfig ]
     ++ lib.optionals withFluidSynth [ fluidsynth soundfont-fluid ];
 
   prefixKey = "--prefix-dir=";
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index 26eef250c51..2d90dafb28d 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -16,13 +16,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "osu-lazer";
-  version = "2021.323.0";
+  version = "2021.331.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "zoJGCsnjvXzPxGy85YsP+WbaN7p8EwcTqiCEX/czMR8=";
+    sha256 = "dCKBxVDBBhJ7LEawmMOU7PKh0yxmDgVw6PL2F0qA5RU=";
   };
 
   patches = [ ./bypass-tamper-detection.patch ];
diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix
index 79ddcca6557..a956f9efb2e 100644
--- a/pkgs/games/osu-lazer/deps.nix
+++ b/pkgs/games/osu-lazer/deps.nix
@@ -6,8 +6,8 @@
   })
   (fetchNuGet {
     name = "DiffPlex";
-    version = "1.6.3";
-    sha256 = "0yi72afddddz0s8phx855rnjrga7n51bcma10dc91l0ffcwf5xwz";
+    version = "1.7.0";
+    sha256 = "09a8hkbx99iwikfl8war629945yv7i8llj9480dbc4kyp6qqlr00";
   })
   (fetchNuGet {
     name = "DiscordRichPresence";
@@ -301,68 +301,53 @@
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Connections.Abstractions";
-    version = "5.0.2";
-    sha256 = "0qy4wamhcpxi9aqwq9kivhsj4rvhbch2wfwv11610psygb5457vk";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Connections.Abstractions";
-    version = "5.0.3";
-    sha256 = "1p4vzsx4q1lx93m2v1iy2z1i2dg2q5s2f6gznw5afbn5rqqqbsff";
+    version = "5.0.4";
+    sha256 = "002a3cvarwvvyic65khwavjxqsqjlnbgqc11sdyj3li15fxflk5g";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Connections.Client";
-    version = "5.0.2";
-    sha256 = "0295a87ilrdg43sil5wli74x7jy4apibqdk1fxam8kzj99whl5sk";
+    version = "5.0.4";
+    sha256 = "1s19hx083c0r98wi6a8gqb3j3xjlrp9rkmvbpdxikzw8z4bnrjpn";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Connections.Common";
-    version = "5.0.2";
-    sha256 = "094zjf6h5dh87kznmmz7w4s1y37rw52vaz2h4jk4i4ik7hpijd0w";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.Http.Features";
-    version = "5.0.2";
-    sha256 = "1rprpj1aw9z501rpb9415maqcqnk6pirbdl8yv5n9wpqgcnjizk8";
+    version = "5.0.4";
+    sha256 = "132ahfq7m369iss4ka402fj24rjdnhia41b94l3l135zplzlsl5n";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.Http.Features";
-    version = "5.0.3";
-    sha256 = "0c6c5wpwkprf7a7mp1h10bvi2gg94lkpr3lznzpry3zjb5g7mk84";
+    version = "5.0.4";
+    sha256 = "064n12ydyngh5q3y597x5cmciib74mpnhkvxicqp0kmgqsixkc7b";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Client";
-    version = "5.0.2";
-    sha256 = "18pdw4h1j93wzcvlj87jy7n5sxkwlj69nnb7a2qxkc40jvm18ran";
+    version = "5.0.4";
+    sha256 = "0rpafasicnqng7ylx29hyslwp6g2j1l92szs0n9j98siscap17qg";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Client.Core";
-    version = "5.0.2";
-    sha256 = "1rg3cpqr3yx5hn233c6cmmiry5v49fglfii7ryi1cf6rwqpdqn5l";
+    version = "5.0.4";
+    sha256 = "1fwy2akhgphx72hc3rlax08aiaabvm9fi6jfj2r1dyzb2plcgig3";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Common";
-    version = "5.0.2";
-    sha256 = "1sbwp00hq0ng891wdj6yhah8hr9hw34zvqr1xzs86g3gpmssgcj5";
-  })
-  (fetchNuGet {
-    name = "Microsoft.AspNetCore.SignalR.Common";
-    version = "5.0.3";
-    sha256 = "1g19vkc3g76r2fpjy7c1fkbvbihk9pfmx4wfsgpjflvydmvhqf9m";
+    version = "5.0.4";
+    sha256 = "1dy00sf695sz842rlvgbyj2krgiqprx8qcdci8lz388rwp17drk2";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.Json";
-    version = "5.0.2";
-    sha256 = "0p9kv2iayhz8y68r30mhzssv0m087v243ai7aax7jd44rqiv1w5i";
+    version = "5.0.4";
+    sha256 = "0xp6ihjq835iqiiaxjl501pfplkqhd40kqxkazfj1icryls8hzhq";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.MessagePack";
-    version = "5.0.3";
-    sha256 = "0wf53knadwxyww85wc6m82paj0wdgsq4kbg7a3v95r6vbh4pav45";
+    version = "5.0.4";
+    sha256 = "1bvy4pvp3kxl75mbgy7saapjcnczylrqhf8ry0s66r12f7bzjki8";
   })
   (fetchNuGet {
     name = "Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson";
-    version = "5.0.2";
-    sha256 = "01wi2q5sjazvax8d4gbcggsr7n801m4cx6jcqljv0r4cmz4y478a";
+    version = "5.0.4";
+    sha256 = "1gbkgc3cqv7q10k9hrjfj1ixpwx7b4n0x2f7sn9snsh977w7209j";
   })
   (fetchNuGet {
     name = "Microsoft.Bcl.AsyncInterfaces";
@@ -371,11 +356,6 @@
   })
   (fetchNuGet {
     name = "Microsoft.Bcl.AsyncInterfaces";
-    version = "1.1.1";
-    sha256 = "0a1ahssqds2ympr7s4xcxv5y8jgxs7ahd6ah6fbgglj4rki1f1vw";
-  })
-  (fetchNuGet {
-    name = "Microsoft.Bcl.AsyncInterfaces";
     version = "5.0.0";
     sha256 = "0cp5jbax2mf6xr3dqiljzlwi05fv6n9a35z337s92jcljiq674kf";
   })
@@ -401,18 +381,18 @@
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Common";
-    version = "3.8.0";
-    sha256 = "12n7rvr39bzkf2maw7zplw8rwpxpxss4ich3bb2pw770rx4nyvyw";
+    version = "3.9.0";
+    sha256 = "1x6l6kn8iv5gk1545nxs2gwzkb8gj4sb9kryai132l7yg9afjqik";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.CSharp";
-    version = "3.8.0";
-    sha256 = "1kmry65csvfn72zzc16vj1nfbfwam28wcmlrk3m5rzb8ydbzgylb";
+    version = "3.9.0";
+    sha256 = "0crb9x5rhija8y7b0iya9axcvinz2hv3bgf80bvz7kv6zpbpszkz";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.CSharp.Workspaces";
-    version = "3.8.0";
-    sha256 = "1jfbqfngwwjx3x1cyqaamf26s7j6wag86ig1n7bh99ny85gd78wb";
+    version = "3.9.0";
+    sha256 = "0cvg6lby34cnjg5a84dx7vnkvjkbvm5vd2p61in9frd6vk0pjwpz";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.NetAnalyzers";
@@ -421,13 +401,13 @@
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Workspaces.Common";
-    version = "3.8.0";
-    sha256 = "0qbirv7wxllzw5120pfa42wailfgzvl10373yhacankmfmbz2gnw";
+    version = "3.9.0";
+    sha256 = "1ibr9k1qf93i7sjml0xhp03is7qqgfj91za9dp4i1w00fjnvyf37";
   })
   (fetchNuGet {
     name = "Microsoft.CodeAnalysis.Workspaces.MSBuild";
-    version = "3.8.0";
-    sha256 = "1ag78ls51s88znv4v004sbklrx3qnbphpdngjq196188a3vljww7";
+    version = "3.9.0";
+    sha256 = "1p8rgd9b9p49dkar97mjcmahkzvrdghw7m5a6csldx62nlknsc9m";
   })
   (fetchNuGet {
     name = "Microsoft.CSharp";
@@ -451,8 +431,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Diagnostics.Runtime";
-    version = "2.0.161401";
-    sha256 = "02qcm8nv1ch07g8b0i60ynrjn33b8y5ivyk4rxal3vd9zfi6pvwi";
+    version = "2.0.217201";
+    sha256 = "1r519zbbq13f76kc657wml735h9lcijkyxw6r96akn7cv9vgiwl6";
   })
   (fetchNuGet {
     name = "Microsoft.DotNet.PlatformAbstractions";
@@ -571,8 +551,8 @@
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.ObjectPool";
-    version = "5.0.3";
-    sha256 = "1slfc4ncl83dl2g1xm95qb04bkyir26zhvz26lkph1jff0ycx2wb";
+    version = "5.0.4";
+    sha256 = "07kyqbm7f7k4bv3fa54b826b87z00385pqgjzd4s8l26j6p39rrm";
   })
   (fetchNuGet {
     name = "Microsoft.Extensions.Options";
@@ -671,8 +651,8 @@
   })
   (fetchNuGet {
     name = "Newtonsoft.Json";
-    version = "12.0.3";
-    sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
+    version = "13.0.1";
+    sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb";
   })
   (fetchNuGet {
     name = "Newtonsoft.Json";
@@ -681,48 +661,48 @@
   })
   (fetchNuGet {
     name = "NuGet.Common";
-    version = "5.8.0";
-    sha256 = "17l1gqxfcpazadg6wqgwkzg37x8c97sgmk9nr4f9yn3d50zj9hlm";
+    version = "5.9.0";
+    sha256 = "1j0kk8rgssw920r7h8zfqwzsgvh3y5lalz19d5r07l9r9ngcj5w9";
   })
   (fetchNuGet {
     name = "NuGet.Configuration";
-    version = "5.8.0";
-    sha256 = "02cxqaaxmspv6x0xjwkqr1s0b858cw5gn6lgqa8zhsknnhs6rl41";
+    version = "5.9.0";
+    sha256 = "16wqjflqvhgq5nqa7ips63hv6wd39171q337gk5wkr9ffpwarrx9";
   })
   (fetchNuGet {
     name = "NuGet.DependencyResolver.Core";
-    version = "5.8.0";
-    sha256 = "0w0hr10gzf0hvh400ybd6h606zal0mi0i1lq5q3yj7kdhy93wb6j";
+    version = "5.9.0";
+    sha256 = "1f1rcvl86qvix3hibm7xm5wzvwah5pc4ik9mnrgavnwixwkix9nz";
   })
   (fetchNuGet {
     name = "NuGet.Frameworks";
-    version = "5.8.0";
-    sha256 = "16awpn2p8sbzvqpri2hjbjzpnl3ad2klr8d82yd0hrd6s2yyii9j";
+    version = "5.9.0";
+    sha256 = "099kb0mvglhfv5b0r1ddnkl6mm8l2x5kpmm1kqs5qkchk0a1y0ci";
   })
   (fetchNuGet {
     name = "NuGet.LibraryModel";
-    version = "5.8.0";
-    sha256 = "1fwh6iam6cp9pgz4gqlwj287vfrz8nabmzfmgkbnylrxki0pnwi0";
+    version = "5.9.0";
+    sha256 = "1m6ym5dld0drpk7lm0i0ss30292rpk80b701n1nakqykfnkfhhfy";
   })
   (fetchNuGet {
     name = "NuGet.Packaging";
-    version = "5.8.0";
-    sha256 = "05ba9aj6hyb5x28c7sn24b7fkzn7g1869x4b2xpbq8r37mfswfw9";
+    version = "5.9.0";
+    sha256 = "0m0sn823v0lb4h2maxcndvj2k1a0iwwl1yndbhna2ir2lq2fi4px";
   })
   (fetchNuGet {
     name = "NuGet.ProjectModel";
-    version = "5.8.0";
-    sha256 = "1b2brybxg997095b9w2jbgnhadppdrxlkqmwx84dy6snq2blcwhc";
+    version = "5.9.0";
+    sha256 = "06qdfhxz5bsq2wx7i9dkc2rsr4bkk02mpyq27v6zrz36vyrckwx3";
   })
   (fetchNuGet {
     name = "NuGet.Protocol";
-    version = "5.8.0";
-    sha256 = "151x6b085vsznfsi7ak97086hlc0g3d3mv9xdla974z1qyh6q5a9";
+    version = "5.9.0";
+    sha256 = "1nvfg1xxpjqbpdmw1xa6m7sbdp19ld442vqh3x4967z6c92wvc4n";
   })
   (fetchNuGet {
     name = "NuGet.Versioning";
-    version = "5.8.0";
-    sha256 = "16awcl6czs6nyhfaf0ixi25flka1y653q4bjmm4rnz3ssi832mi5";
+    version = "5.9.0";
+    sha256 = "1rby89nx39l533vhk0ikf16dd1d6kjjn4ld8b0y88g2mlnrdgz4m";
   })
   (fetchNuGet {
     name = "NUnit";
@@ -731,18 +711,18 @@
   })
   (fetchNuGet {
     name = "OpenTabletDriver";
-    version = "0.5.2.1";
-    sha256 = "0czbgxjkc5ryrnn9hl68wp464p4xp0883517iq87d1f7qb32gppl";
+    version = "0.5.2.3";
+    sha256 = "1qz5vmdwmfw8glkm6r7n06srcvrz5c3cwld1wv6xw4sagvwf0b6g";
   })
   (fetchNuGet {
     name = "OpenTabletDriver.Plugin";
-    version = "0.5.2.1";
-    sha256 = "199yasnq5dsb5c37vl8vry8lf536gpgclsk402sxdw9lz11xmmqd";
+    version = "0.5.2.3";
+    sha256 = "0i03n5aydn0rv1v2y9c1cm9a2ss9y7p7l92k1x2yb6mwbx6vkpda";
   })
   (fetchNuGet {
     name = "ppy.osu.Framework";
-    version = "2021.323.0";
-    sha256 = "1gxgvg8r7xsr94wy7rld5c1yd8ssv4iqsp2zdyp5r0qd5l1g09gc";
+    version = "2021.330.0";
+    sha256 = "01v319nd9szq5z5qq6pa348y1mv93pnhw0vrgbrjwvcs797h7mjl";
   })
   (fetchNuGet {
     name = "ppy.osu.Framework.NativeLibs";
@@ -761,8 +741,8 @@
   })
   (fetchNuGet {
     name = "ppy.SDL2-CS";
-    version = "1.0.53";
-    sha256 = "0x52pq6xdg4qcgi8cnqlijifqjpszbi8z4nkmsym0xgd9m5bmd7k";
+    version = "1.0.82";
+    sha256 = "0hdfih1hjpqxgblwc947inyfhskkj85f061cagf8gdl69xsp2l1b";
   })
   (fetchNuGet {
     name = "ppy.squirrel.windows";
@@ -876,8 +856,8 @@
   })
   (fetchNuGet {
     name = "Sentry";
-    version = "3.0.7";
-    sha256 = "1wlfia0ihyx2jd07faz4jqbldxq9bx4hv787xkfk1469h7f2vvwk";
+    version = "3.2.0";
+    sha256 = "1hhgc4sqd7nampqydpdwfrc04hhqlkbv4p4w8cq6dswp5rf5k89b";
   })
   (fetchNuGet {
     name = "SharpCompress";
@@ -1110,6 +1090,11 @@
     sha256 = "1pla2dx8gkidf7xkciig6nifdsb494axjvzvann8g2lp3dbqasm9";
   })
   (fetchNuGet {
+    name = "System.Formats.Asn1";
+    version = "5.0.0";
+    sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn";
+  })
+  (fetchNuGet {
     name = "System.Globalization";
     version = "4.0.11";
     sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d";
@@ -1201,6 +1186,11 @@
   })
   (fetchNuGet {
     name = "System.IO.Pipelines";
+    version = "5.0.0";
+    sha256 = "1kdvbzr98sdddm18r3gbsbcxpv58gm1yy3iig8zg9dvp7mli7453";
+  })
+  (fetchNuGet {
+    name = "System.IO.Pipelines";
     version = "5.0.1";
     sha256 = "1zvfcd2l1d5qxifsqd0cjyv57nr61a9ac2ca5jinyqmj32wgjd6v";
   })
@@ -1511,8 +1501,8 @@
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.Cng";
-    version = "5.0.0-preview.3.20214.6";
-    sha256 = "050xx94ki5zmclplfns1v463wlf97ha2knwnxp08vqkgy0bdg1mv";
+    version = "5.0.0";
+    sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw";
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.Csp";
@@ -1546,8 +1536,8 @@
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.Pkcs";
-    version = "5.0.0-preview.3.20214.6";
-    sha256 = "1q38rzpzhzpc8l75m06g6swq23qbl22ijzd9k76jfq08px3wq09k";
+    version = "5.0.0";
+    sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj";
   })
   (fetchNuGet {
     name = "System.Security.Cryptography.Primitives";
diff --git a/pkgs/games/r2mod_cli/default.nix b/pkgs/games/r2mod_cli/default.nix
index f45dd394862..6a7d12eadb1 100644
--- a/pkgs/games/r2mod_cli/default.nix
+++ b/pkgs/games/r2mod_cli/default.nix
@@ -1,4 +1,5 @@
 { fetchFromGitHub
+, bashInteractive
 , jq
 , makeWrapper
 , p7zip
@@ -7,15 +8,17 @@
 
 stdenv.mkDerivation rec {
   pname = "r2mod_cli";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchFromGitHub {
     owner = "Foldex";
     repo = "r2mod_cli";
     rev = "v${version}";
-    sha256 = "0as3nl9qiyf9daf2n78lyish319qclf2gbhr20mdd5wnqmxpk276";
+    sha256 = "13n2y9gsgb8hnr64y083x9c90j3b4awcmdn81mqmwcydpby3q848";
   };
 
+  buildInputs = [ bashInteractive ];
+
   nativeBuildInputs = [ makeWrapper ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/games/shticker-book-unwritten/cargo-lock.patch b/pkgs/games/shticker-book-unwritten/cargo-lock.patch
new file mode 100644
index 00000000000..90e802011e4
--- /dev/null
+++ b/pkgs/games/shticker-book-unwritten/cargo-lock.patch
@@ -0,0 +1,1248 @@
+diff --git a/Cargo.lock b/Cargo.lock
+new file mode 100644
+index 0000000..16f72a8
+--- /dev/null
++++ b/Cargo.lock
+@@ -0,0 +1,1242 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++[[package]]
++name = "autocfg"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
++
++[[package]]
++name = "base64"
++version = "0.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
++
++[[package]]
++name = "bitflags"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++
++[[package]]
++name = "block-buffer"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
++dependencies = [
++ "generic-array",
++]
++
++[[package]]
++name = "bumpalo"
++version = "3.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "63396b8a4b9de3f4fdfb320ab6080762242f66a8ef174c49d8e19b674db4cdbe"
++
++[[package]]
++name = "bytes"
++version = "0.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
++
++[[package]]
++name = "bytes"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
++
++[[package]]
++name = "bzip2"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abf8012c8a15d5df745fcf258d93e6149dcf102882c8d8702d9cff778eab43a8"
++dependencies = [
++ "bzip2-sys",
++ "libc",
++]
++
++[[package]]
++name = "bzip2-sys"
++version = "0.1.10+1.0.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "17fa3d1ac1ca21c5c4e36a97f3c3eb25084576f6fc47bf0139c1123434216c6c"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.67"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd"
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "clap"
++version = "2.33.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
++dependencies = [
++ "bitflags",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "core-foundation"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
++
++[[package]]
++name = "cpuid-bool"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634"
++
++[[package]]
++name = "digest"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
++dependencies = [
++ "generic-array",
++]
++
++[[package]]
++name = "encoding_rs"
++version = "0.8.28"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "fnv"
++version = "1.0.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
++
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
++name = "form_urlencoded"
++version = "1.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
++dependencies = [
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "fuchsia-zircon"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
++dependencies = [
++ "bitflags",
++ "fuchsia-zircon-sys",
++]
++
++[[package]]
++name = "fuchsia-zircon-sys"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
++
++[[package]]
++name = "futures-channel"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c2dd2df839b57db9ab69c2c9d8f3e8c81984781937fe2807dc6dcf3b2ad2939"
++dependencies = [
++ "futures-core",
++]
++
++[[package]]
++name = "futures-core"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15496a72fabf0e62bdc3df11a59a3787429221dd0710ba8ef163d6f7a9112c94"
++
++[[package]]
++name = "futures-io"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d71c2c65c57704c32f5241c1223167c2c3294fd34ac020c807ddbe6db287ba59"
++
++[[package]]
++name = "futures-sink"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85754d98985841b7d4f5e8e6fbfa4a4ac847916893ec511a2917ccd8525b8bb3"
++
++[[package]]
++name = "futures-task"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fa189ef211c15ee602667a6fcfe1c1fd9e07d42250d2156382820fba33c9df80"
++
++[[package]]
++name = "futures-util"
++version = "0.3.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1812c7ab8aedf8d6f2701a43e1243acdbcc2b36ab26e2ad421eb99ac963d96d1"
++dependencies = [
++ "futures-core",
++ "futures-io",
++ "futures-task",
++ "memchr",
++ "pin-project-lite 0.2.6",
++ "pin-utils",
++ "slab",
++]
++
++[[package]]
++name = "generic-array"
++version = "0.14.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
++dependencies = [
++ "typenum",
++ "version_check",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "h2"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535"
++dependencies = [
++ "bytes 0.5.6",
++ "fnv",
++ "futures-core",
++ "futures-sink",
++ "futures-util",
++ "http",
++ "indexmap",
++ "slab",
++ "tokio",
++ "tokio-util",
++ "tracing",
++ "tracing-futures",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "http"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747"
++dependencies = [
++ "bytes 1.0.1",
++ "fnv",
++ "itoa",
++]
++
++[[package]]
++name = "http-body"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b"
++dependencies = [
++ "bytes 0.5.6",
++ "http",
++]
++
++[[package]]
++name = "httparse"
++version = "1.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "615caabe2c3160b313d52ccc905335f4ed5f10881dd63dc5699d47e90be85691"
++
++[[package]]
++name = "httpdate"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
++
++[[package]]
++name = "hyper"
++version = "0.13.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
++dependencies = [
++ "bytes 0.5.6",
++ "futures-channel",
++ "futures-core",
++ "futures-util",
++ "h2",
++ "http",
++ "http-body",
++ "httparse",
++ "httpdate",
++ "itoa",
++ "pin-project",
++ "socket2",
++ "tokio",
++ "tower-service",
++ "tracing",
++ "want",
++]
++
++[[package]]
++name = "hyper-tls"
++version = "0.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed"
++dependencies = [
++ "bytes 0.5.6",
++ "hyper",
++ "native-tls",
++ "tokio",
++ "tokio-tls",
++]
++
++[[package]]
++name = "idna"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89829a5d69c23d348314a7ac337fe39173b61149a9864deabd260983aed48c21"
++dependencies = [
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
++[[package]]
++name = "indexmap"
++version = "1.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3"
++dependencies = [
++ "autocfg",
++ "hashbrown",
++]
++
++[[package]]
++name = "iovec"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "ipnet"
++version = "2.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "47be2f14c678be2fdcab04ab1171db51b2762ce6f0a8ee87c8dd4a04ed216135"
++
++[[package]]
++name = "itoa"
++version = "0.4.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
++
++[[package]]
++name = "js-sys"
++version = "0.3.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc9f84f9b115ce7843d60706df1422a916680bfdfcbdb0447c5614ff9d7e4d78"
++dependencies = [
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "kernel32-sys"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
++dependencies = [
++ "winapi 0.2.8",
++ "winapi-build",
++]
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "libc"
++version = "0.2.88"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03b07a082330a35e43f63177cc01689da34fbffa0105e1246cf0311472cac73a"
++
++[[package]]
++name = "log"
++version = "0.4.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++
++[[package]]
++name = "memchr"
++version = "2.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
++
++[[package]]
++name = "mime"
++version = "0.3.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
++
++[[package]]
++name = "mime_guess"
++version = "2.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
++dependencies = [
++ "mime",
++ "unicase",
++]
++
++[[package]]
++name = "mio"
++version = "0.6.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
++dependencies = [
++ "cfg-if 0.1.10",
++ "fuchsia-zircon",
++ "fuchsia-zircon-sys",
++ "iovec",
++ "kernel32-sys",
++ "libc",
++ "log",
++ "miow",
++ "net2",
++ "slab",
++ "winapi 0.2.8",
++]
++
++[[package]]
++name = "miow"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
++dependencies = [
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
++]
++
++[[package]]
++name = "native-tls"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
++[[package]]
++name = "net2"
++version = "0.2.37"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
++dependencies = [
++ "cfg-if 0.1.10",
++ "libc",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "opaque-debug"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
++
++[[package]]
++name = "openssl"
++version = "0.10.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70"
++dependencies = [
++ "bitflags",
++ "cfg-if 1.0.0",
++ "foreign-types",
++ "lazy_static",
++ "libc",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.60"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "921fc71883267538946025deffb622905ecad223c28efbfdef9bb59a0175f3e6"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
++name = "percent-encoding"
++version = "2.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++
++[[package]]
++name = "pin-project"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96fa8ebb90271c4477f144354485b8068bd8f6b78b428b01ba892ca26caf0b63"
++dependencies = [
++ "pin-project-internal",
++]
++
++[[package]]
++name = "pin-project-internal"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "758669ae3558c6f74bd2a18b41f7ac0b5a195aea6639d6a9b5e5d1ad5ba24c0b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "pin-project-lite"
++version = "0.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905"
++
++[[package]]
++name = "pin-utils"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.24"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
++dependencies = [
++ "unicode-xid",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.8.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
++dependencies = [
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
++dependencies = [
++ "ppv-lite86",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "remove_dir_all"
++version = "0.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
++dependencies = [
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "reqwest"
++version = "0.10.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c"
++dependencies = [
++ "base64",
++ "bytes 0.5.6",
++ "encoding_rs",
++ "futures-core",
++ "futures-util",
++ "http",
++ "http-body",
++ "hyper",
++ "hyper-tls",
++ "ipnet",
++ "js-sys",
++ "lazy_static",
++ "log",
++ "mime",
++ "mime_guess",
++ "native-tls",
++ "percent-encoding",
++ "pin-project-lite 0.2.6",
++ "serde",
++ "serde_urlencoded",
++ "tokio",
++ "tokio-tls",
++ "url",
++ "wasm-bindgen",
++ "wasm-bindgen-futures",
++ "web-sys",
++ "winreg",
++]
++
++[[package]]
++name = "rpassword"
++version = "4.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "99371657d3c8e4d816fb6221db98fa408242b0b53bac08f8676a41f8554fe99f"
++dependencies = [
++ "libc",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
++
++[[package]]
++name = "schannel"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
++dependencies = [
++ "lazy_static",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "security-framework"
++version = "2.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dfd318104249865096c8da1dfabf09ddbb6d0330ea176812a62ec75e40c4166"
++dependencies = [
++ "bitflags",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "2.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dee48cdde5ed250b0d3252818f646e174ab414036edb884dde62d80a3ac6082d"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "serde"
++version = "1.0.123"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92d5161132722baa40d802cc70b15262b98258453e85e5d1d365c757c73869ae"
++dependencies = [
++ "serde_derive",
++]
++
++[[package]]
++name = "serde_derive"
++version = "1.0.123"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9391c295d64fc0abb2c556bad848f33cb8296276b1ad2677d1ae1ace4f258f31"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.64"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
++dependencies = [
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "serde_urlencoded"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
++dependencies = [
++ "form_urlencoded",
++ "itoa",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "sha-1"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dfebf75d25bd900fd1e7d11501efab59bc846dbc76196839663e6637bba9f25f"
++dependencies = [
++ "block-buffer",
++ "cfg-if 1.0.0",
++ "cpuid-bool",
++ "digest",
++ "opaque-debug",
++]
++
++[[package]]
++name = "shticker_book_unwritten"
++version = "1.0.3"
++dependencies = [
++ "bzip2",
++ "clap",
++ "reqwest",
++ "rpassword",
++ "serde",
++ "serde_json",
++ "sha-1",
++]
++
++[[package]]
++name = "slab"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++
++[[package]]
++name = "socket2"
++version = "0.3.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "syn"
++version = "1.0.61"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ed22b90a0e734a23a7610f4283ac9e5acfb96cbb30dfefa540d66f866f1c09c5"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
++]
++
++[[package]]
++name = "tempfile"
++version = "3.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
++dependencies = [
++ "cfg-if 1.0.0",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "tinyvec"
++version = "1.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "317cca572a0e89c3ce0ca1f1bdc9369547fe318a683418e42ac8f59d14701023"
++dependencies = [
++ "tinyvec_macros",
++]
++
++[[package]]
++name = "tinyvec_macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
++
++[[package]]
++name = "tokio"
++version = "0.2.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092"
++dependencies = [
++ "bytes 0.5.6",
++ "fnv",
++ "futures-core",
++ "iovec",
++ "lazy_static",
++ "memchr",
++ "mio",
++ "num_cpus",
++ "pin-project-lite 0.1.12",
++ "slab",
++]
++
++[[package]]
++name = "tokio-tls"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343"
++dependencies = [
++ "native-tls",
++ "tokio",
++]
++
++[[package]]
++name = "tokio-util"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499"
++dependencies = [
++ "bytes 0.5.6",
++ "futures-core",
++ "futures-sink",
++ "log",
++ "pin-project-lite 0.1.12",
++ "tokio",
++]
++
++[[package]]
++name = "tower-service"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6"
++
++[[package]]
++name = "tracing"
++version = "0.1.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01ebdc2bb4498ab1ab5f5b73c5803825e60199229ccba0698170e3be0e7f959f"
++dependencies = [
++ "cfg-if 1.0.0",
++ "log",
++ "pin-project-lite 0.2.6",
++ "tracing-core",
++]
++
++[[package]]
++name = "tracing-core"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f50de3927f93d202783f4513cda820ab47ef17f624b03c096e86ef00c67e6b5f"
++dependencies = [
++ "lazy_static",
++]
++
++[[package]]
++name = "tracing-futures"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
++dependencies = [
++ "pin-project",
++ "tracing",
++]
++
++[[package]]
++name = "try-lock"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
++
++[[package]]
++name = "typenum"
++version = "1.12.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "373c8a200f9e67a0c95e62a4f52fbf80c23b4381c05a17845531982fa99e6b33"
++
++[[package]]
++name = "unicase"
++version = "2.6.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
++dependencies = [
++ "version_check",
++]
++
++[[package]]
++name = "unicode-bidi"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
++dependencies = [
++ "matches",
++]
++
++[[package]]
++name = "unicode-normalization"
++version = "0.1.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
++dependencies = [
++ "tinyvec",
++]
++
++[[package]]
++name = "unicode-width"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
++
++[[package]]
++name = "unicode-xid"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
++
++[[package]]
++name = "url"
++version = "2.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ccd964113622c8e9322cfac19eb1004a07e636c545f325da085d5cdde6f1f8b"
++dependencies = [
++ "form_urlencoded",
++ "idna",
++ "matches",
++ "percent-encoding",
++]
++
++[[package]]
++name = "vcpkg"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb"
++
++[[package]]
++name = "vec_map"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
++
++[[package]]
++name = "version_check"
++version = "0.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
++
++[[package]]
++name = "want"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0"
++dependencies = [
++ "log",
++ "try-lock",
++]
++
++[[package]]
++name = "wasi"
++version = "0.10.2+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++
++[[package]]
++name = "wasm-bindgen"
++version = "0.2.71"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ee1280240b7c461d6a0071313e08f34a60b0365f14260362e5a2b17d1d31aa7"
++dependencies = [
++ "cfg-if 1.0.0",
++ "serde",
++ "serde_json",
++ "wasm-bindgen-macro",
++]
++
++[[package]]
++name = "wasm-bindgen-backend"
++version = "0.2.71"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b7d8b6942b8bb3a9b0e73fc79b98095a27de6fa247615e59d096754a3bc2aa8"
++dependencies = [
++ "bumpalo",
++ "lazy_static",
++ "log",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-futures"
++version = "0.4.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e67a5806118af01f0d9045915676b22aaebecf4178ae7021bc171dab0b897ab"
++dependencies = [
++ "cfg-if 1.0.0",
++ "js-sys",
++ "wasm-bindgen",
++ "web-sys",
++]
++
++[[package]]
++name = "wasm-bindgen-macro"
++version = "0.2.71"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5ac38da8ef716661f0f36c0d8320b89028efe10c7c0afde65baffb496ce0d3b"
++dependencies = [
++ "quote",
++ "wasm-bindgen-macro-support",
++]
++
++[[package]]
++name = "wasm-bindgen-macro-support"
++version = "0.2.71"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cc053ec74d454df287b9374ee8abb36ffd5acb95ba87da3ba5b7d3fe20eb401e"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
++]
++
++[[package]]
++name = "wasm-bindgen-shared"
++version = "0.2.71"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7d6f8ec44822dd71f5f221a5847fb34acd9060535c1211b70a05844c0f6383b1"
++
++[[package]]
++name = "web-sys"
++version = "0.3.48"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ec600b26223b2948cedfde2a0aa6756dcf1fef616f43d7b3097aaf53a6c4d92b"
++dependencies = [
++ "js-sys",
++ "wasm-bindgen",
++]
++
++[[package]]
++name = "winapi"
++version = "0.2.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-build"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "winreg"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69"
++dependencies = [
++ "winapi 0.3.9",
++]
++
++[[package]]
++name = "ws2_32-sys"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
++dependencies = [
++ "winapi 0.2.8",
++ "winapi-build",
++]
diff --git a/pkgs/games/shticker-book-unwritten/default.nix b/pkgs/games/shticker-book-unwritten/default.nix
new file mode 100644
index 00000000000..dd286ce0941
--- /dev/null
+++ b/pkgs/games/shticker-book-unwritten/default.nix
@@ -0,0 +1,24 @@
+{ buildFHSUserEnv, callPackage, lib, stdenvNoCC }:
+let
+
+  shticker-book-unwritten-unwrapped = callPackage ./unwrapped.nix { };
+
+in buildFHSUserEnv {
+  name = "shticker_book_unwritten";
+  targetPkgs = pkgs: with pkgs; [
+      alsaLib
+      xorg.libX11
+      xorg.libXext
+      libglvnd
+      shticker-book-unwritten-unwrapped
+  ];
+  runScript = "shticker_book_unwritten";
+
+  meta = with lib; {
+    description = "Minimal CLI launcher for the Toontown Rewritten MMORPG";
+    homepage = "https://github.com/JonathanHelianthicusDoe/shticker_book_unwritten";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.reedrw ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/shticker-book-unwritten/unwrapped.nix b/pkgs/games/shticker-book-unwritten/unwrapped.nix
new file mode 100644
index 00000000000..411bea6b00a
--- /dev/null
+++ b/pkgs/games/shticker-book-unwritten/unwrapped.nix
@@ -0,0 +1,20 @@
+{ fetchFromGitHub, lib, openssl, pkg-config, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "shticker-book-unwritten";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "JonathanHelianthicusDoe";
+    repo = "shticker_book_unwritten";
+    rev = "v${version}";
+    sha256 = "08lyxica0b0vvivybsvzigy2j7saar78mbz723y3g5hqrilfb5np";
+  };
+
+  cargoPatches = [ ./cargo-lock.patch ];
+  cargoSha256 = "1lnhdr8mri1ns9lxj6aks4vs2v4fvg7mcriwzwj78inpi1l0xqk5";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ];
+}
diff --git a/pkgs/games/shticker-book-unwritten/update-cargo-lock.sh b/pkgs/games/shticker-book-unwritten/update-cargo-lock.sh
new file mode 100755
index 00000000000..ab84bd0abe4
--- /dev/null
+++ b/pkgs/games/shticker-book-unwritten/update-cargo-lock.sh
@@ -0,0 +1,18 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p cargo coreutils git gnugrep jq
+
+set -eu -o verbose
+
+here=$PWD
+version=$(cat unwrapped.nix | grep '^  version = "' | cut -d '"' -f 2)
+checkout=$(mktemp -d)
+git clone -b "v$version" --depth=1 https://github.com/JonathanHelianthicusDoe/shticker_book_unwritten "$checkout"
+cd "$checkout"
+
+rm -f rust-toolchain
+cargo generate-lockfile
+git add -f Cargo.lock
+git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
+
+cd "$here"
+rm -rf "$checkout"
diff --git a/pkgs/misc/deepspeech/default.nix b/pkgs/misc/deepspeech/default.nix
new file mode 100644
index 00000000000..eddeea6eb54
--- /dev/null
+++ b/pkgs/misc/deepspeech/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchurl, autoPatchelfHook }:
+
+stdenv.mkDerivation rec {
+  pname = "deepspeech";
+  version = "0.9.3";
+
+  src = fetchurl {
+    url = "https://github.com/mozilla/DeepSpeech/releases/download/v${version}/native_client.amd64.cpu.linux.tar.xz";
+    sha256 = "1qy2gspprcxi76jk06ljp028xl0wkk1m3mqaxyf5qbhhfbvvpfap";
+  };
+  setSourceRoot = "sourceRoot=`pwd`";
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+  ];
+
+  installPhase = ''
+    install -D deepspeech $out/bin/deepspeech
+    install -D deepspeech.h $out/include/deepspeech.h
+    install -D libdeepspeech.so $out/lib/libdeepspeech.so
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/mozilla/DeepSpeech;
+    description = "Open source embedded (offline, on-device) speech-to-text engine, which can run in real time on broad range of devices";
+    license = licenses.mpl20;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ rvolosatovs ];
+  };
+}
diff --git a/pkgs/misc/emulators/yapesdl/default.nix b/pkgs/misc/emulators/yapesdl/default.nix
new file mode 100644
index 00000000000..307068cde04
--- /dev/null
+++ b/pkgs/misc/emulators/yapesdl/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, SDL2
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yapesdl";
+  version = "0.70.2";
+
+  src = fetchFromGitHub {
+    owner = "calmopyrin";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-51P6wNaSfVA3twu+yRUKXguEmVBvuuEnHxH1Zl1vsCc=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+  buildInputs = [
+    SDL2
+  ];
+
+  installPhase = ''
+    runHook preInstall
+    install --directory $out/bin $out/share/doc/$pname
+    install yapesdl $out/bin/
+    install README.SDL $out/share/doc/$pname/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "http://yape.plus4.net/";
+    description = "Multiplatform Commodore 64 and 264 family emulator";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 20b72a0c7ff..55794fbaf54 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 = "2021-04-07";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "f0887d3e6178482255f11aa378124aef3699245f";
-      sha256 = "0kyfvpwfy4x7mnyb0v8cnjb9byjdj48czd3mzkd1yfpdmz4wgxsg";
+      rev = "686c8c5e0acbf3cbf50f1b11eafadd759b017f4a";
+      sha256 = "1bwv9yzvlj7ab0ybjrdjhhhqwmg1hjld9m2kb1hq8mgvdc9rsa4c";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -101,12 +101,12 @@ let
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2021-02-20";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "de933417e5d37b10d1834095fcd0a1c8c360d34a";
-      sha256 = "1fwjpkzkpwy808949iqbsgi6kxyglfyzr1d5hc1911vbayn8wyjy";
+      rev = "bc9c3bf48961f5babb24243bd407c715ce551210";
+      sha256 = "1pvjjxw3nz3s11f83rbmdhad5rvks0q2am09sfxns0x4rwiwcyrk";
     };
     meta.homepage = "https://github.com/pearofducks/ansible-vim/";
   };
@@ -209,12 +209,12 @@ let
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2021-04-07";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "f6cfd92e96e9efb7e3e5249a4e45054fb7dc629b";
-      sha256 = "04771631jgm4f76vpmp5mwwf0nidvbw345ajk3nl5xd8lsq9zp3w";
+      rev = "49e2a0ef443eb0578c2b884a7b85f9f4e4c08fde";
+      sha256 = "1xsb3346qgggpzfln3z1skk4d4hvss3qfck0h5ylpbcbh3f8dxyb";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -389,12 +389,12 @@ let
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-04-08";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "012e3f21bf60858308db77f68ef3ee83a333587c";
-      sha256 = "1q6f0z0mnwg43ri4dzpdzx8n88hr1j32hp3x06zsmfq47rlf4iij";
+      rev = "ce6ff8e0f321b1fb3bfd4befaeeb9c97521eba9b";
+      sha256 = "0bl914jyw84ya9hay50jk7zdqiw7raxnr2zq8iz6kz8s1zh8r928";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -894,12 +894,12 @@ let
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2021-04-08";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "981804894051a6006b9337978a4f939a46b0c254";
-      sha256 = "05a9cv86qazfgpm4nhw6x9pvpj646i7n9jsbk6qn9jmrq7rm0whp";
+      rev = "94a655cd9993b152feb6de4d6168d234d4b3f14b";
+      sha256 = "0kram585pmj88gvfs71k50lgawg87qbiisw0plzp41hjrgs0ymkz";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1268,12 +1268,12 @@ let
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2021-02-23";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "af235aaaa74f41cd83181a16b9f17c16e56afc47";
-      sha256 = "1jzn7w6rv2bl1m4aqm716flg28jdjsgkikfjjjiz4if5vjsfj0lw";
+      rev = "da1704818a342c4ad17abdc6886836ae61aa6b2a";
+      sha256 = "0k1gzajn335518vz1ga957i91pfb04bmhhmzc96l617qdkp3ij30";
     };
     meta.homepage = "https://github.com/Shougo/echodoc.vim/";
   };
@@ -1547,12 +1547,12 @@ let
 
   galaxyline-nvim = buildVimPluginFrom2Nix {
     pname = "galaxyline-nvim";
-    version = "2021-04-05";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "galaxyline.nvim";
-      rev = "505bd8a2912f75b3c9cc439db3bd31ae514230cd";
-      sha256 = "0w2prdcp48z15r9j9z20y6kgasnzjhfk0d3pig560ifk0x33n4ba";
+      rev = "cbf64bd4869c810b92f6450ed8763456c489be87";
+      sha256 = "0c7xgracnl92psc5b7m90ys9v5p20hipli8q797r495r59wnza20";
     };
     meta.homepage = "https://github.com/glepnir/galaxyline.nvim/";
   };
@@ -1607,12 +1607,12 @@ let
 
   git-blame-nvim = buildVimPluginFrom2Nix {
     pname = "git-blame-nvim";
-    version = "2021-03-18";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "c6515f6de67f50448a0f865b39c3c459b40856f5";
-      sha256 = "1cm6x58qm5jzgncrpwixcvs7cfdv02gf13zz1v4gxicxlllrh70f";
+      rev = "bcfb85765903865fbe0a47682ed66dfc51bbcf28";
+      sha256 = "1zc6bsli8bpks3c23vpia38nr02mncmnldwvhip1hghphnf3crwr";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
@@ -1643,12 +1643,12 @@ let
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns-nvim";
-    version = "2021-04-06";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "5be4faafe18dc808878e127d69b9cd1883b03bee";
-      sha256 = "0k0z9bgrcidk8m1lckh3kkz0i6w6whrlc22v4vf8yfkqa8g7vai1";
+      rev = "bfd9dcd323e7ec35f34407fc3cfd5700400c88af";
+      sha256 = "0w05afpbys8mkqzl13ygzh9c3rcml9q746v3snl2vamm3fjyhmzn";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2076,24 +2076,24 @@ let
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-04-08";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "d589986c9dbb95ef08a1f5a01197fd43687e7031";
-      sha256 = "04hrc9wgdk0rjzx23dhnvjyybkpa7m8lf4p7cqmg5sdhlahqicjr";
+      rev = "b04bdfee67a62e225fb36aa49a4806bb8c74b5aa";
+      sha256 = "0cq58f634qp67xbfd4hwbg8wm2pq2wk05cp2dn6ja2k5vnqymn99";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
   kotlin-vim = buildVimPluginFrom2Nix {
     pname = "kotlin-vim";
-    version = "2021-03-11";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "udalov";
       repo = "kotlin-vim";
-      rev = "4e94ec5d3c821daaeac40c4d243cb55d07924fd2";
-      sha256 = "1vj3pcxn1byggbfqv2k5m09cwpbsphivdbzpw8qs111hda0cv61s";
+      rev = "ea258abc437d3615236d72c8b354de39b409a249";
+      sha256 = "1r6wc5nnx6lxc7cyxp5dwzwxgmdrqzxl63m0807sl69rgl2444rq";
     };
     meta.homepage = "https://github.com/udalov/kotlin-vim/";
   };
@@ -2304,12 +2304,12 @@ let
 
   lsp-status-nvim = buildVimPluginFrom2Nix {
     pname = "lsp-status-nvim";
-    version = "2021-04-03";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "lsp-status.nvim";
-      rev = "60a3ad9dc2f43e0e512c242411541846a86eb7de";
-      sha256 = "08x8k06i6gl802fsp4sgvdcml35n4hnljwwxsgfyzwlcwx9llxlw";
+      rev = "7c376c3924d4f807d6ce49450fdeaa18720349c9";
+      sha256 = "0lf71qxg9hs3r4nwsla085fk5jkqzppj2r57w9imz4wqzb201bd7";
     };
     meta.homepage = "https://github.com/nvim-lua/lsp-status.nvim/";
   };
@@ -2340,24 +2340,24 @@ let
 
   lspsaga-nvim = buildVimPluginFrom2Nix {
     pname = "lspsaga-nvim";
-    version = "2021-03-28";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "lspsaga.nvim";
-      rev = "27c7a4796869e155ecec48eb3f8e66694c1708e2";
-      sha256 = "1kdj6b7ph4111spwr55d6a0jjyrr18fbxyl3yi2nb5h75vm2hisj";
+      rev = "b77a08be564ccba4bd8c68cca89aa87e5520b3c3";
+      sha256 = "0hwngd27cdfbcw8l8x4ri93749v5r6z3q9s5h6av27zdb4gbvddd";
     };
     meta.homepage = "https://github.com/glepnir/lspsaga.nvim/";
   };
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine-nvim";
-    version = "2021-04-08";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "hoob3rt";
       repo = "lualine.nvim";
-      rev = "2b32fb090fa09d68e8e5a222646979fa1d54f899";
-      sha256 = "0vkskwgi8vw06j9nv97ndwli3xrvgd4sl046yk3xf3x3ph890wpj";
+      rev = "1b81b0021fa133ef6536faacb1789f170b9b4721";
+      sha256 = "055hw2z4h24gy74x2svkd0kgcyzdkscbpvcz867ar9f9r9cdf7ah";
     };
     meta.homepage = "https://github.com/hoob3rt/lualine.nvim/";
   };
@@ -2436,12 +2436,12 @@ let
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2021-04-08";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "186cf8cf96777ebdc4976c2de08e7b62a248d2da";
-      sha256 = "01clzfnk86acpm24kfz3xwsy4xcqbx8ar4n0i1i6vvn8hq602mbv";
+      rev = "7fc33a899acfbc172d8e12059c1ca18696346a89";
+      sha256 = "05fhqvr9pinw6zfbjcdbm31c27wd94z7nyzp9f4vi8m1yhp4h6mk";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -2988,12 +2988,12 @@ let
 
   nvcode-color-schemes-vim = buildVimPluginFrom2Nix {
     pname = "nvcode-color-schemes-vim";
-    version = "2021-04-07";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "ChristianChiarulli";
       repo = "nvcode-color-schemes.vim";
-      rev = "383aed3efefb81168a607012006fb4bdcf918956";
-      sha256 = "1mbzcb9iqjia6mwfkznm8bh3c5mvsfnz2ysrvhhr3143nh71m2np";
+      rev = "90ee71d66da58d57f0cb4a59103874bb519c79d4";
+      sha256 = "0sabb0iyrmfwfld57d1mf44k69bf8pk0c1ilfi3vz2hz04imxgab";
     };
     meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/";
   };
@@ -3072,12 +3072,12 @@ let
 
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
-    version = "2021-04-08";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-compe";
-      rev = "e2f1caba42f5b1af07ef9d729ae75d74855ac5d4";
-      sha256 = "0xk8hm3m8aywky7p2jm36a9sf495pa52lixmp14c7qj2s0wrki1c";
+      rev = "f167a1384c47d7eb632eb27e90cdf7dfdb7169ff";
+      sha256 = "1ggwfl8w85di63skxpm75gm3arbhlph9bv6iyiws9c0x79zf5c8j";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
   };
@@ -3096,12 +3096,12 @@ let
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-04-07";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "06e201849605dabf5dd28f972d2b7c507a8aff1f";
-      sha256 = "19mk9r2h491gqf0q9jv3yrlznfxwfz2q4h7jqq6yai740nx5yhzj";
+      rev = "855b507a3c3608b181c761fd10beb1a4a073e0fb";
+      sha256 = "15qnhf1hs8xb97xi21z1g222v77gfbvrcha588rb692qvwxsrwfr";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
@@ -3192,12 +3192,12 @@ let
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-04-06";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "225859876bb8f9df7417f008ca790e0b2753eeab";
-      sha256 = "0ca67kb4706adihsyk6gdx0rf8wslw1ph82dprszpqla2gf1gqjn";
+      rev = "8924812e0d114b67dca376533bef2ac5bb054f8b";
+      sha256 = "1dlx2bhvsdm9s5ivpkw5ikhkw6b99zng4p9qdh8ki49f644w5jsr";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -3276,36 +3276,36 @@ let
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2021-04-06";
+    version = "2021-04-08";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "bbb8d6070f2a35ae85d1790fa3f8fff56c06d4ec";
-      sha256 = "0xsvbpq8sygl6d8nkw4vaj20bdnrx1x97sjr8y4p76kmqqrch09s";
+      rev = "82b20f5b5ed741d2e6360990ee11a50f0cd253a4";
+      sha256 = "0il4z9ch5jmrwp5c51lxgrj8w3d5av3z5pkwjclh8gwpvm7siwvr";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-04-08";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "1f00ecdfa36ef5e43a4feaf189e8c2c003118c00";
-      sha256 = "1fidjwl7w1msg38b470cahjblcy7lgg885wbmswl380kf9c8118l";
+      rev = "615afe3541eec0b338b4ff5b6738f69c7f6f8860";
+      sha256 = "14n9q9fnfys8vj7m4fbngybcz9f2vzr8f67r5m7nd3lljn2389dg";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2021-04-03";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "nvim-treesitter-context";
-      rev = "5bc62fd2b09f4ddaf8d300c63d79140789797020";
-      sha256 = "1p97llbki41mwicsmqdly6lns7vfn9pgd961jpc980pj0df792gq";
+      rev = "6855cc725ee7d98dff00886d22d687ef7ba82c4f";
+      sha256 = "1y2vpgmc2c2fpdxfpxlmz69f36wnp9q0yff6cidal61xaj28w71w";
     };
     meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
   };
@@ -3336,12 +3336,12 @@ let
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-04-08";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "97798465743459cb5f7d82e54c693bebc84e73f8";
-      sha256 = "0wibgcrpxb5hqbjig1sgisnxik0f8wv7ap4l2xv5mhwm8yz6x4gn";
+      rev = "445c02bb35e350df733af3ec70a0a7dea5dbcf43";
+      sha256 = "0sh23vfk30492agc0a8jlcsksgw2ny0s3ngmxxy60xs8j4dpfhjs";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
@@ -3552,36 +3552,36 @@ let
 
   plantuml-syntax = buildVimPluginFrom2Nix {
     pname = "plantuml-syntax";
-    version = "2020-07-03";
+    version = "2021-04-08";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "eb3df3092a767c844db3f3ff355da840abd0aa97";
-      sha256 = "02psvyxli5gs2cx2sha33mk98ivllb8zr1jwgv4hgi5bh6qd7wg3";
+      rev = "a26961c0b729c6ec4d40a08d30e1c4256964744b";
+      sha256 = "1llrk17iihb80lnag136sy5vayqp2zd4imh3hp7msbns8dvp3hfy";
     };
     meta.homepage = "https://github.com/aklt/plantuml-syntax/";
   };
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2021-03-22";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "d96cef521d22afd1a409449a890f20f50b436ee1";
-      sha256 = "1j1iqzi9q8fnl02hvazl8szg84iz8dqy0n52ngh1lvl78s9qa393";
+      rev = "1bf0f79cb461b11196cc9f419763be3373db2848";
+      sha256 = "15b1lszshsf9jz2lb3q2045pjpjig3a6nkz9zvvjh7gwh6xywlv4";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2021-04-08";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "d0d291f87bed757f6be05c8bf753cb0e9602a478";
-      sha256 = "0xjz85yzcvxd0dynygxdb1b9jkzmy1m52s4rc5w67jidqc7hs8ii";
+      rev = "a3276a4752e66a2264988a171d06433b104c9351";
+      sha256 = "005xf3g9b38x6b29q9csbr2yyxvpw6f3nr6npygr65a2z4f1cjak";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -3793,12 +3793,12 @@ let
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers-nvim";
-    version = "2021-04-07";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "105200aea2edd8c7ba995a76789a03e7dab83a85";
-      sha256 = "0vvr1mdrnybgrbvs7r5yrzwab35viz488gyibzdjl3b5wisxqwxh";
+      rev = "0a437a3831b4fdaf370c664f54653dcc5aea71fc";
+      sha256 = "00q49377fwgy7f6fqqarqwq5m2aqx1clrq63zla72ghai66kmfhc";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -3877,12 +3877,12 @@ let
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools-nvim";
-    version = "2021-04-08";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "ea210456f8eac176822c8777619d2f05797dc708";
-      sha256 = "14ygid112wwpgf429j1i65k72a1bn3pd6b7c1vpvyvvzdyfwnhiw";
+      rev = "7f5295d3ec13d4d2769092a9e3dc849d56e6a7e7";
+      sha256 = "0xzi6p895l7hmqpp0lqnn6a85fb5795i582fiahbvn4nkpsksk0s";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -3985,12 +3985,12 @@ let
 
   sideways-vim = buildVimPluginFrom2Nix {
     pname = "sideways-vim";
-    version = "2021-03-21";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "sideways.vim";
-      rev = "171d6a39eb46973b229aaf1d88691e40d45f64ad";
-      sha256 = "097f0il1dcn2kshsngvklgwlhac86cjwxxagqvcz3yiaa1qpzhlp";
+      rev = "a36b8f129e99becc5e00ee3267695f62c3937a2f";
+      sha256 = "0sk8xkqi3bciqwdd71z51mrx4dhy2i5nrf0b1c1xbzxbg3vkbvc3";
     };
     meta.homepage = "https://github.com/AndrewRadev/sideways.vim/";
   };
@@ -4057,12 +4057,12 @@ let
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2021-03-22";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "78f1b14ad18b043eb888a173f4c431dbf79462d8";
-      sha256 = "0spnpzr874ad9jpawcgydfm242wq55ychcky14f1qa09svsrdiv0";
+      rev = "7a89d2d7ab1d8a92d137cdb358e7c5d661e7ceb3";
+      sha256 = "0yk79151fwbjdf2sy5ri2gg58g052y31dml9ilbwdq7f4jncgljk";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -4407,12 +4407,12 @@ let
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-04-08";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "64e59060b1750d0c86761693b6847c3db07afcd2";
-      sha256 = "0racv0zqklfn3dh7jvkw8hx9rh85mkrljixjh528h12qfv53arw7";
+      rev = "5bd6f5ca9828ea02f2c54d616ad65c72a5cdd7fb";
+      sha256 = "0h47x7nqhr3wvxspymvgbyngqickvbxg13l1j525f3y68j4b2arg";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -4588,12 +4588,12 @@ let
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2021-04-03";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "b974a13328071de45a85c62ab65c8bfed0142728";
-      sha256 = "1p93dmmprn415y8z44fl697wvh446w7dpskniissxwq4hfyqqgxh";
+      rev = "3ccb1a7e75b31add82730f3b95c2be5c130b7ce4";
+      sha256 = "0rhkpzz0ss8sb6jf3ygvavygmqiy8a418685izanvyplwhqi5zy4";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
@@ -5656,12 +5656,12 @@ let
 
   vim-elixir = buildVimPluginFrom2Nix {
     pname = "vim-elixir";
-    version = "2021-03-01";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "elixir-editors";
       repo = "vim-elixir";
-      rev = "527e6fd8798638a79621e0b5c788b67b2b4b4dbc";
-      sha256 = "02ncqbxlncm9gz7dvxv6lv9zsnfhqmqq05m95lh95l3lm0gs44ph";
+      rev = "5a1811c3c70adeee42d9dc5faae1cba1d57461f9";
+      sha256 = "03cqsv2y1zns2sj6i9afxb4yjnzd42nmwijdlbwbqnnjp03xq1ns";
     };
     meta.homepage = "https://github.com/elixir-editors/vim-elixir/";
   };
@@ -5920,12 +5920,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-04-07";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "8ede0aaf57e1dbb5416ddbe30d0bfdde762e90bf";
-      sha256 = "1aa7cqkp2pkpn175y67gfjbd0p3jxca42n7iysykzi9hcgkshqm2";
+      rev = "94bc89da0fe7083cfda9c1585f3fafb106692769";
+      sha256 = "17gy7yiipr5ql888z4zg1la93c8jjgyw7sc7kshvric5906bsxl3";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -6317,12 +6317,12 @@ let
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2021-03-31";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "43bccb5ceb400fd0cb8c2903f9d174d1bc8b64d4";
-      sha256 = "07cg09vzqpyg3ql8vl3gvr1sy0bzw55xwbhhipbpz2127a92pk00";
+      rev = "fe491924a7cf08bd839236a74f0c39bf0abf0fd2";
+      sha256 = "0c6vqfwrbw0z036y41kf03syixnp58g1pwghm1d7frz2adn6mlvb";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -6785,6 +6785,18 @@ let
     meta.homepage = "https://github.com/euclio/vim-markdown-composer/";
   };
 
+  vim-markdown-toc = buildVimPluginFrom2Nix {
+    pname = "vim-markdown-toc";
+    version = "2021-03-02";
+    src = fetchFromGitHub {
+      owner = "mzlogin";
+      repo = "vim-markdown-toc";
+      rev = "b7bb6c37033d3a6c93906af48dc0e689bd948638";
+      sha256 = "026xf2gid4qivwawh7if3nfk7zja9di0flhdzdx82lvil9x48lyz";
+    };
+    meta.homepage = "https://github.com/mzlogin/vim-markdown-toc/";
+  };
+
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
     version = "2021-04-03";
@@ -7495,12 +7507,12 @@ let
 
   vim-racket = buildVimPluginFrom2Nix {
     pname = "vim-racket";
-    version = "2020-07-24";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "wlangstroth";
       repo = "vim-racket";
-      rev = "bca2643c3d8bd0fcd46ab73bee69023a5da1964b";
-      sha256 = "059a79d66yxhhwq127sjl84ky1153im7mm5ixjcsgg9glgvd39jy";
+      rev = "32ad23165c96d05da7f3b9931d2889b7e39dcb86";
+      sha256 = "1yyqx471p11vj6gya4yzkiy07vfwzpx10bf6s7dh2h7zp2nz10br";
     };
     meta.homepage = "https://github.com/wlangstroth/vim-racket/";
   };
@@ -8228,12 +8240,12 @@ let
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2021-03-24";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "b36abe2613191912e12b9562b209f157a8b927de";
-      sha256 = "1ly3iy1c05ry7yfsph0rribiagcyw07daj2dbfj0la3pbfmvip24";
+      rev = "be39204b64ac6d285d735166b94a28c218f1e4bc";
+      sha256 = "0ghw3vzk6rjw5sfahrhfiisvm38zvn67ddvqg7l1h3hq411i0f2g";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -8636,12 +8648,12 @@ let
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2021-04-07";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "7d83419a4f813aee826eee994b8e419b6ff102b0";
-      sha256 = "05xlpf3rm54kb6vxkm4gngbxabd58736najdawjxf8y7b6ajv39z";
+      rev = "6709b45c770dca735265ef8d5e30f9f4e602cfd0";
+      sha256 = "0ddgyhlrvij630fyx8hx63xk8qqmskgbx1iwjhazhifrflm9gcw7";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -8649,24 +8661,24 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-04-07";
+    version = "2021-04-11";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "83b8e2998c6f0554b7eb4a04cfe783b8eab86c88";
-      sha256 = "08k9in6xg0vbihwgcyy2c3gfsc91iz3lw2r3awg0zwgd41699qby";
+      rev = "e6c03a17611a71ab1fc12ed0e9b4c32bf9ca826b";
+      sha256 = "1g4vl0lxq7rvl064pf11n4r69z78c5k77qd987mm4hajbvmkbjqi";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
 
   vimux = buildVimPluginFrom2Nix {
     pname = "vimux";
-    version = "2021-03-18";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vimux";
-      rev = "708ce200d56d6fc326a8c1acd7f0f4f7c6a9e552";
-      sha256 = "0wkxq1a3phmxskmqcn3067s56k6n9v8k9qqy0mwhxhp2d53asxpf";
+      rev = "ee3075ad30560ffba20c695124c60faef97ec4a4";
+      sha256 = "19plkjvifvbfnq56vcmzl0q3hxmcbd7q5f5cxk42jp038cry26ay";
     };
     meta.homepage = "https://github.com/preservim/vimux/";
   };
@@ -8830,12 +8842,12 @@ let
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2021-03-22";
+    version = "2021-04-09";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "ed423e8a1d2a5842a126d33b824ad3b65f85f3ba";
-      sha256 = "19c238sdc6i3ky374v52g13csnbmdcm9d97iji6fmklmzsyrq4cr";
+      rev = "a3d02238ca5c19a64ff3336087fe016a4137fde9";
+      sha256 = "05sfyqynqliyz2w2ams2a5rqi8v0i65iz5jfk2vsy9qcn94i2sr6";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -8879,12 +8891,12 @@ let
 
   zephyr-nvim = buildVimPluginFrom2Nix {
     pname = "zephyr-nvim";
-    version = "2021-04-03";
+    version = "2021-04-10";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "zephyr-nvim";
-      rev = "782b1986adafe4b17ea8a0f9aca375f37029bd2b";
-      sha256 = "0chrbn917yzvc5rcz6ajzp36598c8lwc1wpdp3qwl34k2vp4r1ia";
+      rev = "057ee834776939bf76c4ae6c71e94e911014a172";
+      sha256 = "0x1da7ihyrcrr3msy1jds566506k0jbsap5fk1w823cm8m0mwqn9";
     };
     meta.homepage = "https://github.com/glepnir/zephyr-nvim/";
   };
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 82b6543b418..6258e4334b0 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -380,6 +380,7 @@ motus/pig.vim
 mpickering/hlint-refactor-vim
 ms-jpq/chadtree@chad
 mtikekar/vim-bsv
+mzlogin/vim-markdown-toc
 nanotech/jellybeans.vim
 natebosch/vim-lsc
 nathanaelkane/vim-indent-guides
diff --git a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
index a307ed57019..3023642e77c 100644
--- a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
@@ -38,8 +38,8 @@ in ((vscode-utils.override { stdenv = gccStdenv; }).buildVscodeMarketplaceExtens
   mktplcRef = {
     name = "vsliveshare";
     publisher = "ms-vsliveshare";
-    version = "1.0.4070";
-    sha256 = "18dddaz5g0kbrmj9l9k0fivdj6p6y5a6iw24ikvzmypz8zql7gd5";
+    version = "1.0.4116";
+    sha256 = "1wrqmsrrc80agrw5ii4vcp2v6gzps9hvpjizwn30p0vf43mmw3mj";
   };
 }).overrideAttrs({ nativeBuildInputs ? [], buildInputs ? [], ... }: {
   nativeBuildInputs = nativeBuildInputs ++ [
diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index efb87df6c97..0aad78531ba 100644
--- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.11.12";
+  version = "5.11.13";
   suffix = "xanmod1-cacule";
 in
   buildLinux (args // rec {
@@ -12,7 +12,7 @@ in
       owner = "xanmod";
       repo = "linux";
       rev = modDirVersion;
-      sha256 = "sha256-omRZ9oAmW3mauUolPf/lgMFMwUCYU4YaZ+OS75Ag+lM=";
+      sha256 = "sha256-LUbkccAfDS0/FnNhHn64bkC8qwBD0NKcdZRzNoSw4uA=";
       extraPostFetch = ''
         rm $out/.config
       '';
diff --git a/pkgs/os-specific/linux/mdevd/default.nix b/pkgs/os-specific/linux/mdevd/default.nix
new file mode 100644
index 00000000000..b88e3ad1e6f
--- /dev/null
+++ b/pkgs/os-specific/linux/mdevd/default.nix
@@ -0,0 +1,28 @@
+{ lib, skawarePackages }:
+
+with skawarePackages;
+
+buildPackage {
+  pname = "mdevd";
+  version = "0.1.3.0";
+  sha256 = "0spvw27xxd0m6j8bl8xysmgsx18fl769smr6dsh25s2d5h3sp2dy";
+
+  description = "mdev-compatible Linux hotplug manager daemon";
+  platforms = lib.platforms.linux;
+
+  outputs = [ "bin" "out" "dev" "doc" ];
+
+  configureFlags = [
+    "--with-sysdeps=${skalibs.lib}/lib/skalibs/sysdeps"
+    "--with-include=${skalibs.dev}/include"
+    "--with-lib=${skalibs.lib}/lib"
+  ];
+
+  postInstall = ''
+    # remove all mdevd executables from build directory
+    rm $(find -type f -mindepth 1 -maxdepth 1 -executable)
+
+    mv doc $doc/share/doc/mdevd/html
+    mv examples $doc/share/doc/mdevd/examples
+  '';
+}
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
index 25410553486..5faccc14ce7 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -8,12 +8,12 @@ let
   _kernel = kernel;
   pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.14.1";
+  version = "2.14.2";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GAttQsCrSybyH1i4vzszdiA9dHWqeo7xUTZVFMNQiP4=";
+    sha256 = "sha256-ZfQg+VTiUNiV+y2yKhMuHLVgvF4rkFHoNFETSBCOWXo=";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix
index 4a6cf887c3b..15c6c05b061 100644
--- a/pkgs/os-specific/linux/openvswitch/lts.nix
+++ b/pkgs/os-specific/linux/openvswitch/lts.nix
@@ -7,12 +7,12 @@ with lib;
 let
   _kernel = kernel;
 in stdenv.mkDerivation rec {
-  version = "2.5.9";
+  version = "2.5.12";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "0iv0ncwl6s4qyyb655yj5xvqrjr1zbymmab96q259wa09xnyw7b7";
+    sha256 = "0a8wa1lj5p28x3vq0yaxjhqmppp4hvds6hhm0j3czpp8mc09fsfq";
   };
 
   patches = [ ./patches/lts-ssl.patch ];
diff --git a/pkgs/os-specific/linux/rtl88x2bu/default.nix b/pkgs/os-specific/linux/rtl88x2bu/default.nix
index fb94b14d9ea..cc37ef13d50 100644
--- a/pkgs/os-specific/linux/rtl88x2bu/default.nix
+++ b/pkgs/os-specific/linux/rtl88x2bu/default.nix
@@ -1,24 +1,16 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, kernel, bc }:
+{ lib, stdenv, fetchFromGitHub, kernel, bc }:
 
 stdenv.mkDerivation rec {
   name = "rtl88x2bu-${kernel.version}-${version}";
-  version = "unstable-2020-08-20";
+  version = "unstable-2021-01-21";
 
   src = fetchFromGitHub {
     owner = "cilynx";
     repo = "rtl88x2BU";
-    rev = "a1c53f43fb9995fbe3ad26567079d6384626d350";
-    sha256 = "1cby66jg511zxs1i535mflafhryla9764mnrzacxppimxpancv3s";
+    rev = "48e7c19c92a77554403e1347447f8e2cfd780228";
+    sha256 = "0nw2kgblpq6qlr43gbfxqvq0c83664f4czfwzsyfjr47rj00iyq7";
   };
 
-  patches = [
-    # https://github.com/cilynx/rtl88x2bu/pull/58
-    (fetchpatch {
-      url = "https://github.com/cilynx/rtl88x2bu/pull/58.patch";
-      sha256 = "0md9cv61nx85pk3v60y9wviyb9fgj54q9m26wiv3dc7smr70h8l6";
-    })
-  ];
-
   hardeningDisable = [ "pic" ];
 
   nativeBuildInputs = [ bc ];
@@ -39,7 +31,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Realtek rtl88x2bu driver";
     homepage = "https://github.com/cilynx/rtl88x2bu";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     platforms = platforms.linux;
     maintainers = [ maintainers.ralith ];
   };
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
index f2729907955..a52e759bb35 100644
--- a/pkgs/servers/gemini/agate/default.nix
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -2,19 +2,26 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "mbrubeck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ODD5XwLYVUJOHQCETVUqMUojL4Y8eWJ/xhmfzV9Cp3k=";
+    sha256 = "sha256-+X1ibnYAUB34u8+oNBSkjLtsArxlrg0Nq5zJrXi7Rfk=";
   };
 
-  cargoSha256 = "sha256-PJOlXFx+MYfq7daaOEZ5wPuWD7gAr8gc/5AJG2SYTq4=";
+  cargoSha256 = "sha256-ZVu7wQFe+FHWX2wevVYct1dQSE9rFET8bkmv85wNV8A=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
+  checkFlags = [
+    # Username and Password use the same ports and causes collision
+    # https://github.com/mbrubeck/agate/issues/50
+    "--skip username"
+    "--skip password"
+  ];
+
   doInstallCheck = true;
   installCheckPhase = ''
     runHook preInstallCheck
diff --git a/pkgs/servers/home-assistant/cli.nix b/pkgs/servers/home-assistant/cli.nix
index da7ff1ed6b2..9b678a5071d 100644
--- a/pkgs/servers/home-assistant/cli.nix
+++ b/pkgs/servers/home-assistant/cli.nix
@@ -1,12 +1,14 @@
-{ lib, python3 }:
+{ lib
+, python3
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "homeassistant-cli";
-  version = "0.9.1";
+  version = "0.9.3";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "1a31ky2p5w8byf0bjgma6xi328jj690qqksm3dwbi3v8dpqvghgf";
+    sha256 = "18h6bc99skzb0a1pffb6lr2z04928srrcz1w2zy66bndasic5yfs";
   };
 
   postPatch = ''
@@ -15,7 +17,17 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = with python3.pkgs; [
-    requests netdisco click click-log tabulate jsonpath_rw jinja2 dateparser regex ruamel_yaml aiohttp
+    aiohttp
+    click
+    click-log
+    dateparser
+    jinja2
+    jsonpath-ng
+    netdisco
+    regex
+    requests
+    ruamel-yaml
+    tabulate
   ];
 
   postInstall = ''
@@ -25,16 +37,14 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   checkInputs = with python3.pkgs; [
-    pytest requests-mock
+    pytestCheckHook
+    requests-mock
   ];
 
-  checkPhase = ''
-    pytest
-  '';
-
   meta = with lib; {
     description = "Command-line tool for Home Assistant";
     homepage = "https://github.com/home-assistant/home-assistant-cli";
+    changelog = "https://github.com/home-assistant-ecosystem/home-assistant-cli/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = teams.home-assistant.members;
   };
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 7d5c6f29e02..e1ff8d96bb8 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 = "2021.4.0";
+  version = "2021.4.3";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
@@ -116,13 +116,13 @@
     "circuit" = ps: with ps; [ ]; # missing inputs: circuit-webhook
     "cisco_ios" = ps: with ps; [ pexpect ];
     "cisco_mobility_express" = ps: with ps; [ ciscomobilityexpress ];
-    "cisco_webex_teams" = ps: with ps; [ ]; # missing inputs: webexteamssdk
+    "cisco_webex_teams" = ps: with ps; [ webexteamssdk ];
     "citybikes" = ps: with ps; [ ];
     "clementine" = ps: with ps; [ ]; # missing inputs: python-clementine-remote
     "clickatell" = ps: with ps; [ ];
     "clicksend" = ps: with ps; [ ];
     "clicksend_tts" = ps: with ps; [ ];
-    "climacell" = ps: with ps; [ ]; # missing inputs: pyclimacell
+    "climacell" = ps: with ps; [ pyclimacell ];
     "climate" = ps: with ps; [ ];
     "cloud" = ps: with ps; [ aiohttp-cors hass-nabucasa ];
     "cloudflare" = ps: with ps; [ pycfdns ];
@@ -147,7 +147,7 @@
     "cups" = ps: with ps; [ pycups ];
     "currencylayer" = ps: with ps; [ ];
     "daikin" = ps: with ps; [ pydaikin ];
-    "danfoss_air" = ps: with ps; [ ]; # missing inputs: pydanfossair
+    "danfoss_air" = ps: with ps; [ pydanfossair ];
     "darksky" = ps: with ps; [ python-forecastio ];
     "datadog" = ps: with ps; [ datadog ];
     "ddwrt" = ps: with ps; [ ];
@@ -202,20 +202,20 @@
     "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
     "ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface
     "ecobee" = ps: with ps; [ ]; # missing inputs: python-ecobee-api
-    "econet" = ps: with ps; [ ]; # missing inputs: pyeconet
+    "econet" = ps: with ps; [ pyeconet ];
     "ecovacs" = ps: with ps; [ ]; # missing inputs: sucks
     "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan]
     "edimax" = ps: with ps; [ pyedimax ];
     "edl21" = ps: with ps; [ ]; # missing inputs: pysml
     "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox
     "efergy" = ps: with ps; [ ];
-    "egardia" = ps: with ps; [ ]; # missing inputs: pythonegardia
+    "egardia" = ps: with ps; [ pythonegardia ];
     "eight_sleep" = ps: with ps; [ pyeight ];
     "elgato" = ps: with ps; [ ]; # missing inputs: elgato
     "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline
     "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib
     "elv" = ps: with ps; [ ]; # missing inputs: pypca
-    "emby" = ps: with ps; [ ]; # missing inputs: pyemby
+    "emby" = ps: with ps; [ pyemby ];
     "emoncms" = ps: with ps; [ ];
     "emoncms_history" = ps: with ps; [ ];
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
@@ -227,7 +227,7 @@
     "entur_public_transport" = ps: with ps; [ ]; # missing inputs: enturclient
     "environment_canada" = ps: with ps; [ ]; # missing inputs: env_canada
     "envirophat" = ps: with ps; [ smbus-cffi ]; # missing inputs: envirophat
-    "envisalink" = ps: with ps; [ ]; # missing inputs: pyenvisalink
+    "envisalink" = ps: with ps; [ pyenvisalink ];
     "ephember" = ps: with ps; [ ]; # missing inputs: pyephember
     "epson" = ps: with ps; [ ]; # missing inputs: epson-projector
     "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter
@@ -238,7 +238,7 @@
     "eufy" = ps: with ps; [ ]; # missing inputs: lakeside
     "everlights" = ps: with ps; [ pyeverlights ];
     "evohome" = ps: with ps; [ evohome-async ];
-    "ezviz" = ps: with ps; [ ]; # missing inputs: pyezviz
+    "ezviz" = ps: with ps; [ pyezviz ];
     "faa_delays" = ps: with ps; [ faadelays ];
     "facebook" = ps: with ps; [ ];
     "facebox" = ps: with ps; [ ];
@@ -357,7 +357,7 @@
     "homekit" = ps: with ps; [ HAP-python pyqrcode pyturbojpeg aiohttp-cors base36 fnvhash ha-ffmpeg zeroconf ];
     "homekit_controller" = ps: with ps; [ aiohomekit aiohttp-cors zeroconf ];
     "homematic" = ps: with ps; [ pyhomematic ];
-    "homematicip_cloud" = ps: with ps; [ ]; # missing inputs: homematicip
+    "homematicip_cloud" = ps: with ps; [ homematicip ];
     "homeworks" = ps: with ps; [ ]; # missing inputs: pyhomeworks
     "honeywell" = ps: with ps; [ ]; # missing inputs: somecomfort
     "horizon" = ps: with ps; [ ]; # missing inputs: horimote
@@ -397,7 +397,7 @@
     "integration" = ps: with ps; [ ];
     "intent" = ps: with ps; [ aiohttp-cors ];
     "intent_script" = ps: with ps; [ ];
-    "intesishome" = ps: with ps; [ ]; # missing inputs: pyintesishome
+    "intesishome" = ps: with ps; [ pyintesishome ];
     "ios" = ps: with ps; [ aiohttp-cors zeroconf ];
     "iota" = ps: with ps; [ ]; # missing inputs: pyota
     "iperf3" = ps: with ps; [ ]; # missing inputs: iperf3
@@ -467,7 +467,7 @@
     "luftdaten" = ps: with ps; [ luftdaten ];
     "lupusec" = ps: with ps; [ ]; # missing inputs: lupupy
     "lutron" = ps: with ps; [ pylutron ];
-    "lutron_caseta" = ps: with ps; [ ]; # missing inputs: aiolip pylutron-caseta
+    "lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ];
     "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12
     "lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides
     "lyric" = ps: with ps; [ aiohttp-cors aiolyric ];
@@ -535,7 +535,7 @@
     "mystrom" = ps: with ps; [ aiohttp-cors python-mystrom ];
     "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns
     "n26" = ps: with ps; [ ]; # missing inputs: n26
-    "nad" = ps: with ps; [ ]; # missing inputs: nad_receiver
+    "nad" = ps: with ps; [ nad-receiver ];
     "namecheapdns" = ps: with ps; [ defusedxml ];
     "nanoleaf" = ps: with ps; [ pynanoleaf ];
     "neato" = ps: with ps; [ aiohttp-cors pybotvac ];
@@ -581,7 +581,7 @@
     "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat
     "ohmconnect" = ps: with ps; [ defusedxml ];
     "ombi" = ps: with ps; [ ]; # missing inputs: pyombi
-    "omnilogic" = ps: with ps; [ ]; # missing inputs: omnilogic
+    "omnilogic" = ps: with ps; [ omnilogic ];
     "onboarding" = ps: with ps; [ aiohttp-cors pillow ];
     "ondilo_ico" = ps: with ps; [ aiohttp-cors ]; # missing inputs: ondilo
     "onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet
@@ -705,7 +705,7 @@
     "rpi_rf" = ps: with ps; [ ]; # missing inputs: rpi-rf
     "rss_feed_template" = ps: with ps; [ aiohttp-cors ];
     "rtorrent" = ps: with ps; [ ];
-    "ruckus_unleashed" = ps: with ps; [ ]; # missing inputs: pyruckus
+    "ruckus_unleashed" = ps: with ps; [ pyruckus ];
     "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio
     "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound
     "sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: pysabnzbd
@@ -751,7 +751,7 @@
     "skybeacon" = ps: with ps; [ ]; # missing inputs: pygatt[GATTTOOL]
     "skybell" = ps: with ps; [ skybellpy ];
     "slack" = ps: with ps; [ ]; # missing inputs: slackclient
-    "sleepiq" = ps: with ps; [ ]; # missing inputs: sleepyq
+    "sleepiq" = ps: with ps; [ sleepyq ];
     "slide" = ps: with ps; [ ]; # missing inputs: goslide-api
     "sma" = ps: with ps; [ pysma ];
     "smappee" = ps: with ps; [ aiohttp-cors pysmappee ];
@@ -937,7 +937,7 @@
     "webhook" = ps: with ps; [ aiohttp-cors ];
     "webostv" = ps: with ps; [ aiopylgtv ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
-    "wemo" = ps: with ps; [ ]; # missing inputs: pywemo
+    "wemo" = ps: with ps; [ pywemo ];
     "whois" = ps: with ps; [ python-whois ];
     "wiffi" = ps: with ps; [ wiffi ];
     "wilight" = ps: with ps; [ pywilight ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 400e0da3970..e4d112d4aee 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -70,6 +70,19 @@ let
     (mkOverride "ring-doorbell" "0.6.2"
       "fbd537722a27b3b854c26506d894b7399bb8dc57ff36083285971227a2d46560")
 
+    # Pinned due to API changes in pyruckus>0.12
+    (self: super: {
+      pyruckus = super.pyruckus.overridePythonAttrs (oldAttrs: rec {
+        version = "0.12";
+        src = fetchFromGitHub {
+          owner = "gabe565";
+          repo = "pyruckus";
+          rev = version;
+          sha256 = "0ykv6r6blbj3fg9fplk9i7xclkv5d93rwvx0fm5s8ms9f2s9ih8z";
+        };
+      });
+    })
+
     # hass-frontend does not exist in python3.pkgs
     (self: super: {
       hass-frontend = self.callPackage ./frontend.nix { };
@@ -103,7 +116,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2021.4.0";
+  hassVersion = "2021.4.3";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -122,7 +135,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "1gkbkyxqsw3isdyskzi0ib07fgqvirnr20jkhrz86vl0k9ix8hwf";
+    sha256 = "00jgnk8vssvk7mdnlijwddwaj56hs1hcyw83r1jqhn5nk5qj3b7q";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -221,6 +234,7 @@ in with py.pkgs; buildPythonApplication rec {
     "devolo_home_control"
     "dhcp"
     "discovery"
+    "econet"
     "emulated_hue"
     "esphome"
     "fan"
@@ -249,6 +263,7 @@ in with py.pkgs; buildPythonApplication rec {
     "homekit_controller"
     "homeassistant"
     "homematic"
+    "homematicip_cloud"
     "html5"
     "http"
     "hue"
@@ -266,6 +281,7 @@ in with py.pkgs; buildPythonApplication rec {
     "intent_script"
     "ipp"
     "kmtronic"
+    "kodi"
     "light"
     "litterrobot"
     "local_file"
@@ -275,6 +291,7 @@ in with py.pkgs; buildPythonApplication rec {
     "logentries"
     "logger"
     "lovelace"
+    "lutron_caseta"
     "manual"
     "manual_mqtt"
     "mazda"
@@ -294,6 +311,7 @@ in with py.pkgs; buildPythonApplication rec {
     "notify"
     "notion"
     "number"
+    "omnilogic"
     "ozw"
     "panel_custom"
     "panel_iframe"
@@ -311,6 +329,7 @@ in with py.pkgs; buildPythonApplication rec {
     "rituals_perfume_genie"
     "rmvtransport"
     "rss_feed_template"
+    "ruckus_unleashed"
     "safe_mode"
     "scene"
     "screenlogic"
@@ -320,6 +339,7 @@ in with py.pkgs; buildPythonApplication rec {
     "shopping_list"
     "simplisafe"
     "simulated"
+    "sleepiq"
     "sma"
     "sensor"
     "smarttub"
@@ -355,6 +375,7 @@ in with py.pkgs; buildPythonApplication rec {
     "weather"
     "webhook"
     "websocket_api"
+    "wemo"
     "wled"
     "workday"
     "worldclock"
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 72a1ea13e0d..83af5b85c87 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,11 +4,11 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20210407.1";
+  version = "20210407.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7kgL6Ixlc1OZ+3sUAuvJd7vgY6FBgPFEKi6xhq7fiBc=";
+    sha256 = "sha256-ucewS193kbvlk4Q+5IEYT6sfJ/H006uy0iIi8UHOzPo=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/http/tomcat/tomcat-native.nix b/pkgs/servers/http/tomcat/tomcat-native.nix
index 313066d30e1..c9c4453cf5f 100644
--- a/pkgs/servers/http/tomcat/tomcat-native.nix
+++ b/pkgs/servers/http/tomcat/tomcat-native.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tomcat-native";
-  version = "1.2.26";
+  version = "1.2.28";
 
   src = fetchurl {
     url = "mirror://apache/tomcat/tomcat-connectors/native/${version}/source/${pname}-${version}-src.tar.gz";
-    sha512 = "319lrb0b5vvm2m46rdz2zbicisijvim6948ghz0mypck6f419yjr68j8rpmxpckscaj0ghmbq3p28jpxbjpig84ygy0m63cvgpxknfa";
+    sha512 = "16b8659dcd228ea153d05c9ae19e3d97add944315f3b8b42905162d0e4e8a28fd51a172d59d7da8508271ecad0b8ac025a386895565acaf8e2ba11fba77492bb";
   };
 
   sourceRoot = "${pname}-${version}-src/native";
diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix
index 49259f49f2e..780b3c5eb20 100644
--- a/pkgs/servers/imgproxy/default.nix
+++ b/pkgs/servers/imgproxy/default.nix
@@ -1,13 +1,14 @@
-{ lib, buildGoModule, fetchFromGitHub, pkg-config, vips, gobject-introspection }:
+{ lib, buildGoModule, fetchFromGitHub, pkg-config, vips, gobject-introspection
+, stdenv, libunwind }:
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "2.16.2";
+  version = "2.16.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    sha256 = "sha256-wr4yOrzZT/4WtRze9Yp+M18jusxdddoDd4xs5P7d5oQ=";
+    sha256 = "sha256-WK5TAI+dYmBLNp1A0p9DbWF7ZEw3dqr+Cuwy7LzrdBM=";
     rev = "v${version}";
   };
 
@@ -17,7 +18,8 @@ buildGoModule rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ gobject-introspection vips ];
+  buildInputs = [ gobject-introspection vips ]
+    ++ lib.optionals stdenv.isDarwin [ libunwind ];
 
   preBuild = ''
     export CGO_LDFLAGS_ALLOW='-(s|w)'
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index dcf7f7bf9f6..3fed8691ec5 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "minio";
-  version = "2021-03-26T00-00-41Z";
+  version = "2021-04-06T23-11-00Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-WH7gAO8ghwMhLU/ioHrZUgIk1h6yeUzM+xg1GnkFDHM=";
+    sha256 = "sha256-gwf6qA63EFxGQxk8DiAiqLpIYVhVQDQYPffLNP5JfVw=";
   };
 
   vendorSha256 = "sha256-VeYc+UtocpeNSV+0MocZj/83X/SMMv5PX2cPIPBV/sk=";
diff --git a/pkgs/servers/misc/gobgpd/default.nix b/pkgs/servers/misc/gobgpd/default.nix
new file mode 100644
index 00000000000..71f370a1a97
--- /dev/null
+++ b/pkgs/servers/misc/gobgpd/default.nix
@@ -0,0 +1,34 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+
+buildGoModule rec {
+  pname = "gobgpd";
+  version = "2.26.0";
+
+  src = fetchFromGitHub {
+    owner = "osrg";
+    repo = "gobgp";
+    rev = "v${version}";
+    sha256 = "10fq74hv3vmcq58i3w67ic370925vl9wl6khcmy3f2vg60i962di";
+  };
+
+  vendorSha256 = "0dmd4r6x76jn8pyvp47x4llzc2wij5m9lchgyaagcb5sfdgbns9x";
+
+  postConfigure = ''
+    export CGO_ENABLED=0
+  '';
+
+  buildFlagsArray = ''
+    -ldflags=
+    -s -w -extldflags '-static'
+  '';
+
+  subPackages = [ "cmd/gobgpd" ];
+
+  meta = with lib; {
+    description = "BGP implemented in Go";
+    homepage = "https://osrg.github.io/gobgp/";
+    changelog = "https://github.com/osrg/gobgp/releases/tag/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ higebu ];
+  };
+}
diff --git a/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix b/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix
new file mode 100644
index 00000000000..07e58e471d8
--- /dev/null
+++ b/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "alertmanager-irc-relay";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "alertmanager-irc-relay";
+    rev = "v${version}";
+    sha256 = "sha256-SmyKk0vSXfHzRxOdbULD2Emju/VjDcXZZ7cgVbZxGIA=";
+  };
+
+  vendorSha256 = "sha256-aJVA9MJ9DK/dCo7aSB9OLfgKGN5L6Sw2k2aOR4J2LE4=";
+
+  buildFlagsArray = [ "-ldflags=-s -w" ];
+
+  meta = with lib; {
+    description = "Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC";
+    longDescription = ''
+      Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC.
+      Alerts are received from Prometheus using Webhooks and are relayed to an
+      IRC channel
+    '';
+    homepage = "https://github.com/google/alertmanager-irc-relay";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ymatsiuk ];
+  };
+}
diff --git a/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix
new file mode 100644
index 00000000000..f87526242b8
--- /dev/null
+++ b/pkgs/servers/monitoring/grafana/plugins/doitintl-bigquery-datasource/default.nix
@@ -0,0 +1,13 @@
+{ grafanaPlugin, lib }:
+
+grafanaPlugin rec {
+  pname = "doitintl-bigquery-datasource";
+  version = "2.0.1";
+  zipHash = "sha256-tZyvER/rxL+mo2tgxFvwSIAmjFm/AnZ0RgvmD1YAE2U=";
+  meta = with lib; {
+    description = "BigQuery DataSource for Grafana";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jwygoda ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/grafana/plugins/plugins.nix b/pkgs/servers/monitoring/grafana/plugins/plugins.nix
index b2991ba4e74..d763f14c75a 100644
--- a/pkgs/servers/monitoring/grafana/plugins/plugins.nix
+++ b/pkgs/servers/monitoring/grafana/plugins/plugins.nix
@@ -4,6 +4,7 @@
 
   grafanaPlugin = callPackage ./grafana-plugin.nix { };
 
+  doitintl-bigquery-datasource = callPackage ./doitintl-bigquery-datasource { };
   grafana-clock-panel = callPackage ./grafana-clock-panel { };
   grafana-piechart-panel = callPackage ./grafana-piechart-panel { };
   grafana-polystat-panel = callPackage ./grafana-polystat-panel { };
diff --git a/pkgs/servers/monitoring/lcdproc/default.nix b/pkgs/servers/monitoring/lcdproc/default.nix
index 551fa028811..bd0a7dc0dfb 100644
--- a/pkgs/servers/monitoring/lcdproc/default.nix
+++ b/pkgs/servers/monitoring/lcdproc/default.nix
@@ -1,14 +1,27 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, makeWrapper, pkg-config
-, doxygen, freetype, libX11, libftdi, libusb-compat-0_1, libusb1, ncurses, perl }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, makeWrapper
+, pkg-config
+, doxygen
+, freetype
+, libX11
+, libftdi
+, libusb-compat-0_1
+, libusb1
+, ncurses
+, perl
+}:
 
 stdenv.mkDerivation rec {
   pname = "lcdproc";
   version = "0.5.9";
 
   src = fetchFromGitHub {
-    owner  = "lcdproc";
-    repo   = "lcdproc";
-    rev    = "v${version}";
+    owner = "lcdproc";
+    repo = "lcdproc";
+    rev = "v${version}";
     sha256 = "1r885zv1gsh88j43x6fvzbdgfkh712a227d369h4fdcbnnfd0kpm";
   };
 
@@ -16,6 +29,12 @@ stdenv.mkDerivation rec {
     ./hardcode_mtab.patch
   ];
 
+  # we don't need to see the GPL every time we launch lcdd in the foreground
+  postPatch = ''
+    substituteInPlace server/main.c \
+      --replace 'output_GPL_notice();' '// output_GPL_notice();'
+  '';
+
   configureFlags = [
     "--enable-lcdproc-menus"
     "--enable-drivers=all"
@@ -23,6 +42,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ freetype libX11 libftdi libusb-compat-0_1 libusb1 ncurses ];
+
   nativeBuildInputs = [ autoreconfHook doxygen makeWrapper pkg-config ];
 
   # In 0.5.9: gcc: error: libbignum.a: No such file or directory
@@ -41,9 +61,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Client/server suite for controlling a wide variety of LCD devices";
-    homepage    = "http://lcdproc.org/";
-    license     = licenses.gpl2;
+    homepage = "http://lcdproc.org/";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.unix;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix
index 98ad9cd6226..81240072d42 100644
--- a/pkgs/servers/monitoring/prometheus/promscale.nix
+++ b/pkgs/servers/monitoring/prometheus/promscale.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "sha256-f/fpCyAw9BQ6ccEZm/xsTCjINjFtX3Q6SmPuJNVSJVI=";
+    sha256 = "sha256-kZYFOuY6FFM35mP+o/YU5SM5H9ziOq9BQ8T1RX7rhGE=";
   };
 
-  vendorSha256 = "sha256-/woSbtrOI3BVBhh+A2kO1CB1BLzBciwOqvSbGkFeMEU=";
+  vendorSha256 = "sha256-1VOhDOfFE4BpDR4XfhLoXJFuTDkG1nx88tVvTF3ZVxU=";
 
   buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ];
 
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 8205f4f860a..8c15ca57e15 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -58,7 +58,9 @@ in {
   };
 
   nextcloud21 = generic {
-    version = "21.0.0";
-    sha256 = "sha256-zq2u72doWhGvxbI7Coa6PHvQp7E41dHswFJiODZV8fA=";
+    version = "21.0.1";
+    sha256 = "dd7c8ccc01547914a75b44bbf86028289c8919dc39f4e2e720147b6bd596aebe";
   };
+  # tip: get she sha with:
+  # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
 }
diff --git a/pkgs/servers/rtsp-simple-server/default.nix b/pkgs/servers/rtsp-simple-server/default.nix
index 76ddcf3346e..baf364cfece 100644
--- a/pkgs/servers/rtsp-simple-server/default.nix
+++ b/pkgs/servers/rtsp-simple-server/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "rtsp-simple-server";
-  version = "0.15.3";
+  version = "0.15.4";
 
   src = fetchFromGitHub {
     owner = "aler9";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eY3XtGmHp7TM+lXC9tdd51x7sLuuZfBDJxTZ79Ye0Qs=";
+    sha256 = "sha256-6XdX4HEjDRt9WtqyHIv/NLt7IytNDeJLgCeTHTGybRI=";
   };
 
-  vendorSha256 = "sha256-SiWcOI1XxrwwTAzp8HC5zOO5e2oSWBMFRYsW2RwPA5I=";
+  vendorSha256 = "sha256-T5LWbxYsKnG5eaYLR/rms6+2DXv2lV9o39BvF7HapZY=";
 
   # Tests need docker
   doCheck = false;
diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix
index 54790093215..36e26d38fc4 100644
--- a/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/pkgs/servers/sql/mysql/5.7.x.nix
@@ -21,7 +21,8 @@ self = stdenv.mkDerivation rec {
     export PATH=$PATH:$TMPDIR
   '';
 
-  nativeBuildInputs = [ cmake bison pkg-config rpcsvc-proto ];
+  nativeBuildInputs = [ bison cmake pkg-config ]
+    ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
 
   buildInputs = [ boost libedit libevent lz4 ncurses openssl protobuf readline zlib ]
      ++ lib.optionals stdenv.isDarwin [ perl cctools CoreServices developer_cmds ]
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
index 3dbd84c2a98..cdbfdaea7ad 100644
--- a/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -17,7 +17,8 @@ self = stdenv.mkDerivation rec {
     ./abi-check.patch
   ];
 
-  nativeBuildInputs = [ bison cmake pkg-config rpcsvc-proto ];
+  nativeBuildInputs = [ bison cmake pkg-config ]
+    ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
 
   ## NOTE: MySQL upstream frequently twiddles the invocations of libtool. When updating, you might proactively grep for libtool references.
   postPatch = ''
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index d4f9beecfb7..040ae21c223 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "trezord-go";
-  version = "2.0.30";
+  version = "2.0.31";
 
   src = fetchFromGitHub {
     owner = "trezor";
     repo = "trezord-go";
     rev = "v${version}";
-    sha256 = "1hzvk0wfgg7b4wpqjk3738yqxlv3pj5i7zxwm0jady2h97hmrqrr";
+    sha256 = "130nhk1pnr3xx9qkcij81mm3jxrl5zvvdqhvrgvrikqg3zlb6v5b";
   };
 
   vendorSha256 = "0wb959xzyvr5zzjvkfqc422frmf97q5nr460f02wwx0pj6ch0y61";
@@ -25,7 +25,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Trezor Communication Daemon aka Trezor Bridge";
     homepage = "https://trezor.io";
-    license = licenses.lgpl3;
+    license = licenses.lgpl3Only;
     maintainers = with maintainers; [ canndrew jb55 prusnak mmahut _1000101 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index d2989394720..9aa56193c73 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -3,16 +3,16 @@
 let
   versions = {
     matomo = {
-      version = "3.14.1";
-      sha256 = "0gp6v797118z703nh0p77zvsizvdg0c2jkn26996d4sqw5pa78v3";
+      version = "4.2.1";
+      sha256 = "d3ea7572c5b42f2636da89b9c15dd7ae16da1d06dab0cea2ed93304a960277ac";
     };
 
     matomo-beta = {
-      version = "3.14.1";
+      version = "4.2.1";
       # `beta` examples: "b1", "rc1", null
       # TOOD when updating: use null if stable version is >= latest beta or release candidate
       beta = null;
-      sha256 = "0gp6v797118z703nh0p77zvsizvdg0c2jkn26996d4sqw5pa78v3";
+      sha256 = "d3ea7572c5b42f2636da89b9c15dd7ae16da1d06dab0cea2ed93304a960277ac";
     };
   };
   common = pname: { version, sha256, beta ? null }:
diff --git a/pkgs/servers/web-apps/mediawiki/default.nix b/pkgs/servers/web-apps/mediawiki/default.nix
index e05fc6d6249..50ad9f1e257 100644
--- a/pkgs/servers/web-apps/mediawiki/default.nix
+++ b/pkgs/servers/web-apps/mediawiki/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mediawiki";
-  version = "1.35.1";
+  version = "1.35.2";
 
   src = with lib; fetchurl {
     url = "https://releases.wikimedia.org/mediawiki/${versions.majorMinor version}/${pname}-${version}.tar.gz";
-    sha256 = "05g3mgyi789drhzk3wclkyw4f06mz21q90m2c0z6zshn98fscrcf";
+    sha256 = "07cch4j2lcncfjv71351c1fxh200p83g2ijb3c9x8rv6nzcmiymz";
   };
 
   prePatch = ''
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 869405a2760..e4db92b7717 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -19,8 +19,7 @@ in with pkgs; rec {
   tarMinimal = gnutar.override { acl = null; };
 
   busyboxMinimal = busybox.override {
-    useMusl = with stdenv.targetPlatform; !isRiscV &&
-                (system == "powerpc64-linux" -> parsed.abi.name != "elfv1");
+    useMusl = !stdenv.targetPlatform.isRiscV;
     enableStatic = true;
     enableMinimal = true;
     extraConfig = ''
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 91f71ece421..417e01a325d 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -18,13 +18,13 @@ let
 in
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.12";
+  version = "4.13";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://github.com/lxc/lxd/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1qgi9ciljq8h3ja9kalfvnxnjymddd5j4agv984137z443mqfnrw";
+    sha256 = "0w2r80wf86jijgfxbkv06lgfhz4p2aaidsqd96bx3q1382nrbzcf";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/pulumi/data.nix b/pkgs/tools/admin/pulumi/data.nix
index 707aff2011b..5a1dcfe16ec 100644
--- a/pkgs/tools/admin/pulumi/data.nix
+++ b/pkgs/tools/admin/pulumi/data.nix
@@ -1,20 +1,20 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "2.23.2";
+  version = "2.24.1";
   pulumiPkgs = {
     x86_64-linux = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.23.2-linux-x64.tar.gz";
-        sha256 = "0bg90kj8lb1bw3vx0672rbzmc5wylx90cad3h93qlwxsfvijmk7x";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.24.1-linux-x64.tar.gz";
+        sha256 = "1c3a0ibwchl0lmcb8hr4j0x9b7hfsd0pfg6ay808zg1v8ddrj3xm";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.9.1-linux-amd64.tar.gz";
-        sha256 = "084l6si66sxy55i4y14rn287v69vli17n283s718v00zrmgdah35";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.10.0-linux-amd64.tar.gz";
+        sha256 = "1gqbs33mqqssymn48glm9h5qfkc1097ygk0mdanfigyhwv6rdmnc";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.34.2-linux-amd64.tar.gz";
-        sha256 = "1xpil1a7gwcmjb3my9s37gf45i17l5mnxh0bkfbfwiw5znv7cjqa";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.36.0-linux-amd64.tar.gz";
+        sha256 = "0dg5szlslp863slv6lfd8g98946ljvxhvq64b3j4zk6rsn0badvh";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.14.2-linux-amd64.tar.gz";
@@ -29,20 +29,20 @@
         sha256 = "0b3bz952wz7fsbk51j0mlfsyyg9ymc9wnq8kgm7dvs1p5zgzv4ni";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.6.1-linux-amd64.tar.gz";
-        sha256 = "114r26ncf3rlw6h0wsmyxhpcxb5hy20fk8kav858hvqacby5w6sq";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.7.0-linux-amd64.tar.gz";
+        sha256 = "0l1y8fckx7k3lasb6rzy3v58cl1x3qzbb999wi14z16z2a63zwsw";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.9.1-linux-amd64.tar.gz";
         sha256 = "178l4h7wj9pn1283zajaqm7fwcfwzpzq7swrgr8q880qsa611gjs";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.17.0-linux-amd64.tar.gz";
-        sha256 = "0xzix9mn3n3n4y7l6xl0bn2xq338436ykb34j2fi20wxg5wb99lf";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.19.0-linux-amd64.tar.gz";
+        sha256 = "0iliagpyvzn63pwcdq74w8ag9vc7asqpq658b19zly4jd6z3cwkd";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.3.1-linux-amd64.tar.gz";
-        sha256 = "1pg1q70gkp300swl5hnjdx7s9yjg0d88r280ylga73syncms4s3w";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.4.0-linux-amd64.tar.gz";
+        sha256 = "0zp3rwhngj009a9s6w2vyvgyhj7nd03mwm44x62ikhnz6f414kr9";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.8.1-linux-amd64.tar.gz";
@@ -73,8 +73,8 @@
         sha256 = "0glbjhgrb2hiyhd6kwmy7v384j8zw641pw9737g1fczv3x16a3s3";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.8.1-linux-amd64.tar.gz";
-        sha256 = "05rcvp2gkx14gy46a0vx9ch3xysnn0wlgsn80rfav35v932x9f3g";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.9.0-linux-amd64.tar.gz";
+        sha256 = "0n486h5f683yq6z53s9l9x5air1vk4nz1skiirsprz7a12cy2xkn";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.1.1-linux-amd64.tar.gz";
@@ -91,16 +91,16 @@
     ];
     x86_64-darwin = [
       {
-        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.23.2-darwin-x64.tar.gz";
-        sha256 = "19g3bsmrjwfbnmw20zh0cqnhz83jl4ikfwg4rhdxsvazdmbym905";
+        url = "https://get.pulumi.com/releases/sdk/pulumi-v2.24.1-darwin-x64.tar.gz";
+        sha256 = "1x6z0drvaxrps47nisvw513vgskaf86mz8fzlhqfkddp2k5la5j1";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.9.1-darwin-amd64.tar.gz";
-        sha256 = "1jkw0pvwz25dvxva7dipdxf4lppgr2m8ynbjl32fijzqs61y690m";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-auth0-v1.10.0-darwin-amd64.tar.gz";
+        sha256 = "05cz7b738bcai4aiya4rkjhmkh9pg6za4xp2snb9nx0jkw2vw2ms";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.34.2-darwin-amd64.tar.gz";
-        sha256 = "0chjps0m203xb1ybky77lg1miv7d4cp1z8xxqhymrylfqaz4xj8q";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-aws-v3.36.0-darwin-amd64.tar.gz";
+        sha256 = "0k74x9a6b9xngrp1cgdal86h23m95r5sa3q036ms4py0phq47r2w";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-cloudflare-v2.14.2-darwin-amd64.tar.gz";
@@ -115,20 +115,20 @@
         sha256 = "09nd5nfvjqgpbjs82bm5ym5wdg37mg863wvdp8s3fd8id4gdqb24";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.6.1-darwin-amd64.tar.gz";
-        sha256 = "1f3mfgh24h2hwmshs4qpplgrxplxl7iab29xp4c7p1g573na3b7a";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-digitalocean-v3.7.0-darwin-amd64.tar.gz";
+        sha256 = "0iflll8lkk3s3dx3xl0iqmxac9nlspjnv8gmjfqwpryzk8h1fmzy";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-docker-v2.9.1-darwin-amd64.tar.gz";
         sha256 = "10vp75fc41yk9lg5x7wyhs4mn2f4krfnw4jn5xys7dd475blm6rh";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.17.0-darwin-amd64.tar.gz";
-        sha256 = "0cl7im10is9wvw3ygis9xy3f77npijsf1dsb49ww057kqhgv1v3i";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gcp-v4.19.0-darwin-amd64.tar.gz";
+        sha256 = "061s8snsgz044ilh2s48810bmayypdyq9aqkhgal6v3l86jl8m95";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.3.1-darwin-amd64.tar.gz";
-        sha256 = "1b7azajh9kzq8akyf5pf16hh3had8iwph6cw06b7mv1wqyd01k6z";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-github-v3.4.0-darwin-amd64.tar.gz";
+        sha256 = "1p6xxhy30qzprxk3kwiwimw5m0c73fk7c9j4vrzj2z4kpgj8qx7w";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-gitlab-v3.8.1-darwin-amd64.tar.gz";
@@ -159,8 +159,8 @@
         sha256 = "0621njipng32x43lw8n49mapq10lnvibg8vlvgciqsfvrbpz1yp5";
       }
       {
-        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.8.1-darwin-amd64.tar.gz";
-        sha256 = "1r5rhn1yjjr0rw7qm2n8dqyqk1r1hkgvdmdq2x9smnvd2mwwjfah";
+        url = "https://api.pulumi.com/releases/plugins/pulumi-resource-postgresql-v2.9.0-darwin-amd64.tar.gz";
+        sha256 = "08af55rrzpm42vx7w1i1cmfk48czjfwln737prp5mwcvddmg5s1g";
       }
       {
         url = "https://api.pulumi.com/releases/plugins/pulumi-resource-random-v3.1.1-darwin-amd64.tar.gz";
diff --git a/pkgs/tools/admin/pulumi/update.sh b/pkgs/tools/admin/pulumi/update.sh
index af65df8daeb..31ac38ab275 100755
--- a/pkgs/tools/admin/pulumi/update.sh
+++ b/pkgs/tools/admin/pulumi/update.sh
@@ -3,20 +3,20 @@
 
 # Version of Pulumi from
 # https://www.pulumi.com/docs/get-started/install/versions/
-VERSION="2.23.2"
+VERSION="2.24.1"
 
 # Grab latest release ${VERSION} from
 # https://github.com/pulumi/pulumi-${NAME}/releases
 plugins=(
-    "auth0=1.9.1"
-    "aws=3.34.2"
+    "auth0=1.10.0"
+    "aws=3.36.0"
     "cloudflare=2.14.2"
     "consul=2.9.1"
     "datadog=2.17.1"
-    "digitalocean=3.6.1"
+    "digitalocean=3.7.0"
     "docker=2.9.1"
-    "gcp=4.17.0"
-    "github=3.3.1"
+    "gcp=4.19.0"
+    "github=3.4.0"
     "gitlab=3.8.1"
     "hcloud=0.7.1"
     "kubernetes=2.8.3"
@@ -24,7 +24,7 @@ plugins=(
     "mysql=2.5.1"
     "openstack=2.17.1"
     "packet=3.2.2"
-    "postgresql=2.8.1"
+    "postgresql=2.9.0"
     "random=3.1.1"
     "vault=3.5.1"
     "vsphere=2.13.1"
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
index 520af8404ae..5dc6e39f8d2 100644
--- a/pkgs/tools/audio/spotdl/default.nix
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -1,20 +1,30 @@
 { lib
 , python3
 , fetchFromGitHub
+, fetchpatch
 , ffmpeg
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchFromGitHub {
     owner = "spotDL";
     repo = "spotify-downloader";
     rev = "v${version}";
-    sha256 = "1nxf911hi578jw24hlcvyy33z1pkvr41pfrywbs3157rj1fj2vfi";
+    sha256 = "sha256-Mc0aODyt0rwmBhkvY/gH1ODz4k8LOxyU5xXglSb6sPs=";
   };
 
+  patches = [
+    # https://github.com/spotDL/spotify-downloader/pull/1254
+    (fetchpatch {
+      name = "subprocess-dont-use-shell.patch";
+      url = "https://github.com/spotDL/spotify-downloader/commit/fe9848518900577776b463ef0798796201e226ac.patch";
+      sha256 = "1kqq3y31dcx1zglywr564hkd2px3qx6sk3rkg7yz8n5hnfjhp6fn";
+    })
+  ];
+
   propagatedBuildInputs = with python3.pkgs; [
     spotipy
     pytube
@@ -32,6 +42,7 @@ python3.pkgs.buildPythonApplication rec {
     pytest-mock
     pytest-vcr
     pyfakefs
+    pytest-subprocess
   ];
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch b/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch
deleted file mode 100644
index f78c7af9e35..00000000000
--- a/pkgs/tools/filesystems/ceph/ceph-glibc-2-32-sigdescr_np.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From b9b6faf66ae67648626470cb4fc3f0850ac4d842 Mon Sep 17 00:00:00 2001
-From: David Disseldorp <ddiss@suse.de>
-Date: Tue, 1 Sep 2020 13:49:21 +0200
-Subject: [PATCH] cmake: detect and use sigdescr_np() if available
-
-sys_siglist is deprecated with glibc 2.32. A new thread-safe and
-async-signal safe sigdescr_np() function is provided, so use it if
-available.
-
-Fixes: https://tracker.ceph.com/issues/47187
-Signed-off-by: David Disseldorp <ddiss@suse.de>
----
- cmake/modules/CephChecks.cmake | 1 +
- src/global/signal_handler.h    | 8 +++++---
- src/include/config-h.in.cmake  | 3 +++
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/modules/CephChecks.cmake b/cmake/modules/CephChecks.cmake
-index 23687283a7c6..ca86dcbc73de 100644
---- a/cmake/modules/CephChecks.cmake
-+++ b/cmake/modules/CephChecks.cmake
-@@ -24,6 +24,7 @@ check_function_exists(strerror_r HAVE_Strerror_R)
- check_function_exists(name_to_handle_at HAVE_NAME_TO_HANDLE_AT)
- check_function_exists(pipe2 HAVE_PIPE2)
- check_function_exists(accept4 HAVE_ACCEPT4)
-+check_function_exists(sigdescr_np HAVE_SIGDESCR_NP)
- 
- include(CMakePushCheckState)
- cmake_push_check_state(RESET)
-diff --git a/src/global/signal_handler.h b/src/global/signal_handler.h
-index 476724201aa9..c101b2e28733 100644
---- a/src/global/signal_handler.h
-+++ b/src/global/signal_handler.h
-@@ -20,10 +20,12 @@
- 
- typedef void (*signal_handler_t)(int);
- 
--#ifndef HAVE_REENTRANT_STRSIGNAL
--# define sig_str(signum) sys_siglist[signum]
--#else
-+#ifdef HAVE_SIGDESCR_NP
-+# define sig_str(signum) sigdescr_np(signum)
-+#elif HAVE_REENTRANT_STRSIGNAL
- # define sig_str(signum) strsignal(signum)
-+#else
-+# define sig_str(signum) sys_siglist[signum]
- #endif
- 
- void install_sighandler(int signum, signal_handler_t handler, int flags);
-diff --git a/src/include/config-h.in.cmake b/src/include/config-h.in.cmake
-index 1ea3703f620c..59bd4273511a 100644
---- a/src/include/config-h.in.cmake
-+++ b/src/include/config-h.in.cmake
-@@ -220,6 +220,9 @@
- /* Define to 1 if you have sched.h. */
- #cmakedefine HAVE_SCHED 1
- 
-+/* Define to 1 if you have sigdescr_np. */
-+#cmakedefine HAVE_SIGDESCR_NP 1
-+
- /* Support SSE (Streaming SIMD Extensions) instructions */
- #cmakedefine HAVE_SSE
- 
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index aaa5806d402..e923bb6132e 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -110,6 +110,7 @@ let
     ps.jsonpatch
     ps.pecan
     ps.prettytable
+    ps.pyopenssl
     ps.pyjwt
     ps.webob
     ps.bcrypt
@@ -122,10 +123,10 @@ let
   ]);
   sitePackages = ceph-python-env.python.sitePackages;
 
-  version = "15.2.8";
+  version = "15.2.10";
   src = fetchurl {
     url = "http://download.ceph.com/tarballs/ceph-${version}.tar.gz";
-    sha256 = "1nmrras3g2zapcd06qr5m7y4zkymnr0r53jkpicjw2g4q7wfmib4";
+    sha256 = "1xfijynfb56gydpwh6h4q781xymwxih6nx26idnkcjqih48nsn01";
   };
 in rec {
   ceph = stdenv.mkDerivation {
@@ -134,7 +135,6 @@ in rec {
 
     patches = [
       ./0000-fix-SPDK-build-env.patch
-      ./ceph-glibc-2-32-sigdescr_np.patch
     ];
 
     nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/wdisplays/default.nix b/pkgs/tools/graphics/wdisplays/default.nix
index 2640769d186..073a3b1b6d4 100644
--- a/pkgs/tools/graphics/wdisplays/default.nix
+++ b/pkgs/tools/graphics/wdisplays/default.nix
@@ -1,36 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, epoxy, wayland, wrapGAppsHook
-, fetchpatch
-}:
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, gtk3, epoxy, wayland, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "wdisplays";
-  version = "1.0";
+  version = "unstable-2021-04-03";
 
   nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ];
 
   buildInputs = [ gtk3 epoxy wayland ];
 
   src = fetchFromGitHub {
-    owner = "cyclopsian";
+    owner = "luispabon";
     repo = "wdisplays";
-    rev = version;
-    sha256 = "1xhgrcihja2i7yg54ghbwr1v6kf8jnsfcp364yb97vkxskc4y21y";
+    rev = "7f2eac0d2aa81b5f495da7950fd5a94683f7868e";
+    sha256 = "sha256-cOF3+T34zPro58maWUouGG+vlLm2C5NfcH7PZhSvApE=";
   };
 
-  patches = [
-    # Fixes `Gdk-Message: 10:26:38.752: Error reading events from display: Success`
-    # https://github.com/cyclopsian/wdisplays/pull/20
-    (fetchpatch {
-      url = "https://github.com/cyclopsian/wdisplays/commit/5198a9c94b40ff157c284df413be5402f1b75118.patch";
-      sha256 = "1xwphyn0ksf8isy9dz3mfdhmsz4jv02870qz5615zs7aqqfcwn85";
-    })
-  ];
-
   meta = with lib; {
     description = "A graphical application for configuring displays in Wayland compositors";
-    homepage = "https://github.com/cyclopsian/wdisplays";
-    maintainers = with lib.maintainers; [ lheckemann ma27 ];
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux;
+    homepage = "https://github.com/luispabon/wdisplays";
+    maintainers = with maintainers; [ lheckemann ma27 ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
index 560393b3193..f4df324fa05 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-lua.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx5-lua";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-lua";
     rev = version;
-    sha256 = "sha256-46s3F3NHGuef0wPhYiPocms0jv5Vo+cVRd5FzlfjMZY=";
+    sha256 = "sha256-1gKfFq+x/tCOYqESO49Qddp5z6zXO7ULjTJgDEl8BqI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
index bfb06a98e8f..b24dac6886d 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-qt.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "fcitx5-qt";
-  version = "5.0.2";
+  version = "5.0.4";
 
   src = fetchFromGitHub {
     owner = "fcitx";
     repo = "fcitx5-qt";
     rev = version;
-    sha256 = "sha256-QylvjhjiIujYGKFtL4bKVXpobkN5t6Q2MGf16dsL24A=";
+    sha256 = "sha256-PZbnxt30Tv7i+Q6G9UpGgWDs65rn0MZVe1ybhz4vN9I=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/misc/disfetch/default.nix b/pkgs/tools/misc/disfetch/default.nix
index 58f7da84fc0..865769dc56c 100644
--- a/pkgs/tools/misc/disfetch/default.nix
+++ b/pkgs/tools/misc/disfetch/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchFromGitHub {
     owner = "llathasa-veleth";
     repo = "disfetch";
     rev = version;
-    sha256 = "sha256-AAfpv1paEnHu1S2B8yC0hyYOj5deKTkCyLGvp6Roz64=";
+    sha256 = "sha256-fNmoaEwRrm6EFe+BwOTwAs1THMYhcal1eshXf+1mVQg=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/lorri/default.nix b/pkgs/tools/misc/lorri/default.nix
index 9635b6b4238..c544bbd03a1 100644
--- a/pkgs/tools/misc/lorri/default.nix
+++ b/pkgs/tools/misc/lorri/default.nix
@@ -12,10 +12,10 @@
 
 let
   # Run `eval $(nix-build -A lorri.updater)` after updating the revision!
-  version = "1.3.1";
-  gitRev = "df83b9b175fecc8ec8b02096c5cfe2db3d00b92e";
-  sha256 = "1df6p0b482vhymw3z7gimc441jr7aix9lhdbcm5wjvw9f276016f";
-  cargoSha256 = "1f9b2h3zakw7qmlnc4rqhxnw80sl5h4mj8cghr82iacxwqz499ql";
+  version = "1.4.0";
+  gitRev = "fee4ffac9ee16fc921d413789cc059b043f2db3d";
+  sha256 = "sha256:0ix0k85ywlvkxsampajkq521d290gb0n60qwhnk6j0sc55yn558h";
+  cargoSha256 = "sha256:1ngn4wnyh6cjnyg7mb48zvng0zn5fcn8s75y88nh91xq9x1bi2d9";
 
 in (rustPlatform.buildRustPackage rec {
   pname = "lorri";
diff --git a/pkgs/tools/misc/osm2pgsql/default.nix b/pkgs/tools/misc/osm2pgsql/default.nix
index a6b8d01dd46..4d959c6480a 100644
--- a/pkgs/tools/misc/osm2pgsql/default.nix
+++ b/pkgs/tools/misc/osm2pgsql/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osm2pgsql";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = pname;
     rev = version;
-    sha256 = "0ld43k7xx395hd6kcn8wyacvb1cfjy670lh9w6yhfi78nxqj9mmy";
+    sha256 = "141blh6lwbgn8hh45xaa0yiwygdc444h9zahx5xrzx5pck9zb5ps";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix
index 09ebbe33a34..8211c5aebc7 100644
--- a/pkgs/tools/misc/rmlint/default.nix
+++ b/pkgs/tools/misc/rmlint/default.nix
@@ -18,6 +18,8 @@
 , wrapGAppsHook
 , withGui ? false }:
 
+assert withGui -> !stdenv.isDarwin;
+
 with lib;
 stdenv.mkDerivation rec {
   pname = "rmlint";
@@ -30,12 +32,9 @@ stdenv.mkDerivation rec {
     sha256 = "15xfkcw1bkfyf3z8kl23k3rlv702m0h7ghqxvhniynvlwbgh6j2x";
   };
 
-  CFLAGS="-I${lib.getDev util-linux}/include";
-
   nativeBuildInputs = [
     pkg-config
     sphinx
-    gettext
     scons
   ] ++ lib.optionals withGui [
     makeWrapper
@@ -57,9 +56,21 @@ stdenv.mkDerivation rec {
     python3.pkgs.pygobject3
   ];
 
-  # this doesn't seem to support configureFlags, and appends $out afterwards,
-  # so add the --without-gui in front of it
-  prefixKey = lib.optionalString (!withGui) " --without-gui " + "--prefix=";
+  prePatch = ''
+    export CFLAGS="$NIX_CFLAGS_COMPILE"
+    export LDFLAGS="''${NIX_LDFLAGS//-rpath /-Wl,-rpath=}"
+
+    # remove sources of nondeterminism
+    substituteInPlace lib/cmdline.c \
+      --replace "__DATE__" "\"Jan  1 1970\"" \
+      --replace "__TIME__" "\"00:00:00\""
+    substituteInPlace docs/SConscript \
+      --replace "gzip -c " "gzip -cn "
+  '';
+
+  prefixKey = "--prefix=";
+
+  sconsFlags = lib.optionals (!withGui) [ "--without-gui" ];
 
   # in GUI mode, this shells out to itself, and tries to import python modules
   postInstall = lib.optionalString withGui ''
@@ -70,8 +81,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Extremely fast tool to remove duplicates and other lint from your filesystem";
     homepage = "https://rmlint.readthedocs.org";
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.gpl3;
-    maintainers = [ maintainers.koral ];
+    maintainers = with maintainers; [ aaschmid koral ];
   };
 }
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 2043cfe1011..534fe54bc18 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -2,7 +2,6 @@
 , fetchFromGitHub
 , autoreconfHook
 , pkg-config
-, makeWrapper
 , bison
 , ncurses
 , libevent
@@ -41,7 +40,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ncurses
     libevent
-    makeWrapper
   ];
 
   configureFlags = [
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index 5f80dad854e..5a264db2d4d 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -1,21 +1,21 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles, libiconv }:
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.14.1";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0m4hipjgg64572lzqy9hz4iq9c4awc93c9rmnpap5iyi855x7idj";
+    sha256 = "1b0ds04q4g8xcgwkziwb5hsi7v73w9y0prvhxz880zzh930652n2";
   };
 
-  cargoSha256 = "0035pqr61mdx699hd4f8hnxknvsdg67l6ys7gxym3fzd9dcmqqff";
+  cargoSha256 = "0jpfgyz5l4fdb5cnqmadzjzrvc6dwgray4b0mx80pghpjw8a8qfb";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
 
   postInstall = ''
     installManPage doc/watchexec.1
@@ -27,6 +27,5 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/watchexec/watchexec";
     license = with licenses; [ asl20 ];
     maintainers = [ maintainers.michalrus ];
-    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/misc/zoxide/default.nix b/pkgs/tools/misc/zoxide/default.nix
index 1e1ec8723bf..5cad350f498 100644
--- a/pkgs/tools/misc/zoxide/default.nix
+++ b/pkgs/tools/misc/zoxide/default.nix
@@ -4,6 +4,7 @@
 , rustPlatform
 , withFzf ? true
 , fzf
+, libiconv
   # checkInputs
 , fish
 , powershell
@@ -15,15 +16,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zoxide";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "ajeetdsouza";
     repo = "zoxide";
     rev = "v${version}";
-    sha256 = "143lh94mw31pm9q7ib63h2k842g3h222mdabhf25hpb19lka2w5y";
+    sha256 = "ZeGFsVBpEhKi4EIhpQlCuriFzmHAgLYw3qE/zqfyqgU=";
   };
 
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+
   # tests are broken on darwin
   doCheck = !stdenv.isDarwin;
 
@@ -46,7 +49,7 @@ rustPlatform.buildRustPackage rec {
       --replace '"fzf"' '"${fzf}/bin/fzf"'
   '';
 
-  cargoSha256 = "05mp101yk1zkjj1gwbkldizq6f9f8089gqgvq42c4ngq88pc7v9a";
+  cargoSha256 = "Hzn01+OhdBrZD1woXN4Pwf/S72Deln1gyyBOWyDC6iM=";
 
   meta = with lib; {
     description = "A fast cd command that learns your habits";
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
index ede7dce2724..9cad36c68a6 100644
--- a/pkgs/tools/networking/clash/default.nix
+++ b/pkgs/tools/networking/clash/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clash";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "Dreamacro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ObnlcKTuO/yFNMXLwGvRTLnz18bNquq6dye2qpL7+VM=";
+    sha256 = "sha256-I4qpcHsN8WGt7YLNXO08BJypilhMSVmZjqECDjlEqXU=";
   };
 
-  vendorSha256 = "sha256-6ZQMDXc2NFs6l/DWPPCFJ+c40764hXzFTdi1Pxk1fnU=";
+  vendorSha256 = "sha256-Nfzk7p52msGxTPDbs4g9KuRPFxp4Npt0QXkdVOZvipc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index 0b36c76ca62..20256aa006b 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.36.0";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VTmQ37kUWlc18p8Qdm2ZFID+t6OIp7y2qU12rXqE6Xo=";
+    sha256 = "sha256-3zsEEq6pVo5yHY4v5TXhZo4jo6htjCYypzxMMv8zQGE=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/oapi-codegen/default.nix b/pkgs/tools/networking/oapi-codegen/default.nix
index 583189f57db..ce490cafef6 100644
--- a/pkgs/tools/networking/oapi-codegen/default.nix
+++ b/pkgs/tools/networking/oapi-codegen/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oapi-codegen";
-  version = "1.5.6";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "deepmap";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-edIm1O+LQdmKhH8/5WuSsxVtOcf3VlkObGjIY+30mms=";
+    sha256 = "sha256-doJ1ceuJ/gL9vlGgV/hKIJeAErAseH0dtHKJX2z7pV0=";
   };
 
-  vendorSha256 = "sha256-lhWnPZavtBEa4A76rvr0xw3L5W6HYK1Uw+PW8z8gWuU=";
+  vendorSha256 = "sha256-Y4WM+o+5jiwj8/99UyNHLpBNbtJkKteIGW2P1Jd9L6M=";
 
   # Tests use network
   doCheck = false;
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index 075d60038d8..96bf7656e8a 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -2,53 +2,46 @@
 , enableDaemon ? false # build amule daemon
 , httpServer ? false # build web interface for the daemon
 , client ? false # build amule remote gui
-, fetchFromGitHub, stdenv, lib, zlib, wxGTK, perl, cryptopp, libupnp, gettext, libpng
-, autoreconfHook, pkg-config, makeWrapper, libX11 }:
+, fetchFromGitHub
+, stdenv
+, lib
+, cmake
+, zlib
+, wxGTK
+, perl
+, cryptopp
+, libupnp
+, gettext
+, libpng
+, autoreconfHook
+, pkg-config
+, makeWrapper
+, libX11
+}:
 
 stdenv.mkDerivation rec {
   pname = "amule";
-  version = "unstable-20201006";
+  version = "2.3.3";
 
   src = fetchFromGitHub {
     owner = "amule-project";
     repo = "amule";
-    rev = "6f8951527eda670c7266984ce476061bfe8867fc";
-    sha256 = "12b44b6hz3mb7nsn6xhzvm726xs06xcim013i1appif4dr8njbx1";
+    rev = version;
+    sha256 = "1nm4vxgmisn1b6l3drmz0q04x067j2i8lw5rnf0acaapwlp8qwvi";
   };
 
-  postPatch = ''
-    substituteInPlace src/libs/ec/file_generator.pl \
-      --replace /usr/bin/perl ${perl}/bin/perl
-
-    # autotools expects these to be in the root
-    cp docs/{AUTHORS,README} .
-    cp docs/Changelog ./ChangeLog
-    cp docs/Changelog ./NEWS
-  '';
-
-  preAutoreconf = ''
-    pushd src/pixmaps/flags_xpm >/dev/null
-    ./makeflags.sh
-    popd >/dev/null
-  '';
-
-  nativeBuildInputs = [ autoreconfHook gettext makeWrapper pkg-config ];
+  nativeBuildInputs = [ cmake gettext makeWrapper pkg-config ];
 
   buildInputs = [
-    zlib wxGTK perl cryptopp libupnp
+    zlib wxGTK perl cryptopp.dev libupnp
   ] ++ lib.optional httpServer libpng
     ++ lib.optional client libX11;
 
-  enableParallelBuilding = true;
-
-  configureFlags = [
-    "--with-crypto-prefix=${cryptopp}"
-    "--disable-debug"
-    "--enable-optimize"
-    (lib.enableFeature monolithic   "monolithic")
-    (lib.enableFeature enableDaemon "amule-daemon")
-    (lib.enableFeature client       "amule-gui")
-    (lib.enableFeature httpServer   "webserver")
+  cmakeFlags = [
+    "-DBUILD_MONOLITHIC=${if monolithic then "ON" else "OFF"}"
+    "-DBUILD_DAEMON=${if enableDaemon then "ON" else "OFF"}"
+    "-DBUILD_REMOTEGUI=${if client then "ON" else "OFF"}"
+    "-DBUILD_WEBSERVER=${if httpServer then "ON" else "OFF"}"
   ];
 
   # aMule will try to `dlopen' libupnp and libixml, so help it
@@ -75,7 +68,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ phreedom ];
     platforms = platforms.unix;
-    # Could not find crypto++ installation or sources.
-    broken = true;
+    # cmake fails: Cannot specify link libraries for target "wxWidgets::ADV" which is not built by this project.
+    broken = enableDaemon;
   };
 }
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index 54c5701b8ec..5b5d8ee1545 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.10.2";
+  version = "1.10.5";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "155v63v0wf0ky5nl2f1dvky8n9pdk40l1lqyz8l1i1kjcvvcmj26";
+    sha256 = "0nagn7792qniczzv0912h89bn8rm8hyikdiw7cqwknx0hw8dwz1z";
   };
 
-  cargoSha256 = "1vb6kis54g4lfc9d0h1961dclaqhq019iw509ydcsa1n7bp25caq";
+  cargoSha256 = "0arqc0wnvfkmk8xzsdc6fvd1adazrw950ld8xyh7r588pyphjmhn";
 
   RUSTC_BOOTSTRAP = 1;
 
diff --git a/pkgs/tools/networking/tcpdump/default.nix b/pkgs/tools/networking/tcpdump/default.nix
index 71c435df0c5..f1fe0527639 100644
--- a/pkgs/tools/networking/tcpdump/default.nix
+++ b/pkgs/tools/networking/tcpdump/default.nix
@@ -1,22 +1,14 @@
-{ lib, stdenv, fetchurl, libpcap, perl, fetchpatch }:
+{ lib, stdenv, fetchurl, libpcap, perl }:
 
 stdenv.mkDerivation rec {
   pname = "tcpdump";
-  version = "4.9.3";
+  version = "4.99.0";
 
   src = fetchurl {
     url = "http://www.tcpdump.org/release/${pname}-${version}.tar.gz";
-    sha256 = "0434vdcnbqaia672rggjzdn4bb8p8dchz559yiszzdk0sjrprm1c";
+    sha256 = "0hmqh2fx8rgs9v1mk3vpywj61xvkifz260q685xllxr8jmxg3wlc";
   };
 
-  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
   '';
@@ -29,11 +21,11 @@ stdenv.mkDerivation rec {
     (stdenv.hostPlatform != stdenv.buildPlatform)
     "ac_cv_linux_vers=2";
 
-  meta = {
+  meta = with lib; {
     description = "Network sniffer";
-    homepage = "http://www.tcpdump.org/";
-    license = "BSD-style";
-    maintainers = with lib.maintainers; [ globin ];
-    platforms = lib.platforms.unix;
+    homepage = "https://www.tcpdump.org/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ globin ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/chipsec/compile-ko.diff b/pkgs/tools/security/chipsec/compile-ko.diff
new file mode 100644
index 00000000000..0ab2c80a625
--- /dev/null
+++ b/pkgs/tools/security/chipsec/compile-ko.diff
@@ -0,0 +1,13 @@
+diff --git i/setup.py w/setup.py
+index cfe2665..5795874 100755
+--- i/setup.py
++++ w/setup.py
+@@ -179,7 +179,7 @@ class build_ext(_build_ext):
+             driver_build_function = self._build_win_driver 
+             self._build_win_compression()
+ 
+-        if not self.skip_driver:
++        if True:
+             driver_build_function()
+ 
+     def get_source_files(self):
diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix
index 7e00c0b07cf..fbb9c421e35 100644
--- a/pkgs/tools/security/chipsec/default.nix
+++ b/pkgs/tools/security/chipsec/default.nix
@@ -1,29 +1,54 @@
-{ stdenv, lib, fetchFromGitHub, python2Packages, nasm, libelf
-, kernel ? null, withDriver ? false }:
-python2Packages.buildPythonApplication rec {
+{ lib
+, stdenv
+, fetchFromGitHub
+, kernel ? null
+, libelf
+, nasm
+, python3
+, withDriver ? false
+}:
+
+python3.pkgs.buildPythonApplication rec {
   pname = "chipsec";
-  version = "1.5.1";
+  version = "1.6.1";
+  disabled = !stdenv.isLinux;
 
   src = fetchFromGitHub {
     owner = "chipsec";
     repo = "chipsec";
     rev = version;
-    sha256 = "1rxr9i08a22m15slvlkrhnki30jixi2ds096kmmc2nqzfr9yibmb";
+    sha256 = "01sp24z63r3nqxx57zc4873b8i5dqipy7yrxzrwjns531vznhiy2";
   };
 
-  disabled = !stdenv.isLinux;
+  patches = lib.optionals withDriver [ ./ko-path.diff ./compile-ko.diff ];
+
+  KSRC = lib.optionalString withDriver "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
   nativeBuildInputs = [
-    nasm libelf
+    libelf
+    nasm
   ];
 
-  setupPyBuildFlags = lib.optional (!withDriver) "--skip-driver";
+  checkInputs = [
+    python3.pkgs.distro
+    python3.pkgs.pytestCheckHook
+  ];
+
+  preBuild = lib.optionalString withDriver ''
+    export CHIPSEC_BUILD_LIB=$(mktemp -d)
+    mkdir -p $CHIPSEC_BUILD_LIB/chipsec/helper/linux
+  '';
+
+  preInstall = lib.optionalString withDriver ''
+    mkdir -p $out/${python3.pkgs.python.sitePackages}/drivers/linux
+    mv $CHIPSEC_BUILD_LIB/chipsec/helper/linux/chipsec.ko \
+      $out/${python3.pkgs.python.sitePackages}/drivers/linux/chipsec.ko
+  '';
 
-  checkPhase = "python setup.py build "
-             + lib.optionalString (!withDriver) "--skip-driver "
-             + "test";
+  setupPyBuildFlags = [ "--build-lib=$CHIPSEC_BUILD_LIB" ]
+                   ++ lib.optional (!withDriver) "--skip-driver";
 
-  KERNEL_SRC_DIR = lib.optionalString withDriver "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  pythonImportsCheck = [ "chipsec" ];
 
   meta = with lib; {
     description = "Platform Security Assessment Framework";
@@ -34,7 +59,7 @@ python2Packages.buildPythonApplication rec {
       interfaces, and forensic capabilities. It can be run on Windows, Linux,
       Mac OS X and UEFI shell.
     '';
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     homepage = "https://github.com/chipsec/chipsec";
     maintainers = with maintainers; [ johnazoidberg ];
     platforms = if withDriver then [ "x86_64-linux" ] else platforms.all;
diff --git a/pkgs/tools/security/chipsec/ko-path.diff b/pkgs/tools/security/chipsec/ko-path.diff
new file mode 100644
index 00000000000..ad26d232d96
--- /dev/null
+++ b/pkgs/tools/security/chipsec/ko-path.diff
@@ -0,0 +1,13 @@
+diff --git c/chipsec/helper/linux/linuxhelper.py i/chipsec/helper/linux/linuxhelper.py
+index c51b5e6..4be05ea 100644
+--- c/chipsec/helper/linux/linuxhelper.py
++++ i/chipsec/helper/linux/linuxhelper.py
+@@ -152,7 +152,7 @@ class LinuxHelper(Helper):
+             else:
+                 a2 = "a2=0x{}".format(phys_mem_access_prot)
+ 
+-        driver_path = os.path.join(chipsec.file.get_main_dir(), "chipsec", "helper", "linux", "chipsec.ko" )
++        driver_path = os.path.join(chipsec.file.get_main_dir(), "drivers", "linux", "chipsec.ko" )
+         if not os.path.exists(driver_path):
+             driver_path += ".xz"
+             if not os.path.exists(driver_path):
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index bad5f3f476e..bbad0ab1f2f 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.103.1";
+  version = "0.103.2";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "sha256-cwjEe4myaK87nzYUBSiSekn/PmM6nJwKrCcS2BBW4lc=";
+    sha256 = "sha256-1LXQrGZiYuQjoyb7VHeMqnxpYk1sP5VCiV/rhHgnG9I=";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/pkgs/tools/security/clevis/default.nix b/pkgs/tools/security/clevis/default.nix
index 36b5ab47304..7f26dcabb7d 100644
--- a/pkgs/tools/security/clevis/default.nix
+++ b/pkgs/tools/security/clevis/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clevis";
-  version = "15";
+  version = "16";
 
   src = fetchFromGitHub {
     owner = "latchset";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wfgd2v1r47ckh5qp60b903191fx0fa27zyadxlsb8riqszhmwvz";
+    sha256 = "sha256-DWrxk+Nb2ptF5nCaXYvRY8hAFa/n+6OGdKWO+Sq61yk=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config asciidoc ];
diff --git a/pkgs/tools/security/dnsx/default.nix b/pkgs/tools/security/dnsx/default.nix
index 35f033cb983..9b1457554fc 100644
--- a/pkgs/tools/security/dnsx/default.nix
+++ b/pkgs/tools/security/dnsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnsx";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "dnsx";
     rev = "v${version}";
-    sha256 = "1pgq21pbnz2dm272zrhd455njj5vg4kywpd230acj675nlgir6y1";
+    sha256 = "sha256-CjWFXYU34PE4I9xihQbPxVcxLyiMCYueuaB/LaXhHQg=";
   };
 
-  vendorSha256 = "0j2cqvskzxbyfrvsv4gm4qwfjm0digizcg157z5iignnknddajax";
+  vendorSha256 = "sha256-vTXvlpXpFf78Cwxq/y6ysSeXM3g71kHBn9zd6c4mxlk=";
 
   meta = with lib; {
     description = "Fast and multi-purpose DNS toolkit";
diff --git a/pkgs/tools/security/enpass/data.json b/pkgs/tools/security/enpass/data.json
index 7a52e260eb9..bb74f73fb75 100644
--- a/pkgs/tools/security/enpass/data.json
+++ b/pkgs/tools/security/enpass/data.json
@@ -1,8 +1,8 @@
 {
   "amd64": {
-    "path": "pool/main/e/enpass/enpass_6.5.1.723_amd64.deb",
-    "sha256": "d9bb408fa2253ce44ab5396898f7db13291ce23ae58964f4a27ade38bd5067bf",
-    "version": "6.5.1.723"
+    "path": "pool/main/e/enpass/enpass_6.6.1.809_amd64.deb",
+    "sha256": "b1b9bd67653c3163bd80b340150ecf123552cbe4af23c350fbadea8ffd7939ba",
+    "version": "6.6.1.809"
   },
   "i386": {
     "path": "pool/main/e/enpass/enpass_5.6.9_i386.deb", 
diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix
index 9e34b07121f..685280ab4ad 100644
--- a/pkgs/tools/security/gitleaks/default.nix
+++ b/pkgs/tools/security/gitleaks/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "7.3.0";
+  version = "7.4.0";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IJaumIFuIhrvXZ45uz8RUxAuprnWdv2lNzxNUascvVc=";
+    sha256 = "sha256-AY9pOARFAqIOimhcwEyau2MwJCFsWu8I36P7Z0xyJH0=";
   };
 
   vendorSha256 = "sha256-Cc4DJPpOMHxDcH22S7znYo7QHNRXv8jOJhznu09kaE4=";
diff --git a/pkgs/tools/security/hfinger/default.nix b/pkgs/tools/security/hfinger/default.nix
new file mode 100644
index 00000000000..9e053276ecf
--- /dev/null
+++ b/pkgs/tools/security/hfinger/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, fetchFromGitHub
+, python3
+, wireshark-cli
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "hfinger";
+  version = "0.2.0";
+  disabled = python3.pythonOlder "3.3";
+
+  src = fetchFromGitHub {
+    owner = "CERT-Polska";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1vz8mf572qyng684fvb9gdwaaiybk7mjmikbymvjvy24d10raak1";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    fnvhash
+    python_magic
+  ] ++ [
+    wireshark-cli
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "hfinger" ];
+
+  meta = with lib; {
+    description = "Fingerprinting tool for HTTP requests";
+    homepage = "https://github.com/CERT-Polska/hfinger";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/httpx/default.nix b/pkgs/tools/security/httpx/default.nix
index bff9e03bc6f..129395912f9 100644
--- a/pkgs/tools/security/httpx/default.nix
+++ b/pkgs/tools/security/httpx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "httpx";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "httpx";
     rev = "v${version}";
-    sha256 = "15ihc5926kbai16i59c7bmvgd162qq9dpd52g4vrp7dq4jrz155m";
+    sha256 = "sha256-w5CNvtlhvm1SyAKaoA7Fw8ZSY9Z78MentrSNS4mpr1Q=";
   };
 
-  vendorSha256 = "0fg93vhwpx113fpw8qg4ram4bdh6a8x3a36pr1c962s4vhrabwy2";
+  vendorSha256 = "sha256-VBxGapvC2QE/0slsAiCBzmwOSMeGepZU0pYVDepSrwg=";
 
   meta = with lib; {
     description = "Fast and multi-purpose HTTP toolkit";
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 150f00e92b4..247e2b66904 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.38"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.39"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index c64e2b31aff..97e7b9962ab 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 4c7a221f3d186b0cd65d2a765533fda54f0848f4
-  ref: refs/tags/6.0.38
+  revision: 5cba6ecd3c745f45290400f0705400f26913852e
+  ref: refs/tags/6.0.39
   specs:
-    metasploit-framework (6.0.38)
+    metasploit-framework (6.0.39)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -27,11 +27,11 @@ GIT
       jsobfu
       json
       metasm
-      metasploit-concern
-      metasploit-credential
-      metasploit-model
+      metasploit-concern (~> 3.0.0)
+      metasploit-credential (~> 4.0.0)
+      metasploit-model (~> 3.1.0)
       metasploit-payloads (= 2.0.41)
-      metasploit_data_models
+      metasploit_data_models (~> 4.1.0)
       metasploit_payloads-mettle (= 1.0.8)
       mqtt
       msgpack
@@ -123,13 +123,13 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.1)
-    aws-partitions (1.441.0)
+    aws-partitions (1.443.0)
     aws-sdk-core (3.113.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.232.0)
+    aws-sdk-ec2 (1.234.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.52.0)
@@ -190,7 +190,7 @@ GEM
     jsobfu (0.4.2)
       rkelly-remix
     json (2.5.1)
-    loofah (2.9.0)
+    loofah (2.9.1)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.4)
@@ -213,7 +213,7 @@ GEM
       activesupport (~> 5.2.2)
       railties (~> 5.2.2)
     metasploit-payloads (2.0.41)
-    metasploit_data_models (4.1.2)
+    metasploit_data_models (4.1.3)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
       arel-helpers
@@ -238,7 +238,7 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.7)
-    nokogiri (1.11.2)
+    nokogiri (1.11.3)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     octokit (4.20.0)
@@ -330,15 +330,15 @@ GEM
       rex-socket
       rex-text
     rex-struct2 (0.1.3)
-    rex-text (0.2.33)
+    rex-text (0.2.34)
     rex-zip (0.1.4)
       rex-text
-    rexml (3.2.4)
+    rexml (3.2.5)
     rkelly-remix (0.0.7)
     ruby-macho (2.5.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.4)
-    ruby_smb (2.0.7)
+    ruby_smb (2.0.8)
       bindata
       openssl-ccm
       openssl-cmac
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 5dce17ff190..6232c85a2f2 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -8,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.38";
+  version = "6.0.39";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-/e1BWhkM4A+xrvDS6Z01sND9aOZDn+cL0RIcAgT5oZs=";
+    sha256 = "sha256-9uoxxcuEJudJGRQfkVBUWDHoZ1sxaIb+Hjf/sEpcqik=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 49fedb7a84a..3e195ffcc10 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07i9mqbh19pd25wd3laxv1bcmzcpriw54g0x3mqzkn600h8f3lg9";
+      sha256 = "0vvav3449v3m0nyflcw07sbxlpgqf4pwa2fmirgjvc9r9asssi79";
       type = "gem";
     };
-    version = "1.441.0";
+    version = "1.443.0";
   };
   aws-sdk-core = {
     groups = ["default"];
@@ -134,10 +134,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n7hi66zpm8mgfgf32gw7c9p4rv09q9kipsr01l5l2n2d69k67q5";
+      sha256 = "1rlq8vifcmz24v1aw8vj2czqj4dnf00smm5ndfpaxz5k6550lbz4";
       type = "gem";
     };
-    version = "1.232.0";
+    version = "1.234.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -474,10 +474,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bzwvxvilx7w1p3pg028ks38925y9i0xm870lm7s12w7598hiyck";
+      sha256 = "1w9mbii8515p28xd4k72f3ab2g6xiyq15497ys5r8jn6m355lgi7";
       type = "gem";
     };
-    version = "2.9.0";
+    version = "2.9.1";
   };
   metasm = {
     groups = ["default"];
@@ -514,12 +514,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "4c7a221f3d186b0cd65d2a765533fda54f0848f4";
-      sha256 = "16x1z420470js45yg7s3wrlgvl5h6nfyklphmsqhzq0c35d43vgx";
+      rev = "5cba6ecd3c745f45290400f0705400f26913852e";
+      sha256 = "0adabi5b1zrp3vz8cs1ibdkyhcaqai8927ql354yf9l4rg2k3spn";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.38";
+    version = "6.0.39";
   };
   metasploit-model = {
     groups = ["default"];
@@ -546,10 +546,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1kzlvq20ml4b5lr1qbrkmivdi37mxi8fasdqg4yla2libfbdz008";
+      sha256 = "0li8lphplsmv9x1f14c22w95gjx2lscas3x5py7x7kc05pfv33bg";
       type = "gem";
     };
-    version = "4.1.2";
+    version = "4.1.3";
   };
   metasploit_payloads-mettle = {
     groups = ["default"];
@@ -696,10 +696,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b51df8fwadak075cvi17w0nch6qz1r66564qp29qwfj67j9qp0p";
+      sha256 = "19d78mdg2lbz9jb4ph6nk783c9jbsdm8rnllwhga6pd53xffp6x0";
       type = "gem";
     };
-    version = "1.11.2";
+    version = "1.11.3";
   };
   octokit = {
     groups = ["default"];
@@ -1096,10 +1096,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1933p6fri27d2gscws43k1v8jw1821l5j4yfi9z97ch5l80mv1zr";
+      sha256 = "01g6jr73c3hbqhmzlc80jlqz2cwn9bq1j3cc19fpkq3hdg89drjp";
       type = "gem";
     };
-    version = "0.2.33";
+    version = "0.2.34";
   };
   rex-zip = {
     groups = ["default"];
@@ -1116,10 +1116,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
       type = "gem";
     };
-    version = "3.2.4";
+    version = "3.2.5";
   };
   rkelly-remix = {
     groups = ["default"];
@@ -1166,10 +1166,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0px84i3d9kqb40ff7nk3k7hb3w3kk80w5zsgi61svgddp1dbzh1n";
+      sha256 = "0bg7xxw5cww4wy7vhr54i07ni82sh4qq465fir7az5z0hf36b1kg";
       type = "gem";
     };
-    version = "2.0.7";
+    version = "2.0.8";
   };
   rubyntlm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index ec1ade20a19..1cf89143925 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sops";
-  version = "3.7.0";
+  version = "3.7.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "mozilla";
     repo = pname;
-    sha256 = "1a0v1jgbz8n3dymzr2shg2ms9sxjwaci209ldzq8v4g737v10zgm";
+    sha256 = "0z3jcyl245yjszzjf2h6l1dwa092vxzvfmnivmwi6jvpsdcv33h1";
   };
 
-  vendorSha256 = "1qaml2h3c8fhmi8ahp2fmd0hagqp5xqaf8jxjh4mfmbv2is3yz1l";
+  vendorSha256 = "1mnwgsbpi56ql0lbpn7dkaps96x9b1lmhlk5cd6d40da7xj616n7";
 
   doCheck = false;
 
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index f3c9990a3c7..84fe06e6c19 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -2,29 +2,43 @@
 , lib
 , fetchFromGitHub
 , buildGoModule
+, coreutils
 , pcsclite
 , PCSC
 , pkg-config
+, hsmSupport ? true
 }:
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.15.6";
+  version = "0.15.11";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "0n26692ph4q4cmrqammfazmx1k9p2bydwqc57q4hz5ni6jd31zbz";
+    sha256 = "wFRs3n6V0z2keNVtqFw1q5jpA6BvNK5EftsNhichfsY=";
   };
 
-  vendorSha256 = "0w0phyqymcg2h2jjasxmkf4ryn4y1bqahcy94rs738cqr5ifyfbg";
+  vendorSha256 = "f1NdszqYYx6X1HqwqG26jjfjXq1gDXLOrh64ccKRQ90=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = lib.optionals hsmSupport [ pkg-config ];
 
   buildInputs =
-    lib.optional stdenv.isLinux (lib.getDev pcsclite)
-    ++ lib.optional stdenv.isDarwin PCSC;
+    lib.optionals (hsmSupport && stdenv.isLinux) [ pcsclite ]
+    ++ lib.optionals (hsmSupport && stdenv.isDarwin) [ PCSC ];
+
+  postPatch = ''
+    substituteInPlace systemd/step-ca.service --replace "/bin/kill" "${coreutils}/bin/kill"
+  '';
+
+  preBuild = ''
+    ${lib.optionalString (!hsmSupport) "export CGO_ENABLED=0"}
+  '';
+
+  postInstall = ''
+    install -Dm444 -t $out/lib/systemd/system systemd/step-ca.service
+  '';
 
   # Tests fail on darwin with
   # panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted [recovered]
@@ -35,7 +49,7 @@ buildGoModule rec {
     description = "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH";
     homepage = "https://smallstep.com/certificates/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cmcdragonkai ];
+    maintainers = with maintainers; [ cmcdragonkai mohe2015 ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index 839c48c320a..c9479dca906 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "4.9.1";
+  version = "4.10.0";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-blvnwsmcHf0yH2C/NUCsVQECIH4SI0BTNiMzCuNd0H0=";
+    sha256 = "sha256-qYxWjvXGaygoe88muQmQWlDJfM04wqxHy8+l7KO688U=";
   };
 
   vendorSha256 = "sha256-QiO5p0x8kmIN6f0uYS0IR2MlWtRYTHeZpW6Nmupjias=";
diff --git a/pkgs/tools/text/amber/default.nix b/pkgs/tools/text/amber/default.nix
index e9ceaffa734..632a318e862 100644
--- a/pkgs/tools/text/amber/default.nix
+++ b/pkgs/tools/text/amber/default.nix
@@ -4,16 +4,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "amber";
-  version = "0.5.8";
+  version = "0.5.9";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j9h9zzg6n4mhq2bqj71k5db595ilbgd9dn6ygmzsm74619q4454";
+    sha256 = "sha256-mmgJCD7kJjvpxyagsoe5CSzqIEZcIiYMAMP3axRphv4=";
   };
 
-  cargoSha256 = "0h47xqqq8f8m28rl1s6r305cf3dvk94aa86j6m0rk535i2jqfvhp";
+  cargoSha256 = "sha256-opRinhTmhZxpAwHNiVOLXL8boQf09Y1NXrWQ6HWQYQ0=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/text/frangipanni/default.nix b/pkgs/tools/text/frangipanni/default.nix
index 1f0dcfa9417..def134af505 100644
--- a/pkgs/tools/text/frangipanni/default.nix
+++ b/pkgs/tools/text/frangipanni/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "frangipanni";
-  version = "0.4.0";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "birchb1024";
     repo = "frangipanni";
     rev = "v${version}";
-    sha256 = "sha256-NgRDXrAsfnj1cqO+2AN8nSuxS9KGNIl+pJkCADmDOqY=";
+    sha256 = "sha256-RzXfsaT/CUyWCpB5JGgl511gxgvzerqgwjpORgzyPCQ=";
   };
 
   vendorSha256 = "sha256-TSN5M/UCTtfoTf1hDCfrJMCFdSwL/NVXssgt4aefom8=";
diff --git a/pkgs/tools/typesetting/tex/mftrace/default.nix b/pkgs/tools/typesetting/tex/mftrace/default.nix
new file mode 100644
index 00000000000..627b0843658
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/mftrace/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, makeWrapper
+, autoreconfHook
+, buildEnv
+, python3
+, fontforge
+, potrace
+, texlive
+}:
+
+/*
+  To use with a texlive distribution, ensure that the desired fonts and
+  the packages kpathsea, t1utils, metafont are available at runtime.
+
+  Possible overrides:
+  - potrace = autotrace
+  - fontforge = ghostscript (limited functionality)
+  - fontforge = null (limited functionality)
+*/
+
+let self = stdenv.mkDerivation rec {
+  pname = "mftrace";
+  version = "1.2.20";
+
+  # https://lilypond.org/download/sources/mftrace/mftrace-1.2.20.tar.gz
+  # is incomplete, fetch repo and use autoconf instead
+  # see https://github.com/hanwen/mftrace/issues/13
+  src = fetchFromGitHub {
+    owner = "hanwen";
+    repo = "mftrace";
+    rev = "release/${version}";
+    sha256 = "02ik25aczkbi10jrjlnxby3fmixxrwm2k5r4fkfif3bjfym7nqbc";
+  };
+
+  nativeBuildInputs = [ makeWrapper autoreconfHook python3 potrace ];
+
+  buildInputs = [ fontforge potrace ];
+
+  postInstall = ''
+    wrapProgram $out/bin/mftrace --prefix PATH : ${lib.makeBinPath buildInputs}
+  '';
+
+  # experimental texlive.combine support
+  # (note that only the bin/ folder will be combined into texlive)
+  passthru.tlType = "bin";
+  passthru.pkgs = [ self ] ++
+    (with texlive; kpathsea.pkgs ++ t1utils.pkgs ++ metafont.pkgs);
+
+  meta = with lib; {
+    description = "Scalable PostScript Fonts for MetaFont";
+    longDescription = ''
+      mftrace is a small Python program that lets you trace a TeX bitmap
+      font into a PFA or PFB font (A PostScript Type1 Scalable Font) or
+      TTF (TrueType) font.
+    '';
+    homepage = "https://lilypond.org/mftrace/";
+    license = with licenses; [ gpl2Only mit ];
+    maintainers = with maintainers; [ xworld21 ];
+    platforms = platforms.all;
+  };
+}; in self
diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix
index 6e29a5a8d83..637ff51317f 100644
--- a/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/pkgs/tools/virtualization/cri-tools/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "cri-tools";
-  version = "1.20.0";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fU3g0m2drUsa2Jyz+QYXi4xWTOLINGsDw3dKcesAkkE=";
+    sha256 = "sha256-chU7qNapmM4Gm8lYcdUreg1ZP93UM0LpIEk+w5cutlg=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index 47953d21dfe..ba343fe657b 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonApplication
 , fetchFromGitHub
-, fetchpatch
 , fetchurl
 , terminaltables
 , colorclass
@@ -13,31 +12,23 @@
 let
 
   spec = fetchurl {
-    url = "https://raw.githubusercontent.com/linode/linode-api-docs/v4.67.0/openapi.yaml";
-    sha256 = "0vsblprkqlr9508x5rkm0wj6lc3w72xiwiqxia9asgr5k45hhfnr";
+    url = "https://raw.githubusercontent.com/linode/linode-api-docs/v4.89.0/openapi.yaml";
+    sha256 = "sha256-R7Dmq8ifGEjh47ftuoGrbymYBsPCj/ULz0j1OqJDcwY=";
   };
 
 in
 
 buildPythonApplication rec {
   pname = "linode-cli";
-  version = "2.15.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "linode";
     repo = pname;
     rev = version;
-    sha256 = "06iz9xjj6h1ry176558488fl9j18a5vf724zh4cxlcksdy72dnna";
+    sha256 = "sha256-zelopRaHaDCnbYA/y7dNMBh70g0+wuc6t9LH/VLaUIk=";
   };
 
-  patches = [
-    # make enum34 depend on python version
-    ( fetchpatch {
-        url = "https://github.com/linode/linode-cli/pull/184/commits/4cf55759c5da33fbc49b9ba664698875d67d4f76.patch";
-        sha256 = "04n9a6yh0abyyymvfzajhav6qxwvzjl2vs8jnqp3yqrma7kl0slj";
-    })
-  ];
-
   # remove need for git history
   prePatch = ''
     substituteInPlace setup.py \
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 2bbe0630aa8..f7eb7cb0c60 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -179,6 +179,7 @@ mapAliases ({
   emacsPackages = emacs.pkgs; # added 2020-12-18
   emby = throw "The Emby derivation has been removed, see jellyfin instead for a free software fork."; # added 2019-05-01
   enblendenfuse = enblend-enfuse; # 2015-09-30
+  esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # added 2021-04-12
   evolution_data_server = evolution-data-server; # added 2018-02-25
   etcdctl = etcd; # added 2018-04-25
   exfat-utils = exfat;                  # 2015-09-11
@@ -735,6 +736,7 @@ mapAliases ({
   sup = throw "sup was deprecated on 2019-09-10: abandoned by upstream";
   swfdec = throw "swfdec has been removed as broken and unmaintained."; # added 2020-08-23
   swtpm-tpm2 = swtpm; # added 2021-02-26
+  syncthing-cli = syncthing; # added 2021-04-06
   system_config_printer = system-config-printer;  # added 2016-01-03
   systemd-cryptsetup-generator = throw "systemd-cryptsetup-generator is now included in the systemd package"; # added 2020-07-12
   systemd_with_lvm2 = throw "systemd_with_lvm2 is obsolete, enabled by default via the lvm module"; # added 2020-07-12
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 83d6b922aed..f004f35ffe6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -562,6 +562,7 @@ in
   ociTools = callPackage ../build-support/oci-tools { };
 
   octant = callPackage ../applications/networking/cluster/octant { };
+  octant-desktop = callPackage ../applications/networking/cluster/octant/desktop.nix { };
   starboard-octant-plugin = callPackage ../applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix { };
 
   pathsFromGraph = ../build-support/kernel/paths-from-graph.pl;
@@ -4888,6 +4889,8 @@ in
 
   github-backup = callPackage ../tools/misc/github-backup { };
 
+  github-runner = callPackage ../development/tools/continuous-integration/github-runner { };
+
   gitin = callPackage ../applications/version-management/git-and-tools/gitin { };
 
   gitinspector = callPackage ../applications/version-management/gitinspector { };
@@ -5488,6 +5491,8 @@ in
 
   idle3tools = callPackage ../tools/system/idle3tools { };
 
+  ifcopenshell = with python3Packages; toPythonApplication ifcopenshell;
+
   iftop = callPackage ../tools/networking/iftop { };
 
   ifuse = callPackage ../tools/filesystems/ifuse { };
@@ -6028,7 +6033,9 @@ in
     inherit (python3Packages) ansi2html;
   };
 
-  medfile = callPackage ../development/libraries/medfile { };
+  medfile = callPackage ../development/libraries/medfile {
+    hdf5 = hdf5.override { usev110Api = true; };
+  };
 
   meilisearch = callPackage ../servers/search/meilisearch {
     inherit (darwin.apple_sdk.frameworks) IOKit Security;
@@ -6038,6 +6045,8 @@ in
 
   mesa-demos = callPackage ../tools/graphics/mesa-demos { };
 
+  mftrace = callPackage ../tools/typesetting/tex/mftrace { };
+
   mhonarc = perlPackages.MHonArc;
 
   minergate = callPackage ../applications/misc/minergate { };
@@ -8662,6 +8671,8 @@ in
 
   tex-match = callPackage ../tools/typesetting/tex/tex-match { };
 
+  tf2pulumi = callPackage ../development/tools/tf2pulumi { };
+
   thc-hydra = callPackage ../tools/security/thc-hydra { };
 
   thc-ipv6 = callPackage ../tools/security/thc-ipv6 { };
@@ -10817,6 +10828,8 @@ in
 
   javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
 
+  juniper = callPackage ../development/compilers/juniper/default.nix { };
+
   julia_10 = callPackage ../development/compilers/julia/1.0.nix {
     gmp = gmp6;
     inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
@@ -11039,6 +11052,8 @@ in
 
   monoDLLFixer = callPackage ../build-support/mono-dll-fixer { };
 
+  roslyn = callPackage ../development/compilers/roslyn { mono = mono6; };
+
   msbuild = callPackage ../development/tools/build-managers/msbuild { mono = mono6; };
 
   mosml = callPackage ../development/compilers/mosml { };
@@ -11318,10 +11333,10 @@ in
   rustracerd = callPackage ../development/tools/rust/racerd {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
-  inherit (callPackage ../development/tools/rust/rust-analyzer {
+  rust-analyzer-unwrapped = callPackage ../development/tools/rust/rust-analyzer {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
-  })
-    rust-analyzer-unwrapped rust-analyzer;
+  };
+  rust-analyzer = callPackage ../development/tools/rust/rust-analyzer/wrapper.nix { };
   rust-bindgen = callPackage ../development/tools/rust/bindgen { };
   rust-cbindgen = callPackage ../development/tools/rust/cbindgen {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -13283,6 +13298,10 @@ in
 
   schemaspy = callPackage ../development/tools/database/schemaspy { };
 
+  scenebuilder = callPackage ../development/tools/scenebuilder { };
+
+  scenic-view = callPackage ../development/tools/scenic-view { };
+
   shncpd = callPackage ../tools/networking/shncpd { };
 
   sigrok-cli = callPackage ../development/tools/sigrok-cli { };
@@ -14757,6 +14776,8 @@ in
 
   hdt = callPackage ../misc/hdt {};
 
+  hfinger = callPackage ../tools/security/hfinger { };
+
   herqq = libsForQt5.callPackage ../development/libraries/herqq { };
 
   hidapi = callPackage ../development/libraries/hidapi {
@@ -17269,6 +17290,7 @@ in
     s6-portable-utils = callPackage ../tools/misc/s6-portable-utils { };
     s6-rc = callPackage ../tools/system/s6-rc { };
 
+    mdevd = callPackage ../os-specific/linux/mdevd { };
     nsss = callPackage ../development/libraries/nsss { };
     utmps = callPackage ../development/libraries/utmps { };
     sdnotify-wrapper = callPackage ../os-specific/linux/sdnotify-wrapper { };
@@ -18424,6 +18446,8 @@ in
 
   gobetween = callPackage ../servers/gobetween { };
 
+  gobgpd = callPackage ../servers/misc/gobgpd { };
+
   graph-cli = callPackage ../tools/graphics/graph-cli { };
 
   h2o = callPackage ../servers/http/h2o { };
@@ -19107,6 +19131,9 @@ in
 
   sogo = callPackage ../servers/web-apps/sogo { };
 
+  spacecookie =
+    haskell.lib.justStaticExecutables haskellPackages.spacecookie;
+
   spawn_fcgi = callPackage ../servers/http/spawn-fcgi { };
 
   spring-boot-cli = callPackage ../development/tools/spring-boot-cli { };
@@ -19281,6 +19308,8 @@ in
 
   alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { };
 
+  alertmanager-irc-relay = callPackage ../servers/monitoring/alertmanager-irc-relay { };
+
   alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { };
 
   alsaLib = callPackage ../os-specific/linux/alsa-lib { };
@@ -20249,6 +20278,8 @@ in
   mdadm = mdadm4;
   mdadm4 = callPackage ../os-specific/linux/mdadm { };
 
+  inherit (skawarePackages) mdevd;
+
   metastore = callPackage ../os-specific/linux/metastore { };
 
   mingetty = callPackage ../os-specific/linux/mingetty { };
@@ -21730,6 +21761,8 @@ in
 
   masterpdfeditor4 = libsForQt5.callPackage ../applications/misc/masterpdfeditor4 { };
 
+  foxitreader = libsForQt512.callPackage ../applications/misc/foxitreader { };
+
   aeolus = callPackage ../applications/audio/aeolus { };
 
   aewan = callPackage ../applications/editors/aewan { };
@@ -22547,8 +22580,6 @@ in
 
   espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
 
-  esniper = callPackage ../applications/networking/esniper { };
-
   eteroj.lv2 = libsForQt5.callPackage ../applications/audio/eteroj.lv2 { };
 
   etebase-server = with python3Packages; toPythonApplication etebase-server;
@@ -22664,6 +22695,8 @@ in
 
   focuswriter = libsForQt5.callPackage ../applications/editors/focuswriter { };
 
+  foliate = callPackage ../applications/office/foliate { };
+
   fondo = callPackage ../applications/graphics/fondo { };
 
   font-manager = callPackage ../applications/misc/font-manager { };
@@ -23877,6 +23910,8 @@ in
     ffmpeg = ffmpeg_2;
   };
 
+  kitsas = libsForQt5.callPackage ../applications/office/kitsas { };
+
   kiwix = libsForQt5.callPackage ../applications/misc/kiwix { };
 
   klayout = libsForQt5.callPackage ../applications/misc/klayout { };
@@ -23893,6 +23928,8 @@ in
 
   konversation = libsForQt5.callPackage ../applications/networking/irc/konversation { };
 
+  kooha = callPackage ../applications/video/kooha { };
+
   kotatogram-desktop = libsForQt514.callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop { };
 
   kpt = callPackage ../applications/networking/cluster/kpt { };
@@ -24854,6 +24891,8 @@ in
 
   obs-move-transition = callPackage ../applications/video/obs-studio/obs-move-transition.nix { };
 
+  obs-multi-rtmp = libsForQt5.callPackage ../applications/video/obs-studio/obs-multi-rtmp.nix { };
+
   obs-v4l2sink = libsForQt5.callPackage ../applications/video/obs-studio/v4l2sink.nix { };
 
   obs-ndi = libsForQt5.callPackage ../applications/video/obs-studio/obs-ndi.nix { };
@@ -25863,7 +25902,6 @@ in
 
   inherit (callPackages ../applications/networking/syncthing { })
     syncthing
-    syncthing-cli
     syncthing-discovery
     syncthing-relay;
 
@@ -26542,6 +26580,10 @@ in
 
   wmctrl = callPackage ../tools/X11/wmctrl { };
 
+  wmderland = callPackage ../applications/window-managers/wmderland { };
+
+  wmderlandc = callPackage ../applications/window-managers/wmderlandc { };
+
   wmii_hg = callPackage ../applications/window-managers/wmii-hg { };
 
   wofi = callPackage ../applications/misc/wofi { };
@@ -27299,6 +27341,8 @@ in
 
   cbonsai = callPackage ../games/cbonsai { };
 
+  cdogs-sdl = callPackage ../games/cdogs-sdl { };
+
   chessdb = callPackage ../games/chessdb { };
 
   chessx = libsForQt5.callPackage ../games/chessx { };
@@ -27896,6 +27940,8 @@ in
 
   shattered-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon { };
 
+  shticker-book-unwritten = callPackage ../games/shticker-book-unwritten { };
+
   sienna = callPackage ../games/sienna { love = love_0_10; };
 
   sil = callPackage ../games/sil { };
@@ -29191,7 +29237,6 @@ in
 
   celestia = callPackage ../applications/science/astronomy/celestia {
     autoreconfHook = buildPackages.autoreconfHook269;
-    lua = lua5_1;
     inherit (pkgs.gnome2) gtkglext;
   };
 
@@ -29448,6 +29493,8 @@ in
 
   dbus-map = callPackage ../tools/misc/dbus-map { };
 
+  deepspeech = callPackage ../misc/deepspeech { };
+
   dell-530cdn = callPackage ../misc/drivers/dell-530cdn {};
 
   demjson = with python3Packages; toPythonApplication demjson;
@@ -30556,6 +30603,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Carbon Cocoa OpenGL OpenAL;
   };
 
+  yapesdl = callPackage ../misc/emulators/yapesdl { };
+
   x16-emulator = callPackage ../misc/emulators/commander-x16/emulator.nix { };
   x16-rom = callPackage ../misc/emulators/commander-x16/rom.nix { };
 
@@ -30682,6 +30731,10 @@ in
 
   openring = callPackage ../applications/misc/openring { };
 
+  openvino = callPackage ../development/libraries/openvino {
+    python = python3;
+  };
+
   phonetisaurus = callPackage ../development/libraries/phonetisaurus {};
 
   duti = callPackage ../os-specific/darwin/duti {
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index e15a1c3c876..44d7301c7b9 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -27,6 +27,7 @@ let
       coqeal = callPackage ../development/coq-modules/coqeal {};
       coqhammer = callPackage ../development/coq-modules/coqhammer {};
       coqprime = callPackage ../development/coq-modules/coqprime {};
+      coqtail-math = callPackage ../development/coq-modules/coqtail-math {};
       coquelicot = callPackage ../development/coq-modules/coquelicot {};
       corn = callPackage ../development/coq-modules/corn {};
       dpdgraph = callPackage ../development/coq-modules/dpdgraph {};
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 87d4d52d388..790f9c465f9 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1255,32 +1255,31 @@ let
     janeStreet =
     if lib.versionOlder "4.08" ocaml.version
     then import ../development/ocaml-modules/janestreet/0.14.nix {
-      inherit alcotest angstrom angstrom-async base64 cryptokit ctypes
-        dune-configurator faraday inotify janePackage js_of_ocaml
-        js_of_ocaml-ppx lambdasoup magic-mime num octavius ounit
-        ppxlib re tyxml uri-sexp zarith;
+      inherit self;
       inherit (pkgs) openssl zstd;
     }
     else if lib.versionOlder "4.07" ocaml.version
     then import ../development/ocaml-modules/janestreet/0.12.nix {
-      inherit ctypes janePackage num octavius re;
+      self = self // {
+        ppxlib = ppxlib.override { version = "0.8.1"; };
+      };
       inherit (pkgs) openssl;
-      ppxlib = ppxlib.override { version = "0.8.1"; };
     }
     else import ../development/ocaml-modules/janestreet {
-      inherit janePackage ocamlbuild angstrom ctypes cryptokit;
-      inherit magic-mime num ocaml-migrate-parsetree octavius ounit;
-      inherit ppx_deriving re;
+      self = self // {
+        ppxlib = ppxlib.override { version = "0.8.1"; };
+      };
       inherit (pkgs) openssl;
-      ppxlib = ppxlib.override { version = "0.8.1"; };
     };
 
     janeStreet_0_9_0 = import ../development/ocaml-modules/janestreet/old.nix {
-      janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix { defaultVersion = "0.9.0"; };
-      inherit lib ocaml ocamlbuild ctypes cryptokit;
-      inherit magic-mime num ocaml-migrate-parsetree octavius ounit;
-      inherit ppx_deriving re zarith;
-      inherit (pkgs) stdenv openssl;
+      self = self.janeStreet_0_9_0;
+      super = self // {
+        janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {
+          defaultVersion = "0.9.0";
+        };
+      };
+      inherit (pkgs) stdenv lib openssl;
     };
 
     js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 8d2d1e4f637..5ce36b6c38f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -243,6 +243,8 @@ in {
 
   aioeafm = callPackage ../development/python-modules/aioeafm { };
 
+  aioemonitor = callPackage ../development/python-modules/aioemonitor { };
+
   aioesphomeapi = callPackage ../development/python-modules/aioesphomeapi { };
 
   aioeventlet = callPackage ../development/python-modules/aioeventlet { };
@@ -277,6 +279,8 @@ in {
 
   aiohttp-swagger = callPackage ../development/python-modules/aiohttp-swagger { };
 
+  aiohttp-wsgi = callPackage ../development/python-modules/aiohttp-wsgi { };
+
   aioitertools = callPackage ../development/python-modules/aioitertools { };
 
   aiobotocore = callPackage ../development/python-modules/aiobotocore { };
@@ -297,6 +301,8 @@ in {
 
   aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { };
 
+  aiolip = callPackage ../development/python-modules/aiolip { };
+
   aiolyric = callPackage ../development/python-modules/aiolyric { };
 
   aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { };
@@ -335,6 +341,8 @@ in {
 
   aioswitcher = callPackage ../development/python-modules/aioswitcher { };
 
+  aiosyncthing = callPackage ../development/python-modules/aiosyncthing { };
+
   aiounifi = callPackage ../development/python-modules/aiounifi { };
 
   aiounittest = callPackage ../development/python-modules/aiounittest { };
@@ -477,6 +485,8 @@ in {
 
   arrow = callPackage ../development/python-modules/arrow { };
 
+  arrow_1 = callPackage ../development/python-modules/arrow/1.nix { };
+
   arviz = callPackage ../development/python-modules/arviz { };
 
   arxiv2bib = callPackage ../development/python-modules/arxiv2bib { };
@@ -2169,6 +2179,8 @@ in {
 
   exifread = callPackage ../development/python-modules/exifread { };
 
+  expects = callPackage ../development/python-modules/expects { };
+
   expiringdict = callPackage ../development/python-modules/expiringdict { };
 
   exrex = callPackage ../development/python-modules/exrex { };
@@ -2973,6 +2985,8 @@ in {
 
   homeassistant-pyozw = callPackage ../development/python-modules/homeassistant-pyozw { };
 
+  homematicip = callPackage ../development/python-modules/homematicip { };
+
   homepluscontrol = callPackage ../development/python-modules/homepluscontrol { };
 
   hoomd-blue = toPythonModule (callPackage ../development/python-modules/hoomd-blue {
@@ -3471,6 +3485,12 @@ in {
 
   kaptan = callPackage ../development/python-modules/kaptan { };
 
+  karton-asciimagic = callPackage ../development/python-modules/karton-asciimagic { };
+
+  karton-classifier = callPackage ../development/python-modules/karton-classifier { };
+
+  karton-core = callPackage ../development/python-modules/karton-core { };
+
   kazoo = callPackage ../development/python-modules/kazoo { };
 
   kconfiglib = callPackage ../development/python-modules/kconfiglib { };
@@ -4211,6 +4231,8 @@ in {
 
   mysql-connector = callPackage ../development/python-modules/mysql-connector { };
 
+  nad-receiver = callPackage ../development/python-modules/nad-receiver { };
+
   nagiosplugin = callPackage ../development/python-modules/nagiosplugin { };
 
   namedlist = callPackage ../development/python-modules/namedlist { };
@@ -4289,6 +4311,10 @@ in {
 
   neuronpy = callPackage ../development/python-modules/neuronpy { };
 
+  nevow = callPackage ../development/python-modules/nevow { };
+
+  nexia = callPackage ../development/python-modules/nexia { };
+
   nghttp2 = (toPythonModule (pkgs.nghttp2.override {
     inherit (self) python cython setuptools;
     inherit (pkgs) ncurses;
@@ -4464,6 +4490,8 @@ in {
 
   omegaconf = callPackage ../development/python-modules/omegaconf { };
 
+  omnilogic = callPackage ../development/python-modules/omnilogic { };
+
   onkyo-eiscp = callPackage ../development/python-modules/onkyo-eiscp { };
 
   onnx = callPackage ../development/python-modules/onnx { };
@@ -4504,6 +4532,11 @@ in {
 
   opentracing = callPackage ../development/python-modules/opentracing { };
 
+  openvino = disabledIf isPy27 (toPythonModule (pkgs.openvino.override {
+    inherit (self) python;
+    enablePython = true;
+  }));
+
   openwebifpy = callPackage ../development/python-modules/openwebifpy { };
 
   openwrt-luci-rpc = callPackage ../development/python-modules/openwrt-luci-rpc { };
@@ -4835,6 +4868,8 @@ in {
 
   pyshark = callPackage ../development/python-modules/pyshark { };
 
+  pytest-subprocess = callPackage ../development/python-modules/pytest-subprocess { };
+
   python-codon-tables = callPackage ../development/python-modules/python-codon-tables { };
 
   python-csxcad = callPackage ../development/python-modules/python-csxcad { };
@@ -5209,6 +5244,8 @@ in {
 
   PyChromecast = callPackage ../development/python-modules/pychromecast { };
 
+  pyclimacell = callPackage ../development/python-modules/pyclimacell { };
+
   pyclipper = callPackage ../development/python-modules/pyclipper { };
 
   pycm = callPackage ../development/python-modules/pycm { };
@@ -5258,6 +5295,8 @@ in {
 
   pydaikin = callPackage ../development/python-modules/pydaikin { };
 
+  pydanfossair = callPackage ../development/python-modules/pydanfossair { };
+
   pydantic = callPackage ../development/python-modules/pydantic { };
 
   pydash = callPackage ../development/python-modules/pydash { };
@@ -5292,6 +5331,10 @@ in {
 
   pydy = callPackage ../development/python-modules/pydy { };
 
+  pyechonest = callPackage ../development/python-modules/pyechonest { };
+
+  pyeconet = callPackage ../development/python-modules/pyeconet { };
+
   pyedimax = callPackage ../development/python-modules/pyedimax { };
 
   pyee = callPackage ../development/python-modules/pyee { };
@@ -5300,12 +5343,16 @@ in {
 
   pyelftools = callPackage ../development/python-modules/pyelftools { };
 
+  pyemby = callPackage ../development/python-modules/pyemby { };
+
   pyemd = callPackage ../development/python-modules/pyemd { };
 
   pyenchant = callPackage ../development/python-modules/pyenchant {
     inherit (pkgs) enchant2;
   };
 
+  pyenvisalink = callPackage ../development/python-modules/pyenvisalink { };
+
   pyepsg = callPackage ../development/python-modules/pyepsg { };
 
   pyerfa = callPackage ../development/python-modules/pyerfa { };
@@ -5322,6 +5369,8 @@ in {
 
   pyext = callPackage ../development/python-modules/pyext { };
 
+  pyezviz = callPackage ../development/python-modules/pyezviz { };
+
   pyface = callPackage ../development/python-modules/pyface { };
 
   pyfaidx = callPackage ../development/python-modules/pyfaidx { };
@@ -5442,6 +5491,8 @@ in {
 
   pyinsteon = callPackage ../development/python-modules/pyinsteon { };
 
+  pyintesishome = callPackage ../development/python-modules/pyintesishome { };
+
   pyipp = callPackage ../development/python-modules/pyipp { };
 
   pyiqvia = callPackage ../development/python-modules/pyiqvia { };
@@ -5532,6 +5583,8 @@ in {
 
   pylutron = callPackage ../development/python-modules/pylutron { };
 
+  pylutron-caseta = callPackage ../development/python-modules/pylutron-caseta { };
+
   pylxd = callPackage ../development/python-modules/pylxd { };
 
   pymacaroons = callPackage ../development/python-modules/pymacaroons { };
@@ -5833,6 +5886,8 @@ in {
 
   pyrtlsdr = callPackage ../development/python-modules/pyrtlsdr { };
 
+  pyruckus = callPackage ../development/python-modules/pyruckus { };
+
   pysam = callPackage ../development/python-modules/pysam { };
 
   pysaml2 = callPackage ../development/python-modules/pysaml2 {
@@ -6259,6 +6314,8 @@ in {
 
   pythonefl = callPackage ../development/python-modules/python-efl { };
 
+  pythonegardia = callPackage ../development/python-modules/pythonegardia { };
+
   python-engineio = callPackage ../development/python-modules/python-engineio { };
 
   python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { };
@@ -6568,6 +6625,8 @@ in {
 
   pywebview = callPackage ../development/python-modules/pywebview { };
 
+  pywemo = callPackage ../development/python-modules/pywemo { };
+
   pywick = callPackage ../development/python-modules/pywick { };
 
   pywilight = callPackage ../development/python-modules/pywilight { };
@@ -7230,6 +7289,8 @@ in {
 
   sleekxmpp = callPackage ../development/python-modules/sleekxmpp { };
 
+  sleepyq = callPackage ../development/python-modules/sleepyq { };
+
   slicedimage = callPackage ../development/python-modules/slicedimage { };
 
   slicer = callPackage ../development/python-modules/slicer { };
@@ -7358,6 +7419,8 @@ in {
 
   sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { };
 
+  sphinxcontrib-bayesnet = callPackage ../development/python-modules/sphinxcontrib-bayesnet { };
+
   sphinxcontrib-bibtex = callPackage ../development/python-modules/sphinxcontrib-bibtex { };
 
   sphinxcontrib-blockdiag = callPackage ../development/python-modules/sphinxcontrib-blockdiag { };
@@ -8249,6 +8312,8 @@ in {
 
   webencodings = callPackage ../development/python-modules/webencodings { };
 
+  webexteamssdk = callPackage ../development/python-modules/webexteamssdk { };
+
   webhelpers = callPackage ../development/python-modules/webhelpers { };
 
   webob = callPackage ../development/python-modules/webob { };
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 8fc460ca522..77f3cc677f6 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -227,6 +227,8 @@ let
           }.${stdenv.hostPlatform.parsed.abi.name}
             or lib.systems.parse.abis.musl;
         };
+      } // lib.optionalAttrs (stdenv.hostPlatform.system == "powerpc64-linux") {
+        gcc.abi = "elfv2";
       };
     });
   };