summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/licenses.nix5
-rw-r--r--maintainers/maintainer-list.nix18
-rw-r--r--nixos/doc/manual/from_md/installation/installing-pxe.section.xml4
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml33
-rw-r--r--nixos/doc/manual/installation/installing-pxe.section.md4
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md13
-rw-r--r--nixos/modules/module-list.nix4
-rw-r--r--nixos/modules/services/audio/jmusicbot.nix9
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix (renamed from nixos/modules/services/misc/home-assistant.nix)350
-rw-r--r--nixos/modules/services/misc/input-remapper.nix29
-rw-r--r--nixos/modules/services/networking/squid.nix10
-rw-r--r--nixos/modules/services/web-apps/matomo.nix1
-rw-r--r--nixos/modules/services/web-servers/agate.nix148
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl9
-rw-r--r--nixos/modules/system/activation/top-level.nix2
-rw-r--r--nixos/modules/virtualisation/containerd.nix1
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/home-assistant.nix102
-rw-r--r--nixos/tests/web-servers/agate.nix29
-rw-r--r--pkgs/applications/audio/geonkick/default.nix4
-rw-r--r--pkgs/applications/audio/jmusicbot/default.nix2
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/sptlrx/default.nix24
-rw-r--r--pkgs/applications/blockchains/go-ethereum/default.nix6
-rw-r--r--pkgs/applications/blockchains/snarkos/default.nix6
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix7
-rw-r--r--pkgs/applications/editors/setzer/default.nix4
-rw-r--r--pkgs/applications/emulators/ares/default.nix (renamed from pkgs/misc/emulators/ares/default.nix)0
-rw-r--r--pkgs/applications/emulators/ares/fix-ruby.patch (renamed from pkgs/misc/emulators/ares/fix-ruby.patch)0
-rw-r--r--pkgs/applications/emulators/atari++/default.nix (renamed from pkgs/misc/emulators/atari++/default.nix)0
-rw-r--r--pkgs/applications/emulators/atari800/default.nix (renamed from pkgs/misc/emulators/atari800/default.nix)0
-rw-r--r--pkgs/applications/emulators/attract-mode/default.nix (renamed from pkgs/misc/emulators/attract-mode/default.nix)0
-rw-r--r--pkgs/applications/emulators/bochs/default.nix (renamed from pkgs/applications/virtualization/bochs/default.nix)0
-rw-r--r--pkgs/applications/emulators/bsnes-hd/default.nix (renamed from pkgs/misc/emulators/bsnes-hd/default.nix)0
-rw-r--r--pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch (renamed from pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch)0
-rw-r--r--pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch (renamed from pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch)0
-rw-r--r--pkgs/applications/emulators/caprice32/default.nix (renamed from pkgs/misc/emulators/caprice32/default.nix)0
-rw-r--r--pkgs/applications/emulators/caprice32/string.patch (renamed from pkgs/misc/emulators/caprice32/string.patch)0
-rw-r--r--pkgs/applications/emulators/ccemux/default.nix (renamed from pkgs/misc/emulators/ccemux/default.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/analyzer.nix (renamed from pkgs/misc/emulators/cdemu/analyzer.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/base.nix (renamed from pkgs/misc/emulators/cdemu/base.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/client.nix (renamed from pkgs/misc/emulators/cdemu/client.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/daemon.nix (renamed from pkgs/misc/emulators/cdemu/daemon.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/gui.nix (renamed from pkgs/misc/emulators/cdemu/gui.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/libmirage.nix (renamed from pkgs/misc/emulators/cdemu/libmirage.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/vhba.nix (renamed from pkgs/misc/emulators/cdemu/vhba.nix)0
-rw-r--r--pkgs/applications/emulators/cen64/default.nix (renamed from pkgs/misc/emulators/cen64/default.nix)0
-rw-r--r--pkgs/applications/emulators/citra/default.nix (renamed from pkgs/misc/emulators/citra/default.nix)0
-rw-r--r--pkgs/applications/emulators/commanderx16/emulator.nix (renamed from pkgs/misc/emulators/commanderx16/emulator.nix)0
-rw-r--r--pkgs/applications/emulators/commanderx16/rom.nix (renamed from pkgs/misc/emulators/commanderx16/rom.nix)0
-rw-r--r--pkgs/applications/emulators/commanderx16/run.nix (renamed from pkgs/misc/emulators/commanderx16/run.nix)0
-rw-r--r--pkgs/applications/emulators/craftos-pc/default.nix (renamed from pkgs/misc/emulators/craftos-pc/default.nix)0
-rw-r--r--pkgs/applications/emulators/darcnes/default.nix (renamed from pkgs/misc/emulators/darcnes/default.nix)0
-rw-r--r--pkgs/applications/emulators/darcnes/label.patch (renamed from pkgs/misc/emulators/darcnes/label.patch)0
-rw-r--r--pkgs/applications/emulators/desmume/default.nix (renamed from pkgs/misc/emulators/desmume/default.nix)0
-rw-r--r--pkgs/applications/emulators/dgen-sdl/default.nix (renamed from pkgs/misc/emulators/dgen-sdl/default.nix)0
-rw-r--r--pkgs/applications/emulators/dlx/default.nix (renamed from pkgs/misc/emulators/dlx/default.nix)0
-rw-r--r--pkgs/applications/emulators/dolphin-emu/default.nix (renamed from pkgs/misc/emulators/dolphin-emu/default.nix)0
-rw-r--r--pkgs/applications/emulators/dolphin-emu/master.nix (renamed from pkgs/misc/emulators/dolphin-emu/master.nix)0
-rw-r--r--pkgs/applications/emulators/dolphin-emu/primehack.nix (renamed from pkgs/misc/emulators/dolphin-emu/primehack.nix)0
-rw-r--r--pkgs/applications/emulators/dosbox-staging/default.nix (renamed from pkgs/misc/emulators/dosbox-staging/default.nix)0
-rw-r--r--pkgs/applications/emulators/dosbox/default.nix (renamed from pkgs/misc/emulators/dosbox/default.nix)0
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix (renamed from pkgs/misc/emulators/duckstation/default.nix)0
-rw-r--r--pkgs/applications/emulators/dynamips/default.nix (renamed from pkgs/applications/virtualization/dynamips/default.nix)12
-rw-r--r--pkgs/applications/emulators/emu2/default.nix (renamed from pkgs/misc/emulators/emu2/default.nix)0
-rw-r--r--pkgs/applications/emulators/emulationstation/default.nix (renamed from pkgs/misc/emulators/emulationstation/default.nix)0
-rw-r--r--pkgs/applications/emulators/epsxe/default.nix (renamed from pkgs/misc/emulators/epsxe/default.nix)0
-rw-r--r--pkgs/applications/emulators/fakenes/build.patch (renamed from pkgs/misc/emulators/fakenes/build.patch)0
-rw-r--r--pkgs/applications/emulators/fakenes/default.nix (renamed from pkgs/misc/emulators/fakenes/default.nix)0
-rw-r--r--pkgs/applications/emulators/fceux/default.nix (renamed from pkgs/misc/emulators/fceux/default.nix)0
-rw-r--r--pkgs/applications/emulators/firebird-emu/default.nix (renamed from pkgs/misc/emulators/firebird-emu/default.nix)0
-rw-r--r--pkgs/applications/emulators/fs-uae/default.nix (renamed from pkgs/misc/emulators/fs-uae/default.nix)0
-rw-r--r--pkgs/applications/emulators/fs-uae/launcher.nix (renamed from pkgs/misc/emulators/fs-uae/launcher.nix)0
-rw-r--r--pkgs/applications/emulators/fuse-emulator/default.nix (renamed from pkgs/misc/emulators/fuse-emulator/default.nix)0
-rw-r--r--pkgs/applications/emulators/gens-gs/default.nix (renamed from pkgs/misc/emulators/gens-gs/default.nix)0
-rw-r--r--pkgs/applications/emulators/gxemul/0001-fix-attributes.patch (renamed from pkgs/misc/emulators/gxemul/0001-fix-attributes.patch)0
-rw-r--r--pkgs/applications/emulators/gxemul/default.nix (renamed from pkgs/misc/emulators/gxemul/default.nix)0
-rw-r--r--pkgs/applications/emulators/hatari/default.nix (renamed from pkgs/misc/emulators/hatari/default.nix)0
-rw-r--r--pkgs/applications/emulators/hercules/default.nix (renamed from pkgs/applications/virtualization/hercules/default.nix)13
-rw-r--r--pkgs/applications/emulators/higan/001-include-cmath.patch (renamed from pkgs/misc/emulators/higan/001-include-cmath.patch)0
-rw-r--r--pkgs/applications/emulators/higan/002-sips-to-png2icns.patch (renamed from pkgs/misc/emulators/higan/002-sips-to-png2icns.patch)0
-rw-r--r--pkgs/applications/emulators/higan/default.nix (renamed from pkgs/misc/emulators/higan/default.nix)0
-rw-r--r--pkgs/applications/emulators/kega-fusion/default.nix (renamed from pkgs/misc/emulators/kega-fusion/default.nix)0
-rw-r--r--pkgs/applications/emulators/lambda-delta/default.nix (renamed from pkgs/misc/emulators/lambda-delta/default.nix)0
-rw-r--r--pkgs/applications/emulators/libdsk/default.nix (renamed from pkgs/misc/emulators/libdsk/default.nix)0
-rw-r--r--pkgs/applications/emulators/maiko/default.nix (renamed from pkgs/misc/emulators/maiko/default.nix)0
-rw-r--r--pkgs/applications/emulators/mame/default.nix (renamed from pkgs/misc/emulators/mame/default.nix)0
-rw-r--r--pkgs/applications/emulators/mame/emuopts.patch (renamed from pkgs/misc/emulators/mame/emuopts.patch)0
-rw-r--r--pkgs/applications/emulators/mednafen/default.nix (renamed from pkgs/misc/emulators/mednafen/default.nix)0
-rw-r--r--pkgs/applications/emulators/mednafen/server.nix (renamed from pkgs/misc/emulators/mednafen/server.nix)0
-rw-r--r--pkgs/applications/emulators/mednaffe/default.nix (renamed from pkgs/misc/emulators/mednaffe/default.nix)0
-rw-r--r--pkgs/applications/emulators/melonDS/default.nix (renamed from pkgs/misc/emulators/melonDS/default.nix)0
-rw-r--r--pkgs/applications/emulators/mgba/default.nix (renamed from pkgs/misc/emulators/mgba/default.nix)0
-rw-r--r--pkgs/applications/emulators/mupen64plus/default.nix (renamed from pkgs/misc/emulators/mupen64plus/default.nix)0
-rw-r--r--pkgs/applications/emulators/nestopia/build-fix.patch (renamed from pkgs/misc/emulators/nestopia/build-fix.patch)0
-rw-r--r--pkgs/applications/emulators/nestopia/default.nix (renamed from pkgs/misc/emulators/nestopia/default.nix)0
-rw-r--r--pkgs/applications/emulators/nestopia/gcc6.patch (renamed from pkgs/misc/emulators/nestopia/gcc6.patch)0
-rw-r--r--pkgs/applications/emulators/np2kai/default.nix (renamed from pkgs/misc/emulators/np2kai/default.nix)0
-rw-r--r--pkgs/applications/emulators/oberon-risc-emu/default.nix (renamed from pkgs/misc/emulators/oberon-risc-emu/default.nix)0
-rw-r--r--pkgs/applications/emulators/openmsx/custom-nix.mk (renamed from pkgs/misc/emulators/openmsx/custom-nix.mk)0
-rw-r--r--pkgs/applications/emulators/openmsx/default.nix (renamed from pkgs/misc/emulators/openmsx/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcem/default.nix (renamed from pkgs/misc/emulators/pcem/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcsx2/default.nix (renamed from pkgs/misc/emulators/pcsx2/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch (renamed from pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch)0
-rw-r--r--pkgs/applications/emulators/pcsxr/default.nix (renamed from pkgs/misc/emulators/pcsxr/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcsxr/uncompress2.patch (renamed from pkgs/misc/emulators/pcsxr/uncompress2.patch)0
-rw-r--r--pkgs/applications/emulators/ppsspp/default.nix (renamed from pkgs/misc/emulators/ppsspp/default.nix)0
-rw-r--r--pkgs/applications/emulators/proton-caller/default.nix (renamed from pkgs/misc/emulators/proton-caller/default.nix)0
-rw-r--r--pkgs/applications/emulators/punes/default.nix (renamed from pkgs/misc/emulators/punes/default.nix)0
-rw-r--r--pkgs/applications/emulators/py65/default.nix (renamed from pkgs/misc/emulators/py65/default.nix)0
-rw-r--r--pkgs/applications/emulators/qmc2/default.nix (renamed from pkgs/misc/emulators/qmc2/default.nix)0
-rw-r--r--pkgs/applications/emulators/reicast/default.nix (renamed from pkgs/misc/emulators/reicast/default.nix)0
-rw-r--r--pkgs/applications/emulators/resim/default.nix (renamed from pkgs/misc/emulators/resim/default.nix)0
-rw-r--r--pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch (renamed from pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch (renamed from pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/cores.nix (renamed from pkgs/misc/emulators/retroarch/cores.nix)0
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix (renamed from pkgs/misc/emulators/retroarch/default.nix)0
-rw-r--r--pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch (renamed from pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/fix-config.patch (renamed from pkgs/misc/emulators/retroarch/fix-config.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/fix-libretro-paths.patch (renamed from pkgs/misc/emulators/retroarch/fix-libretro-paths.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json (renamed from pkgs/misc/emulators/retroarch/hashes.json)0
-rw-r--r--pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix (renamed from pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix)0
-rwxr-xr-xpkgs/applications/emulators/retroarch/update.py (renamed from pkgs/misc/emulators/retroarch/update.py)0
-rw-r--r--pkgs/applications/emulators/retroarch/wrapper.nix (renamed from pkgs/misc/emulators/retroarch/wrapper.nix)0
-rw-r--r--pkgs/applications/emulators/retrofe/default.nix (renamed from pkgs/misc/emulators/retrofe/default.nix)0
-rw-r--r--pkgs/applications/emulators/retrofe/include-paths.patch (renamed from pkgs/misc/emulators/retrofe/include-paths.patch)0
-rw-r--r--pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch (renamed from pkgs/misc/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch)0
-rw-r--r--pkgs/applications/emulators/rpcs3/default.nix (renamed from pkgs/misc/emulators/rpcs3/default.nix)0
-rwxr-xr-xpkgs/applications/emulators/rpcs3/update.sh (renamed from pkgs/misc/emulators/rpcs3/update.sh)0
-rw-r--r--pkgs/applications/emulators/ruffle/default.nix (renamed from pkgs/misc/emulators/ruffle/default.nix)0
-rw-r--r--pkgs/applications/emulators/ryujinx/default.nix (renamed from pkgs/misc/emulators/ryujinx/default.nix)0
-rw-r--r--pkgs/applications/emulators/ryujinx/deps.nix (renamed from pkgs/misc/emulators/ryujinx/deps.nix)0
-rw-r--r--pkgs/applications/emulators/ryujinx/log.patch (renamed from pkgs/misc/emulators/ryujinx/log.patch)0
-rwxr-xr-xpkgs/applications/emulators/ryujinx/updater.sh (renamed from pkgs/misc/emulators/ryujinx/updater.sh)0
-rw-r--r--pkgs/applications/emulators/sameboy/default.nix (renamed from pkgs/misc/emulators/sameboy/default.nix)0
-rw-r--r--pkgs/applications/emulators/simh/default.nix (renamed from pkgs/misc/emulators/simh/default.nix)0
-rw-r--r--pkgs/applications/emulators/simplenes/default.nix (renamed from pkgs/misc/emulators/simplenes/default.nix)0
-rw-r--r--pkgs/applications/emulators/snes9x-gtk/default.nix (renamed from pkgs/misc/emulators/snes9x-gtk/default.nix)0
-rw-r--r--pkgs/applications/emulators/stella/default.nix (renamed from pkgs/misc/emulators/stella/default.nix)0
-rw-r--r--pkgs/applications/emulators/termtekst/default.nix (renamed from pkgs/misc/emulators/termtekst/default.nix)0
-rw-r--r--pkgs/applications/emulators/tilem/default.nix (renamed from pkgs/misc/emulators/tilem/default.nix)0
-rw-r--r--pkgs/applications/emulators/tiny8086/default.nix (renamed from pkgs/applications/virtualization/tiny8086/default.nix)24
-rw-r--r--pkgs/applications/emulators/tinyemu/default.nix41
-rw-r--r--pkgs/applications/emulators/uae/default.nix (renamed from pkgs/misc/emulators/uae/default.nix)0
-rw-r--r--pkgs/applications/emulators/uxn/default.nix (renamed from pkgs/misc/emulators/uxn/default.nix)0
-rw-r--r--pkgs/applications/emulators/vbam/default.nix (renamed from pkgs/misc/emulators/vbam/default.nix)0
-rw-r--r--pkgs/applications/emulators/vice/default.nix (renamed from pkgs/misc/emulators/vice/default.nix)0
-rw-r--r--pkgs/applications/emulators/wine/base.nix (renamed from pkgs/misc/emulators/wine/base.nix)0
-rw-r--r--pkgs/applications/emulators/wine/builder-wow.sh (renamed from pkgs/misc/emulators/wine/builder-wow.sh)0
-rw-r--r--pkgs/applications/emulators/wine/cert-path.patch (renamed from pkgs/misc/emulators/wine/cert-path.patch)0
-rw-r--r--pkgs/applications/emulators/wine/default.nix (renamed from pkgs/misc/emulators/wine/default.nix)0
-rw-r--r--pkgs/applications/emulators/wine/fonts.nix (renamed from pkgs/misc/emulators/wine/fonts.nix)0
-rw-r--r--pkgs/applications/emulators/wine/packages.nix (renamed from pkgs/misc/emulators/wine/packages.nix)0
-rw-r--r--pkgs/applications/emulators/wine/sources.nix (renamed from pkgs/misc/emulators/wine/sources.nix)0
-rw-r--r--pkgs/applications/emulators/wine/staging.nix (renamed from pkgs/misc/emulators/wine/staging.nix)0
-rw-r--r--pkgs/applications/emulators/wine/util.nix (renamed from pkgs/misc/emulators/wine/util.nix)0
-rw-r--r--pkgs/applications/emulators/wine/vkd3d.nix (renamed from pkgs/misc/emulators/wine/vkd3d.nix)0
-rw-r--r--pkgs/applications/emulators/wine/winetricks.nix (renamed from pkgs/misc/emulators/wine/winetricks.nix)0
-rw-r--r--pkgs/applications/emulators/xcpc/default.nix (renamed from pkgs/misc/emulators/xcpc/default.nix)0
-rw-r--r--pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch (renamed from pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch)0
-rw-r--r--pkgs/applications/emulators/yabause/default.nix (renamed from pkgs/misc/emulators/yabause/default.nix)0
-rw-r--r--pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch (renamed from pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch)0
-rw-r--r--pkgs/applications/emulators/yapesdl/default.nix (renamed from pkgs/misc/emulators/yapesdl/default.nix)0
-rw-r--r--pkgs/applications/emulators/yuzu/base.nix (renamed from pkgs/misc/emulators/yuzu/base.nix)2
-rw-r--r--pkgs/applications/emulators/yuzu/default.nix (renamed from pkgs/misc/emulators/yuzu/default.nix)4
-rw-r--r--pkgs/applications/emulators/zesarux/default.nix (renamed from pkgs/misc/emulators/zesarux/default.nix)0
-rw-r--r--pkgs/applications/emulators/zsnes/default.nix (renamed from pkgs/misc/emulators/zsnes/default.nix)0
-rw-r--r--pkgs/applications/graphics/azpainter/default.nix31
-rw-r--r--pkgs/applications/graphics/darktable/default.nix13
-rw-r--r--pkgs/applications/graphics/feh/default.nix14
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/misc/dupeguru/default.nix2
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/lemonade/default.nix35
-rw-r--r--pkgs/applications/misc/orca/default.nix4
-rw-r--r--pkgs/applications/misc/plasma-theme-switcher/default.nix42
-rw-r--r--pkgs/applications/misc/whalebird/default.nix4
-rw-r--r--pkgs/applications/misc/wike/default.nix18
-rw-r--r--pkgs/applications/misc/zettlr/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json24
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/icecat-bin/default.nix130
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubectl-doctor/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/qbec/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/gitter/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix2
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix3
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/office/kalendar/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/chemtool/default.nix1
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/geometry/tetgen/default.nix17
-rw-r--r--pkgs/applications/science/logic/formula/default.nix32
-rw-r--r--pkgs/applications/science/logic/formula/nuget.nix77
-rw-r--r--pkgs/applications/science/logic/key/default.nix3
-rw-r--r--pkgs/applications/science/logic/tlaplus/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix11
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix4
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix9
-rw-r--r--pkgs/applications/virtualization/tinyemu/default.nix23
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--pkgs/data/fonts/gandom-fonts/default.nix4
-rw-r--r--pkgs/data/fonts/montserrat/default.nix4
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/themes/artim-dark/default.nix35
-rw-r--r--pkgs/data/themes/pitch-black/default.nix30
-rw-r--r--pkgs/desktops/enlightenment/efl/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/enlightenment/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gedit/default.nix13
-rw-r--r--pkgs/desktops/gnome/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-initial-setup/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/yelp/default.nix8
-rw-r--r--pkgs/desktops/gnome/extensions/arcmenu/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gnome-autoar/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/default.nix4
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix4
-rw-r--r--pkgs/development/compilers/elm/default.nix349
-rw-r--r--pkgs/development/compilers/elm/packages/elm-json.nix22
-rw-r--r--pkgs/development/compilers/elm/packages/elm-test-rs.nix17
-rw-r--r--pkgs/development/compilers/elm/packages/elm.nix1
-rw-r--r--pkgs/development/compilers/tvm/default.nix4
-rw-r--r--pkgs/development/coq-modules/ITree/default.nix2
-rw-r--r--pkgs/development/coq-modules/VST/default.nix11
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix10
-rw-r--r--pkgs/development/coq-modules/coq-elpi/default.nix5
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix11
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml15
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml76
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml14
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1685
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/nqp.nix4
-rw-r--r--pkgs/development/libraries/apr-util/default.nix11
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix12
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix1
-rw-r--r--pkgs/development/libraries/libindicator/default.nix8
-rw-r--r--pkgs/development/libraries/libplctag/default.nix4
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/minizip/default.nix3
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix4
-rw-r--r--pkgs/development/libraries/opencl-headers/default.nix2
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix6
-rw-r--r--pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-device-libs/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/metis/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/primesieve/default.nix4
-rw-r--r--pkgs/development/libraries/volk/default.nix9
-rw-r--r--pkgs/development/node-packages/default.nix14
-rw-r--r--pkgs/development/node-packages/node-packages.json4
-rw-r--r--pkgs/development/node-packages/node-packages.nix819
-rw-r--r--pkgs/development/node-packages/package-tests/tailwindcss.nix38
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix3
-rw-r--r--pkgs/development/python-modules/aiohue/default.nix8
-rw-r--r--pkgs/development/python-modules/aiopyarr/default.nix45
-rw-r--r--pkgs/development/python-modules/asyncwhois/default.nix22
-rw-r--r--pkgs/development/python-modules/autarco/default.nix59
-rw-r--r--pkgs/development/python-modules/blis/default.nix4
-rw-r--r--pkgs/development/python-modules/cirq-rigetti/default.nix2
-rw-r--r--pkgs/development/python-modules/concurrent-log-handler/default.nix4
-rw-r--r--pkgs/development/python-modules/croniter/default.nix4
-rw-r--r--pkgs/development/python-modules/dendropy/default.nix12
-rw-r--r--pkgs/development/python-modules/diceware/default.nix4
-rw-r--r--pkgs/development/python-modules/eiswarnung/default.nix58
-rw-r--r--pkgs/development/python-modules/emv/default.nix1
-rw-r--r--pkgs/development/python-modules/findimports/default.nix38
-rw-r--r--pkgs/development/python-modules/furo/default.nix4
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/icecream/default.nix4
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/net2grid/default.nix58
-rw-r--r--pkgs/development/python-modules/nose2/default.nix19
-rw-r--r--pkgs/development/python-modules/p1monitor/default.nix22
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/pynndescent/default.nix11
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix17
-rw-r--r--pkgs/development/python-modules/pyqt/sip.nix28
-rw-r--r--pkgs/development/python-modules/pyquil/default.nix17
-rw-r--r--pkgs/development/python-modules/pywizlight/default.nix4
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix6
-rw-r--r--pkgs/development/python-modules/scp/default.nix4
-rw-r--r--pkgs/development/python-modules/yalesmartalarmclient/default.nix12
-rw-r--r--pkgs/development/tools/amazon-qldb-shell/default.nix40
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix4
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/bingo/default.nix41
-rw-r--r--pkgs/development/tools/bingo/version_go.patch17
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix6
-rwxr-xr-xpkgs/development/tools/build-managers/gradle/update.sh18
-rw-r--r--pkgs/development/tools/circup/default.nix52
-rw-r--r--pkgs/development/tools/ddosify/default.nix4
-rw-r--r--pkgs/development/tools/earthly/default.nix6
-rw-r--r--pkgs/development/tools/electron/default.nix64
-rw-r--r--pkgs/development/tools/frugal/default.nix6
-rw-r--r--pkgs/development/tools/ginkgo/default.nix4
-rw-r--r--pkgs/development/tools/ktlint/default.nix4
-rw-r--r--pkgs/development/tools/mani/default.nix6
-rw-r--r--pkgs/development/tools/mask/default.nix6
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix4
-rw-r--r--pkgs/development/tools/misc/nix-build-uncached/default.nix4
-rw-r--r--pkgs/development/tools/misc/semver-tool/default.nix6
-rw-r--r--pkgs/development/tools/nwjs/default.nix4
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix4
-rw-r--r--pkgs/development/tools/quick-lint-js/default.nix24
-rw-r--r--pkgs/development/tools/regclient/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix6
-rw-r--r--pkgs/development/tools/skopeo/default.nix4
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/unityhub/default.nix2
-rw-r--r--pkgs/development/tools/yq-go/default.nix4
-rw-r--r--pkgs/development/web/bloomrpc/default.nix10
-rw-r--r--pkgs/development/web/cypress/default.nix2
-rw-r--r--pkgs/development/web/insomnia/default.nix3
-rw-r--r--pkgs/games/cl-wordle/default.nix8
-rw-r--r--pkgs/games/cl-wordle/rust-1-57.diff13
-rw-r--r--pkgs/games/ddnet/default.nix4
-rw-r--r--pkgs/games/rpg-cli/default.nix6
-rw-r--r--pkgs/games/vassal/default.nix10
-rw-r--r--pkgs/misc/drivers/hplip/default.nix1
-rw-r--r--pkgs/misc/vim-plugins/generated.nix12
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rwxr-xr-xpkgs/misc/vscode-extensions/update_installed_exts.sh2
-rw-r--r--pkgs/servers/gemini/agate/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix17
-rw-r--r--pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch27
-rw-r--r--pkgs/servers/http/apt-cacher-ng/default.nix13
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix56
-rw-r--r--pkgs/servers/mycorrhiza/default.nix6
-rw-r--r--pkgs/servers/nats-server/default.nix20
-rw-r--r--pkgs/servers/nextcloud/default.nix12
-rwxr-xr-xpkgs/servers/nosql/eventstore/create-deps.sh2
-rw-r--r--pkgs/servers/sql/mariadb/default.nix26
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--pkgs/servers/web-apps/matomo/change-path-geoip2.patch10
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix22
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix17
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/archivers/tarlz/default.nix6
-rw-r--r--pkgs/tools/compression/lziprecover/default.nix4
-rw-r--r--pkgs/tools/graphics/transfig/default.nix63
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch75
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch15
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch21
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch19
-rw-r--r--pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch22
-rw-r--r--pkgs/tools/graphics/zbar/default.nix2
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix157
-rw-r--r--pkgs/tools/misc/fpp/default.nix9
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix2
-rw-r--r--pkgs/tools/misc/opencbm/default.nix7
-rw-r--r--pkgs/tools/misc/phrase-cli/default.nix26
-rw-r--r--pkgs/tools/misc/plocate/dbfile.patch29
-rw-r--r--pkgs/tools/misc/plocate/default.nix9
-rw-r--r--pkgs/tools/misc/rates/default.nix6
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix6
-rw-r--r--pkgs/tools/networking/mqttui/default.nix6
-rw-r--r--pkgs/tools/networking/ofono/default.nix9
-rw-r--r--pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--pkgs/tools/security/grype/default.nix17
-rw-r--r--pkgs/tools/security/haveged/default.nix8
-rw-r--r--pkgs/tools/security/solo2-cli/default.nix1
-rw-r--r--pkgs/tools/system/btop/default.nix4
-rw-r--r--pkgs/tools/system/netdata/default.nix4
-rw-r--r--pkgs/tools/text/colordiff/default.nix4
-rw-r--r--pkgs/tools/text/csview/default.nix6
-rw-r--r--pkgs/tools/text/mdcat/default.nix17
-rw-r--r--pkgs/tools/typesetting/pdftk/default.nix2
-rw-r--r--pkgs/tools/typesetting/skribilo/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/dblatex/default.nix13
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix250
-rw-r--r--pkgs/top-level/coq-packages.nix4
-rw-r--r--pkgs/top-level/linux-kernels.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix15
-rw-r--r--pkgs/top-level/python-packages.nix12
-rw-r--r--pkgs/top-level/wine-packages.nix4
407 files changed, 4234 insertions, 2720 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix
index aa3fa7c6e56..b9310ef6c5b 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -596,6 +596,11 @@ in mkLicense lset) ({
     spdxId = "MIT";
     fullName = "MIT License";
   };
+  # https://spdx.org/licenses/MIT-feh.html
+  mit-feh = {
+    spdxId = "MIT-feh";
+    fullName = "feh License";
+  };
 
   mitAdvertising = {
     spdxId = "MIT-advertising";
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 4ffcc6238a5..1e9a4fbed44 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -6079,6 +6079,12 @@
     githubId = 810075;
     name = "Juan Rodal";
   };
+  juboba = {
+    email = "juboba@gmail.com";
+    github = "juboba";
+    githubId = 1189739;
+    name = "Julio Borja Barra";
+  };
   juliendehos = {
     email = "dehos@lisic.univ-littoral.fr";
     github = "juliendehos";
@@ -6332,6 +6338,12 @@
     githubId = 209729;
     name = "Kevin Griffin";
   };
+  kevink = {
+    email = "kevin@kevink.dev";
+    github = "Unkn0wnCat";
+    githubId = 8211181;
+    name = "Kevin Kandlbinder";
+  };
   kfollesdal = {
     email = "kfollesdal@gmail.com";
     github = "kfollesdal";
@@ -7110,6 +7122,12 @@
     githubId = 30698906;
     name = "Luna D Dragon";
   };
+  LunNova = {
+    email = "nixpkgs-maintainer@lunnova.dev";
+    github = "LunNova";
+    githubId = 782440;
+    name = "Luna Nova";
+  };
   lionello = {
     email = "lio@lunesu.com";
     github = "lionello";
diff --git a/nixos/doc/manual/from_md/installation/installing-pxe.section.xml b/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
index 1dd15ddacba..94172de65ea 100644
--- a/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
+++ b/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
@@ -7,11 +7,11 @@
   <para>
     These instructions assume that you have an existing PXE or iPXE
     infrastructure and simply want to add the NixOS installer as another
-    option. To build the necessary files from a recent version of
+    option. To build the necessary files from your current version of
     nixpkgs, you can run:
   </para>
   <programlisting>
-nix-build -A netboot.x86_64-linux nixos/release.nix
+nix-build -A netboot.x86_64-linux '&lt;nixpkgs/nixos/release.nix&gt;'
 </programlisting>
   <para>
     This will create a <literal>result</literal> directory containing: *
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 7ac06869055..c234cda499f 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -124,6 +124,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/sezanzeb/input-remapper">input-remapper</link>,
+          an easy to use tool to change the mapping of your input device
+          buttons. Available at
+          <link xlink:href="options.html#opt-services.input-remapper.enable">services.input-remapper</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://invoiceplane.com">InvoicePlane</link>,
           web application for managing and creating invoices. Available
           at
@@ -154,6 +162,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/mbrubeck/agate">agate</link>,
+          a very simple server for the Gemini hypertext protocol.
+          Available as
+          <link xlink:href="options.html#opt-services.agate.enable">services.agate</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm">ArchiSteamFarm</link>,
           a C# application with primary purpose of idling Steam cards
           from multiple accounts simultaneously. Available as
@@ -263,6 +279,23 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>home-assistant</literal> module now requires
+          users that don’t want their configuration to be managed
+          declaratively to set
+          <literal>services.home-assistant.config = null;</literal>.
+          This is required due to the way default settings are handled
+          with the new settings style.
+        </para>
+        <para>
+          Additionally the default list of
+          <literal>extraComponents</literal> now includes the minimal
+          dependencies to successfully complete the
+          <link xlink:href="https://www.home-assistant.io/getting-started/onboarding/">onboarding</link>
+          procedure.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>pkgs.emacsPackages.orgPackages</literal> is removed
           because org elpa is deprecated. The packages in the top level
           of <literal>pkgs.emacsPackages</literal>, such as org and
diff --git a/nixos/doc/manual/installation/installing-pxe.section.md b/nixos/doc/manual/installation/installing-pxe.section.md
index 2016a258251..4fbd6525f8c 100644
--- a/nixos/doc/manual/installation/installing-pxe.section.md
+++ b/nixos/doc/manual/installation/installing-pxe.section.md
@@ -5,11 +5,11 @@ setup.
 
 These instructions assume that you have an existing PXE or iPXE
 infrastructure and simply want to add the NixOS installer as another
-option. To build the necessary files from a recent version of nixpkgs,
+option. To build the necessary files from your current version of nixpkgs,
 you can run:
 
 ```ShellSession
-nix-build -A netboot.x86_64-linux nixos/release.nix
+nix-build -A netboot.x86_64-linux '<nixpkgs/nixos/release.nix>'
 ```
 
 This will create a `result` directory containing: \* `bzImage` -- the
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 7d6410ca16c..567a6d6780a 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -39,6 +39,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).
 
+- [input-remapper](https://github.com/sezanzeb/input-remapper), an easy to use tool to change the mapping of your input device buttons. Available at [services.input-remapper](options.html#opt-services.input-remapper.enable).
+
 - [InvoicePlane](https://invoiceplane.com), web application for managing and creating invoices. Available at [services.invoiceplane](options.html#opt-services.invoiceplane.enable).
 
 - [maddy](https://maddy.email), a composable all-in-one mail server. Available as [services.maddy](options.html#opt-services.maddy.enable).
@@ -47,6 +49,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [tetrd](https://tetrd.app), share your internet connection from your device to your PC and vice versa through a USB cable. Available at [services.tetrd](#opt-services.tetrd.enable).
 
+- [agate](https://github.com/mbrubeck/agate), a very simple server for the Gemini hypertext protocol. Available as [services.agate](options.html#opt-services.agate.enable).
+
 - [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm), a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously. Available as [services.archisteamfarm](options.html#opt-services.archisteamfarm.enable).
 
 - [teleport](https://goteleport.com), allows engineers and security professionals to unify access for SSH servers, Kubernetes clusters, web applications, and databases across all environments. Available at [services.teleport](#opt-services.teleport.enable).
@@ -89,6 +93,15 @@ In addition to numerous new and upgraded packages, this release has the followin
   `useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
   one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
 
+- The `home-assistant` module now requires users that don't want their
+  configuration to be managed declaratively to set
+  `services.home-assistant.config = null;`. This is required
+  due to the way default settings are handled with the new settings style.
+
+  Additionally the default list of `extraComponents` now includes the minimal
+  dependencies to successfully complete the [onboarding](https://www.home-assistant.io/getting-started/onboarding/)
+  procedure.
+
 - `pkgs.emacsPackages.orgPackages` is removed because org elpa is deprecated.
   The packages in the top level of `pkgs.emacsPackages`, such as org and
   org-contrib, refer to the ones in `pkgs.emacsPackages.elpaPackages` and
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index e782e79661e..b6d9bd00629 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -450,6 +450,7 @@
   ./services/hardware/undervolt.nix
   ./services/hardware/vdr.nix
   ./services/hardware/xow.nix
+  ./services/home-automation/home-assistant.nix
   ./services/logging/SystemdJournal2Gelf.nix
   ./services/logging/awstats.nix
   ./services/logging/filebeat.nix
@@ -545,8 +546,8 @@
   ./services/misc/headphones.nix
   ./services/misc/heisenbridge.nix
   ./services/misc/greenclip.nix
-  ./services/misc/home-assistant.nix
   ./services/misc/ihaskell.nix
+  ./services/misc/input-remapper.nix
   ./services/misc/irkerd.nix
   ./services/misc/jackett.nix
   ./services/misc/jellyfin.nix
@@ -1056,6 +1057,7 @@
   ./services/web-apps/wordpress.nix
   ./services/web-apps/youtrack.nix
   ./services/web-apps/zabbix.nix
+  ./services/web-servers/agate.nix
   ./services/web-servers/apache-httpd/default.nix
   ./services/web-servers/caddy/default.nix
   ./services/web-servers/darkhttpd.nix
diff --git a/nixos/modules/services/audio/jmusicbot.nix b/nixos/modules/services/audio/jmusicbot.nix
index f573bd2ab8d..e0f8d461af0 100644
--- a/nixos/modules/services/audio/jmusicbot.nix
+++ b/nixos/modules/services/audio/jmusicbot.nix
@@ -9,6 +9,13 @@ in
     services.jmusicbot = {
       enable = mkEnableOption "jmusicbot, a Discord music bot that's easy to set up and run yourself";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.jmusicbot;
+        defaultText = literalExpression "pkgs.jmusicbot";
+        description = "JMusicBot package to use";
+      };
+
       stateDir = mkOption {
         type = types.path;
         description = ''
@@ -27,7 +34,7 @@ in
       after = [ "network-online.target" ];
       description = "Discord music bot that's easy to set up and run yourself!";
       serviceConfig = mkMerge [{
-        ExecStart = "${pkgs.jmusicbot}/bin/JMusicBot";
+        ExecStart = "${cfg.package}/bin/JMusicBot";
         WorkingDirectory = cfg.stateDir;
         Restart = "always";
         RestartSec = 20;
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index fc8ce08b2e1..f4197650ab2 100644
--- a/nixos/modules/services/misc/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -4,35 +4,27 @@ with lib;
 
 let
   cfg = config.services.home-assistant;
+  format = pkgs.formats.yaml {};
 
-  # cfg.config != null can be assumed here
-  configJSON = pkgs.writeText "configuration.json"
-    (builtins.toJSON (if cfg.applyDefaultConfig then
-    (recursiveUpdate defaultConfig cfg.config) else cfg.config));
+  # Render config attribute sets to YAML
+  # Values that are null will be filtered from the output, so this is one way to have optional
+  # options shown in settings.
+  # We post-process the result to add support for YAML functions, like secrets or includes, see e.g.
+  # https://www.home-assistant.io/docs/configuration/secrets/
+  filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ null ])) cfg.config or {};
   configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } ''
-    ${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
-    # Hack to support custom yaml objects,
-    # i.e. secrets: https://www.home-assistant.io/docs/configuration/secrets/
+    cp ${format.generate "configuration.yaml" filteredConfig} $out
     sed -i -e "s/'\!\([a-z_]\+\) \(.*\)'/\!\1 \2/;s/^\!\!/\!/;" $out
   '';
+  lovelaceConfig = cfg.lovelaceConfig or {};
+  lovelaceConfigFile = format.generate "ui-lovelace.yaml" lovelaceConfig;
 
-  lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json"
-    (builtins.toJSON cfg.lovelaceConfig);
-  lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { preferLocalBuild = true; } ''
-    ${pkgs.remarshal}/bin/json2yaml -i ${lovelaceConfigJSON} -o $out
-  '';
-
+  # Components advertised by the home-assistant package
   availableComponents = cfg.package.availableComponents;
 
+  # Components that were added by overriding the package
   explicitComponents = cfg.package.extraComponents;
-
-  usedPlatforms = config:
-    if isAttrs config then
-      optional (config ? platform) config.platform
-      ++ concatMap usedPlatforms (attrValues config)
-    else if isList config then
-      concatMap usedPlatforms config
-    else [ ];
+  useExplicitComponent = component: elem component explicitComponents;
 
   # Given a component "platform", looks up whether it is used in the config
   # as `platform = "platform";`.
@@ -42,34 +34,46 @@ let
   #   platform = "mqtt";
   #   ...
   # } ];
-  useComponentPlatform = component: elem component (usedPlatforms cfg.config);
+  usedPlatforms = config:
+    if isAttrs config then
+      optional (config ? platform) config.platform
+      ++ concatMap usedPlatforms (attrValues config)
+    else if isList config then
+      concatMap usedPlatforms config
+    else [ ];
 
-  useExplicitComponent = component: elem component explicitComponents;
+  useComponentPlatform = component: elem component (usedPlatforms cfg.config);
 
-  # Returns whether component is used in config or explicitly passed into package
+  # Returns whether component is used in config, explicitly passed into package or
+  # configured in the module.
   useComponent = component:
     hasAttrByPath (splitString "." component) cfg.config
     || useComponentPlatform component
-    || useExplicitComponent component;
+    || useExplicitComponent component
+    || builtins.elem component cfg.extraComponents;
 
-  # List of components used in config
+  # Final list of components passed into the package to include required dependencies
   extraComponents = filter useComponent availableComponents;
 
-  package = if (cfg.autoExtraComponents && cfg.config != null)
-    then (cfg.package.override { inherit extraComponents; })
-    else cfg.package;
+  package = (cfg.package.override (oldArgs: {
+    # Respect overrides that already exist in the passed package and
+    # concat it with values passed via the module.
+    extraComponents = oldArgs.extraComponents or [] ++ extraComponents;
+    extraPackages = ps: (oldArgs.extraPackages or (_: []) ps) ++ (cfg.extraPackages ps);
+  }));
+in {
+  imports = [
+    # Migrations in NixOS 22.05
+    (mkRemovedOptionModule [ "services" "home-assistant" "applyDefaultConfig" ] "The default config was migrated into services.home-assistant.config")
+    (mkRemovedOptionModule [ "services" "home-assistant" "autoExtraComponents" ] "Components are now parsed from services.home-assistant.config unconditionally")
+    (mkRenamedOptionModule [ "services" "home-assistant" "port" ] [ "services" "home-assistant" "config" "http" "server_port" ])
+  ];
 
-  # If you are changing this, please update the description in applyDefaultConfig
-  defaultConfig = {
-    homeassistant.time_zone = config.time.timeZone;
-    http.server_port = cfg.port;
-  } // optionalAttrs (cfg.lovelaceConfig != null) {
-    lovelace.mode = "yaml";
+  meta = {
+    buildDocsInSandbox = false;
+    maintainers = teams.home-assistant.members;
   };
 
-in {
-  meta.maintainers = teams.home-assistant.members;
-
   options.services.home-assistant = {
     # Running home-assistant on NixOS is considered an installation method that is unsupported by the upstream project.
     # https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md#decision
@@ -81,42 +85,166 @@ in {
       description = "The config directory, where your <filename>configuration.yaml</filename> is located.";
     };
 
-    port = mkOption {
-      default = 8123;
-      type = types.port;
-      description = "The port on which to listen.";
+    extraComponents = mkOption {
+      type = types.listOf (types.enum availableComponents);
+      default = [
+        # List of components required to complete the onboarding
+        "default_config"
+        "met"
+        "esphome"
+      ] ++ optionals (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) [
+        # Use the platform as an indicator that we might be running on a RaspberryPi and include
+        # relevant components
+        "rpi_power"
+      ];
+      example = literalExpression ''
+        [
+          "analytics"
+          "default_config"
+          "esphome"
+          "my"
+          "shopping_list"
+          "wled"
+        ]
+      '';
+      description = ''
+        List of <link xlink:href="https://www.home-assistant.io/integrations/">components</link> that have their dependencies included in the package.
+
+        The component name can be found in the URL, for example <literal>https://www.home-assistant.io/integrations/ffmpeg/</literal> would map to <literal>ffmpeg</literal>.
+      '';
     };
 
-    applyDefaultConfig = mkOption {
-      default = true;
-      type = types.bool;
+    extraPackages = mkOption {
+      type = types.functionTo (types.listOf types.package);
+      default = _: [];
+      defaultText = literalExpression ''
+        python3Packages: with python3Packages; [];
+      '';
+      example = literalExpression ''
+        python3Packages: with python3Packages; [
+          # postgresql support
+          psycopg2
+        ];
+      '';
       description = ''
-        Setting this option enables a few configuration options for HA based on NixOS configuration (such as time zone) to avoid having to manually specify configuration we already have.
-        </para>
-        <para>
-        Currently one side effect of enabling this is that the <literal>http</literal> component will be enabled.
-        </para>
-        <para>
-        This only takes effect if <literal>config != null</literal> in order to ensure that a manually managed <filename>configuration.yaml</filename> is not overwritten.
+        List of packages to add to propagatedBuildInputs.
+
+        A popular example is <package>python3Packages.psycopg2</package>
+        for PostgreSQL support in the recorder component.
       '';
     };
 
     config = mkOption {
-      default = null;
-      # Migrate to new option types later: https://github.com/NixOS/nixpkgs/pull/75584
-      type =  with lib.types; let
-          valueType = nullOr (oneOf [
-            bool
-            int
-            float
-            str
-            (lazyAttrsOf valueType)
-            (listOf valueType)
-          ]) // {
-            description = "Yaml value";
-            emptyValue.value = {};
+      type = types.submodule {
+        freeformType = format.type;
+        options = {
+          # This is a partial selection of the most common options, so new users can quickly
+          # pick up how to match home-assistants config structure to ours. It also lets us preset
+          # config values intelligently.
+
+          homeassistant = {
+            # https://www.home-assistant.io/docs/configuration/basic/
+            name = mkOption {
+              type = types.nullOr types.str;
+              default = null;
+              example = "Home";
+              description = ''
+                Name of the location where Home Assistant is running.
+              '';
+            };
+
+            latitude = mkOption {
+              type = types.nullOr (types.either types.float types.str);
+              default = null;
+              example = 52.3;
+              description = ''
+                Latitude of your location required to calculate the time the sun rises and sets.
+              '';
+            };
+
+            longitude = mkOption {
+              type = types.nullOr (types.either types.float types.str);
+              default = null;
+              example = 4.9;
+              description = ''
+                Longitude of your location required to calculate the time the sun rises and sets.
+              '';
+            };
+
+            unit_system = mkOption {
+              type = types.nullOr (types.enum [ "metric" "imperial" ]);
+              default = null;
+              example = "metric";
+              description = ''
+                The unit system to use. This also sets temperature_unit, Celsius for Metric and Fahrenheit for Imperial.
+              '';
+            };
+
+            temperature_unit = mkOption {
+              type = types.nullOr (types.enum [ "C" "F" ]);
+              default = null;
+              example = "C";
+              description = ''
+                Override temperature unit set by unit_system. <literal>C</literal> for Celsius, <literal>F</literal> for Fahrenheit.
+              '';
+            };
+
+            time_zone = mkOption {
+              type = types.nullOr types.str;
+              default = config.time.timeZone or null;
+              defaultText = literalExpression ''
+                config.time.timeZone or null
+              '';
+              example = "Europe/Amsterdam";
+              description = ''
+                Pick your time zone from the column TZ of Wikipedia’s <link xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">list of tz database time zones</link>.
+              '';
+            };
+          };
+
+          http = {
+            # https://www.home-assistant.io/integrations/http/
+            server_host = mkOption {
+              type = types.either types.str (types.listOf types.str);
+              default = [
+                "0.0.0.0"
+                "::"
+              ];
+              example = "::1";
+              description = ''
+                Only listen to incoming requests on specific IP/host. The default listed assumes support for IPv4 and IPv6.
+              '';
+            };
+
+            server_port = mkOption {
+              default = 8123;
+              type = types.port;
+              description = ''
+                The port on which to listen.
+              '';
+            };
           };
-        in valueType;
+
+          lovelace = {
+            # https://www.home-assistant.io/lovelace/dashboards/
+            mode = mkOption {
+              type = types.enum [ "yaml" "storage" ];
+              default = if cfg.lovelaceConfig != null
+                then "yaml"
+                else "storage";
+              defaultText = literalExpression ''
+                if cfg.lovelaceConfig != null
+                  then "yaml"
+                else "storage";
+              '';
+              example = "yaml";
+              description = ''
+                In what mode should the main Lovelace panel be, <literal>yaml</literal> or <literal>storage</literal> (UI managed).
+              '';
+            };
+          };
+        };
+      };
       example = literalExpression ''
         {
           homeassistant = {
@@ -130,15 +258,19 @@ in {
           frontend = {
             themes = "!include_dir_merge_named themes";
           };
-          http = { };
+          http = {};
           feedreader.urls = [ "https://nixos.org/blogs.xml" ];
         }
       '';
       description = ''
         Your <filename>configuration.yaml</filename> as a Nix attribute set.
-        Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
-        <link xlink:href="https://www.home-assistant.io/docs/configuration/secrets/">Secrets</link>
-        are encoded as strings as shown in the example.
+
+        YAML functions like <link xlink:href="https://www.home-assistant.io/docs/configuration/secrets/">secrets</link>
+        can be passed as a string and will be unquoted automatically.
+
+        Unless this option is explicitly set to <literal>null</literal>
+        we assume your <filename>configuration.yaml</filename> is
+        managed through this module and thereby overwritten on startup.
       '';
     };
 
@@ -147,16 +279,18 @@ in {
       type = types.bool;
       description = ''
         Whether to make <filename>configuration.yaml</filename> writable.
-        This only has an effect if <option>config</option> is set.
+
         This will allow you to edit it from Home Assistant's web interface.
+
+        This only has an effect if <option>config</option> is set.
         However, bear in mind that it will be overwritten at every start of the service.
       '';
     };
 
     lovelaceConfig = mkOption {
       default = null;
-      type = with types; nullOr attrs;
-      # from https://www.home-assistant.io/lovelace/yaml-mode/
+      type = types.nullOr format.type;
+      # from https://www.home-assistant.io/lovelace/dashboards/
       example = literalExpression ''
         {
           title = "My Awesome Home";
@@ -172,8 +306,8 @@ in {
       '';
       description = ''
         Your <filename>ui-lovelace.yaml</filename> as a Nix attribute set.
-        Setting this option will automatically add
-        <literal>lovelace.mode = "yaml";</literal> to your <option>config</option>.
+        Setting this option will automatically set <literal>lovelace.mode</literal> to <literal>yaml</literal>.
+
         Beware that setting this option will delete your previous <filename>ui-lovelace.yaml</filename>
       '';
     };
@@ -183,8 +317,10 @@ in {
       type = types.bool;
       description = ''
         Whether to make <filename>ui-lovelace.yaml</filename> writable.
-        This only has an effect if <option>lovelaceConfig</option> is set.
+
         This will allow you to edit it from Home Assistant's web interface.
+
+        This only has an effect if <option>lovelaceConfig</option> is set.
         However, bear in mind that it will be overwritten at every start of the service.
       '';
     };
@@ -201,11 +337,18 @@ in {
       type = types.package;
       example = literalExpression ''
         pkgs.home-assistant.override {
-          extraPackages = ps: with ps; [ colorlog ];
+          extraPackages = python3Packages: with python3Packages; [
+            psycopg2
+          ];
+          extraComponents = [
+            "default_config"
+            "esphome"
+            "met"
+          ];
         }
       '';
       description = ''
-        Home Assistant package to use. By default the tests are disabled, as they take a considerable amout of time to complete.
+        The Home Assistant package to use.
         Override <literal>extraPackages</literal> or <literal>extraComponents</literal> in order to add additional dependencies.
         If you specify <option>config</option> and do not set <option>autoExtraComponents</option>
         to <literal>false</literal>, overriding <literal>extraComponents</literal> will have no effect.
@@ -213,21 +356,6 @@ in {
       '';
     };
 
-    autoExtraComponents = mkOption {
-      default = true;
-      type = types.bool;
-      description = ''
-        If set to <literal>true</literal>, the components used in <literal>config</literal>
-        are set as the specified package's <literal>extraComponents</literal>.
-        This in turn adds all packaged dependencies to the derivation.
-        You might still see import errors in your log.
-        In this case, you will need to package the necessary dependencies yourself
-        or ask for someone else to package them.
-        If a dependency is packaged but not automatically added to this list,
-        you might need to specify it in <literal>extraPackages</literal>.
-      '';
-    };
-
     openFirewall = mkOption {
       default = false;
       type = types.bool;
@@ -240,18 +368,30 @@ in {
 
     systemd.services.home-assistant = {
       description = "Home Assistant";
-      after = [ "network.target" ];
-      preStart = optionalString (cfg.config != null) (if cfg.configWritable then ''
-        cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
-      '' else ''
-        rm -f "${cfg.configDir}/configuration.yaml"
-        ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
-      '') + optionalString (cfg.lovelaceConfig != null) (if cfg.lovelaceConfigWritable then ''
-        cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
-      '' else ''
-        rm -f "${cfg.configDir}/ui-lovelace.yaml"
-        ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
-      '');
+      after = [
+        "network-online.target"
+
+        # prevent races with database creation
+        "mysql.service"
+        "postgresql.service"
+      ];
+      preStart = let
+        copyConfig = if cfg.configWritable then ''
+          cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
+        '' else ''
+          rm -f "${cfg.configDir}/configuration.yaml"
+          ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
+        '';
+        copyLovelaceConfig = if cfg.lovelaceConfigWritable then ''
+          cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
+        '' else ''
+          rm -f "${cfg.configDir}/ui-lovelace.yaml"
+          ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
+        '';
+      in
+        (optionalString (cfg.config != null) copyConfig) +
+        (optionalString (cfg.lovelaceConfig != null) copyLovelaceConfig)
+      ;
       serviceConfig = let
         # List of capabilities to equip home-assistant with, depending on configured components
         capabilities = [
diff --git a/nixos/modules/services/misc/input-remapper.nix b/nixos/modules/services/misc/input-remapper.nix
new file mode 100644
index 00000000000..c2da0d616a3
--- /dev/null
+++ b/nixos/modules/services/misc/input-remapper.nix
@@ -0,0 +1,29 @@
+{ pkgs, lib, config, ... }:
+
+with lib;
+
+let cfg = config.services.input-remapper; in
+{
+  options = {
+    services.input-remapper = {
+      enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons.";
+      package = mkOption {
+        type = types.package;
+        default = pkgs.input-remapper;
+        defaultText = literalExpression "pkgs.input-remapper";
+        description = ''
+          The input-remapper package to use.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    # FIXME: udev rule hangs sometimes when lots of devices connected, so let's not use it
+    # config.services.udev.packages = mapper-pkg;
+    services.dbus.packages = cfg.package;
+    systemd.packages = cfg.package;
+    environment.systemPackages = cfg.package;
+    systemd.services.input-remapper.wantedBy = [ "graphical.target" ];
+  };
+}
diff --git a/nixos/modules/services/networking/squid.nix b/nixos/modules/services/networking/squid.nix
index 9d063b92aa1..4f3881af8bb 100644
--- a/nixos/modules/services/networking/squid.nix
+++ b/nixos/modules/services/networking/squid.nix
@@ -81,7 +81,9 @@ let
     http_access deny all
 
     # Squid normally listens to port 3128
-    http_port ${toString cfg.proxyPort}
+    http_port ${
+      optionalString (cfg.proxyAddress != null) "${cfg.proxyAddress}:"
+    }${toString cfg.proxyPort}
 
     # Leave coredumps in the first cache dir
     coredump_dir /var/cache/squid
@@ -109,6 +111,12 @@ in
         description = "Whether to run squid web proxy.";
       };
 
+      proxyAddress = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "IP address on which squid will listen.";
+      };
+
       proxyPort = mkOption {
         type = types.int;
         default = 3128;
diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix
index 8a0ca33b51f..c6d4ed6d39d 100644
--- a/nixos/modules/services/web-apps/matomo.nix
+++ b/nixos/modules/services/web-apps/matomo.nix
@@ -192,6 +192,7 @@ in {
             # Copy config folder
             chmod g+s "${dataDir}"
             cp -r "${cfg.package}/share/config" "${dataDir}/"
+            mkdir -p "${dataDir}/misc"
             chmod -R u+rwX,g+rwX,o-rwx "${dataDir}"
 
             # check whether user setup has already been done
diff --git a/nixos/modules/services/web-servers/agate.nix b/nixos/modules/services/web-servers/agate.nix
new file mode 100644
index 00000000000..3afdb561c0b
--- /dev/null
+++ b/nixos/modules/services/web-servers/agate.nix
@@ -0,0 +1,148 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.agate;
+in
+{
+  options = {
+    services.agate = {
+      enable = mkEnableOption "Agate Server";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.agate;
+        defaultText = literalExpression "pkgs.agate";
+        description = "The package to use";
+      };
+
+      addresses = mkOption {
+        type = types.listOf types.str;
+        default = [ "0.0.0.0:1965" ];
+        description = ''
+          Addresses to listen on, IP:PORT, if you haven't disabled forwarding
+          only set IPv4.
+        '';
+      };
+
+      contentDir = mkOption {
+        default = "/var/lib/agate/content";
+        type = types.path;
+        description = "Root of the content directory.";
+      };
+
+      certificatesDir = mkOption {
+        default = "/var/lib/agate/certificates";
+        type = types.path;
+        description = "Root of the certificate directory.";
+      };
+
+      hostnames = mkOption {
+        default = [ ];
+        type = types.listOf types.str;
+        description = ''
+          Domain name of this Gemini server, enables checking hostname and port
+          in requests. (multiple occurences means basic vhosts)
+        '';
+      };
+
+      language = mkOption {
+        default = null;
+        type = types.nullOr types.str;
+        description = "RFC 4646 Language code for text/gemini documents.";
+      };
+
+      onlyTls_1_3 = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Only use TLSv1.3 (default also allows TLSv1.2).";
+      };
+
+      extraArgs = mkOption {
+        type = types.listOf types.str;
+        default = [ "" ];
+        example = [ "--log-ip" ];
+        description = "Extra arguments to use running agate.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    # available for generating certs by hand
+    # it can be a bit arduous with openssl
+    environment.systemPackages = [ cfg.package ];
+
+    systemd.services.agate = {
+      description = "Agate";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "network-online.target" ];
+
+      script =
+        let
+          prefixKeyList = key: list: concatMap (v: [ key v ]) list;
+          addresses = prefixKeyList "--addr" cfg.addresses;
+          hostnames = prefixKeyList "--hostname" cfg.hostnames;
+        in
+        ''
+          exec ${cfg.package}/bin/agate ${
+            escapeShellArgs (
+              [
+                "--content" "${cfg.contentDir}"
+                "--certs" "${cfg.certificatesDir}"
+              ] ++
+              addresses ++
+              (optionals (cfg.hostnames != []) hostnames) ++
+              (optionals (cfg.language != null) [ "--lang" cfg.language ]) ++
+              (optionals cfg.onlyTls_1_3 [ "--only-tls13" ]) ++
+              (optionals (cfg.extraArgs != []) cfg.extraArgs)
+            )
+          }
+        '';
+
+      serviceConfig = {
+        Restart = "always";
+        RestartSec = "5s";
+        DynamicUser = true;
+        StateDirectory = "agate";
+
+        # Security options:
+        AmbientCapabilities = "";
+        CapabilityBoundingSet = "";
+
+        # ProtectClock= adds DeviceAllow=char-rtc r
+        DeviceAllow = "";
+
+        LockPersonality = true;
+
+        PrivateTmp = true;
+        PrivateDevices = true;
+        PrivateUsers = true;
+
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+
+        RestrictNamespaces = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictRealtime = true;
+
+        SystemCallArchitectures = "native";
+        SystemCallErrorNumber = "EPERM";
+        SystemCallFilter = [
+          "@system-service"
+          "~@cpu-emulation"
+          "~@debug"
+          "~@keyring"
+          "~@memlock"
+          "~@obsolete"
+          "~@privileged"
+          "~@setuid"
+        ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 2ea871626e2..68333d43a5d 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -2,7 +2,6 @@
 
 use strict;
 use warnings;
-use Array::Compare;
 use Config::IniFiles;
 use File::Path qw(make_path);
 use File::Basename;
@@ -221,9 +220,13 @@ sub unrecord_unit {
 # - 2 if the units are different and a reload action is required
 sub compare_units {
     my ($old_unit, $new_unit) = @_;
-    my $comp = Array::Compare->new;
     my $ret = 0;
 
+    my $comp_array = sub {
+      my ($a, $b) = @_;
+      return join("\0", @{$a}) eq join("\0", @{$b});
+    };
+
     # Comparison hash for the sections
     my %section_cmp = map { $_ => 1 } keys %{$new_unit};
     # Iterate over the sections
@@ -255,7 +258,7 @@ sub compare_units {
             }
             my @new_value = @{$new_unit->{$section_name}{$ini_key}};
             # If the contents are different, the units are different
-            if (not $comp->compare(\@old_value, \@new_value)) {
+            if (not $comp_array->(\@old_value, \@new_value)) {
                 # Check if only the reload triggers changed
                 if ($section_name eq 'Unit' and $ini_key eq 'X-Reload-Triggers') {
                     $ret = 2;
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 4745239050b..b8aeee8c11b 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -117,7 +117,7 @@ let
     configurationName = config.boot.loader.grub.configurationName;
 
     # Needed by switch-to-configuration.
-    perl = pkgs.perl.withPackages (p: with p; [ ArrayCompare ConfigIniFiles FileSlurp NetDBus ]);
+    perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp NetDBus ]);
   };
 
   # Handle assertions and warnings
diff --git a/nixos/modules/virtualisation/containerd.nix b/nixos/modules/virtualisation/containerd.nix
index 898a66e7b04..ea89a994b17 100644
--- a/nixos/modules/virtualisation/containerd.nix
+++ b/nixos/modules/virtualisation/containerd.nix
@@ -53,6 +53,7 @@ in
     virtualisation.containerd = {
       args.config = toString containerdConfigChecked;
       settings = {
+        version = 2;
         plugins."io.containerd.grpc.v1.cri" = {
          containerd.snapshotter =
            lib.mkIf config.boot.zfs.enabled (lib.mkOptionDefault "zfs");
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 3fd4945ed35..520c48bc45b 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -32,6 +32,7 @@ in
   acme = handleTest ./acme.nix {};
   adguardhome = handleTest ./adguardhome.nix {};
   aesmd = handleTest ./aesmd.nix {};
+  agate = handleTest ./web-servers/agate.nix {};
   agda = handleTest ./agda.nix {};
   airsonic = handleTest ./airsonic.nix {};
   amazon-init-shell = handleTest ./amazon-init-shell.nix {};
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
index 5b1c07c92da..31f8a4bcc19 100644
--- a/nixos/tests/home-assistant.nix
+++ b/nixos/tests/home-assistant.nix
@@ -10,6 +10,7 @@ in {
 
   nodes.hass = { pkgs, ... }: {
     environment.systemPackages = with pkgs; [ mosquitto ];
+
     services.mosquitto = {
       enable = true;
       listeners = [ {
@@ -21,14 +22,42 @@ in {
         };
       } ];
     };
+
+    services.postgresql = {
+      enable = true;
+      ensureDatabases = [ "hass" ];
+      ensureUsers = [{
+        name = "hass";
+        ensurePermissions = {
+          "DATABASE hass" = "ALL PRIVILEGES";
+        };
+      }];
+    };
+
     services.home-assistant = {
-      inherit configDir;
       enable = true;
+      inherit configDir;
+
+      # tests loading components by overriding the package
       package = (pkgs.home-assistant.override {
+        extraPackages = ps: with ps; [
+          colorama
+        ];
         extraComponents = [ "zha" ];
       }).overrideAttrs (oldAttrs: {
         doInstallCheck = false;
       });
+
+      # tests loading components from the module
+      extraComponents = [
+        "wake_on_lan"
+      ];
+
+      # test extra package passing from the module
+      extraPackages = python3Packages: with python3Packages; [
+        psycopg2
+      ];
+
       config = {
         homeassistant = {
           name = "Home";
@@ -37,34 +66,58 @@ in {
           longitude = "0.0";
           elevation = 0;
         };
+
+        # configure the recorder component to use the postgresql db
+        recorder.db_url = "postgresql://@/hass";
+
+        # we can't load default_config, because the updater requires
+        # network access and would cause an error, so load frontend
+        # here explicitly.
+        # https://www.home-assistant.io/integrations/frontend/
         frontend = {};
+
+        # configure an mqtt broker connection
+        # https://www.home-assistant.io/integrations/mqtt
         mqtt = {
           broker = "127.0.0.1";
           username = mqttUsername;
           password = mqttPassword;
         };
-        binary_sensor = [{
+
+        # create a mqtt sensor that syncs state with its mqtt topic
+        # https://www.home-assistant.io/integrations/sensor.mqtt/
+        binary_sensor = [ {
           platform = "mqtt";
           state_topic = "home-assistant/test";
           payload_on = "let_there_be_light";
           payload_off = "off";
-        }];
-        wake_on_lan = {};
-        switch = [{
+        } ];
+
+        # set up a wake-on-lan switch to test capset capability required
+        # for the ping suid wrapper
+        # https://www.home-assistant.io/integrations/wake_on_lan/
+        switch = [ {
           platform = "wake_on_lan";
           mac = "00:11:22:33:44:55";
           host = "127.0.0.1";
-        }];
-        # tests component-based capability assignment (CAP_NET_BIND_SERVICE)
+        } ];
+
+        # test component-based capability assignment (CAP_NET_BIND_SERVICE)
+        # https://www.home-assistant.io/integrations/emulated_hue/
         emulated_hue = {
           host_ip = "127.0.0.1";
           listen_port = 80;
         };
+
+        # show mqtt interaction in the log
+        # https://www.home-assistant.io/integrations/logger/
         logger = {
           default = "info";
           logs."homeassistant.components.mqtt" = "debug";
         };
       };
+
+      # configure the sample lovelace dashboard
       lovelaceConfig = {
         title = "My Awesome Home";
         views = [{
@@ -81,34 +134,57 @@ in {
   };
 
   testScript = ''
+    import re
+
     start_all()
+
+    # Parse the package path out of the systemd unit, as we cannot
+    # access the final package, that is overriden inside the module,
+    # by any other means.
+    pattern = re.compile(r"path=(?P<path>[\/a-z0-9-.]+)\/bin\/hass")
+    response = hass.execute("systemctl show -p ExecStart home-assistant.service")[1]
+    match = pattern.search(response)
+    package = match.group('path')
+
     hass.wait_for_unit("home-assistant.service")
+
     with subtest("Check that YAML configuration file is in place"):
         hass.succeed("test -L ${configDir}/configuration.yaml")
-    with subtest("lovelace config is copied because lovelaceConfigWritable = true"):
+
+    with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"):
         hass.succeed("test -f ${configDir}/ui-lovelace.yaml")
+
+    with subtest("Check extraComponents and extraPackages are considered from the package"):
+        hass.succeed(f"grep -q 'colorama' {package}/extra_packages")
+        hass.succeed(f"grep -q 'zha' {package}/extra_components")
+
+    with subtest("Check extraComponents and extraPackages are considered from the module"):
+        hass.succeed(f"grep -q 'psycopg2' {package}/extra_packages")
+        hass.succeed(f"grep -q 'wake_on_lan' {package}/extra_components")
+
     with subtest("Check that Home Assistant's web interface and API can be reached"):
+        hass.wait_until_succeeds("journalctl -u home-assistant.service | grep -q 'Home Assistant initialized in'")
         hass.wait_for_open_port(8123)
         hass.succeed("curl --fail http://localhost:8123/lovelace")
+
     with subtest("Toggle a binary sensor using MQTT"):
         hass.wait_for_open_port(1883)
         hass.succeed(
             "mosquitto_pub -V mqttv5 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -m let_there_be_light"
         )
+
     with subtest("Check that capabilities are passed for emulated_hue to bind to port 80"):
         hass.wait_for_open_port(80)
         hass.succeed("curl --fail http://localhost:80/description.xml")
+
     with subtest("Check extra components are considered in systemd unit hardening"):
         hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB")
+
     with subtest("Print log to ease debugging"):
         output_log = hass.succeed("cat ${configDir}/home-assistant.log")
         print("\n### home-assistant.log ###\n")
         print(output_log + "\n")
 
-    # wait for home-assistant to fully boot
-    hass.sleep(30)
-    hass.wait_for_unit("home-assistant.service")
-
     with subtest("Check that no errors were logged"):
         assert "ERROR" not in output_log
 
@@ -117,7 +193,7 @@ in {
         assert "let_there_be_light" in output_log
 
     with subtest("Check systemd unit hardening"):
-        hass.log(hass.succeed("systemctl show home-assistant.service"))
+        hass.log(hass.succeed("systemctl cat home-assistant.service"))
         hass.log(hass.succeed("systemd-analyze security home-assistant.service"))
   '';
 })
diff --git a/nixos/tests/web-servers/agate.nix b/nixos/tests/web-servers/agate.nix
new file mode 100644
index 00000000000..e364e134cfd
--- /dev/null
+++ b/nixos/tests/web-servers/agate.nix
@@ -0,0 +1,29 @@
+import ../make-test-python.nix (
+  { pkgs, lib, ... }:
+  {
+    name = "agate";
+    meta = with lib.maintainers; { maintainers = [ jk ]; };
+
+    nodes = {
+      geminiserver = { pkgs, ... }: {
+        services.agate = {
+          enable = true;
+          hostnames = [ "localhost" ];
+          contentDir = pkgs.writeTextDir "index.gmi" ''
+            # Hello NixOS!
+          '';
+        };
+      };
+    };
+
+    testScript = { nodes, ... }: ''
+      geminiserver.wait_for_unit("agate")
+      geminiserver.wait_for_open_port(1965)
+
+      with subtest("check is serving over gemini"):
+        response = geminiserver.succeed("${pkgs.gmni}/bin/gmni -j once -i -N gemini://localhost:1965")
+        print(response)
+        assert "Hello NixOS!" in response
+    '';
+  }
+)
diff --git a/pkgs/applications/audio/geonkick/default.nix b/pkgs/applications/audio/geonkick/default.nix
index 5eece77373f..76105d327bc 100644
--- a/pkgs/applications/audio/geonkick/default.nix
+++ b/pkgs/applications/audio/geonkick/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "geonkick";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchFromGitLab {
     owner = "iurie-sw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dpwdjyy6phhr1jm1cabj2gc3rfsdan513mijbgnpzkq9w9jfb60";
+    sha256 = "sha256-wSlZ9pVVqlrPSz20pRdcRLq6pTcibxD7326l9WY7ZDY=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/audio/jmusicbot/default.nix b/pkgs/applications/audio/jmusicbot/default.nix
index 3bc06abcbff..60df749a142 100644
--- a/pkgs/applications/audio/jmusicbot/default.nix
+++ b/pkgs/applications/audio/jmusicbot/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cp $src $out/lib/JMusicBot
 
     makeWrapper ${jre}/bin/java $out/bin/JMusicBot \
-      --add-flags "-Xmx1G -Dnogui=true -jar $out/lib/JMusicBot"
+      --add-flags "-Xmx1G -Dnogui=true -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -jar $out/lib/JMusicBot"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index c4c53de90f1..4de3a3d40fb 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "plexamp";
-  version = "3.9.1";
+  version = "4.0.0";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "uassNLdCXx3WLarUMJNhU8fbXugG7yTLMQacPAszLoRdmbMwcN6wT7ED26VhlNVhY3xr02GjZSDw4/LADZWqKw==";
+    sha512 = "C6fR3HyXZ5dXvKqtADjCm9WwsnI/wKhlR0K4+zkEW4JNmozmZvdB9eDIoS32wgTe23phtwazbXwroK/Xb0kZmQ==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/37";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/38";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/audio/sptlrx/default.nix b/pkgs/applications/audio/sptlrx/default.nix
new file mode 100644
index 00000000000..1d53c2f4cea
--- /dev/null
+++ b/pkgs/applications/audio/sptlrx/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "sptlrx";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "raitonoberu";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Wk4vXm6sB+Rw0VFAhfD0GKxsP+1LwpS6VFHa3UENuJk=";
+  };
+
+  vendorSha256 = "sha256-l5gIbjB2rJyNmZBqrHo4kwClmAgjgDWHTs5KWzrfC08=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Spotify lyrics in your terminal";
+    homepage = "https://github.com/raitonoberu/sptlrx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ MoritzBoehme ];
+  };
+}
diff --git a/pkgs/applications/blockchains/go-ethereum/default.nix b/pkgs/applications/blockchains/go-ethereum/default.nix
index 3aa3f622024..842ebcc69ec 100644
--- a/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,16 +9,16 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.15";
+  version = "1.10.16";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0f6n9rg42ph47mvykc9f0lf99yzwqy4jm7mlzyks4l6i6fl1g3q1";
+    sha256 = "sha256-l+hxAUw55d9MYLIUdF6qSEIelJQYRCvHyw1yuossmyA=";
   };
 
-  vendorSha256 = "1s5yfpk2yn7f3zwjl2fdrh6c63ki2b8rlmnlss27yxibsidaj0yd";
+  vendorSha256 = "sha256-keeox2d2WEzY9ynEcovPaU95YzVQlbTu1i7PLpjkjZU=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/snarkos/default.nix b/pkgs/applications/blockchains/snarkos/default.nix
index 917a66985d1..c52780c9564 100644
--- a/pkgs/applications/blockchains/snarkos/default.nix
+++ b/pkgs/applications/blockchains/snarkos/default.nix
@@ -10,16 +10,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "snarkos";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "AleoHQ";
     repo = "snarkOS";
     rev = "v${version}";
-    sha256 = "sha256-BbCcdz0/oAEA+v9O8yQOpBb0/rXttn94tKS9tzRQ78w=";
+    sha256 = "sha256-sS8emB+uhWuoq5ISuT8FgSSzX7/WDoOY8hHzPE/EX3o=";
   };
 
-  cargoSha256 = "sha256-+N1X3D+XSz3SoZJEy9SNmYWt9yZPdaumWUUYhwbD+0w=";
+  cargoSha256 = "sha256-XS6dw6BIoJdigEso/J1dUaAp7AIAda3HrKnCoBynRv8=";
 
   # buildAndTestSubdir = "cli";
 
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 4e4835783e4..e5bdc28b80e 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "11n970ad0j57vlll5j30ngkrfyil23v1b29ickbnblcldvjbgwa5";
+    sha256 = "sha256-CLQWbwwJnr6Al223GvV1hVNK13p2iAyjNF7PhdaU9N0=";
   };
 
   # We have not packaged tests.
@@ -36,8 +36,9 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://rednotebook.sourceforge.io/";
+    changelog = "https://github.com/jendrikseipp/rednotebook/blob/v${version}/CHANGELOG.md";
     description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ orivej tstrobel ];
   };
 }
diff --git a/pkgs/applications/editors/setzer/default.nix b/pkgs/applications/editors/setzer/default.nix
index 6b380e32bc6..894b7a43c01 100644
--- a/pkgs/applications/editors/setzer/default.nix
+++ b/pkgs/applications/editors/setzer/default.nix
@@ -18,13 +18,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "setzer";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "cvfosammmm";
     repo = "Setzer";
     rev = "v${version}";
-    sha256 = "sha256-uh6mXXJP/EpfvHTXL7PH+Yd1F5Q+6B01ns4vRr/2Xqo=";
+    hash = "sha256-rfk/csJJATXI1JvAHn2K/+fVLsqmkKxIbNWlcu1EhYY=";
   };
 
   format = "other";
diff --git a/pkgs/misc/emulators/ares/default.nix b/pkgs/applications/emulators/ares/default.nix
index 33a7858455d..33a7858455d 100644
--- a/pkgs/misc/emulators/ares/default.nix
+++ b/pkgs/applications/emulators/ares/default.nix
diff --git a/pkgs/misc/emulators/ares/fix-ruby.patch b/pkgs/applications/emulators/ares/fix-ruby.patch
index 01bd57ebaad..01bd57ebaad 100644
--- a/pkgs/misc/emulators/ares/fix-ruby.patch
+++ b/pkgs/applications/emulators/ares/fix-ruby.patch
diff --git a/pkgs/misc/emulators/atari++/default.nix b/pkgs/applications/emulators/atari++/default.nix
index 5e35dcaebd0..5e35dcaebd0 100644
--- a/pkgs/misc/emulators/atari++/default.nix
+++ b/pkgs/applications/emulators/atari++/default.nix
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/applications/emulators/atari800/default.nix
index 37e0d83f140..37e0d83f140 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/applications/emulators/atari800/default.nix
diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/applications/emulators/attract-mode/default.nix
index 7a3f61fd8dc..7a3f61fd8dc 100644
--- a/pkgs/misc/emulators/attract-mode/default.nix
+++ b/pkgs/applications/emulators/attract-mode/default.nix
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/emulators/bochs/default.nix
index 1f02219c831..1f02219c831 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/emulators/bochs/default.nix
diff --git a/pkgs/misc/emulators/bsnes-hd/default.nix b/pkgs/applications/emulators/bsnes-hd/default.nix
index 6494185958c..6494185958c 100644
--- a/pkgs/misc/emulators/bsnes-hd/default.nix
+++ b/pkgs/applications/emulators/bsnes-hd/default.nix
diff --git a/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch b/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
index d38efbc99bc..d38efbc99bc 100644
--- a/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
+++ b/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
diff --git a/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch b/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
index 85adb33e3ab..85adb33e3ab 100644
--- a/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
+++ b/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/applications/emulators/caprice32/default.nix
index 6c2932f7e10..6c2932f7e10 100644
--- a/pkgs/misc/emulators/caprice32/default.nix
+++ b/pkgs/applications/emulators/caprice32/default.nix
diff --git a/pkgs/misc/emulators/caprice32/string.patch b/pkgs/applications/emulators/caprice32/string.patch
index fabbbd80d5d..fabbbd80d5d 100644
--- a/pkgs/misc/emulators/caprice32/string.patch
+++ b/pkgs/applications/emulators/caprice32/string.patch
diff --git a/pkgs/misc/emulators/ccemux/default.nix b/pkgs/applications/emulators/ccemux/default.nix
index 11f24d59e5c..11f24d59e5c 100644
--- a/pkgs/misc/emulators/ccemux/default.nix
+++ b/pkgs/applications/emulators/ccemux/default.nix
diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/applications/emulators/cdemu/analyzer.nix
index 338c64a24b8..338c64a24b8 100644
--- a/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/pkgs/applications/emulators/cdemu/analyzer.nix
diff --git a/pkgs/misc/emulators/cdemu/base.nix b/pkgs/applications/emulators/cdemu/base.nix
index 9464bde70bf..9464bde70bf 100644
--- a/pkgs/misc/emulators/cdemu/base.nix
+++ b/pkgs/applications/emulators/cdemu/base.nix
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/applications/emulators/cdemu/client.nix
index 06604e3eae9..06604e3eae9 100644
--- a/pkgs/misc/emulators/cdemu/client.nix
+++ b/pkgs/applications/emulators/cdemu/client.nix
diff --git a/pkgs/misc/emulators/cdemu/daemon.nix b/pkgs/applications/emulators/cdemu/daemon.nix
index 3df9e4ad543..3df9e4ad543 100644
--- a/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/pkgs/applications/emulators/cdemu/daemon.nix
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/applications/emulators/cdemu/gui.nix
index 15e595a6172..15e595a6172 100644
--- a/pkgs/misc/emulators/cdemu/gui.nix
+++ b/pkgs/applications/emulators/cdemu/gui.nix
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/applications/emulators/cdemu/libmirage.nix
index 7016a42d247..7016a42d247 100644
--- a/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/pkgs/applications/emulators/cdemu/libmirage.nix
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/applications/emulators/cdemu/vhba.nix
index aeadcf5c1c1..aeadcf5c1c1 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/applications/emulators/cdemu/vhba.nix
diff --git a/pkgs/misc/emulators/cen64/default.nix b/pkgs/applications/emulators/cen64/default.nix
index ddf45547337..ddf45547337 100644
--- a/pkgs/misc/emulators/cen64/default.nix
+++ b/pkgs/applications/emulators/cen64/default.nix
diff --git a/pkgs/misc/emulators/citra/default.nix b/pkgs/applications/emulators/citra/default.nix
index 92d0f5b1d36..92d0f5b1d36 100644
--- a/pkgs/misc/emulators/citra/default.nix
+++ b/pkgs/applications/emulators/citra/default.nix
diff --git a/pkgs/misc/emulators/commanderx16/emulator.nix b/pkgs/applications/emulators/commanderx16/emulator.nix
index 73442215ff1..73442215ff1 100644
--- a/pkgs/misc/emulators/commanderx16/emulator.nix
+++ b/pkgs/applications/emulators/commanderx16/emulator.nix
diff --git a/pkgs/misc/emulators/commanderx16/rom.nix b/pkgs/applications/emulators/commanderx16/rom.nix
index 5da77ebceef..5da77ebceef 100644
--- a/pkgs/misc/emulators/commanderx16/rom.nix
+++ b/pkgs/applications/emulators/commanderx16/rom.nix
diff --git a/pkgs/misc/emulators/commanderx16/run.nix b/pkgs/applications/emulators/commanderx16/run.nix
index 1f14fdb223c..1f14fdb223c 100644
--- a/pkgs/misc/emulators/commanderx16/run.nix
+++ b/pkgs/applications/emulators/commanderx16/run.nix
diff --git a/pkgs/misc/emulators/craftos-pc/default.nix b/pkgs/applications/emulators/craftos-pc/default.nix
index 3bc9e0b81cc..3bc9e0b81cc 100644
--- a/pkgs/misc/emulators/craftos-pc/default.nix
+++ b/pkgs/applications/emulators/craftos-pc/default.nix
diff --git a/pkgs/misc/emulators/darcnes/default.nix b/pkgs/applications/emulators/darcnes/default.nix
index 7919e0a9009..7919e0a9009 100644
--- a/pkgs/misc/emulators/darcnes/default.nix
+++ b/pkgs/applications/emulators/darcnes/default.nix
diff --git a/pkgs/misc/emulators/darcnes/label.patch b/pkgs/applications/emulators/darcnes/label.patch
index 612aa1e3911..612aa1e3911 100644
--- a/pkgs/misc/emulators/darcnes/label.patch
+++ b/pkgs/applications/emulators/darcnes/label.patch
diff --git a/pkgs/misc/emulators/desmume/default.nix b/pkgs/applications/emulators/desmume/default.nix
index 49cb2498e64..49cb2498e64 100644
--- a/pkgs/misc/emulators/desmume/default.nix
+++ b/pkgs/applications/emulators/desmume/default.nix
diff --git a/pkgs/misc/emulators/dgen-sdl/default.nix b/pkgs/applications/emulators/dgen-sdl/default.nix
index e56ca12a4e9..e56ca12a4e9 100644
--- a/pkgs/misc/emulators/dgen-sdl/default.nix
+++ b/pkgs/applications/emulators/dgen-sdl/default.nix
diff --git a/pkgs/misc/emulators/dlx/default.nix b/pkgs/applications/emulators/dlx/default.nix
index 9573dd6d48d..9573dd6d48d 100644
--- a/pkgs/misc/emulators/dlx/default.nix
+++ b/pkgs/applications/emulators/dlx/default.nix
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/applications/emulators/dolphin-emu/default.nix
index c2d73d3e7ff..c2d73d3e7ff 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/applications/emulators/dolphin-emu/default.nix
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix
index 56e107300b5..56e107300b5 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/applications/emulators/dolphin-emu/master.nix
diff --git a/pkgs/misc/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix
index 90510d64522..90510d64522 100644
--- a/pkgs/misc/emulators/dolphin-emu/primehack.nix
+++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix
diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/applications/emulators/dosbox-staging/default.nix
index 438849e7fd8..438849e7fd8 100644
--- a/pkgs/misc/emulators/dosbox-staging/default.nix
+++ b/pkgs/applications/emulators/dosbox-staging/default.nix
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/applications/emulators/dosbox/default.nix
index 383e943ff24..383e943ff24 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/applications/emulators/dosbox/default.nix
diff --git a/pkgs/misc/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index 8e4d909a724..8e4d909a724 100644
--- a/pkgs/misc/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
diff --git a/pkgs/applications/virtualization/dynamips/default.nix b/pkgs/applications/emulators/dynamips/default.nix
index 7f332010153..26ff779ba05 100644
--- a/pkgs/applications/virtualization/dynamips/default.nix
+++ b/pkgs/applications/emulators/dynamips/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libelf, libpcap }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, libelf
+, libpcap
+}:
 
 stdenv.mkDerivation rec {
   pname = "dynamips";
@@ -8,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "GNS3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pvdqs6kjz0x0wqb5f1k3r25dg82wssm7wz4psm0m6bxsvf5l0i5";
+    hash = "sha256-JQJa3NZ9mQqqvuTzU7XmAr1WRB4zuLIwBx18OY3GbV8=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -17,12 +23,12 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DDYNAMIPS_CODE=stable" ];
 
   meta = with lib; {
+    inherit (src.meta) homepage;
     description = "A Cisco router emulator";
     longDescription = ''
       Dynamips is an emulator computer program that was written to emulate Cisco
       routers.
     '';
-    inherit (src.meta) homepage;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos ];
diff --git a/pkgs/misc/emulators/emu2/default.nix b/pkgs/applications/emulators/emu2/default.nix
index 7949a3f2b05..7949a3f2b05 100644
--- a/pkgs/misc/emulators/emu2/default.nix
+++ b/pkgs/applications/emulators/emu2/default.nix
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/applications/emulators/emulationstation/default.nix
index 4cb5ca9ec2e..4cb5ca9ec2e 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/applications/emulators/emulationstation/default.nix
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/applications/emulators/epsxe/default.nix
index f39c2ae74ac..f39c2ae74ac 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/applications/emulators/epsxe/default.nix
diff --git a/pkgs/misc/emulators/fakenes/build.patch b/pkgs/applications/emulators/fakenes/build.patch
index 90799d977a1..90799d977a1 100644
--- a/pkgs/misc/emulators/fakenes/build.patch
+++ b/pkgs/applications/emulators/fakenes/build.patch
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/applications/emulators/fakenes/default.nix
index 6bc4b1480ff..6bc4b1480ff 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/applications/emulators/fakenes/default.nix
diff --git a/pkgs/misc/emulators/fceux/default.nix b/pkgs/applications/emulators/fceux/default.nix
index 9289fb081f0..9289fb081f0 100644
--- a/pkgs/misc/emulators/fceux/default.nix
+++ b/pkgs/applications/emulators/fceux/default.nix
diff --git a/pkgs/misc/emulators/firebird-emu/default.nix b/pkgs/applications/emulators/firebird-emu/default.nix
index 8a759d00582..8a759d00582 100644
--- a/pkgs/misc/emulators/firebird-emu/default.nix
+++ b/pkgs/applications/emulators/firebird-emu/default.nix
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/applications/emulators/fs-uae/default.nix
index 4bd67908a78..4bd67908a78 100644
--- a/pkgs/misc/emulators/fs-uae/default.nix
+++ b/pkgs/applications/emulators/fs-uae/default.nix
diff --git a/pkgs/misc/emulators/fs-uae/launcher.nix b/pkgs/applications/emulators/fs-uae/launcher.nix
index afe12aab0c8..afe12aab0c8 100644
--- a/pkgs/misc/emulators/fs-uae/launcher.nix
+++ b/pkgs/applications/emulators/fs-uae/launcher.nix
diff --git a/pkgs/misc/emulators/fuse-emulator/default.nix b/pkgs/applications/emulators/fuse-emulator/default.nix
index 35e28ba55f6..35e28ba55f6 100644
--- a/pkgs/misc/emulators/fuse-emulator/default.nix
+++ b/pkgs/applications/emulators/fuse-emulator/default.nix
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/applications/emulators/gens-gs/default.nix
index 0fbd12fc365..0fbd12fc365 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/applications/emulators/gens-gs/default.nix
diff --git a/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch b/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch
index 3ed9cabc7ad..3ed9cabc7ad 100644
--- a/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch
+++ b/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch
diff --git a/pkgs/misc/emulators/gxemul/default.nix b/pkgs/applications/emulators/gxemul/default.nix
index cacb521c2fb..cacb521c2fb 100644
--- a/pkgs/misc/emulators/gxemul/default.nix
+++ b/pkgs/applications/emulators/gxemul/default.nix
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/applications/emulators/hatari/default.nix
index de98278b832..de98278b832 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/applications/emulators/hatari/default.nix
diff --git a/pkgs/applications/virtualization/hercules/default.nix b/pkgs/applications/emulators/hercules/default.nix
index f33055baacb..67506d36b63 100644
--- a/pkgs/applications/virtualization/hercules/default.nix
+++ b/pkgs/applications/emulators/hercules/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchurl
+}:
 
 stdenv.mkDerivation rec {
   pname = "hercules";
@@ -10,8 +13,14 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "IBM mainframe emulator";
     homepage = "http://www.hercules-390.eu";
+    description = "IBM mainframe emulator";
+    longDescription = ''
+      Hercules is an open source software implementation of the mainframe
+      System/370 and ESA/390 architectures, in addition to the latest 64-bit
+      z/Architecture. Hercules runs under Linux, Windows, Solaris, FreeBSD, and
+      Mac OS X.
+    '';
     license = licenses.qpl;
     maintainers = [ maintainers.anna328p ];
   };
diff --git a/pkgs/misc/emulators/higan/001-include-cmath.patch b/pkgs/applications/emulators/higan/001-include-cmath.patch
index 67644e656aa..67644e656aa 100644
--- a/pkgs/misc/emulators/higan/001-include-cmath.patch
+++ b/pkgs/applications/emulators/higan/001-include-cmath.patch
diff --git a/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch b/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch
index 0585c8a38c7..0585c8a38c7 100644
--- a/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch
+++ b/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/applications/emulators/higan/default.nix
index c5f38a040c1..c5f38a040c1 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/applications/emulators/higan/default.nix
diff --git a/pkgs/misc/emulators/kega-fusion/default.nix b/pkgs/applications/emulators/kega-fusion/default.nix
index e8feb1ea7ed..e8feb1ea7ed 100644
--- a/pkgs/misc/emulators/kega-fusion/default.nix
+++ b/pkgs/applications/emulators/kega-fusion/default.nix
diff --git a/pkgs/misc/emulators/lambda-delta/default.nix b/pkgs/applications/emulators/lambda-delta/default.nix
index a17a0eadfd5..a17a0eadfd5 100644
--- a/pkgs/misc/emulators/lambda-delta/default.nix
+++ b/pkgs/applications/emulators/lambda-delta/default.nix
diff --git a/pkgs/misc/emulators/libdsk/default.nix b/pkgs/applications/emulators/libdsk/default.nix
index 247aef118e8..247aef118e8 100644
--- a/pkgs/misc/emulators/libdsk/default.nix
+++ b/pkgs/applications/emulators/libdsk/default.nix
diff --git a/pkgs/misc/emulators/maiko/default.nix b/pkgs/applications/emulators/maiko/default.nix
index e78b680d617..e78b680d617 100644
--- a/pkgs/misc/emulators/maiko/default.nix
+++ b/pkgs/applications/emulators/maiko/default.nix
diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index e0915703003..e0915703003 100644
--- a/pkgs/misc/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
diff --git a/pkgs/misc/emulators/mame/emuopts.patch b/pkgs/applications/emulators/mame/emuopts.patch
index b85291f52f7..b85291f52f7 100644
--- a/pkgs/misc/emulators/mame/emuopts.patch
+++ b/pkgs/applications/emulators/mame/emuopts.patch
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/applications/emulators/mednafen/default.nix
index f76ddb78bd5..f76ddb78bd5 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/applications/emulators/mednafen/default.nix
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/applications/emulators/mednafen/server.nix
index 24c13bf0228..24c13bf0228 100644
--- a/pkgs/misc/emulators/mednafen/server.nix
+++ b/pkgs/applications/emulators/mednafen/server.nix
diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/applications/emulators/mednaffe/default.nix
index 4874d5efee7..4874d5efee7 100644
--- a/pkgs/misc/emulators/mednaffe/default.nix
+++ b/pkgs/applications/emulators/mednaffe/default.nix
diff --git a/pkgs/misc/emulators/melonDS/default.nix b/pkgs/applications/emulators/melonDS/default.nix
index 3e30be8c2a3..3e30be8c2a3 100644
--- a/pkgs/misc/emulators/melonDS/default.nix
+++ b/pkgs/applications/emulators/melonDS/default.nix
diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/applications/emulators/mgba/default.nix
index d8defe6f2e9..d8defe6f2e9 100644
--- a/pkgs/misc/emulators/mgba/default.nix
+++ b/pkgs/applications/emulators/mgba/default.nix
diff --git a/pkgs/misc/emulators/mupen64plus/default.nix b/pkgs/applications/emulators/mupen64plus/default.nix
index f5d17d9d395..f5d17d9d395 100644
--- a/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/pkgs/applications/emulators/mupen64plus/default.nix
diff --git a/pkgs/misc/emulators/nestopia/build-fix.patch b/pkgs/applications/emulators/nestopia/build-fix.patch
index a7d82ead15c..a7d82ead15c 100644
--- a/pkgs/misc/emulators/nestopia/build-fix.patch
+++ b/pkgs/applications/emulators/nestopia/build-fix.patch
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/applications/emulators/nestopia/default.nix
index fa55c2e9635..fa55c2e9635 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/applications/emulators/nestopia/default.nix
diff --git a/pkgs/misc/emulators/nestopia/gcc6.patch b/pkgs/applications/emulators/nestopia/gcc6.patch
index 65dcc72c0c2..65dcc72c0c2 100644
--- a/pkgs/misc/emulators/nestopia/gcc6.patch
+++ b/pkgs/applications/emulators/nestopia/gcc6.patch
diff --git a/pkgs/misc/emulators/np2kai/default.nix b/pkgs/applications/emulators/np2kai/default.nix
index 0ed47af8f5b..0ed47af8f5b 100644
--- a/pkgs/misc/emulators/np2kai/default.nix
+++ b/pkgs/applications/emulators/np2kai/default.nix
diff --git a/pkgs/misc/emulators/oberon-risc-emu/default.nix b/pkgs/applications/emulators/oberon-risc-emu/default.nix
index 749e3549bf8..749e3549bf8 100644
--- a/pkgs/misc/emulators/oberon-risc-emu/default.nix
+++ b/pkgs/applications/emulators/oberon-risc-emu/default.nix
diff --git a/pkgs/misc/emulators/openmsx/custom-nix.mk b/pkgs/applications/emulators/openmsx/custom-nix.mk
index 9098762e40d..9098762e40d 100644
--- a/pkgs/misc/emulators/openmsx/custom-nix.mk
+++ b/pkgs/applications/emulators/openmsx/custom-nix.mk
diff --git a/pkgs/misc/emulators/openmsx/default.nix b/pkgs/applications/emulators/openmsx/default.nix
index f054b954b59..f054b954b59 100644
--- a/pkgs/misc/emulators/openmsx/default.nix
+++ b/pkgs/applications/emulators/openmsx/default.nix
diff --git a/pkgs/misc/emulators/pcem/default.nix b/pkgs/applications/emulators/pcem/default.nix
index 2e6aa683e4d..2e6aa683e4d 100644
--- a/pkgs/misc/emulators/pcem/default.nix
+++ b/pkgs/applications/emulators/pcem/default.nix
diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
index 2e22e7d9053..2e22e7d9053 100644
--- a/pkgs/misc/emulators/pcsx2/default.nix
+++ b/pkgs/applications/emulators/pcsx2/default.nix
diff --git a/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch b/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
index 0edc6281a7e..0edc6281a7e 100644
--- a/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
+++ b/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
diff --git a/pkgs/misc/emulators/pcsxr/default.nix b/pkgs/applications/emulators/pcsxr/default.nix
index e3126efe82d..e3126efe82d 100644
--- a/pkgs/misc/emulators/pcsxr/default.nix
+++ b/pkgs/applications/emulators/pcsxr/default.nix
diff --git a/pkgs/misc/emulators/pcsxr/uncompress2.patch b/pkgs/applications/emulators/pcsxr/uncompress2.patch
index 356868ce7a8..356868ce7a8 100644
--- a/pkgs/misc/emulators/pcsxr/uncompress2.patch
+++ b/pkgs/applications/emulators/pcsxr/uncompress2.patch
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/applications/emulators/ppsspp/default.nix
index b84d18a4e7a..b84d18a4e7a 100644
--- a/pkgs/misc/emulators/ppsspp/default.nix
+++ b/pkgs/applications/emulators/ppsspp/default.nix
diff --git a/pkgs/misc/emulators/proton-caller/default.nix b/pkgs/applications/emulators/proton-caller/default.nix
index d10c4364232..d10c4364232 100644
--- a/pkgs/misc/emulators/proton-caller/default.nix
+++ b/pkgs/applications/emulators/proton-caller/default.nix
diff --git a/pkgs/misc/emulators/punes/default.nix b/pkgs/applications/emulators/punes/default.nix
index 9b147de4fa9..9b147de4fa9 100644
--- a/pkgs/misc/emulators/punes/default.nix
+++ b/pkgs/applications/emulators/punes/default.nix
diff --git a/pkgs/misc/emulators/py65/default.nix b/pkgs/applications/emulators/py65/default.nix
index 66ba3cdf4b4..66ba3cdf4b4 100644
--- a/pkgs/misc/emulators/py65/default.nix
+++ b/pkgs/applications/emulators/py65/default.nix
diff --git a/pkgs/misc/emulators/qmc2/default.nix b/pkgs/applications/emulators/qmc2/default.nix
index 6c6a52fc65c..6c6a52fc65c 100644
--- a/pkgs/misc/emulators/qmc2/default.nix
+++ b/pkgs/applications/emulators/qmc2/default.nix
diff --git a/pkgs/misc/emulators/reicast/default.nix b/pkgs/applications/emulators/reicast/default.nix
index f9e8e4d6937..f9e8e4d6937 100644
--- a/pkgs/misc/emulators/reicast/default.nix
+++ b/pkgs/applications/emulators/reicast/default.nix
diff --git a/pkgs/misc/emulators/resim/default.nix b/pkgs/applications/emulators/resim/default.nix
index 49d7721174f..49d7721174f 100644
--- a/pkgs/misc/emulators/resim/default.nix
+++ b/pkgs/applications/emulators/resim/default.nix
diff --git a/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch b/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
index 75018dc8c4d..75018dc8c4d 100644
--- a/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
+++ b/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
diff --git a/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch b/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
index 9aa8db6ab04..9aa8db6ab04 100644
--- a/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
+++ b/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix
index e0045a3827d..e0045a3827d 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/applications/emulators/retroarch/cores.nix
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index 2c49874e544..2c49874e544 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
diff --git a/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch b/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch
index 34fea554ef7..34fea554ef7 100644
--- a/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch
+++ b/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch
diff --git a/pkgs/misc/emulators/retroarch/fix-config.patch b/pkgs/applications/emulators/retroarch/fix-config.patch
index 1a71bf43cb1..1a71bf43cb1 100644
--- a/pkgs/misc/emulators/retroarch/fix-config.patch
+++ b/pkgs/applications/emulators/retroarch/fix-config.patch
diff --git a/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch b/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
index 203ce836533..203ce836533 100644
--- a/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch
+++ b/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index 1280f25047d..1280f25047d 100644
--- a/pkgs/misc/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
diff --git a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix b/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix
index 9d83c46396c..9d83c46396c 100644
--- a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
+++ b/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix
diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/applications/emulators/retroarch/update.py
index 68f72103168..68f72103168 100755
--- a/pkgs/misc/emulators/retroarch/update.py
+++ b/pkgs/applications/emulators/retroarch/update.py
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/applications/emulators/retroarch/wrapper.nix
index e667afdf079..e667afdf079 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/applications/emulators/retroarch/wrapper.nix
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/applications/emulators/retrofe/default.nix
index dc1a23f33b3..dc1a23f33b3 100644
--- a/pkgs/misc/emulators/retrofe/default.nix
+++ b/pkgs/applications/emulators/retrofe/default.nix
diff --git a/pkgs/misc/emulators/retrofe/include-paths.patch b/pkgs/applications/emulators/retrofe/include-paths.patch
index 02eef2594ea..02eef2594ea 100644
--- a/pkgs/misc/emulators/retrofe/include-paths.patch
+++ b/pkgs/applications/emulators/retrofe/include-paths.patch
diff --git a/pkgs/misc/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch b/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
index dccf06fc078..dccf06fc078 100644
--- a/pkgs/misc/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
+++ b/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
diff --git a/pkgs/misc/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix
index 0ea56d3a72d..0ea56d3a72d 100644
--- a/pkgs/misc/emulators/rpcs3/default.nix
+++ b/pkgs/applications/emulators/rpcs3/default.nix
diff --git a/pkgs/misc/emulators/rpcs3/update.sh b/pkgs/applications/emulators/rpcs3/update.sh
index 0c8477c5282..0c8477c5282 100755
--- a/pkgs/misc/emulators/rpcs3/update.sh
+++ b/pkgs/applications/emulators/rpcs3/update.sh
diff --git a/pkgs/misc/emulators/ruffle/default.nix b/pkgs/applications/emulators/ruffle/default.nix
index 784ea69d397..784ea69d397 100644
--- a/pkgs/misc/emulators/ruffle/default.nix
+++ b/pkgs/applications/emulators/ruffle/default.nix
diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index 2f684257114..2f684257114 100644
--- a/pkgs/misc/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
diff --git a/pkgs/misc/emulators/ryujinx/deps.nix b/pkgs/applications/emulators/ryujinx/deps.nix
index 991d00a5a4b..991d00a5a4b 100644
--- a/pkgs/misc/emulators/ryujinx/deps.nix
+++ b/pkgs/applications/emulators/ryujinx/deps.nix
diff --git a/pkgs/misc/emulators/ryujinx/log.patch b/pkgs/applications/emulators/ryujinx/log.patch
index 57e96e5c25c..57e96e5c25c 100644
--- a/pkgs/misc/emulators/ryujinx/log.patch
+++ b/pkgs/applications/emulators/ryujinx/log.patch
diff --git a/pkgs/misc/emulators/ryujinx/updater.sh b/pkgs/applications/emulators/ryujinx/updater.sh
index 0861414f0bf..0861414f0bf 100755
--- a/pkgs/misc/emulators/ryujinx/updater.sh
+++ b/pkgs/applications/emulators/ryujinx/updater.sh
diff --git a/pkgs/misc/emulators/sameboy/default.nix b/pkgs/applications/emulators/sameboy/default.nix
index 6838a7baaf2..6838a7baaf2 100644
--- a/pkgs/misc/emulators/sameboy/default.nix
+++ b/pkgs/applications/emulators/sameboy/default.nix
diff --git a/pkgs/misc/emulators/simh/default.nix b/pkgs/applications/emulators/simh/default.nix
index 1e939538cda..1e939538cda 100644
--- a/pkgs/misc/emulators/simh/default.nix
+++ b/pkgs/applications/emulators/simh/default.nix
diff --git a/pkgs/misc/emulators/simplenes/default.nix b/pkgs/applications/emulators/simplenes/default.nix
index d073098507e..d073098507e 100644
--- a/pkgs/misc/emulators/simplenes/default.nix
+++ b/pkgs/applications/emulators/simplenes/default.nix
diff --git a/pkgs/misc/emulators/snes9x-gtk/default.nix b/pkgs/applications/emulators/snes9x-gtk/default.nix
index 27f3400cc0b..27f3400cc0b 100644
--- a/pkgs/misc/emulators/snes9x-gtk/default.nix
+++ b/pkgs/applications/emulators/snes9x-gtk/default.nix
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/applications/emulators/stella/default.nix
index 212c0669046..212c0669046 100644
--- a/pkgs/misc/emulators/stella/default.nix
+++ b/pkgs/applications/emulators/stella/default.nix
diff --git a/pkgs/misc/emulators/termtekst/default.nix b/pkgs/applications/emulators/termtekst/default.nix
index 56f56cffad9..56f56cffad9 100644
--- a/pkgs/misc/emulators/termtekst/default.nix
+++ b/pkgs/applications/emulators/termtekst/default.nix
diff --git a/pkgs/misc/emulators/tilem/default.nix b/pkgs/applications/emulators/tilem/default.nix
index bde706e2304..bde706e2304 100644
--- a/pkgs/misc/emulators/tilem/default.nix
+++ b/pkgs/applications/emulators/tilem/default.nix
diff --git a/pkgs/applications/virtualization/tiny8086/default.nix b/pkgs/applications/emulators/tiny8086/default.nix
index 60d69432cde..a0cc6bd7929 100644
--- a/pkgs/applications/virtualization/tiny8086/default.nix
+++ b/pkgs/applications/emulators/tiny8086/default.nix
@@ -24,32 +24,33 @@ stdenv.mkDerivation rec {
   makeFlags = [ "8086tiny" ];
 
   postBuild = lib.optionalString localBios ''
-    (
-      cd bios_source
-      nasm -f bin bios.asm -o bios
-    )
+    pushd bios_source
+    nasm -f bin bios.asm -o bios
+    popd
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/8086tiny $out/share/doc/8086tiny/images
+    runHook preInstall
 
+    mkdir -p $out/bin $out/share/8086tiny $out/share/doc/8086tiny/images
     install -m 755 8086tiny $out/bin
     install -m 644 fd.img $out/share/8086tiny/8086tiny-floppy.img
     install -m 644 bios_source/bios.asm $out/share/8086tiny/8086tiny-bios-src.asm
     install -m 644 docs/8086tiny.css $out/share/doc/8086tiny
     install -m 644 docs/doc.html $out/share/doc/$name
 
-    for i in docs/images/\*.gif; do
-      install -m 644 $i $out/share/doc/8086tiny/images
+    for image in docs/images/\*.gif; do
+      install -m 644 $image $out/share/doc/8086tiny/images
     done
 
-    ${if localBios then
-      "install -m 644 bios_source/bios $out/share/8086tiny/8086tiny-bios"
-    else
-      "install -m 644 bios $out/share/8086tiny/8086tiny-bios"}
+    install -m 644 ${lib.optionalString localBios "bios_source/"}bios \
+      $out/share/8086tiny/8086tiny-bios
+
+    runHook postInstall
   '';
 
   meta = with lib; {
+    homepage = "https://github.com/adriancable/8086tiny";
     description = "An open-source small 8086 emulator";
     longDescription = ''
       8086tiny is a tiny, open-source (MIT), portable (little-endian hosts)
@@ -60,7 +61,6 @@ stdenv.mkDerivation rec {
       8086tiny is based on an IOCCC 2013 winning entry. In fact that is the
       "unobfuscated" version :)
     '';
-    homepage = "https://github.com/adriancable/8086tiny";
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/emulators/tinyemu/default.nix b/pkgs/applications/emulators/tinyemu/default.nix
new file mode 100644
index 00000000000..c32fd24fe47
--- /dev/null
+++ b/pkgs/applications/emulators/tinyemu/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, curl
+, openssl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tinyemu";
+  version = "2019-12-21";
+
+  src = fetchurl {
+    url = "https://bellard.org/tinyemu/${pname}-${version}.tar.gz";
+    hash = "sha256-voNR8hIYGbMXL87c5csYJvoSyH2ht+2Y8mnT6AKgVVU=";
+  };
+
+  buildInputs = [
+    SDL
+    curl
+    openssl
+  ];
+
+  makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ];
+
+  preInstall = ''
+    mkdir -p "$out/bin"
+  '';
+
+  meta = with lib; {
+    homepage = "https://bellard.org/tinyemu/";
+    description = "A system emulator for the RISC-V and x86 architectures";
+    longDescription = ''
+      TinyEMU is a system emulator for the RISC-V and x86 architectures. Its
+      purpose is to be small and simple while being complete.
+    '';
+    license = with licenses; [ mit bsd2 ];
+    maintainers = with maintainers; [ jhhuh AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/uae/default.nix b/pkgs/applications/emulators/uae/default.nix
index 64f311c4a8a..64f311c4a8a 100644
--- a/pkgs/misc/emulators/uae/default.nix
+++ b/pkgs/applications/emulators/uae/default.nix
diff --git a/pkgs/misc/emulators/uxn/default.nix b/pkgs/applications/emulators/uxn/default.nix
index 0b797e2e160..0b797e2e160 100644
--- a/pkgs/misc/emulators/uxn/default.nix
+++ b/pkgs/applications/emulators/uxn/default.nix
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/applications/emulators/vbam/default.nix
index bb5e7cea4e0..bb5e7cea4e0 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/applications/emulators/vbam/default.nix
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/applications/emulators/vice/default.nix
index ca0de2f8276..ca0de2f8276 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/applications/emulators/vice/default.nix
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix
index 480fc009504..480fc009504 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/applications/emulators/wine/base.nix
diff --git a/pkgs/misc/emulators/wine/builder-wow.sh b/pkgs/applications/emulators/wine/builder-wow.sh
index 0dd3194dc53..0dd3194dc53 100644
--- a/pkgs/misc/emulators/wine/builder-wow.sh
+++ b/pkgs/applications/emulators/wine/builder-wow.sh
diff --git a/pkgs/misc/emulators/wine/cert-path.patch b/pkgs/applications/emulators/wine/cert-path.patch
index f0727f422f8..f0727f422f8 100644
--- a/pkgs/misc/emulators/wine/cert-path.patch
+++ b/pkgs/applications/emulators/wine/cert-path.patch
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/applications/emulators/wine/default.nix
index 191fd4b2980..191fd4b2980 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/applications/emulators/wine/default.nix
diff --git a/pkgs/misc/emulators/wine/fonts.nix b/pkgs/applications/emulators/wine/fonts.nix
index 0ee1b3973d8..0ee1b3973d8 100644
--- a/pkgs/misc/emulators/wine/fonts.nix
+++ b/pkgs/applications/emulators/wine/fonts.nix
diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/applications/emulators/wine/packages.nix
index cb857daef0a..cb857daef0a 100644
--- a/pkgs/misc/emulators/wine/packages.nix
+++ b/pkgs/applications/emulators/wine/packages.nix
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index b98aceddbd4..b98aceddbd4 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/applications/emulators/wine/staging.nix
index c6bdb401245..c6bdb401245 100644
--- a/pkgs/misc/emulators/wine/staging.nix
+++ b/pkgs/applications/emulators/wine/staging.nix
diff --git a/pkgs/misc/emulators/wine/util.nix b/pkgs/applications/emulators/wine/util.nix
index cd5bd03130b..cd5bd03130b 100644
--- a/pkgs/misc/emulators/wine/util.nix
+++ b/pkgs/applications/emulators/wine/util.nix
diff --git a/pkgs/misc/emulators/wine/vkd3d.nix b/pkgs/applications/emulators/wine/vkd3d.nix
index 303d33df217..303d33df217 100644
--- a/pkgs/misc/emulators/wine/vkd3d.nix
+++ b/pkgs/applications/emulators/wine/vkd3d.nix
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/applications/emulators/wine/winetricks.nix
index 61ca6515c44..61ca6515c44 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/applications/emulators/wine/winetricks.nix
diff --git a/pkgs/misc/emulators/xcpc/default.nix b/pkgs/applications/emulators/xcpc/default.nix
index 633d44bb5ae..633d44bb5ae 100644
--- a/pkgs/misc/emulators/xcpc/default.nix
+++ b/pkgs/applications/emulators/xcpc/default.nix
diff --git a/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch b/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
index 43539ef4ca5..43539ef4ca5 100644
--- a/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
+++ b/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/applications/emulators/yabause/default.nix
index 17b7b563c15..17b7b563c15 100644
--- a/pkgs/misc/emulators/yabause/default.nix
+++ b/pkgs/applications/emulators/yabause/default.nix
diff --git a/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch b/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch
index bb0491b373f..bb0491b373f 100644
--- a/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch
+++ b/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch
diff --git a/pkgs/misc/emulators/yapesdl/default.nix b/pkgs/applications/emulators/yapesdl/default.nix
index 5f4b7771fb5..5f4b7771fb5 100644
--- a/pkgs/misc/emulators/yapesdl/default.nix
+++ b/pkgs/applications/emulators/yapesdl/default.nix
diff --git a/pkgs/misc/emulators/yuzu/base.nix b/pkgs/applications/emulators/yuzu/base.nix
index 4bee17c6954..aff09134fae 100644
--- a/pkgs/misc/emulators/yuzu/base.nix
+++ b/pkgs/applications/emulators/yuzu/base.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
       # Icons
       cc-by-nd-30 cc0
     ];
-    maintainers = with maintainers; [ ivar joshuafern ];
+    maintainers = with maintainers; [ ivar joshuafern sbruder ];
     platforms = platforms.linux;
     broken = stdenv.isAarch64; # Currently aarch64 is not supported.
   };
diff --git a/pkgs/misc/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix
index 108da20f4a2..9e45ba0cd2c 100644
--- a/pkgs/misc/emulators/yuzu/default.nix
+++ b/pkgs/applications/emulators/yuzu/default.nix
@@ -16,13 +16,13 @@ in {
   };
   early-access = libsForQt5.callPackage ./base.nix rec {
     pname = "yuzu-ea";
-    version = "2156";
+    version = "2432";
     branchName = branch;
     src = fetchFromGitHub {
       owner = "pineappleEA";
       repo = "pineapple-src";
       rev = "EA-${version}";
-      sha256 = "1x8x808x3i8jr9zghx01vakb6q6hkwnarawr9arxvqnd9x79j8ga";
+      sha256 = "0zqab61rphgjzyxk52idhr7dqwwxih0f8b9hig3zvrwkdry9wfh4";
     };
   };
 }.${branch}
diff --git a/pkgs/misc/emulators/zesarux/default.nix b/pkgs/applications/emulators/zesarux/default.nix
index 4df6cfafbc0..4df6cfafbc0 100644
--- a/pkgs/misc/emulators/zesarux/default.nix
+++ b/pkgs/applications/emulators/zesarux/default.nix
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/applications/emulators/zsnes/default.nix
index ba2f5d6bdc1..ba2f5d6bdc1 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/applications/emulators/zsnes/default.nix
diff --git a/pkgs/applications/graphics/azpainter/default.nix b/pkgs/applications/graphics/azpainter/default.nix
index 74dc55fc5e1..0e61da0041b 100644
--- a/pkgs/applications/graphics/azpainter/default.nix
+++ b/pkgs/applications/graphics/azpainter/default.nix
@@ -1,31 +1,40 @@
-{ lib, stdenv, fetchFromGitHub
-, libX11, libXext, libXi
+{ lib, stdenv, fetchFromGitLab
+, desktop-file-utils, shared-mime-info
+, libiconv
+, libX11, libXcursor, libXext, libXi
 , freetype, fontconfig
-, libpng, libjpeg
+, libjpeg, libpng, libtiff, libwebp
 , zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "azpainter";
-  version = "2.1.6";
+  version = "3.0.4";
 
-  src = fetchFromGitHub {
-    owner = "Symbian9";
+  src = fetchFromGitLab {
+    owner = "azelpg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0i5g67s4ysnvbaxmi7dhan0hfcfk8an14xykkafl47pqfx33npva";
+    hash = "sha256-2gTTF1ti9bO24d75mhwyvJISSgMKdmp+oJVmgzEQHdY=";
   };
 
+  nativeBuildInputs = [
+    desktop-file-utils # for update-desktop-database
+    shared-mime-info   # for update-mime-info
+  ];
+
   buildInputs = [
-    libX11 libXext libXi
+    libX11 libXcursor libXext libXi
     freetype fontconfig
-    libpng libjpeg
+    libjpeg libpng libtiff libwebp
     zlib
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
+
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Full color painting software for illustration drawing";
-    homepage = "https://osdn.net/projects/azpainter";
+    homepage = "http://azsky2.html.xdomain.jp/soft/azpainter.html";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dtzWill ];
     platforms = with platforms; linux ++ darwin;
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 7feeb08105d..e950d5e36f5 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -56,12 +56,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.8.0";
+  version = "3.8.1";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "01gp9dg5wr2rg1k8cqs0l3s7ism8a4q8qypgwccd4jh7ip3wfr9f";
+    sha256 = "1xmyn9haagizh8qqg91bm1lx3dq1v8failxj943mipnvaj80dvl1";
   };
 
   nativeBuildInputs = [ cmake ninja llvm_13 pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
@@ -119,15 +119,6 @@ stdenv.mkDerivation rec {
     "-DUSE_KWALLET=OFF"
   ];
 
-  patches = [
-    (fetchpatch {
-      # This is merged in darktable master and will hopefully be in 3.8.1
-      name = "cmake-fix.patch";
-      url = "https://github.com/darktable-org/darktable/commit/58d247f7ebea76c55fa2525beb9f5ce092c6670d.patch";
-      sha256 = "11fn6d2mwlapbf1zbyv6bhgv29kxcwrs7cnbway0rnl9nj8wimf2";
-    })
-  ];
-
   # darktable changed its rpath handling in commit
   # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
   # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 899495db931..9c75742d52b 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -3,8 +3,6 @@
 , curl, libexif, jpegexiforient, perl
 , enableAutoreload ? !stdenv.hostPlatform.isDarwin }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "feh";
   version = "3.8";
@@ -22,22 +20,24 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "PREFIX=${placeholder "out"}" "exif=1"
-  ] ++ optional stdenv.isDarwin "verscmp=0"
-    ++ optional enableAutoreload "inotify=1";
+  ] ++ lib.optional stdenv.isDarwin "verscmp=0"
+    ++ lib.optional enableAutoreload "inotify=1";
 
   installTargets = [ "install" ];
   postInstall = ''
-    wrapProgram "$out/bin/feh" --prefix PATH : "${makeBinPath [ libjpeg jpegexiforient ]}" \
+    wrapProgram "$out/bin/feh" --prefix PATH : "${lib.makeBinPath [ libjpeg jpegexiforient ]}" \
                                --add-flags '--theme=feh'
   '';
 
   checkInputs = lib.singleton (perl.withPackages (p: [ p.TestCommand ]));
   doCheck = true;
 
-  meta = {
+  meta = with lib; {
     description = "A light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
-    license = licenses.mit;
+    # released under a variant of the MIT license
+    # https://spdx.org/licenses/MIT-feh.html
+    license = licenses.mit-feh;
     maintainers = with maintainers; [ viric willibutz globin ma27 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index 8fa85803bfd..984d67f6ba7 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   GSEXE="${ghostscript}/bin/gs";
 
+  configureFlags = [ "--enable-transfig" ];
+
   postInstall = ''
     wrapProgram $out/bin/fig2ps2tex \
         --set PATH ${lib.makeBinPath [ coreutils bc gnugrep gawk ]}
@@ -36,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "Tool to convert Xfig files to other formats";
     homepage = "http://mcj.sourceforge.net/";
     license = licenses.xfig;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ lesuisse ];
   };
 }
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index 6e3908db2c0..89db615da5d 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "472";
+  version = "473";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "v${version}";
-    sha256 = "sha256-6BhicOKQez9gk73WHaPeN/FXcUetdklhh8jePSgvN6E=";
+    sha256 = "sha256-eSnN9+9xJ1CeJm/jWw4jZq5OkgXC0p0KmxQ8bhnp9W4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/dupeguru/default.nix b/pkgs/applications/misc/dupeguru/default.nix
index 2cc0c588b11..6bc29080983 100644
--- a/pkgs/applications/misc/dupeguru/default.nix
+++ b/pkgs/applications/misc/dupeguru/default.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
 
   pythonPath = with python3Packages; [
     pyqt5
-    pyqt5.pyqt5_sip
+    pyqt5_sip
     send2trash
     sphinx
     polib
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 12649b5b7fe..ed0e3e72be2 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.20.4";
+  version = "1.20.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-K22ee6qcVXbJJKH5/6EMvSdSNKBb7xAP++1s+A5ENu4=";
+    sha256 = "sha256-UJAoxRybEYxQY+7l/szSj9fy1J552yaxF3MdaEmDiQQ=";
   };
 
   propagatedBuildInputs = [ requests yt-dlp ];
diff --git a/pkgs/applications/misc/lemonade/default.nix b/pkgs/applications/misc/lemonade/default.nix
new file mode 100644
index 00000000000..797b9e7b2ae
--- /dev/null
+++ b/pkgs/applications/misc/lemonade/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, fetchpatch
+}:
+
+buildGoModule rec {
+  pname = "lemonade";
+  version = "unstable-2021-06-18";
+
+  src = fetchFromGitHub {
+    owner = "lemonade-command";
+    repo = pname;
+    rev = "97ad2f7d63cbe6c696af36a754d399b4be4553bc";
+    sha256 = "sha256-77ymkpO/0DE4+m8fnpXGdnLLFxWMnKu2zsqCpQ3wEPM=";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/lemonade-command/lemonade/commit/2b292b0c9d8dc57f73c30a58b3f0f790a953b212.patch";
+      sha256 = "sha256-jUcOfsKu1IYa7arZuAvhuD0vw7JTmhzA/VLxOtAnbmI=";
+    })
+  ];
+
+  vendorSha256 = "sha256-wjQfTKVNmehu4aU5425gS0YWKj53dosVSTLgdu9KjKc=";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Remote utility tool that to copy, paste and open browsers over TCP";
+    homepage = "https://github.com/lemonade-command/lemonade/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index a558ac67f7d..d0b2c85f107 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -34,13 +34,13 @@
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "41.1";
+  version = "41.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "H9ArmQlPCfbnLfd54actzkFCfsguJFpOqDIzqX7tonE=";
+    sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/plasma-theme-switcher/default.nix b/pkgs/applications/misc/plasma-theme-switcher/default.nix
new file mode 100644
index 00000000000..fb8d407ef12
--- /dev/null
+++ b/pkgs/applications/misc/plasma-theme-switcher/default.nix
@@ -0,0 +1,42 @@
+{
+  stdenv, lib, cmake, extra-cmake-modules, fetchFromGitHub, qtbase, kdeFrameworks
+}:
+
+stdenv.mkDerivation rec {
+  pname = "plasma-theme-switcher";
+  version = "0.1";
+  dontWrapQtApps = true;
+
+  src = fetchFromGitHub {
+    owner = "maldoinc";
+    repo = "plasma-theme-switcher";
+    rev = "v${version}";
+    sha256 = "sdcJ6K5QmglJEDIEl4sd8x7DuCPCqMHRxdYbcToM46Q=";
+  };
+
+  buildInputs = [
+    qtbase
+    kdeFrameworks.plasma-framework
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp plasma-theme $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/maldoinc/plasma-theme-switcher/";
+    description = "A KDE Plasma theme switcher";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ kevink ];
+  };
+}
diff --git a/pkgs/applications/misc/whalebird/default.nix b/pkgs/applications/misc/whalebird/default.nix
index bb1b9213fde..d478655eed1 100644
--- a/pkgs/applications/misc/whalebird/default.nix
+++ b/pkgs/applications/misc/whalebird/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "whalebird";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchurl {
     url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb";
-    sha256 = "sha256-yl4R/1flm2Lfvyh9PXlJcZ1VtnP8nBQC0i7zs4U+g7g=";
+    sha256 = "sha256-70fCyxiM4CiNuG4Lqr4Tq0FHak3wDcp8G93EKYj+0kc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/wike/default.nix b/pkgs/applications/misc/wike/default.nix
index 0193321ef4b..c3e5a505722 100644
--- a/pkgs/applications/misc/wike/default.nix
+++ b/pkgs/applications/misc/wike/default.nix
@@ -7,14 +7,12 @@
 , libhandy, webkitgtk, glib-networking
 , gnome, dconf
 }:
-let
-  pythonEnv = python3.withPackages (p: with p; [
-    pygobject3
-    requests
-  ]);
-in stdenv.mkDerivation rec {
+
+python3.pkgs.buildPythonApplication rec {
   pname = "wike";
   version = "1.7.1";
+  format = "other";
+  strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
   src = fetchFromGitHub {
     owner = "hugolabe";
@@ -35,7 +33,6 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    pythonEnv
     gtk3
     libhandy
     webkitgtk
@@ -44,10 +41,13 @@ in stdenv.mkDerivation rec {
     dconf
   ];
 
+  propagatedBuildInputs = with python3.pkgs; [
+    requests
+    pygobject3
+  ];
+
   postPatch = ''
     patchShebangs build-aux/meson/postinstall.py
-    substituteInPlace src/wike.in    --replace "@PYTHON@" "${pythonEnv}/bin/python"
-    substituteInPlace src/wike-sp.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/zettlr/default.nix b/pkgs/applications/misc/zettlr/default.nix
index bb7425f2e67..79496760915 100644
--- a/pkgs/applications/misc/zettlr/default.nix
+++ b/pkgs/applications/misc/zettlr/default.nix
@@ -10,11 +10,11 @@
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
   pname = "zettlr";
-  version = "2.1.3";
+  version = "2.2.2";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-    sha256 = "sha256-prUKMtM9qf34OXaMjuWa1jTZ+2tn99rVJBdqk1El3zs=";
+    sha256 = "sha256-gCnIEwnwlX7Wy9sjJVtKx8HhtPAoPMUOKvl71TQn6Ew=";
   };
   appimageContents = appimageTools.extractType2 {
     inherit name src;
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 110d06071ad..5cc9fb612a3 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -12,7 +12,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gnome
 , gsettings-desktop-schemas
 , gtk3
@@ -60,7 +59,6 @@ rpath = lib.makeLibraryPath [
   freetype
   gdk-pixbuf
   glib
-  gnome2.GConf
   gtk3
   libdrm
   libpulseaudio
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 1da699bbe98..f6c3dd66ed0 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "98.0.4758.80",
-    "sha256": "0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8",
-    "sha256bin64": "0p2bh45ffgfhyh18bxw8fz4691g25s44lxxj4igk8b0bn71v1pgi",
+    "version": "98.0.4758.102",
+    "sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1",
+    "sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6",
     "deps": {
       "gn": {
         "version": "2021-12-07",
@@ -12,10 +12,10 @@
       }
     },
     "chromedriver": {
-      "version": "98.0.4758.48",
-      "sha256_linux": "1nk3vki803b30mc7ww911l68jfxmpp6mddyq02a3f68893qa2mcf",
-      "sha256_darwin": "09m5vsqfn6qyn3faf2p0dldll6fracjg6z81xzpyp2bh9zp8vk82",
-      "sha256_darwin_aarch64": "04lnbm9wiaz8dlc4qigxakcwghhjc3wvahvl5j80k8agkbv7fdvi"
+      "version": "98.0.4758.102",
+      "sha256_linux": "054qm8agzj6axvasa7b10cz4jz8zfmmblvvifdnyhn4p3zqx74im",
+      "sha256_darwin": "1m6slaw7lqhlhmjjyaam7c21yyahpi34fv9vldqhra07b5r88dny",
+      "sha256_darwin_aarch64": "0n0lsk75dxv94b2zv25yqysyfbvbqhfql3bbp9abl1jcp00m8s3l"
     }
   },
   "beta": {
@@ -45,9 +45,9 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "98.0.4758.80",
-    "sha256": "0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8",
-    "sha256bin64": "0p2bh45ffgfhyh18bxw8fz4691g25s44lxxj4igk8b0bn71v1pgi",
+    "version": "98.0.4758.102",
+    "sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1",
+    "sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6",
     "deps": {
       "gn": {
         "version": "2021-12-07",
@@ -56,8 +56,8 @@
         "sha256": "02bx3bp85kkis704gndb6jvjph7gv3ij746bq4anl30kfrkpcifh"
       },
       "ungoogled-patches": {
-        "rev": "98.0.4758.80-1",
-        "sha256": "0a8y9yz6xyh025gk3dr0ndrdwmrslhd1ph2f8nivmqk61j7c2g8h"
+        "rev": "98.0.4758.102-1",
+        "sha256": "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index d1fd9f05ccb..5ba831b2102 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, patchelf, makeWrapper
 
 # Linked dynamic libraries.
-, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr
+, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, nss, nspr
 , libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb
 , alsa-lib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups
 , dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core
@@ -57,7 +57,7 @@ let
   version = chromium.upstream-info.version;
 
   deps = [
-    glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
+    glib fontconfig freetype pango cairo libX11 libXi atk nss nspr
     libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb
     alsa-lib libXdamage libXtst libXrandr libxshmfence expat cups
     dbus gdk-pixbuf gcc-unwrapped.lib
diff --git a/pkgs/applications/networking/browsers/icecat-bin/default.nix b/pkgs/applications/networking/browsers/icecat-bin/default.nix
deleted file mode 100644
index 2427570a59d..00000000000
--- a/pkgs/applications/networking/browsers/icecat-bin/default.nix
+++ /dev/null
@@ -1,130 +0,0 @@
-{ stdenv
-, lib
-, fetchzip
-, autoPatchelfHook
-, wrapGAppsHook
-, gnome2
-, gtk2
-, nss
-, xdg-utils
-, xorg
-, alsa-lib
-, atk
-, cairo
-, cups
-, curl
-, dbus
-, expat
-, fontconfig
-, freetype
-, gdk-pixbuf
-, glib
-, gtk3
-, libX11
-, libxcb
-, libXScrnSaver
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXext
-, libXfixes
-, libXi
-, libXrandr
-, libXrender
-, libXtst
-, libdrm
-, libnotify
-, libopus
-, libpulseaudio
-, libuuid
-, libxshmfence
-, mesa
-, nspr
-, pango
-, systemd
-, at-spi2-atk
-, at-spi2-core
-}:
-
-stdenv.mkDerivation rec {
-  pname = "icecat-bin";
-  version = "60.7.0";
-
-  src = fetchzip {
-    url = "https://mirror.tochlab.net/pub/gnu/gnuzilla/${version}/icecat-${version}.en-US.gnulinux-x86_64.tar.bz2";
-    sha256 = "sha256-bEapbQIcZXQ0Tip/X1Q0guowpr3wNDYsFbHGmTbc5mE=";
-  };
-
-  nativeBuildInputs = [
-    autoPatchelfHook
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    nss
-    xdg-utils
-    xorg.libxkbfile
-    alsa-lib
-    at-spi2-atk
-    at-spi2-core
-    atk
-    cairo
-    cups
-    curl
-    dbus
-    expat
-    fontconfig.lib
-    freetype
-    gdk-pixbuf
-    glib
-    gnome2.GConf
-    gtk2
-    gtk3
-    libX11
-    libXScrnSaver
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXrandr
-    libXrender
-    libXtst
-    libdrm
-    libnotify
-    libopus
-    libuuid
-    libxcb
-    libxshmfence
-    mesa
-    nspr
-    nss
-    pango
-    xorg.libXt
-    stdenv.cc.cc.lib
-  ];
-
-  unpackPhase = ''
-    mkdir -p $TMP/ $out/{opt,bin}
-    cp $src/* $TMP/ -r
-  '';
-
-  installPhase = ''
-    cp -r $TMP/* $out/opt/
-    ln -sf $out/opt/icecat-bin $out/bin/icecat
-  '';
-
-  runtimeDependencies = [
-    libpulseaudio.out
-    (lib.getLib systemd)
-  ];
-
-  meta = with lib; {
-    description = "Binary build of the GNU version of the Mozilla Firefox browser";
-    homepage = "https://www.gnu.org/software/gnuzilla/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dan4ik605743 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 642781d570a..5013ca86d3e 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -11,7 +11,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gtk3
 , gtk4
 , lib
@@ -79,7 +78,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libX11
     libXScrnSaver
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 7584cd3aa2e..139bfdc965f 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -4,7 +4,7 @@
 , freetype, fontconfig, libXft, libXrender, libxcb, expat
 , libuuid
 , libxml2
-, glib, gtk3, pango, gdk-pixbuf, cairo, atk, at-spi2-atk, at-spi2-core, gnome2
+, glib, gtk3, pango, gdk-pixbuf, cairo, atk, at-spi2-atk, at-spi2-core
 , libdrm, mesa
 , nss, nspr
 , patchelf, makeWrapper
@@ -19,11 +19,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "5.0.2497.51-1";
+  version = "5.1.2567.39-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "OOLTY6Q0BI65PVN/B6+Q9t4Fa5Z0p9U2KyAeCGwCCPw=";
+    sha256 = "140idghryk132nyb8np011xiwzgh518n0fxrkjnnvi3c67shq7qc";
   };
 
   unpackPhase = ''
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
     libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
     atk at-spi2-atk at-spi2-core alsa-lib dbus cups gtk3 gdk-pixbuf libexif ffmpeg systemd libva
     freetype fontconfig libXrender libuuid expat glib nss nspr
-    libxml2 pango cairo gnome2.GConf
+    libxml2 pango cairo
     libdrm mesa
   ] ++ lib.optional proprietaryCodecs vivaldi-ffmpeg-codecs;
 
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index f0b240af855..2d7eeb47f76 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.12";
+  version = "0.8.14";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "sha256-OBcvJ1+VAE7jDeQ/I/9uc0wiU0iibeflRMmb+ulgDtQ=";
+    sha256 = "sha256-XH7JtLv0J6bznZZ/L8wg5KB53OPe3KLiYujBlxP71pg=";
   };
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "05zdd5c2x4k4myxmgj32md8wq08i543l8q81rabqgyd3r9nwv4lx";
+  vendorSha256 = "sha256-ipLVzBkliQSPBZTL5FU8xosTVjxFsUVlAvO0a0q+j2o=";
 
   # Exclude pkg/get: tests downloading of binaries which fail when sandbox=true
   subPackages = [
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 0e4dc8f560f..0da63fae421 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "5.2.2";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = "k3d";
     rev = "v${version}";
-    sha256 = "sha256-yOrxEY2UpupVmbDSAhgruTUOhNVAGCpSJsvzDEFFccw=";
+    sha256 = "sha256-ZuUjk1wb7iRZX+OpjLJHp1T0WYNjCHU6DpYF4V/heVc=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubectl-doctor/default.nix b/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
index 5d056907264..5e78cc9b72b 100644
--- a/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectl-doctor";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "emirozer";
     repo = pname;
     rev = version;
-    sha256 = "0x784jbcwd34vzdnhg2yldh5ivkxvs2qlbsvaammbxkn04ch1ijz";
+    sha256 = "sha256-yp5OfSDxIASiCgISUVNxfe3dsLukgIoHARVPALIaQfY=";
   };
 
-  vendorSha256 = "04xq5kp1m7c98gb4fd0dni258vpfnhv535gl2qllfcp2mvk3mn55";
+  vendorSha256 = "sha256-pdg65q7iMkcpFvSVUTa07m5URLQNNEfWQ4mdGu4suBM=";
 
   postInstall = ''
     mv $out/bin/{cmd,kubectl-doctor}
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index bcbc8439c2f..9a3a5f3a3d5 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.16.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s116SwgOj5xzfoz/iw17xubEKzPUx912QHk1+C6YhE8=";
+    sha256 = "sha256-6v4oZmP/FBtHAdnxnbd/HFZln2LGOVGtMc1GyRV2aqs=";
   };
 
-  vendorSha256 = "sha256-VvK4pHmV1WkIzQDHiFVzjurigP3F4xYl0DJCnImSx3s=";
+  vendorSha256 = "sha256-joCJ4acSmClBJLZkW8DFeb0oha1Zowcpoaw6Elu+HrY=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/qbec/default.nix b/pkgs/applications/networking/cluster/qbec/default.nix
index a83bf805d87..3d34a65e292 100644
--- a/pkgs/applications/networking/cluster/qbec/default.nix
+++ b/pkgs/applications/networking/cluster/qbec/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "qbec";
-  version = "0.14.8";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "splunk";
     repo = "qbec";
     rev = "v${version}";
-    sha256 = "sha256-awuYmazBx7zv/WuDsePzdWNRcpAzLK7lf4L2W2Jbt3A=";
+    sha256 = "sha256-cXU+LnOCsGg+iwH5c7cKVi2Htw45AGxyjJFKXKbTkUo=";
   };
 
-  vendorSha256 = "sha256-VOBRQJzATaY9DNRhZvYTRpoISikbzUAwS/1hUfce/44=";
+  vendorSha256 = "sha256-CiVAzFN/ygIiyhZKYtJ197TZO3ppL/emWSj4hAlIanc=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 07302ddc1ef..3954a143e5b 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -191,9 +191,9 @@ rec {
   };
 
   terraform_1 = mkTerraform {
-    version = "1.1.5";
-    sha256 = "sha256-zIerP8v6ovIx+xwLsSmMFH41l140W9IwQMvomb/pk8E=";
-    vendorSha256 = "sha256-4ctuErxZIaESfIkS7BXI+eQcdatXE/1p20P9f890twM=";
+    version = "1.1.6";
+    sha256 = "sha256-Y1ARRCzqYBUQqpqwVrH0PPOZ9IWnw51yfyGFD/6P/ro=";
+    vendorSha256 = "sha256-RhGiY/APd12v0Hoqw381Wlk4oDx7aZt5zZvqkR99rd0=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
   };
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 30966deb0ca..73506867a32 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -11,15 +11,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.65";
+  version = "1.2.67";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-uQO8zJ3+eAu/F5vmaGCd2qqwK8GRlensqypRlK6CXSk=";
+    sha256 = "sha256-SCSj+spANhbrdhj204fsvshkDi0fKmt8jbc11UHJARw=";
   };
-  vendorSha256 = "sha256-dRevwdLiSsM2zzNQ913ytXf2XxZOfLWAUiJjk04mY28=";
+  vendorSha256 = "sha256-PNg4QEi9+LvYWWhj2B6OrP+SBanuINlSGZYCMNjOQv0=";
   proxyVendor = true;
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 4496af4a1df..7438e5496ac 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -13,7 +13,6 @@
 , freetype
 , fontconfig
 , gtk3
-, gnome2
 , dbus
 , nss
 , nspr
@@ -61,7 +60,6 @@ stdenv.mkDerivation rec {
     freetype
     fontconfig
     dbus
-    gnome2.GConf
     nss
     nspr
     alsa-lib
diff --git a/pkgs/applications/networking/instant-messengers/gitter/default.nix b/pkgs/applications/networking/instant-messengers/gitter/default.nix
index 854cc18a47f..853043b97cb 100644
--- a/pkgs/applications/networking/instant-messengers/gitter/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gitter/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, alsa-lib, atk, at-spi2-core, cairo, cups, dbus, dpkg, expat, fetchurl
-, fontconfig, freetype, gdk-pixbuf, glib, gnome2, gtk3,  libdrm, libX11
+, fontconfig, freetype, gdk-pixbuf, glib, gtk3,  libdrm, libX11
 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
 , libXi, libXrandr, libXrender, libXtst, libappindicator-gtk3, libcxx
 , libnotify, libpulseaudio, libxcb, makeDesktopItem, makeWrapper, mesa, nspr, nss
@@ -18,7 +18,6 @@ let gitterDirectorySuffix = "opt/gitter";
      freetype
      gdk-pixbuf
      glib
-     gnome2.GConf
      gtk3
      libX11
      libXScrnSaver
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 6fdd8311011..8af5185386c 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, nixosTests
-, gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
+, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
 , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsa-lib
 , cups, expat, libuuid, at-spi2-core, libappindicator-gtk3, mesa
@@ -56,7 +56,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libX11
     libXScrnSaver
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 5da0536b379..ed6a4bbe084 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20220107";
+  version = "20220216";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sB8/xQgSORtwupcwSejKUhHoz04exdYS0ymefw9wXDQ=";
+    sha256 = "sha256-hB5zjSBOcpVW+kGja4DP0syAvYqkeDBJbtg0y2sX9w4=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 79fae0a299a..4fc3d56bacc 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, dpkg
-, alsa-lib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome
+, alsa-lib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome
 , gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
 , at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon, libxshmfence }:
 
@@ -26,7 +26,6 @@ let
     libsecret
     libuuid
 
-    gnome2.GConf
     gdk-pixbuf
     gtk3
     libappindicator-gtk3
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index 493f38c585a..5eb7518ea37 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -18,7 +18,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gtk3
 , libGL
 , libappindicator-gtk3
@@ -105,7 +104,6 @@ let
       freetype
       gdk-pixbuf
       glib
-      gnome2.GConf
       gtk3
       libGL
       libappindicator-gtk3
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index c196f6bdbda..0df8fc010e2 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, dpkg
 , alsa-lib, atk, cairo, cups, dbus, expat, fontconfig, freetype
-, gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3, mesa
+, gdk-pixbuf, glib, pango, nspr, nss, gtk3, mesa
 , xorg, autoPatchelfHook, systemd, libnotify, libappindicator
 , makeWrapper
 }:
@@ -16,7 +16,6 @@ let deps = [
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     pango
     gtk3
     libappindicator
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index f98b1c28ebf..4dd603dae1e 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.88";
+  version = "2.89";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-B/gcuga82lZSLPKjYWAiLyvqf1FRQmHJsH2jqLkusjA=";
+    sha256 = "sha256-OCfgWMKFhdjdmNHnTUP2VthPxBjAVd9Z+yH/c+vF1a4=";
   };
 
-  vendorSha256 = "sha256-N7zOrSMrCR/eOH+08TImI1q2AFGUuWN7xIt3CUVB9rM=";
+  vendorSha256 = "sha256-E6bMpWzXb5dMPXkrVSJJWXJYvkmI3cNRseMgrQNpCl4=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/office/kalendar/default.nix b/pkgs/applications/office/kalendar/default.nix
index 00aa23f6d1f..32cc2f5de57 100644
--- a/pkgs/applications/office/kalendar/default.nix
+++ b/pkgs/applications/office/kalendar/default.nix
@@ -10,6 +10,7 @@
 , qtsvg
 , qtlocation
 , qtdeclarative
+, qqc2-desktop-style
 
 , kirigami2
 , kdbusaddons
@@ -38,14 +39,14 @@
 
 mkDerivation rec {
   pname = "kalendar";
-  version = "0.4.0";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "pim";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j383I40lChsI/VOgceaHYGhE61p3SpvInUrkUV5HnHY=";
+    sha256 = "sha256-kjtLVU+8wbIa7R6J1XOjuvS3AnJNngxNBCx24Dy1QzM=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +61,7 @@ mkDerivation rec {
     qtsvg
     qtlocation
     qtdeclarative
+    qqc2-desktop-style
 
     kirigami2
     kdbusaddons
diff --git a/pkgs/applications/science/chemistry/chemtool/default.nix b/pkgs/applications/science/chemistry/chemtool/default.nix
index 3b5d144ba22..bf78aeb825d 100644
--- a/pkgs/applications/science/chemistry/chemtool/default.nix
+++ b/pkgs/applications/science/chemistry/chemtool/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index 20b665792ac..d1d6b436992 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,14 +17,14 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.32.6";
+  version = "14.32.21";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "sha256-b9E/IJfqeA8rBSQogb/ZVBMW3y9bc2dBj/BIl0HWFR8=";
+    sha256 = "sha256-jJw/y6lQ0bvzOmwOhedufxK0Tuq9Pq6lIPZ97o03Zec=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix
index 1e3c96ae8c6..ff2b211b34d 100644
--- a/pkgs/applications/science/geometry/tetgen/default.nix
+++ b/pkgs/applications/science/geometry/tetgen/default.nix
@@ -1,18 +1,25 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl, cmake }:
 
-let version = "1.6.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "tetgen";
-  inherit version;
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://wias-berlin.de/software/tetgen/1.5/src/tetgen${version}.tar.gz";
     sha256 = "sha256-h7XmHr06Rx/E8s3XEkwrEd1mOfT+sflBpdL1EQ0Fzjk=";
   };
 
+  nativeBuildInputs = [ cmake ];
+
   installPhase = ''
-    mkdir -p $out/bin
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib,include}
     cp tetgen $out/bin
+    cp libtet.a $out/lib
+    cp ../tetgen.{cxx,h} $out/include
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/applications/science/logic/formula/default.nix b/pkgs/applications/science/logic/formula/default.nix
new file mode 100644
index 00000000000..13c13713a72
--- /dev/null
+++ b/pkgs/applications/science/logic/formula/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, buildDotnetModule, dotnetCorePackages }:
+
+buildDotnetModule rec {
+  pname = "formula-dotnet";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "VUISIS";
+    repo = "formula-dotnet";
+    rev = "e962438022350dca64335c0603c00d44cb10b528";
+    sha256 = "sha256-hVtwV1MdsXaN6ZrGW4RG2HcNcv/hys/5VxGjH9vFdRE=";
+  };
+
+  nugetDeps = ./nuget.nix;
+  projectFile = "Src/CommandLine/CommandLine.csproj";
+
+  postFixup = if stdenv.isLinux then ''
+    mv $out/bin/CommandLine $out/bin/formula
+  '' else lib.optionalString stdenv.isDarwin ''
+    makeWrapper ${dotnetCorePackages.runtime_5_0}/bin/dotnet $out/bin/formula \
+      --add-flags "$out/lib/formula-dotnet/CommandLine.dll" \
+      --prefix DYLD_LIBRARY_PATH : $out/lib/formula-dotnet/runtimes/macos/native
+  '';
+
+  meta = with lib; {
+    description = "Formal Specifications for Verification and Synthesis";
+    homepage = "https://github.com/VUISIS/formula-dotnet";
+    license = licenses.mspl;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/formula/nuget.nix b/pkgs/applications/science/logic/formula/nuget.nix
new file mode 100644
index 00000000000..e7ee3005e97
--- /dev/null
+++ b/pkgs/applications/science/logic/formula/nuget.nix
@@ -0,0 +1,77 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Antlr4.Runtime.Standard"; version = "4.7.2"; sha256 = "1pmrpsgqjfj0nzr1zqzk1m2fm0ynd4nklwq3dhvww08yjg5s0586"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Z3.x64"; version = "4.8.7"; sha256 = "1wxlw29xm5x8vwji2s7gwk39wb88dkbpg76l9s9gq0hqpghwlmdz"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+]
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix
index 769fe6aff23..762acbe4ec4 100644
--- a/pkgs/applications/science/logic/key/default.nix
+++ b/pkgs/applications/science/logic/key/default.nix
@@ -38,7 +38,8 @@ let
         | sh
     '';
     outputHashMode = "recursive";
-    outputHash = "sha256-1TWySkS8w7L6Q+V946kcLOnM4hL3fieFvLrF5BZAlh4=";
+    outputHashAlgo = "sha256";
+    outputHash = "sha256-GjBUwJxeyJA6vGrPQVtNpcHb4CJlNlY4kHt1PT21xjo=";
   };
 in stdenv.mkDerivation rec {
   inherit pname version src sourceRoot;
diff --git a/pkgs/applications/science/logic/tlaplus/default.nix b/pkgs/applications/science/logic/tlaplus/default.nix
index 7d447745a23..8b9f64a8f5b 100644
--- a/pkgs/applications/science/logic/tlaplus/default.nix
+++ b/pkgs/applications/science/logic/tlaplus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tlaplus";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchurl {
     url = "https://github.com/tlaplus/tlaplus/releases/download/v${version}/tla2tools.jar";
-    sha256 = "d532ba31aafe17afba1130f92410d9257454ff7393d1eb2fe032f0c07f352da5";
+    sha256 = "sha256-+hhUPkTtWXSoW9LGDA3BZiCuEXaA6o5pPSaRmZ7ZCyI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index e4531f0e5c2..73a5881d214 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -144,6 +144,17 @@ stdenv.mkDerivation rec {
       rev = "53532ddd4e2dc92469c1590ebf0c40f8f69bf579";
       sha256 = "sha256-6SoSBvIlqvNwZV3jTB6uPdUtaWIOeNmddi2poK/WvGs=";
     })
+
+    # TODO: This will not be necessary when Sphinx 4.4.1 is released,
+    # since some warnings introduced in 4.4.0 will be disabled by then
+    # (https://github.com/sphinx-doc/sphinx/pull/10126).
+    # https://trac.sagemath.org/ticket/33272
+    (fetchSageDiff {
+      base = "9.5";
+      name = "sphinx-4.4-warnings.patch";
+      rev = "97d7958bed441cf2ccc714d88f83d3a8426bc085";
+      sha256 = "sha256-y1STE0oxswnijGCsBw8eHWWqpmT1XMznIfA0vvX9pFA=";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix
index 23815442da7..002c383dcaf 100644
--- a/pkgs/applications/science/misc/simgrid/default.nix
+++ b/pkgs/applications/science/misc/simgrid/default.nix
@@ -3,7 +3,7 @@
 # Lua 5.3 needed and not available now
 #, luaSupport ? false, lua5
 , fortranSupport ? false, gfortran
-, buildDocumentation ? false, transfig, ghostscript, doxygen
+, buildDocumentation ? false, fig2dev, ghostscript, doxygen
 , buildJavaBindings ? false, openjdk
 , modelCheckingSupport ? false, libunwind, libevent, elfutils # Inside elfutils: libelf and libdw
 , debug ? false
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake perl python3 valgrind ]
       ++ optionals fortranSupport [ gfortran ]
       ++ optionals buildJavaBindings [ openjdk ]
-      ++ optionals buildDocumentation [ transfig ghostscript doxygen ]
+      ++ optionals buildDocumentation [ fig2dev ghostscript doxygen ]
       ++ optionals modelCheckingSupport [ libunwind libevent elfutils ];
 
   #buildInputs = optional luaSupport lua5;
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 21781c423b2..3774b43d37d 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-zQHFLXcsIFMqMCJp7+3Abc0WbSWKJyfAAE+TTJGRRmY=";
+    sha256 = "sha256-T0xThL4VHzpNMQV8fTVnG7R+D9ol/Z7a4MYMXbkQ680=";
   };
 
-  vendorSha256 = "sha256-yMc3Czo7gTb2ZSWjj0yyId+qyro4mU1C+FOgEjZEhBY=";
+  vendorSha256 = "sha256-tJg/vekGUYP4q1ZP5UV3+lXv6bht4doVV3IaGH+4uf8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index f08a74bd340..3fd3a37419f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.5.0";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kR37TClFMkoe4e46g/omfwZCrQFr7gukW7I70WI9+dw=";
+    sha256 = "sha256-7WaLUCJr29i7JW5YAJG1AuYnSLKRMpAEnCY2i4Zle+c=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index d6f54497a33..7e56f28a81e 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gitstatus";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "gitstatus";
     rev = "v${version}";
-    sha256 = "sha256-ZTpnT4kuntHdMWK7c/pHS6mJrAHF9T51DydXnWXj8Z0=";
+    sha256 = "sha256-mVfB3HWjvk4X8bmLEC/U8SKBRytTh/gjjuReqzN5qTk=";
   };
 
   buildInputs = [ (callPackage ./romkatv_libgit2.nix { }) ];
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
index 21ddff49e91..73d35b1bd9b 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
@@ -17,8 +17,8 @@ libgit2.overrideAttrs (oldAttrs: {
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "libgit2";
-    rev = "tag-5860a42d19bcd226cb6eff2dcbfcbf155d570c73";
-    sha256 = "sha256-OdGLNGOzXbWQGqw5zYM1RhU4Z2yRXi9cpAt7Vn9+j5I=";
+    rev = "tag-0ad3d776aa86dd607dc86dcd7f77ad3ed7ebec61";
+    sha256 = "sha256-mXCmspM3fqI14DF9sAIMH5vGdMMjWkdDjdME4EiQuqY=";
   };
 
   patches = [ ];
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 78a393eb5e4..39b52cd7fa6 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "git-lfs";
-  version = "3.0.2";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "git-lfs";
     repo = "git-lfs";
-    sha256 = "0k2pzbhd95xixh5aqdwf5pafilg85wl46d04xbb4lx6k3gkfv0f3";
+    sha256 = "sha256-xXE0BCO1Ur5qhn0gOKOqaSGKNeXNEHD+pZCz1SoPD3A=";
   };
 
   goPackagePath = "github.com/git-lfs/git-lfs";
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
index c78a8236bf2..a6c84cbbbef 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-multi-rtmp";
-  version = "0.2.7.1";
+  version = "0.2.8.1";
 
   src = fetchFromGitHub {
     owner = "sorayuki";
     repo = "obs-multi-rtmp";
     rev = version;
-    sha256 = "sha256-pnSIbAWGufcWIARXpX/zwA/Ff35lrinFaMIdFY00c4Y=";
+    sha256 = "sha256-OhatuSlDJ2VDNorM4QfoKPYKyv5YpN8EnIelLdBTlZ0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index a41dde4c951..f646eef5d23 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,15 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.5.9";
-
-  outputs = [ "out" "man" ];
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-v5seKJMfZUVMbydxKiTSy0OSwen6I/3DrGJnL2DyqHg=";
+    sha256 = "sha256-0Fbmtb7Ec6WcA7ARtgdBK5i7yAq2t3iXtfLb/MZcKJA=";
   };
 
   vendorSha256 = null;
@@ -32,14 +30,13 @@ buildGoModule rec {
   buildPhase = ''
     runHook preBuild
     patchShebangs .
-    make binaries man "VERSION=v${version}" "REVISION=${src.rev}"
+    make binaries "VERSION=v${version}" "REVISION=${src.rev}"
     runHook postBuild
   '';
 
   installPhase = ''
     runHook preInstall
     install -Dm555 bin/* -t $out/bin
-    installManPage man/*.[1-9]
     installShellCompletion --bash contrib/autocomplete/ctr
     installShellCompletion --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
     runHook postInstall
diff --git a/pkgs/applications/virtualization/tinyemu/default.nix b/pkgs/applications/virtualization/tinyemu/default.nix
deleted file mode 100644
index 17cee52a64e..00000000000
--- a/pkgs/applications/virtualization/tinyemu/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, stdenv, fetchurl, openssl, curl, SDL }:
-
-stdenv.mkDerivation rec {
-  pname = "tinyemu";
-  version = "2018-09-23";
-  src = fetchurl {
-    url = "https://bellard.org/tinyemu/${pname}-${version}.tar.gz";
-    sha256 = "0d6payyqf4lpvmmzvlpq1i8wpbg4sf3h6llsw0xnqdgq3m9dan4v";
-  };
-  buildInputs = [ openssl curl SDL ];
-  makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ];
-  preInstall = ''
-    mkdir -p "$out/bin"
-  '';
-  meta = {
-    homepage = "https://bellard.org/tinyemu/";
-    description = "A system emulator for the RISC-V and x86 architectures";
-    longDescription = "TinyEMU is a system emulator for the RISC-V and x86 architectures. Its purpose is to be small and simple while being complete.";
-    license = with lib.licenses; [ mit bsd2 ];
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ jhhuh ];
-  };
-}
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 0a2febd0589..c85e7011668 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -18,7 +18,7 @@ config:
 
 # Documentation
 # python2Packages.markdown
-, transfig, ghostscript, texinfo, pandoc
+, fig2dev, ghostscript, texinfo, pandoc
 
 , binutils-unwrapped
 
@@ -81,7 +81,7 @@ stdenv.mkDerivation (rec {
     python2Packages.wrapPython
 
     # Documentation
-    python2Packages.markdown transfig ghostscript texinfo pandoc
+    python2Packages.markdown fig2dev ghostscript texinfo pandoc
 
     # Others
   ] ++ (concatMap (x: x.buildInputs or []) (attrValues config.xenfiles))
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index 20e29938d0c..b5a524a38b4 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "9";
+  version = "9.1";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${version}";
-    sha256 = "sha256-ym4fWOcZFlHkLUQEanC+thQLbPial7ZNzxfCWSlweWg=";
+    sha256 = "sha256-Fqk6bPAOg4muxmSP+ezpGUNw6xrMWchZACKemeA08mA=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/data/fonts/gandom-fonts/default.nix b/pkgs/data/fonts/gandom-fonts/default.nix
index 54e0020ae68..ad56d876c2e 100644
--- a/pkgs/data/fonts/gandom-fonts/default.nix
+++ b/pkgs/data/fonts/gandom-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "gandom-fonts";
-  version = "0.6";
+  version = "0.8";
 in fetchFromGitHub {
   name = "${pname}-${version}";
   owner = "rastikerdar";
@@ -13,7 +13,7 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/gandom-fonts {} \;
   '';
-  sha256 = "0zsq6s9ziyb5jz0v8aj00dlxd1aly0ibxgszd05dfvykmgz051lc";
+  sha256 = "sha256-EDS3wwKwe2BIcOCxu7DxkVLCoEoTPP31k5ID51lqn3M=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/gandom-font";
diff --git a/pkgs/data/fonts/montserrat/default.nix b/pkgs/data/fonts/montserrat/default.nix
index 41135122f05..7d91f49eb3e 100644
--- a/pkgs/data/fonts/montserrat/default.nix
+++ b/pkgs/data/fonts/montserrat/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "montserrat";
-  version = "7.210";
+  version = "7.222";
 in fetchFromGitHub {
   name = "${pname}-${version}";
   owner = "JulietaUla";
   repo = pname;
   rev = "v${version}";
-  sha256 = "sha256-C6T0Iz1rFC+EsKFJRil2jGTMQ4X7wR80E3eORL5qi0U=";
+  sha256 = "sha256-MeNnc1e5X5f0JyaLY6fX22rytHkvL++eM2ygsdlGMv0=";
 
   postFetch = ''
     tar xf $downloadedFile --strip 1
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index c19431e9ad7..d22dccf38cf 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "a4422bb744c0b60e56ccbdd350df5c205caf0b20",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/a4422bb744c0b60e56ccbdd350df5c205caf0b20.tar.gz",
-  "sha256": "1ih77xavy81mjhf8d3nknbgvhpql14nbak01pddh7y195wv1dknd",
-  "msg": "Update from Hackage at 2022-02-06T15:34:38Z"
+  "commit": "aa8f2230d08c540df249147ea681a5c22314d083",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/aa8f2230d08c540df249147ea681a5c22314d083.tar.gz",
+  "sha256": "1h92r4si1vmf3v2m843xaqwr99hpnn1s0x08qcvd2gwjkc2qq10a",
+  "msg": "Update from Hackage at 2022-02-14T17:17:31Z"
 }
diff --git a/pkgs/data/themes/artim-dark/default.nix b/pkgs/data/themes/artim-dark/default.nix
new file mode 100644
index 00000000000..9485f46b19a
--- /dev/null
+++ b/pkgs/data/themes/artim-dark/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec{
+  pname = "artim-dark";
+  version = "unstable-2021-12-29";
+
+  src = fetchFromGitHub {
+    owner="Mrcuve0";
+    repo="Aritim-Dark";
+    rev = "99cd330a1ab4814260e28f15431e3338a1103668";
+    hash = "sha256-xGnw5KpXbVyDdTuAkav1Hec6bitpZdPzZk0xv7WHTdY=";
+  };
+
+  dontBuild = true;
+  installPhase = ''
+    mkdir -p $out/share/plasma/desktoptheme
+    cp -R KDE/plasmaTheme/Aritim-Dark* $out/share/plasma/desktoptheme
+    mkdir -p $out/share/aurorae/themes
+    cp -R KDE/auroraeTheme $out/share/aurorae/themes/Aritim-Dark
+    mkdir -p $out/share/color-schemes
+    cp -R KDE/colorScheme/*.colors $out/share/color-schemes
+    mkdir -p $out/share/plasma/look-and-feel
+    cp -R KDE/globalTheme $out/share/plasma/look-and-feel/Aritim-Dark
+    mkdir -p $out/share/themes
+    cp -R GTK $out/share/themes/Aritim-Dark
+  '';
+
+  meta = {
+    description = "Dark theme deeply inspired by the Ayu Dark color palette";
+    homepage = "https://github.com/Mrcuve0/Aritim-Dark";
+    license = with lib.licenses; [ gpl3Only ];
+    platforms = lib.platforms.unix;
+    maintainers = [ lib.maintainers.pasqui23 ];
+  };
+}
diff --git a/pkgs/data/themes/pitch-black/default.nix b/pkgs/data/themes/pitch-black/default.nix
new file mode 100644
index 00000000000..95037f90239
--- /dev/null
+++ b/pkgs/data/themes/pitch-black/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec{
+  pname = "pitch-black";
+  version = "unstable-2019-07-23";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "freefreeno";
+    rev = "d8039341419aef1157c030bf3d9237bd926e0b95";
+    hash = "sha256-Rn3ZMBD6srIkYFNN3HT5JFP46Akodmeqz5tbV2/2ZDA=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    rm LICENSE README.md
+    mkdir -p $out/share
+    mv GTK $out/share/themes
+    mv * $out/share
+  '';
+
+  meta = with lib; {
+    description = "A dark plasma theme built with usability in mind";
+    homepage = "https://github.com/freefreeno/Pitch-Black";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.pasqui23 ];
+  };
+}
diff --git a/pkgs/desktops/enlightenment/efl/default.nix b/pkgs/desktops/enlightenment/efl/default.nix
index fb67cafd63a..7ab1bd79c30 100644
--- a/pkgs/desktops/enlightenment/efl/default.nix
+++ b/pkgs/desktops/enlightenment/efl/default.nix
@@ -56,11 +56,11 @@
 
 stdenv.mkDerivation rec {
   pname = "efl";
-  version = "1.26.1";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0hm6i1f2g4mwj726rc6na38xhys1plbv9swrlc9hrpa87mz6gac6";
+    sha256 = "071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/enlightenment/enlightenment/default.nix b/pkgs/desktops/enlightenment/enlightenment/default.nix
index 3c2dc7f3316..3fe63ade488 100644
--- a/pkgs/desktops/enlightenment/enlightenment/default.nix
+++ b/pkgs/desktops/enlightenment/enlightenment/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "enlightenment";
-  version = "0.25.1";
+  version = "0.25.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0i1424vsc929h36hx04646pbrjiya6nc1nqr6s15xwvfv7imzw1c";
+    sha256 = "1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/apps/gedit/default.nix b/pkgs/desktops/gnome/apps/gedit/default.nix
index a6748dfc417..b8783e4db46 100644
--- a/pkgs/desktops/gnome/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome/apps/gedit/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , meson
 , fetchurl
 , python3
@@ -7,12 +8,12 @@
 , glib
 , adwaita-icon-theme
 , libpeas
+, libxml2
 , gtksourceview4
 , gsettings-desktop-schemas
 , wrapGAppsHook
 , ninja
 , libsoup
-, tepl
 , gnome
 , gspell
 , perl
@@ -23,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "40.1";
+  version = "41.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm";
+    sha256 = "epsYsViAjRiSmJFl83BsTxooKXkHmrdFinnTwkrU3rU=";
   };
 
   patches = [
@@ -39,6 +40,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     desktop-file-utils
     itstool
+    libxml2
     meson
     ninja
     perl
@@ -57,7 +59,6 @@ stdenv.mkDerivation rec {
     gtksourceview4
     libpeas
     libsoup
-    tepl
   ];
 
   postPatch = ''
@@ -81,7 +82,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Gedit";
     description = "Official text editor of the GNOME desktop environment";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 8fd99308069..5d90cefdff3 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -29,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-maps";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gYIbTK/GQc1QDXOzMMY85aBahPBDBxbWPoizyuqs/Qw=";
+    sha256 = "sha256-40CxP0b+C31bD48BQTKR3c2HDHSlw4+iTKwfWF5wOT4=";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index 32eb07fbd62..32a7a2fb343 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -27,14 +27,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-todo";
-  version = "unstable-2022-01-01";
+  version = "unstable-2022-02-01";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "gnome-todo";
-    rev = "4a6be8c38510d909a9f94ec34c4da1f31ac9f1ab";
-    sha256 = "5UGo9vMb8scPWK91gftYOjqkJs9tGMiH1lqyEqedF2A=";
+    rev = "2cd071ad35efdef72038730d658f013dd0fc7daa";
+    sha256 = "FMG9ju+LsglAvbBhdgDF+2ZxB633EwnatwCFgW+VOTk=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index 11308bfcf5e..b7ba12be135 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.42.3";
+  version = "3.42.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "b1hHoSNHmQc+lYXbhhwhOBoJ7VUNwKISXwC6X5C9Nh0=";
+    sha256 = "fftBs+bAWBHUSajeTfx3q5sZ+O3yCzL92FeRhmIm0lI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index 85cfa8bf314..f68977e52dd 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -68,11 +68,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gnH8azPsJBileDBN0+V9Zl8NfMcGqZqXvkGYSGGP4kg=";
+    sha256 = "sha256-1tsMTLcIV77PSKxQB/ErX2O51dfoDqfuV9O+USZp98k=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index 7ce00ac8f82..2d5be438c3e 100644
--- a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
@@ -35,11 +35,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-initial-setup";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "GTr79qMILaCjKncU8ejVKo20Vycpde0vNlQ2SjM5Gz8=";
+    sha256 = "luzS2252xROxjGBtwmK7UjIoxKrtvtageBHlaP1dtkI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index 4103965ce27..aa9058ad410 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "41.3";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "ZQVjN3q2mxAQXfdxuz8hY3lVO7evQISNjDBljgEAmLw=";
+    sha256 = "evhzzkcs8racUbyevGG4Nt+8z9b0Jwbj7TqpCaruxGU=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/yelp/default.nix b/pkgs/desktops/gnome/core/yelp/default.nix
index 4b3ee62dcee..be858a19487 100644
--- a/pkgs/desktops/gnome/core/yelp/default.nix
+++ b/pkgs/desktops/gnome/core/yelp/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , gettext
 , fetchurl
-, webkitgtk_4_1
+, webkitgtk
 , pkg-config
 , gtk3
 , glib
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3
     glib
-    webkitgtk_4_1
+    webkitgtk
     sqlite
     libxml2
     libxslt
@@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-good
   ];
 
+  # To reduce the GNOME ISO closure size.  Remove when other packages
+  # are using webkit2gtk_4_1.
+  configureFlags = ["--with-webkit2gtk-4-0"];
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "yelp";
diff --git a/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/pkgs/desktops/gnome/extensions/arcmenu/default.nix
index 01656dbee17..1f540ab6033 100644
--- a/pkgs/desktops/gnome/extensions/arcmenu/default.nix
+++ b/pkgs/desktops/gnome/extensions/arcmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-arcmenu";
-  version = "20";
+  version = "21";
 
   src = fetchFromGitLab {
     owner = "arcmenu";
     repo = "ArcMenu";
     rev = "v${version}";
-    sha256 = "sha256-HjhOZfXld0gnKOAazT8qbI0Jdq6NY/FsrhzAY9uxxMg=";
+    sha256 = "sha256-A47nX2fmFcJfWvQUJZsFGK1h4GPkf3QBB0BALlr9ZlM=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
index 3a158e7ddf8..683b5c22626 100644
--- a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.4.2";
+  version = "0.4.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "HSBpQHkwDhL+q9t3MEqWnRzBkNHRKpSb6EXK0Bx4pdM=";
+    sha256 = "e98HiVU0lqvdw8ljsM5zY4BcDALAJf7d68qsx4cknog=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/misc/gpaste/default.nix b/pkgs/desktops/gnome/misc/gpaste/default.nix
index 83928c04827..bdaeb47ab23 100644
--- a/pkgs/desktops/gnome/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome/misc/gpaste/default.nix
@@ -17,14 +17,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.42.2";
+  version = "3.42.5";
   pname = "gpaste";
 
   src = fetchFromGitHub {
     owner = "Keruspe";
     repo = "GPaste";
     rev = "v${version}";
-    sha256 = "sha256-VWtq1jPwUHHIDpVaSYQ0FiihlfulRofFmacMyv/buMw=";
+    sha256 = "sha256-BpDA2V40V+VF2CB7ik+edMxrRtYSFnTQ48ec6pt8Jo4=";
   };
 
   patches = [
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index c7bfa49ac71..81c5bed0a54 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
 , stdenv, writeScript, lib }:
 let
-  version = "0.22.0";
+  version = "0.23.0";
   owner = "erlang-ls";
   repo = "erlang_ls";
   deps = import ./rebar-deps.nix {
@@ -19,7 +19,7 @@ rebar3Relx {
   inherit version;
   src = fetchFromGitHub {
     inherit owner repo;
-    sha256 = "sha256-s5gCqQ0gJViS8t/jCAFtNYfmXQ7SBarlRLKUWHHEgSg=";
+    sha256 = "sha256-OuTd8XhoWU598eMh1/OL2t3LHf+UAumiuAY7KocfI6c=";
     rev = version;
   };
   releaseType = "escript";
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index 11b5f58a12d..149d8115054 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -1,95 +1,101 @@
-{ lib, stdenv, pkgs
-, haskell, haskellPackages, nodejs-14_x
-, fetchurl, fetchpatch, makeWrapper, writeScriptBin
-  # Rust dependecies
-, curl, rustPlatform, openssl, pkg-config, Security, darwin
-}:
+{ pkgs, lib }:
+
 let
+
   # To controll nodejs version we pass down
-  nodejs = nodejs-14_x;
-
-  fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
-
-  hsPkgs = haskellPackages.override {
-    overrides = self: super: with haskell.lib.compose; with lib;
-      let elmPkgs = rec {
-            elm = overrideCabal (drv: {
-              # sadly with parallelism most of the time breaks compilation
-              enableParallelBuilding = false;
-              preConfigure = self.fetchElmDeps {
-                elmPackages = (import ./packages/elm-srcs.nix);
-                elmVersion = drv.version;
-                registryDat = ./registry.dat;
-              };
-              buildTools = drv.buildTools or [] ++ [ makeWrapper ];
-              jailbreak = true;
-              postInstall = ''
-                wrapProgram $out/bin/elm \
-                  --prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
-              '';
-
-              description = "A delightful language for reliable webapps";
-              homepage = "https://elm-lang.org/";
-              license = licenses.bsd3;
-              maintainers = with maintainers; [ domenkozar turbomack ];
-            }) (self.callPackage ./packages/elm.nix { });
-
-            /*
-            The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
-            `package/nix/build.sh`
-            */
-            elm-format = justStaticExecutables (overrideCabal (drv: {
-              jailbreak = true;
-
-              description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
-              homepage = "https://github.com/avh4/elm-format";
-              license = licenses.bsd3;
-              maintainers = with maintainers; [ avh4 turbomack ];
-            }) (self.callPackage ./packages/elm-format.nix {}));
-
-            elmi-to-json = justStaticExecutables (overrideCabal (drv: {
-              prePatch = ''
-                substituteInPlace package.yaml --replace "- -Werror" ""
-                hpack
-              '';
-              jailbreak = true;
-
-              description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler";
-              homepage = "https://github.com/stoeffel/elmi-to-json";
-              license = licenses.bsd3;
-              maintainers = [ maintainers.turbomack ];
-            }) (self.callPackage ./packages/elmi-to-json.nix {}));
-
-            elm-instrument = justStaticExecutables (overrideCabal (drv: {
-              prePatch = ''
-                sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place
-              '';
-              jailbreak = true;
-              # Tests are failing because of missing instances for Eq and Show type classes
-              doCheck = false;
-
-              description = "Instrument Elm code as a preprocessing step for elm-coverage";
-              homepage = "https://github.com/zwilias/elm-instrument";
-              license = licenses.bsd3;
-              maintainers = [ maintainers.turbomack ];
-            }) (self.callPackage ./packages/elm-instrument.nix {}));
-
-            inherit fetchElmDeps;
-            elmVersion = elmPkgs.elm.version;
-          };
-      in elmPkgs // {
-        inherit elmPkgs;
-
-        # Needed for elm-format
-        indents = self.callPackage ./packages/indents.nix {};
-        bimap = self.callPackage ./packages/bimap.nix {};
-        avh4-lib = doJailbreak (self.callPackage ./packages/avh4-lib.nix {});
-        elm-format-lib = doJailbreak (self.callPackage ./packages/elm-format-lib.nix {});
-        elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {};
-        elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {};
-      };
+  nodejs = pkgs.nodejs-14_x;
+
+  fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { };
+
+  hsPkgs = self: pkgs.haskellPackages.override {
+    overrides = self: super: with pkgs.haskell.lib.compose; with lib;
+    let elmPkgs = rec {
+      elm = overrideCabal (drv: {
+        # sadly with parallelism most of the time breaks compilation
+        enableParallelBuilding = false;
+        preConfigure = fetchElmDeps {
+          elmPackages = (import ./packages/elm-srcs.nix);
+          elmVersion = drv.version;
+          registryDat = ./registry.dat;
+        };
+        buildTools = drv.buildTools or [] ++ [ pkgs.makeWrapper ];
+        jailbreak = true;
+        postInstall = ''
+          wrapProgram $out/bin/elm \
+            --prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
+        '';
+
+        description = "A delightful language for reliable webapps";
+        homepage = "https://elm-lang.org/";
+        license = licenses.bsd3;
+        maintainers = with maintainers; [ domenkozar turbomack ];
+      }) (self.callPackage ./packages/elm.nix { });
+
+      /*
+      The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
+      `package/nix/build.sh`
+      */
+      elm-format = justStaticExecutables (overrideCabal (drv: {
+        jailbreak = true;
+
+        description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
+        homepage = "https://github.com/avh4/elm-format";
+        license = licenses.bsd3;
+        maintainers = with maintainers; [ avh4 turbomack ];
+      }) (self.callPackage ./packages/elm-format.nix {}));
+
+      elmi-to-json = justStaticExecutables (overrideCabal (drv: {
+        prePatch = ''
+          substituteInPlace package.yaml --replace "- -Werror" ""
+          hpack
+        '';
+        jailbreak = true;
+
+        description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler";
+        homepage = "https://github.com/stoeffel/elmi-to-json";
+        license = licenses.bsd3;
+        maintainers = [ maintainers.turbomack ];
+      }) (self.callPackage ./packages/elmi-to-json.nix {}));
+
+      elm-instrument = justStaticExecutables (overrideCabal (drv: {
+        prePatch = ''
+          sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place
+        '';
+        jailbreak = true;
+        # Tests are failing because of missing instances for Eq and Show type classes
+        doCheck = false;
+
+        description = "Instrument Elm code as a preprocessing step for elm-coverage";
+        homepage = "https://github.com/zwilias/elm-instrument";
+        license = licenses.bsd3;
+        maintainers = [ maintainers.turbomack ];
+      }) (self.callPackage ./packages/elm-instrument.nix {}));
+
+      inherit fetchElmDeps;
+      elmVersion = elmPkgs.elm.version;
+    };
+    in elmPkgs // {
+      inherit elmPkgs;
+
+      # Needed for elm-format
+      indents = self.callPackage ./packages/indents.nix {};
+      bimap = self.callPackage ./packages/bimap.nix {};
+      avh4-lib = doJailbreak (self.callPackage ./packages/avh4-lib.nix {});
+      elm-format-lib = doJailbreak (self.callPackage ./packages/elm-format-lib.nix {});
+      elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {};
+      elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {};
+    };
   };
 
+  nodePkgs = pkgs.callPackage ./packages/node-composition.nix {
+    inherit pkgs;
+    nodejs = pkgs.nodejs-14_x;
+    inherit (pkgs.stdenv.hostPlatform) system;
+  };
+
+in lib.makeScope pkgs.newScope (self: with self; {
+  inherit fetchElmDeps nodejs;
+
   /* Node/NPM based dependecies can be upgraded using script `packages/generate-node-packages.sh`.
 
       * Packages which rely on `bin-wrap` will fail by default
@@ -98,110 +104,83 @@ let
       * Packages which depend on npm installation of elm can be patched using
         `patchNpmElm` function also defined in `packages/lib.nix`.
   */
-  elmLib = import ./packages/lib.nix {
-    inherit lib writeScriptBin stdenv;
-    inherit (hsPkgs.elmPkgs) elm;
+  elmLib = let
+    hsElmPkgs = hsPkgs self;
+  in import ./packages/lib.nix {
+    inherit lib;
+    inherit (pkgs) writeScriptBin stdenv;
+    inherit (hsElmPkgs.elmPkgs) elm;
   };
 
-  elmRustPackages =  {
-    elm-json = import ./packages/elm-json.nix {
-      inherit curl lib rustPlatform fetchurl openssl stdenv pkg-config Security;
-    } // {
-      meta = with lib; {
-        description = "Install, upgrade and uninstall Elm dependencies";
-        homepage = "https://github.com/zwilias/elm-json";
-        license = licenses.mit;
-        maintainers = [ maintainers.turbomack ];
-      };
-    };
+  elm-json = callPackage ./packages/elm-json.nix { };
 
-    elm-test-rs = import ./packages/elm-test-rs.nix {
-      inherit lib rustPlatform fetchurl openssl stdenv Security darwin;
-    } // {
-      meta = with lib; {
-        description = "Fast and portable executable to run your Elm tests";
-        homepage = "https://github.com/mpizenberg/elm-test-rs";
-        license = licenses.bsd3;
-        maintainers = [ maintainers.jpagex ];
-      };
+  elm-test-rs = callPackage ./packages/elm-test-rs.nix { };
+
+  elm-test = nodePkgs.elm-test // {
+    meta = with lib; nodePkgs.elm-test.meta // {
+      description = "Runs elm-test suites from Node.js";
+      homepage = "https://github.com/rtfeldman/node-test-runner";
+      license = licenses.bsd3;
+      maintainers = [ maintainers.turbomack ];
+    };
+  };
+} // (hsPkgs self).elmPkgs // (with elmLib; with (hsPkgs self).elmPkgs; {
+  elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // {
+    meta = with lib; nodePkgs.elm-verify-examples.meta // {
+      description = "Verify examples in your docs";
+      homepage = "https://github.com/stoeffel/elm-verify-examples";
+      license = licenses.bsd3;
+      maintainers = [ maintainers.turbomack ];
     };
   };
 
-  elmNodePackages = with elmLib;
-    let
-      nodePkgs = import ./packages/node-composition.nix {
-          inherit nodejs pkgs;
-          inherit (stdenv.hostPlatform) system;
-        };
-    in with hsPkgs.elmPkgs; {
-
-      elm-test =
-        nodePkgs.elm-test // {
-          meta = with lib; {
-            description = "Runs elm-test suites from Node.js";
-            homepage = "https://github.com/rtfeldman/node-test-runner";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
-        };
-
-      elm-verify-examples = patchBinwrap [elmi-to-json]
-        nodePkgs.elm-verify-examples // {
-          meta = with lib; {
-            description = "Verify examples in your docs";
-            homepage = "https://github.com/stoeffel/elm-verify-examples";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
-        };
+  elm-coverage = let
+      patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);
+    in patched.override (old: {
+      # Symlink Elm instrument binary
+      preRebuild = (old.preRebuild or "") + ''
+        # Noop custom installation script
+        sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json
+
+        # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
+        # in case of just this package
+        # TODO: investigate
+        sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
+      '';
+      postInstall = (old.postInstall or "") + ''
+        mkdir -p unpacked_bin
+        ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument
+      '';
+      meta = with lib; nodePkgs.elm-coverage.meta // {
+        description = "Work in progress - Code coverage tooling for Elm";
+        homepage = "https://github.com/zwilias/elm-coverage";
+        license = licenses.bsd3;
+        maintainers = [ maintainers.turbomack ];
+      };
+    });
 
-      elm-coverage =
-        let patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);
-        in patched.override (old: {
-          # Symlink Elm instrument binary
-          preRebuild = (old.preRebuild or "") + ''
-            # Noop custom installation script
-            sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json
-
-            # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
-            # in case of just this package
-            # TODO: investigate
-            sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
-          '';
-          postInstall = (old.postInstall or "") + ''
-            mkdir -p unpacked_bin
-            ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument
-          '';
-          meta = with lib; {
-            description = "Work in progress - Code coverage tooling for Elm";
-            homepage = "https://github.com/zwilias/elm-coverage";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
-        });
-
-      create-elm-app = patchNpmElm
-        nodePkgs.create-elm-app // {
-          meta = with lib; {
-            description = "Create Elm apps with no build configuration";
-            homepage = "https://github.com/halfzebra/create-elm-app";
-            license = licenses.mit;
-            maintainers = [ maintainers.turbomack ];
-          };
-        };
+    create-elm-app = patchNpmElm
+    nodePkgs.create-elm-app // {
+      meta = with lib; nodePkgs.create-elm-app.meta // {
+        description = "Create Elm apps with no build configuration";
+        homepage = "https://github.com/halfzebra/create-elm-app";
+        license = licenses.mit;
+        maintainers = [ maintainers.turbomack ];
+      };
+    };
 
-      elm-review =
-        nodePkgs.elm-review // {
-          meta = with lib; {
-            description = "Analyzes Elm projects, to help find mistakes before your users find them";
-            homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
+    elm-review =
+      nodePkgs.elm-review // {
+        meta = with lib; nodePkgs.elm-review.meta // {
+          description = "Analyzes Elm projects, to help find mistakes before your users find them";
+          homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}";
+          license = licenses.bsd3;
+          maintainers = [ maintainers.turbomack ];
         };
+      };
 
       elm-language-server = nodePkgs."@elm-tooling/elm-language-server" // {
-        meta = with lib; {
+        meta = with lib; nodePkgs."@elm-tooling/elm-language-server".meta // {
           description = "Language server implementation for Elm";
           homepage = "https://github.com/elm-tooling/elm-language-server";
           license = licenses.mit;
@@ -210,7 +189,7 @@ let
       };
 
       elm-optimize-level-2 = nodePkgs."elm-optimize-level-2" // {
-        meta = with lib; {
+        meta = with lib; nodePkgs."elm-optimize-level-2".meta // {
           description = "A second level of optimization for the Javascript that the Elm Compiler produces";
           homepage = "https://github.com/mdgriffith/elm-optimize-level-2";
           license = licenses.bsd3;
@@ -219,8 +198,6 @@ let
       };
 
       inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse elm-git-install;
-    };
+    })
+  )
 
-in hsPkgs.elmPkgs // elmNodePackages // elmRustPackages // {
-  lib = elmLib;
-}
diff --git a/pkgs/development/compilers/elm/packages/elm-json.nix b/pkgs/development/compilers/elm/packages/elm-json.nix
index a480b9e0e1e..faf6ffd8a2e 100644
--- a/pkgs/development/compilers/elm/packages/elm-json.nix
+++ b/pkgs/development/compilers/elm/packages/elm-json.nix
@@ -1,4 +1,13 @@
-{ lib, curl, rustPlatform, fetchurl, openssl, stdenv, pkg-config, Security }:
+{ lib
+, curl
+, rustPlatform
+, fetchurl
+, openssl
+, stdenv
+, pkg-config
+, darwin
+}:
+
 rustPlatform.buildRustPackage rec {
   pname = "elm-json";
   version = "0.2.10";
@@ -12,10 +21,19 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ curl openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = [
+    curl openssl
+  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   cargoSha256 = "sha256:01zasrqf1va58i52s3kwdkj1rnwy80gv00xi6npfshjirj3ix07f";
 
   # Tests perform networking and therefore can't work in sandbox
   doCheck = false;
+
+  meta = with lib; {
+    description = "Install, upgrade and uninstall Elm dependencies";
+    homepage = "https://github.com/zwilias/elm-json";
+    license = licenses.mit;
+    maintainers = [ maintainers.turbomack ];
+  };
 }
diff --git a/pkgs/development/compilers/elm/packages/elm-test-rs.nix b/pkgs/development/compilers/elm/packages/elm-test-rs.nix
index a482809ab50..09d453b00f8 100644
--- a/pkgs/development/compilers/elm/packages/elm-test-rs.nix
+++ b/pkgs/development/compilers/elm/packages/elm-test-rs.nix
@@ -1,4 +1,5 @@
-{ lib, rustPlatform, fetchurl, openssl, stdenv, Security, darwin }:
+{ lib, rustPlatform, fetchurl, openssl, stdenv, darwin }:
+
 rustPlatform.buildRustPackage rec {
   pname = "elm-test-rs";
   version = "2.0";
@@ -8,11 +9,23 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256:1manr42w613r9vyji7pxx5gb08jcgkdxv29qqylrqlwxa8d5dcid";
   };
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security darwin.apple_sdk.frameworks.CoreServices ];
+  buildInputs = lib.optionals (!stdenv.isDarwin) [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    Security
+    CoreServices
+  ]);
 
   cargoSha256 = "sha256:1dpdlzv96kpc25yf5jgsz9qldghyw35x382qpxhkadkn5dryzjvd";
   verifyCargoDeps = true;
 
   # Tests perform networking and therefore can't work in sandbox
   doCheck = false;
+
+  meta = with lib; {
+    description = "Fast and portable executable to run your Elm tests";
+    homepage = "https://github.com/mpizenberg/elm-test-rs";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jpagex ];
+  };
 }
diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/elm.nix
index c012d59d8ae..e24ece00ffe 100644
--- a/pkgs/development/compilers/elm/packages/elm.nix
+++ b/pkgs/development/compilers/elm/packages/elm.nix
@@ -6,6 +6,7 @@
 , snap-core, snap-server, lib, template-haskell, time
 , unordered-containers, utf8-string, vector, zip-archive
 }:
+
 mkDerivation {
   pname = "elm";
   version = "0.19.1";
diff --git a/pkgs/development/compilers/tvm/default.nix b/pkgs/development/compilers/tvm/default.nix
index 2bb8b9d5be3..c148e522015 100644
--- a/pkgs/development/compilers/tvm/default.nix
+++ b/pkgs/development/compilers/tvm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tvm";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "incubator-tvm";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0qflpd3lw0jslyk5lqpv2v42lkqs8mkvnn6i3fdms32iskdfk6p5";
+    sha256 = "sha256-fv2hhPGbr/AbwuN8rAF9PI/QTTqxNgwjYl9arg5GjKY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/coq-modules/ITree/default.nix b/pkgs/development/coq-modules/ITree/default.nix
index 1ba8080e0b1..2f7437fd74f 100644
--- a/pkgs/development/coq-modules/ITree/default.nix
+++ b/pkgs/development/coq-modules/ITree/default.nix
@@ -5,7 +5,7 @@ with lib; mkCoqDerivation rec {
   owner = "DeepSpec";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14";  out = "4.0.0"; }
+    { case = range "8.10" "8.15";  out = "4.0.0"; }
   ] null;
   release."4.0.0".sha256 = "0h5rhndl8syc24hxq1gch86kj7mpmgr89bxp2hmf28fd7028ijsm";
   releaseRev = v: "${v}";
diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix
index 1d2a1a3c05f..80aaf506139 100644
--- a/pkgs/development/coq-modules/VST/default.nix
+++ b/pkgs/development/coq-modules/VST/default.nix
@@ -1,5 +1,7 @@
 { lib, mkCoqDerivation, coq, compcert, ITree, version ? null }:
 
+with lib;
+
 # A few modules that are not built and installed by default
 #  but that may be useful to some users.
 # They depend on ITree.
@@ -7,12 +9,15 @@ let extra_floyd_files = [
   "ASTsize.v"
   "io_events.v"
   "powerlater.v"
-  "printf.v"
+  ]
+  # floyd/printf.v is broken in VST 2.9
+  ++ optional (!versions.isGe "8.13" coq.coq-version) "printf.v"
+  ++ [
   "quickprogram.v"
   ];
 in
 
-with lib; mkCoqDerivation {
+mkCoqDerivation {
   pname = "coq${coq.coq-version}-VST";
   namePrefix = [];
   displayVersion = { coq = false; };
@@ -20,8 +25,10 @@ with lib; mkCoqDerivation {
   repo = "VST";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.13" "8.15"; out = "2.9"; }
     { case = range "8.12" "8.13"; out = "2.8"; }
   ] null;
+  release."2.9".sha256 = "sha256:1adwzbl1pprrrwrm7cm493098fizxanxpv7nyfbvwdhgbhcnv6qf";
   release."2.8".sha256 = "sha256-cyK88uzorRfjapNQ6XgQEmlbWnDsiyLve5po1VG52q0=";
   releaseRev = v: "v${v}";
   extraBuildInputs = [ ITree ];
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index 9757b3e43c8..197f1a96fc4 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -16,7 +16,8 @@ let compcert = mkCoqDerivation rec {
 
   defaultVersion =  with versions; switch coq.version [
       { case = range "8.8" "8.11"; out = "3.8"; }
-      { case = range "8.12" "8.14"; out = "3.10"; }
+      { case = isEq "8.12"       ; out = "3.9"; }
+      { case = range "8.12" "8.15"; out = "3.10"; }
     ] null;
 
   release = {
@@ -106,13 +107,18 @@ compcert.overrideAttrs (o:
           })
         ];
       }
-      { cases = [ (isEq "8.14") "3.10" ];
+      { cases = [ (range "8.14" "8.15") "3.10" ];
         out = [
           # Support for Coq 8.14.1
           (fetchpatch {
             url = "https://github.com/AbsInt/CompCert/commit/a79f0f99831aa0b0742bf7cce459cc9353bd7cd0.patch";
             sha256 = "sha256:0g20x8gfzvplpad9y9vr1p33k6qv6rsp691x6687v9ffvz7zsz94";
           })
+          # Support for Coq 8.15.0
+          (fetchpatch {
+            url = "https://github.com/AbsInt/CompCert/commit/a882f78c069f7337dd9f4abff117d4df98ef38a6.patch";
+            sha256 = "sha256:16i87s608fj9ni7cvd5wrd7gicqniad7w78wi26pxdy0pacl7bjg";
+          })
         ];
       }
     ] [];
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index 6e67bdd465b..c4055648c5a 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -6,7 +6,7 @@ with builtins; with lib; let
     { case = "8.12"; out = { version = "1.12.0"; };}
     { case = "8.13"; out = { version = "1.13.7"; };}
     { case = "8.14"; out = { version = "1.13.7"; };}
-    { case = "8.15"; out = { version = "1.13.7"; };}
+    { case = "8.15"; out = { version = "1.14.1"; };}
   ] {});
 in mkCoqDerivation {
   pname = "elpi";
@@ -14,12 +14,13 @@ in mkCoqDerivation {
   owner = "LPCIC";
   inherit version;
   defaultVersion = lib.switch coq.coq-version [
-    { case = "8.15"; out = "1.12.1"; }
+    { case = "8.15"; out = "1.13.0"; }
     { case = "8.14"; out = "1.11.2"; }
     { case = "8.13"; out = "1.11.1"; }
     { case = "8.12"; out = "1.8.3_8.12"; }
     { case = "8.11"; out = "1.6.3_8.11"; }
   ] null;
+  release."1.13.0".sha256     = "1j7s7dlnjbw222gnbrsjgmjck1yrx7h6hwm8zikcyxi0zys17w7n";
   release."1.12.1".sha256     = "sha256-4mO6/co7NcIQSGIQJyoO8lNWXr6dqz+bIYPO/G0cPkY=";
   release."1.11.2".sha256     = "0qk5cfh15y2zrja7267629dybd3irvxk1raz7z8qfir25a81ckd4";
   release."1.11.1".sha256     = "10j076vc2hdcbm15m6s7b6xdzibgfcbzlkgjnlkr2vv9k13qf8kc";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index b1f641199d4..4cf5867c657 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1268,13 +1268,6 @@ self: super: {
   # 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 (doJailbreak super.reflex-dom-core)));
 
-  # add unreleased commit fixing version constraint as a patch
-  # Can be removed if https://github.com/lpeterse/haskell-utc/issues/8 is resolved
-  utc = appendPatch (pkgs.fetchpatch {
-    url = "https://github.com/lpeterse/haskell-utc/commit/e4502c08591e80d411129bb7c0414539f6302aaf.diff";
-    sha256 = "0v6kv1d4syjzgzc2s7a76c6k4vminlcq62n7jg3nn9xd00gwmmv7";
-  }) super.utc;
-
   # Tests disabled because they assume to run in the whole jsaddle repo and not the hackage tarbal of jsaddle-warp.
   jsaddle-warp = dontCheck super.jsaddle-warp;
 
@@ -1459,10 +1452,6 @@ self: super: {
   # https://github.com/haskell/haskell-language-server/issues/2375
   hls-pragmas-plugin = dontCheck super.hls-pragmas-plugin;
 
-  # 2021-11-23: Too strict bounds on ghcide, pending new release
-  hls-rename-plugin = assert super.hls-rename-plugin.version == "1.0.0.0";
-    doJailbreak super.hls-rename-plugin;
-
   # 2021-03-21: Test hangs
   # https://github.com/haskell/haskell-language-server/issues/1562
   # 2021-11-13: Too strict upper bound on implicit-hie-cradle
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index f3a0b963fe0..6d217a6d138 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -414,6 +414,7 @@ broken-packages:
   - bkr
   - blakesum
   - blas
+  - blatex
   - blaze-html-contrib
   - blaze-html-hexpat
   - blaze-html-truncate
@@ -986,7 +987,6 @@ broken-packages:
   - data-validation
   - data-variant
   - DataVersion
-  - dates
   - datetime
   - datetime-sb
   - dawdle
@@ -1005,6 +1005,7 @@ broken-packages:
   - dclabel
   - dclabel-eci11
   - dcpu16
+  - ddate
   - ddc-base
   - ddc-code
   - dead-code-detection
@@ -1120,6 +1121,7 @@ broken-packages:
   - dmcc
   - dmenu
   - dnscache
+  - dns-patterns
   - dnsrbl
   - dnssd
   - dobutok
@@ -2223,7 +2225,6 @@ broken-packages:
   - hlongurl
   - hlrdb-core
   - hls-exactprint-utils
-  - hls-rename-plugin
   - hlwm
   - hmarkup
   - hmatrix-banded
@@ -2251,6 +2252,7 @@ broken-packages:
   - hobbes
   - hocilib
   - hocker
+  - hocon
   - hodatime
   - HODE
   - hoe
@@ -2749,6 +2751,7 @@ broken-packages:
   - kmp-dfa
   - koellner-phonetic
   - koji-install
+  - koneko
   - Konf
   - kontra-config
   - kparams
@@ -3315,6 +3318,7 @@ broken-packages:
   - nanomsg
   - nanomsg-haskell
   - nanoparsec
+  - nanopass
   - NanoProlog
   - nanovg-simple
   - nanq
@@ -3912,6 +3916,7 @@ broken-packages:
   - prints
   - PriorityChansConverger
   - priority-queue
+  - pro-abstract
   - probable
   - process-conduit
   - processing
@@ -4816,6 +4821,7 @@ broken-packages:
   - SybWidget
   - syb-with-class-instances-text
   - sydtest-aeson
+  - sydtest-hedgehog
   - sydtest-hedis
   - sydtest-hspec
   - sydtest-mongo
@@ -5040,6 +5046,7 @@ broken-packages:
   - tkyprof
   - tmp-proc-example
   - todo
+  - todos
   - tofromxml
   - to-haskell
   - toilet
@@ -5245,6 +5252,7 @@ broken-packages:
   - urxml
   - users-mysql-haskell
   - users-persistent
+  - utc
   - utf
   - utf8-prelude
   - utf8-validator
@@ -5296,6 +5304,7 @@ broken-packages:
   - vector-space-points
   - vector-static
   - Vec-Transform
+  - velma
   - Verba
   - verbalexpressions
   - verdict
@@ -5430,6 +5439,7 @@ broken-packages:
   - windowslive
   - winerror
   - Wired
+  - wireguard-hs
   - wires
   - wiring
   - witty
@@ -5553,6 +5563,7 @@ broken-packages:
   - yeshql-postgresql-simple
   - yesod-angular
   - yesod-angular-ui
+  - yesod-articles
   - yesod-auth-account
   - yesod-auth-account-fork
   - yesod-auth-bcrypt
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 7ab2a4a2725..2ecfb76784d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -134,6 +134,8 @@ default-package-overrides:
   # On the recommendation of hnix author:
   # https://github.com/NixOS/nixpkgs/pull/154461#issuecomment-1015511883
   - hnix < 0.15
+  # needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
+  - http-client-restricted < 0.0.5
 
 extra-packages:
   - base16-bytestring < 1               # required for cabal-install etc.
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 54122581a99..77be3013a48 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 18.24
+# Stackage LTS 18.25
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -192,7 +192,7 @@ default-package-overrides:
   - attoparsec-expr ==0.1.1.2
   - attoparsec-iso8601 ==1.0.2.0
   - attoparsec-path ==0.0.0.1
-  - audacity ==0.0.2
+  - audacity ==0.0.2.1
   - aur ==7.0.7
   - aura ==3.2.5
   - authenticate ==1.3.5.1
@@ -407,7 +407,7 @@ default-package-overrides:
   - clientsession ==0.9.1.2
   - climb ==0.3.3
   - Clipboard ==2.3.2.0
-  - clock ==0.8.2
+  - clock ==0.8.3
   - closed ==0.2.0.1
   - clumpiness ==0.17.0.2
   - ClustalParser ==1.3.0
@@ -444,7 +444,7 @@ default-package-overrides:
   - concise ==0.1.0.1
   - concurrency ==1.11.0.2
   - concurrent-extra ==0.7.0.12
-  - concurrent-output ==1.10.14
+  - concurrent-output ==1.10.15
   - concurrent-split ==0.0.1.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
@@ -591,7 +591,7 @@ default-package-overrides:
   - depq ==0.4.2
   - deque ==0.4.4
   - deriveJsonNoPrefix ==0.1.0.1
-  - derive-topdown ==0.0.2.2
+  - derive-topdown ==0.0.3.0
   - deriving-aeson ==0.2.8
   - deriving-compat ==0.5.10
   - derulo ==1.0.10
@@ -615,7 +615,7 @@ default-package-overrides:
   - discount ==0.1.1
   - disk-free-space ==0.1.0.1
   - distributed-closure ==0.4.2.0
-  - distribution-opensuse ==1.1.1
+  - distribution-opensuse ==1.1.3
   - distributive ==0.6.2.1
   - dlist ==1.0
   - dlist-instances ==0.1.1.1
@@ -999,20 +999,20 @@ default-package-overrides:
   - haskell-lsp-types ==0.24.0.0
   - haskell-names ==0.9.9
   - HaskellNet ==0.6
-  - haskell-src ==1.0.3.1
+  - haskell-src ==1.0.4
   - haskell-src-exts ==1.23.1
   - haskell-src-exts-util ==0.2.5
-  - haskell-src-meta ==0.8.8
+  - haskell-src-meta ==0.8.9
   - haskey-btree ==0.3.0.1
   - hasktags ==0.72.0
   - hasql ==1.4.5.3
   - hasql-notifications ==0.2.0.0
-  - hasql-optparse-applicative ==0.3.0.7
+  - hasql-optparse-applicative ==0.3.0.8
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
   - hasql-transaction ==1.0.1.1
   - hasty-hamiltonian ==1.3.4
-  - HaTeX ==3.22.3.0
+  - HaTeX ==3.22.3.1
   - HaXml ==1.25.8
   - haxr ==3000.11.4.1
   - HCodecs ==0.5.2
@@ -1072,7 +1072,7 @@ default-package-overrides:
   - hmm-lapack ==0.4
   - hmpfr ==0.4.4
   - hnock ==0.4.0
-  - hoauth2 ==1.16.1
+  - hoauth2 ==1.16.2
   - hoogle ==5.0.18.3
   - hOpenPGP ==2.9.7
   - hopenpgp-tools ==0.23.6
@@ -1168,13 +1168,13 @@ default-package-overrides:
   - http-media ==0.8.0.0
   - http-query ==0.1.1
   - http-reverse-proxy ==0.6.0
-  - http-streams ==0.8.9.4
+  - http-streams ==0.8.9.6
   - http-types ==0.12.3
   - human-readable-duration ==0.2.1.4
   - HUnit ==1.6.2.0
   - HUnit-approx ==1.1.1.1
   - hunit-dejafu ==2.0.0.5
-  - hvect ==0.4.0.0
+  - hvect ==0.4.0.1
   - hvega ==0.11.0.1
   - hw-balancedparens ==0.4.1.1
   - hw-bits ==0.7.2.1
@@ -1296,7 +1296,7 @@ default-package-overrides:
   - java-adt ==0.2018.11.4
   - jira-wiki-markup ==1.4.0
   - jose ==0.8.4
-  - jose-jwt ==0.9.2
+  - jose-jwt ==0.9.3
   - js-chart ==2.9.4.1
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
@@ -1325,8 +1325,8 @@ default-package-overrides:
   - keycode ==0.2.2
   - keys ==3.12.3
   - ki ==0.2.0.1
-  - kind-apply ==0.3.2.0
-  - kind-generics ==0.4.1.2
+  - kind-apply ==0.3.2.1
+  - kind-generics ==0.4.1.4
   - kind-generics-th ==0.2.2.2
   - kmeans ==0.1.3
   - koji ==0.0.2
@@ -1353,7 +1353,7 @@ default-package-overrides:
   - lapack-carray ==0.0.3
   - lapack-comfort-array ==0.0.1
   - lapack-ffi ==0.0.3
-  - lapack-ffi-tools ==0.1.2.1
+  - lapack-ffi-tools ==0.1.3
   - largeword ==1.2.5
   - latex ==0.1.0.4
   - lattices ==2.0.2
@@ -1474,7 +1474,7 @@ default-package-overrides:
   - mcmc-types ==1.0.3
   - medea ==1.2.0
   - median-stream ==0.7.0.0
-  - med-module ==0.1.2.1
+  - med-module ==0.1.2.2
   - megaparsec ==9.0.1
   - megaparsec-tests ==9.0.1
   - membrain ==0.0.0.2
@@ -1516,8 +1516,6 @@ default-package-overrides:
   - mltool ==0.2.0.1
   - mmap ==0.5.9
   - mmark ==0.0.7.2
-  - mmark-cli ==0.0.5.0
-  - mmark-ext ==0.2.1.3
   - mmorph ==1.1.5
   - mnist-idx ==0.1.2.8
   - mnist-idx-conduit ==0.4.0.0
@@ -1525,7 +1523,7 @@ default-package-overrides:
   - mock-time ==0.1.0
   - mod ==0.1.2.2
   - model ==0.5
-  - modern-uri ==0.3.4.2
+  - modern-uri ==0.3.4.3
   - modular ==0.1.0.8
   - monad-chronicle ==1.0.0.1
   - monad-control ==1.0.3.1
@@ -1648,9 +1646,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.7
-  - nri-observability ==0.1.1.3
-  - nri-prelude ==0.6.0.5
+  - nri-env-parser ==0.1.0.8
+  - nri-observability ==0.1.1.4
+  - nri-prelude ==0.6.0.6
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1665,8 +1663,8 @@ default-package-overrides:
   - nvim-hs-ghcid ==2.0.0.0
   - oauthenticated ==0.2.1.0
   - ObjectName ==1.1.0.2
-  - o-clock ==1.2.1
-  - odbc ==0.2.5
+  - o-clock ==1.2.1.1
+  - odbc ==0.2.6
   - oeis2 ==1.0.6
   - ofx ==0.4.4.0
   - old-locale ==1.0.0.7
@@ -1901,7 +1899,7 @@ default-package-overrides:
   - quickcheck-assertions ==0.3.0
   - quickcheck-classes ==0.6.5.0
   - quickcheck-classes-base ==0.6.2.0
-  - quickcheck-higherorder ==0.1.0.0
+  - quickcheck-higherorder ==0.1.0.1
   - quickcheck-instances ==0.3.25.2
   - quickcheck-io ==0.2.0
   - quickcheck-simple ==0.1.1.1
@@ -1951,7 +1949,7 @@ default-package-overrides:
   - reanimate ==1.1.5.0
   - reanimate-svg ==0.13.0.1
   - rebase ==1.13.2
-  - record-dot-preprocessor ==0.2.13
+  - record-dot-preprocessor ==0.2.14
   - record-hasfield ==1.0
   - records-sop ==0.1.1.0
   - record-wrangler ==0.1.1.0
@@ -2092,10 +2090,10 @@ default-package-overrides:
   - serf ==0.1.1.0
   - serialise ==0.2.4.0
   - servant ==0.18.3
-  - servant-auth ==0.4.0.0
+  - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.0
   - servant-auth-docs ==0.2.10.0
-  - servant-auth-server ==0.4.6.0
+  - servant-auth-server ==0.4.7.0
   - servant-auth-swagger ==0.2.10.1
   - servant-auth-wordpress ==1.0.0.2
   - servant-blaze ==0.9.1
@@ -2117,7 +2115,7 @@ default-package-overrides:
   - servant-rawm ==1.0.0.0
   - servant-server ==0.18.3
   - servant-swagger ==1.1.10
-  - servant-swagger-ui ==0.3.5.3.52.5
+  - servant-swagger-ui ==0.3.5.4.5.0
   - servant-swagger-ui-core ==0.3.5
   - serverless-haskell ==0.12.6
   - serversession ==1.0.2
@@ -2254,14 +2252,14 @@ default-package-overrides:
   - streaming ==0.2.3.1
   - streaming-attoparsec ==1.0.0.1
   - streaming-bytestring ==0.2.1
-  - streaming-commons ==0.2.2.3
+  - streaming-commons ==0.2.2.4
   - streamly ==0.7.3
   - streams ==3.3
   - streamt ==0.5.0.0
   - strict ==0.4.0.1
   - strict-concurrency ==0.2.4.3
   - strict-list ==0.1.6
-  - strict-tuple ==0.1.4
+  - strict-tuple ==0.1.5
   - strict-tuple-lens ==0.1.0.1
   - stringbuilder ==0.5.1
   - string-class ==0.1.7.0
@@ -2468,7 +2466,7 @@ default-package-overrides:
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
-  - turtle ==1.5.23
+  - turtle ==1.5.24
   - typecheck-plugin-nat-simple ==0.1.0.2
   - TypeCompose ==0.9.14
   - typed-process ==0.2.8.0
@@ -2529,7 +2527,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.6
   - unix-compat ==0.5.4
   - unix-time ==0.4.7
-  - unliftio ==0.2.20.1
+  - unliftio ==0.2.21.0
   - unliftio-core ==0.2.0.1
   - unliftio-pool ==0.2.1.1
   - unliftio-streams ==0.1.1.1
@@ -2615,7 +2613,7 @@ default-package-overrides:
   - wai-slack-middleware ==0.2.0
   - wai-websockets ==3.0.1.2
   - wakame ==0.1.0.0
-  - warp ==3.3.18
+  - warp ==3.3.19
   - warp-tls ==3.3.2
   - warp-tls-uid ==0.2.0.6
   - wave ==0.2.0
@@ -2692,11 +2690,11 @@ default-package-overrides:
   - xxhash-ffi ==0.2.0.0
   - yaml ==0.11.7.0
   - yamlparse-applicative ==0.2.0.1
-  - yesod ==1.6.1.2
-  - yesod-auth ==1.6.10.5
+  - yesod ==1.6.2
+  - yesod-auth ==1.6.11
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.6.3.4
-  - yesod-bin ==1.6.1
+  - yesod-bin ==1.6.2
   - yesod-core ==1.6.21.0
   - yesod-fb ==0.6.1
   - yesod-form ==1.7.0
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index cc55e28d96c..fc5ece3e069 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -589,7 +589,6 @@ dont-distribute-packages:
  - bla
  - blakesum-demo
  - blastxml
- - blatex
  - blaze-builder-enumerator
  - blaze-colonnade
  - blink1
@@ -700,7 +699,6 @@ dont-distribute-packages:
  - chainweb-mining-client
  - chalkboard-viewer
  - charade
- - chart-cli
  - chart-svg
  - chart-svg-various
  - chart-unit
@@ -728,8 +726,12 @@ dont-distribute-packages:
  - claferwiki
  - clash
  - clash-ghc
+ - clash-ghc_1_6_1
  - clash-lib
+ - clash-lib-hedgehog
+ - clash-lib_1_6_1
  - clash-multisignal
+ - clash-prelude-hedgehog
  - clash-prelude-quickcheck
  - clash-shake
  - clash-systemverilog
@@ -897,10 +899,8 @@ dont-distribute-packages:
  - data-structure-inferrer
  - datadog-tracing
  - dataflow
- - date-conversions
  - dbjava
  - dbus-client
- - ddate
  - ddc-build
  - ddc-core
  - ddc-core-babel
@@ -1196,7 +1196,7 @@ dont-distribute-packages:
  - funnyprint
  - funsat
  - fused-effects-squeal
- - futhark_0_21_5
+ - futhark_0_21_6
  - fwgl-glfw
  - fwgl-javascript
  - fxpak
@@ -2145,9 +2145,7 @@ dont-distribute-packages:
  - mkbndl
  - mlist
  - mmark-cli
- - mmark-cli_0_0_5_1
  - mmark-ext
- - mmark-ext_0_2_1_4
  - mmtl-base
  - moan
  - modify-fasta
@@ -3037,7 +3035,6 @@ dont-distribute-packages:
  - tn
  - to-string-instances
  - toboggan
- - todos
  - toktok
  - too-many-cells
  - top
@@ -3303,7 +3300,6 @@ dont-distribute-packages:
  - ycextra
  - yeamer
  - yeshql
- - yesod-articles
  - yesod-auth-ldap
  - yesod-colonnade
  - yesod-continuations
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index b06857169cd..f6db635805b 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -9747,26 +9747,6 @@ self: {
      }:
      mkDerivation {
        pname = "HaTeX";
-       version = "3.22.3.0";
-       sha256 = "0v9vgql7a9rpkwlrgw8nsy9m2rv3l2gczngc7a1xkndxi214m4kl";
-       libraryHaskellDepends = [
-         base bibtex bytestring containers hashable matrix parsec
-         prettyprinter QuickCheck text transformers
-       ];
-       testHaskellDepends = [
-         base parsec QuickCheck tasty tasty-quickcheck text
-       ];
-       description = "The Haskell LaTeX library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "HaTeX_3_22_3_1" = callPackage
-    ({ mkDerivation, base, bibtex, bytestring, containers, hashable
-     , matrix, parsec, prettyprinter, QuickCheck, tasty
-     , tasty-quickcheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "HaTeX";
        version = "3.22.3.1";
        sha256 = "0vgyixd8j3nzpy8s04cy3q7gj2gfblba2z0ppr58rdm8qgj16j5c";
        libraryHaskellDepends = [
@@ -9778,7 +9758,6 @@ self: {
        ];
        description = "The Haskell LaTeX library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "HaTeX-meta" = callPackage
@@ -11827,8 +11806,8 @@ self: {
        pname = "JuicyPixels-blurhash";
        version = "0.1.0.3";
        sha256 = "0kgl2j7990p8q5yrkn0wgaszc9fzva1pc3277j11k1lbjsymz360";
-       revision = "7";
-       editedCabalFile = "0w6svmml3m1bfkycakkd8sib74nixwkr16z334w9v1cs8fjzfwjk";
+       revision = "8";
+       editedCabalFile = "09mlq9874j1lc33mk9f7qx6nwyz58hywnb8r4l1nkmnnbnc56alj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -13664,25 +13643,22 @@ self: {
      }) {};
 
   "MissingH" = callPackage
-    ({ mkDerivation, array, base, containers, directory
-     , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network
-     , network-bsd, old-locale, old-time, parsec, process, random
-     , regex-compat, time, unix
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , hslogger, HUnit, mtl, network, network-bsd, old-locale, old-time
+     , parsec, process, regex-compat, time, unix
      }:
      mkDerivation {
        pname = "MissingH";
-       version = "1.4.3.0";
-       sha256 = "196cniya5wzcv2d777nr0f7hinclpals4ia1mkzzv35870pqr6lw";
-       revision = "2";
-       editedCabalFile = "0p5md995w0nh2m89v3jsb1bvhfkrnp2s14smjbnh3g0pbq3fgfzg";
+       version = "1.5.0.0";
+       sha256 = "100x3315lk0zs58cv951jxcy6cgip18cq25r8f2bsgwbvv6gh2by";
        libraryHaskellDepends = [
          array base containers directory filepath hslogger mtl network
-         network-bsd old-locale old-time parsec process random regex-compat
-         time unix
+         network-bsd old-locale old-time parsec process regex-compat time
+         unix
        ];
        testHaskellDepends = [
-         base containers directory errorcall-eq-instance filepath HUnit
-         old-time parsec regex-compat time unix
+         base containers directory filepath HUnit old-time parsec
+         regex-compat time unix
        ];
        description = "Large utility library";
        license = lib.licenses.bsd3;
@@ -17795,8 +17771,8 @@ self: {
      }:
      mkDerivation {
        pname = "SJW";
-       version = "0.1.2.3";
-       sha256 = "10ky2pd83wng5bgpqimdyxvhlfpwbssgh576ss28f1rzm6b8wqcm";
+       version = "0.1.2.4";
+       sha256 = "1flr9dp3v4cyn8fs6sybibbim5spzab7kxi6rxpczjcwmnn1cv78";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -23361,6 +23337,8 @@ self: {
        pname = "acid-state";
        version = "0.16.0.1";
        sha256 = "0n8qp002w972lf7z9hhn5bbz2rslh8m6am07c88y755nj5xk6y88";
+       revision = "1";
+       editedCabalFile = "0jz3826gx6chsa2bipzdpqvl2risp3bm6g4nrr79wb403qrqwbf4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24203,8 +24181,8 @@ self: {
        pname = "acts";
        version = "0.3.1.0";
        sha256 = "06bpayfa8vwj8dqlqp71nw2s9iwbffdknkk4hpazd4r1wvhnrg37";
-       revision = "3";
-       editedCabalFile = "01vjb8mp9ifbfknnibzc1yhimn5yli2vafpxs6adk0cdjna99g4w";
+       revision = "4";
+       editedCabalFile = "081arnkkll6xkni350ywsnwzagnki2ly5in42cx5zcpfp1xbssmk";
        libraryHaskellDepends = [
          base deepseq finitary finite-typelits groups
        ];
@@ -25534,20 +25512,15 @@ self: {
      }) {};
 
   "aeson-tiled" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, hspec, text
-     , vector
+    ({ mkDerivation, aeson, base, bytestring, containers, text, vector
      }:
      mkDerivation {
        pname = "aeson-tiled";
-       version = "0.0.0.1";
-       sha256 = "147rm19czz8bvzmjj4mmcvjyz02mr3cisyprzdfpx1q5msi7aghk";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.1.0";
+       sha256 = "1szlwkww2sbqrz6d8mbq20nzkba70a41if33bcka0vhfq5lrp224";
        libraryHaskellDepends = [
          aeson base bytestring containers text vector
        ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ aeson base hspec ];
        description = "Aeson instances for the Tiled map editor";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -35987,27 +35960,6 @@ self: {
      }:
      mkDerivation {
        pname = "audacity";
-       version = "0.0.2";
-       sha256 = "1916phnj3m12apyjarmda48xr2bq19rfn7sn6nskkbg6qjqxzlnr";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring deepseq directory explicit-exception filepath
-         non-empty semigroups storable-record storablevector tagchup
-         transformers utility-ht xml-basic
-       ];
-       description = "Interchange with the Audacity sound signal editor";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "audacity_0_0_2_1" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, directory
-     , explicit-exception, filepath, non-empty, semigroups
-     , storable-record, storablevector, tagchup, transformers
-     , utility-ht, xml-basic
-     }:
-     mkDerivation {
-       pname = "audacity";
        version = "0.0.2.1";
        sha256 = "04r36gy8z0d2fz1l5px6yajp7izf3zpda9vci6q0wc273pxc8ck6";
        isLibrary = true;
@@ -36019,7 +35971,6 @@ self: {
        ];
        description = "Interchange with the Audacity sound signal editor";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "audiovisual" = callPackage
@@ -41147,6 +41098,8 @@ self: {
        pname = "bidirectionalization-combined";
        version = "0.1.0.1";
        sha256 = "0bclazwhg3ra7zv19xfx5rw2z3p8h8scw5r4m281524qzrkm9j6m";
+       revision = "1";
+       editedCabalFile = "1fvqr3g7i57ybszqaa279nvrciw3yv1sj8hpjs3pa0z0cvxvvr42";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -44667,6 +44620,7 @@ self: {
        description = "Blog in LaTeX";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blaze" = callPackage
@@ -44785,8 +44739,8 @@ self: {
        pname = "blaze-html";
        version = "0.9.1.2";
        sha256 = "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30";
-       revision = "1";
-       editedCabalFile = "0wvlfb3rd9cm3p894p5rl9kggrsr5da3n8x9ydrbagx91yvkxns9";
+       revision = "2";
+       editedCabalFile = "1hjxvz62wlg0x7svc51zascgc96f5ly9xkkiyllgb4aqcvx9zf3l";
        libraryHaskellDepends = [
          base blaze-builder blaze-markup bytestring text
        ];
@@ -45129,8 +45083,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-api";
-       version = "0.2.1.0";
-       sha256 = "1mczzhpbdch3m5wmw9zr8pzwmg5jpg3qx167pxv548ykd0nvfjiq";
+       version = "0.3.0.0";
+       sha256 = "1773mklwigyqhgbxsp2zz4yzwsq0s2sapifzisrk56qix74z9md4";
        libraryHaskellDepends = [
          aeson base bytestring data-default-class deriving-aeson lens
          QuickCheck quickcheck-instances safe-money servant servant-docs
@@ -45153,8 +45107,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-client";
-       version = "0.2.1.0";
-       sha256 = "19jw8dr49ahfy5ln8d7fnaxw07mqzj71dawv6bx0p5j0dqdhzxky";
+       version = "0.3.0.0";
+       sha256 = "0n49qbqlghgqw0nnx6bpkfiiyaqzzscl6hr0rh7xxw56955r55p0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46628,17 +46582,17 @@ self: {
      }) {};
 
   "box" = callPackage
-    ({ mkDerivation, attoparsec, base, concurrency, containers
-     , contravariant, exceptions, lens, mmorph, mtl, profunctors, text
-     , time, transformers
+    ({ mkDerivation, base, concurrency, containers, contravariant
+     , dlist, exceptions, kan-extensions, mtl, profunctors
+     , semigroupoids, text, time, transformers
      }:
      mkDerivation {
        pname = "box";
-       version = "0.7.0";
-       sha256 = "0fxrhfzf4xsfma2x355ij3ky1h83wq3khd08vkix1lnmw9vnvk37";
+       version = "0.8.1";
+       sha256 = "18f7waxmnrfk205aacwlzzv18bhyff9vpq3xcna955p9qgm47lg5";
        libraryHaskellDepends = [
-         attoparsec base concurrency containers contravariant exceptions
-         lens mmorph mtl profunctors text time transformers
+         base concurrency containers contravariant dlist exceptions
+         kan-extensions mtl profunctors semigroupoids text time transformers
        ];
        description = "boxes";
        license = lib.licenses.bsd3;
@@ -46647,16 +46601,12 @@ self: {
      }) {};
 
   "box-csv" = callPackage
-    ({ mkDerivation, attoparsec, base, box, generic-lens, lens
-     , scientific, text, time
-     }:
+    ({ mkDerivation, attoparsec, base, box, text, time }:
      mkDerivation {
        pname = "box-csv";
-       version = "0.1.0";
-       sha256 = "0h62za6qirm003bwrsjb9pj4d9gnrypvqchzhnv3nj37niscmddy";
-       libraryHaskellDepends = [
-         attoparsec base box generic-lens lens scientific text time
-       ];
+       version = "0.2.0";
+       sha256 = "0m3zx6m267hsnhvjspbd8132phkkbpm18cvii2if02bd3kj1x7rb";
+       libraryHaskellDepends = [ attoparsec base box text time ];
        description = "CSV parsing in a box";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -46664,22 +46614,20 @@ self: {
 
   "box-socket" = callPackage
     ({ mkDerivation, async, base, box, bytestring, concurrency
-     , exceptions, generic-lens, lens, network, network-simple
-     , optparse-generic, text, websockets
+     , exceptions, network, network-simple, optparse-generic, text
+     , websockets
      }:
      mkDerivation {
        pname = "box-socket";
-       version = "0.2.0";
-       sha256 = "198llmb67g348apjrhp180x2ykjlp2mnbhvkw90yh5nm7pnd0j3c";
+       version = "0.3.0";
+       sha256 = "1z9qlmpbq2ppc13viyf0sha95d7cm0jswnabjvg5fvx9ln1c5ivp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base box bytestring concurrency exceptions generic-lens lens
-         network network-simple text websockets
-       ];
-       executableHaskellDepends = [
-         base box concurrency generic-lens lens optparse-generic text
+         async base box bytestring concurrency exceptions network
+         network-simple text websockets
        ];
+       executableHaskellDepends = [ base optparse-generic ];
        description = "Box websockets";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -50995,6 +50943,27 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
+  "cabal2spec_2_6_3" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, optparse-applicative, tasty
+     , tasty-golden, time
+     }:
+     mkDerivation {
+       pname = "cabal2spec";
+       version = "2.6.3";
+       sha256 = "1mxqllc6mbxbyr5iz6qs0sxmvzrn5jf9wbs6zqnlygg23ml043kr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base Cabal filepath time ];
+       executableHaskellDepends = [
+         base Cabal filepath optparse-applicative
+       ];
+       testHaskellDepends = [ base Cabal filepath tasty tasty-golden ];
+       description = "Convert Cabal files into rpm spec files";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ peti ];
+     }) {};
+
   "cabalQuery" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, MissingH
      , pretty
@@ -54976,7 +54945,6 @@ self: {
        ];
        description = "Command-line utility to draw charts from input data easily";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "chart-histogram" = callPackage
@@ -56271,18 +56239,18 @@ self: {
   "cimple" = callPackage
     ({ mkDerivation, aeson, alex, ansi-wl-pprint, array, base
      , bytestring, containers, data-fix, filepath, groom, happy, hspec
-     , hspec-discover, monad-parallel, mtl, recursion-schemes, text
-     , transformers-compat
+     , hspec-discover, monad-parallel, mtl, recursion-schemes, split
+     , text, transformers-compat
      }:
      mkDerivation {
        pname = "cimple";
-       version = "0.0.13";
-       sha256 = "18c3x6mb93hj2zzq63p9wczi73wm1c3b24ksjmnksldkaakwv6wy";
+       version = "0.0.14";
+       sha256 = "1n287ybpl4h8laklw4s0gqf7hn8w12yv3wxm1xjh7rx9fivnim2v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers data-fix
-         filepath groom monad-parallel mtl recursion-schemes text
+         filepath groom monad-parallel mtl recursion-schemes split text
          transformers-compat
        ];
        libraryToolDepends = [ alex happy ];
@@ -57084,6 +57052,37 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "clash-ghc_1_6_1" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, clash-lib
+     , clash-prelude, concurrent-supply, containers, data-binary-ieee754
+     , deepseq, directory, exceptions, extra, filepath, ghc, ghc-boot
+     , ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, ghci, hashable, haskeline, integer-gmp
+     , lens, mtl, primitive, process, reflection, split
+     , template-haskell, text, time, transformers, uniplate, unix
+     , unordered-containers, utf8-string, vector
+     }:
+     mkDerivation {
+       pname = "clash-ghc";
+       version = "1.6.1";
+       sha256 = "0kkwrp2ch01s75gyy3xa3lf305xi9czw0v4sgqcb4cds4qb47ih2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring Cabal clash-lib clash-prelude
+         concurrent-supply containers data-binary-ieee754 deepseq directory
+         exceptions extra filepath ghc ghc-boot ghc-prim ghc-typelits-extra
+         ghc-typelits-knownnat ghc-typelits-natnormalise ghci hashable
+         haskeline integer-gmp lens mtl primitive process reflection split
+         template-haskell text time transformers uniplate unix
+         unordered-containers utf8-string vector
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Clash: a functional hardware description language - GHC frontend";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-lib" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array
      , attoparsec, base, base16-bytestring, binary, bytestring
@@ -57127,6 +57126,74 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "clash-lib_1_6_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, async
+     , attoparsec, base, base16-bytestring, binary, bytestring
+     , clash-prelude, concurrent-supply, containers, cryptohash-sha256
+     , data-binary-ieee754, data-default, deepseq, directory, dlist
+     , exceptions, extra, filepath, ghc, ghc-boot-th
+     , ghc-typelits-knownnat, Glob, hashable, haskell-src-exts
+     , haskell-src-meta, hint, integer-gmp, interpolate, lens, mtl
+     , ordered-containers, pretty-show, prettyprinter, primitive
+     , quickcheck-text, stringsearch, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, terminal-size
+     , text, time, transformers, trifecta, unordered-containers, vector
+     , vector-binary-instances, yaml
+     }:
+     mkDerivation {
+       pname = "clash-lib";
+       version = "1.6.1";
+       sha256 = "0qghvgl4x1lskmadn14kgbilfq9m2cb6n3ik513p27cvv5k8ahpj";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty ansi-terminal array async attoparsec base
+         base16-bytestring binary bytestring clash-prelude concurrent-supply
+         containers cryptohash-sha256 data-binary-ieee754 data-default
+         deepseq directory dlist exceptions extra filepath ghc ghc-boot-th
+         hashable haskell-src-meta hint integer-gmp interpolate lens mtl
+         ordered-containers pretty-show prettyprinter primitive
+         template-haskell temporary terminal-size text time transformers
+         trifecta unordered-containers vector vector-binary-instances yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers deepseq directory Glob
+         stringsearch yaml
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base base16-bytestring bytestring clash-prelude
+         concurrent-supply containers data-default deepseq ghc
+         ghc-typelits-knownnat haskell-src-exts lens pretty-show
+         quickcheck-text tasty tasty-hunit tasty-quickcheck template-haskell
+         text transformers unordered-containers
+       ];
+       description = "Clash: a functional hardware description language - As a library";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "clash-lib-hedgehog" = callPackage
+    ({ mkDerivation, base, clash-lib, containers, data-binary-ieee754
+     , fakedata, ghc-typelits-knownnat, ghc-typelits-natnormalise
+     , hedgehog, hedgehog-fakedata, mmorph, mtl, pretty-show, primitive
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "clash-lib-hedgehog";
+       version = "1.6.1";
+       sha256 = "0mm5wr80aylkp8xr71r40n90n5piipyfq7nrrj1ppqmb7lcs8gwj";
+       libraryHaskellDepends = [
+         base clash-lib containers data-binary-ieee754 fakedata
+         ghc-typelits-knownnat ghc-typelits-natnormalise hedgehog
+         hedgehog-fakedata mmorph mtl pretty-show primitive text
+         transformers
+       ];
+       description = "Hedgehog Generators for clash-lib";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-multisignal" = callPackage
     ({ mkDerivation, base, clash-prelude, deepseq
      , ghc-typelits-knownnat, QuickCheck
@@ -57184,6 +57251,63 @@ self: {
        broken = true;
      }) {};
 
+  "clash-prelude_1_6_1" = callPackage
+    ({ mkDerivation, array, arrows, base, binary, bytestring
+     , constraints, containers, criterion, data-binary-ieee754
+     , data-default-class, deepseq, directory, doctest-parallel, extra
+     , filepath, ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, half, hashable, hedgehog, hint
+     , integer-gmp, interpolate, lens, QuickCheck
+     , quickcheck-classes-base, recursion-schemes, reflection
+     , singletons, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck
+     , tasty-th, template-haskell, text, th-abstraction, th-lift
+     , th-orphans, time, transformers, type-errors, uniplate, vector
+     }:
+     mkDerivation {
+       pname = "clash-prelude";
+       version = "1.6.1";
+       sha256 = "18fhkk2icwk8jm7d6ni0l2l7jgh0isdkmlzj2dpvqrwla6qf40j2";
+       libraryHaskellDepends = [
+         array arrows base binary bytestring constraints containers
+         data-binary-ieee754 data-default-class deepseq extra ghc-prim
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         half hashable integer-gmp interpolate lens QuickCheck
+         recursion-schemes reflection singletons template-haskell text
+         th-abstraction th-lift th-orphans time transformers type-errors
+         uniplate vector
+       ];
+       testHaskellDepends = [
+         base bytestring deepseq doctest-parallel filepath
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         hedgehog hint quickcheck-classes-base tasty tasty-hedgehog
+         tasty-hunit tasty-quickcheck tasty-th template-haskell
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq directory template-haskell
+       ];
+       description = "Clash: a functional hardware description language - Prelude library";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "clash-prelude-hedgehog" = callPackage
+    ({ mkDerivation, base, clash-prelude, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, hedgehog, text
+     }:
+     mkDerivation {
+       pname = "clash-prelude-hedgehog";
+       version = "1.6.1";
+       sha256 = "12p3rnfxi0l249l7w6cbvp2l4hlzxzppi9nca7vn9awr20shi2r4";
+       libraryHaskellDepends = [
+         base clash-prelude ghc-typelits-knownnat ghc-typelits-natnormalise
+         hedgehog text
+       ];
+       description = "Hedgehog Generators for clash-prelude";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-prelude-quickcheck" = callPackage
     ({ mkDerivation, base, clash-prelude, QuickCheck }:
      mkDerivation {
@@ -57204,10 +57328,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-shake";
-       version = "0.2.1";
-       sha256 = "0lxv3ihlhnibi7vmfa4pqmf04524vlr3ksmdzgrlcarximi122kd";
-       revision = "1";
-       editedCabalFile = "07yb41fg6s5r8cs4xvax8nk3mly33shbbclql0q24wz5g7h4w06d";
+       version = "0.2.2";
+       sha256 = "10gj6764qhdy6ki0dyy75ycpj5il26jgxxjcr0xy9kkixi3wgsrb";
        libraryHaskellDepends = [
          aeson base bytestring clash-ghc clash-lib clash-prelude directory
          shake split stache text unordered-containers
@@ -57278,8 +57400,8 @@ self: {
      }:
      mkDerivation {
        pname = "clashilator";
-       version = "0.1.1";
-       sha256 = "0d95h9dflclzgfph4as4bzz0442z0a9w59d97snzih9wc1cg4vbp";
+       version = "0.1.2";
+       sha256 = "1p58zn6m85zgn4f6pj6v6vqhhcazbid7gi9vg7cm52i1sx1jdbb8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57811,22 +57933,21 @@ self: {
     ({ mkDerivation, atomic-primops, base, containers, exceptions
      , extra, hspec, lifted-base, microlens, monad-control, primitive
      , QuickCheck, rec-smallarray, template-haskell, th-abstraction
-     , transformers, transformers-base, unliftio
+     , transformers-base, unliftio
      }:
      mkDerivation {
        pname = "cleff";
-       version = "0.2.0.0";
-       sha256 = "0p9xmp9injfyy4d9p4cxqm103rwrwwwdghph4gawhjwsyp4611m8";
+       version = "0.2.1.0";
+       sha256 = "1a9gvmz9s71c1m9d1f5mxnhid8096fdhmgw4j9l358gg4i6lzvrw";
        libraryHaskellDepends = [
          atomic-primops base containers exceptions microlens monad-control
          primitive rec-smallarray template-haskell th-abstraction
-         transformers transformers-base unliftio
+         transformers-base unliftio
        ];
        testHaskellDepends = [
          atomic-primops base containers exceptions extra hspec lifted-base
          microlens monad-control primitive QuickCheck rec-smallarray
-         template-haskell th-abstraction transformers transformers-base
-         unliftio
+         template-haskell th-abstraction transformers-base unliftio
        ];
        description = "Fast and concise extensible effects";
        license = lib.licenses.bsd3;
@@ -58363,8 +58484,8 @@ self: {
     ({ mkDerivation, base, criterion, tasty, tasty-quickcheck }:
      mkDerivation {
        pname = "clock";
-       version = "0.8.2";
-       sha256 = "0qg4ljwmw28vvxjzr4sknh8220abjcx2b0sq3ljqprh3qw8b2p8b";
+       version = "0.8.3";
+       sha256 = "1l850pf1dxjf3i15wc47d64gzkpzgvw0bq13fd8zvklq9kdyap44";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -62884,22 +63005,6 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.14";
-       sha256 = "01d5zq7ja55jjn65fj5rs11kzqnc6baysxkzkq0jfd23wdqf9f92";
-       libraryHaskellDepends = [
-         ansi-terminal async base directory exceptions process stm
-         terminal-size text transformers unix
-       ];
-       description = "Ungarble output from several threads or commands";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "concurrent-output_1_10_15" = callPackage
-    ({ mkDerivation, ansi-terminal, async, base, directory, exceptions
-     , process, stm, terminal-size, text, transformers, unix
-     }:
-     mkDerivation {
-       pname = "concurrent-output";
        version = "1.10.15";
        sha256 = "1n02ck0zci6y2w8dm03j2qypgbc176skapixrmnxrp9dnbwcprc0";
        libraryHaskellDepends = [
@@ -62908,7 +63013,6 @@ self: {
        ];
        description = "Ungarble output from several threads or commands";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "concurrent-resource-map" = callPackage
@@ -73161,7 +73265,6 @@ self: {
        testHaskellDepends = [ base dates hspec QuickCheck time ];
        description = "Date conversions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dates" = callPackage
@@ -73178,8 +73281,6 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Small library for parsing different dates formats";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "datetime" = callPackage
@@ -73657,6 +73758,7 @@ self: {
        description = "Discordian Date Types for Haskell";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ddc-base" = callPackage
@@ -74028,8 +74130,8 @@ self: {
      }:
      mkDerivation {
        pname = "dear-imgui";
-       version = "1.3.1";
-       sha256 = "1ndwwnvx89pz0rmkr5ba4gv7w2q2q8j9n3a31s9aibxd0qjd6ijx";
+       version = "1.4.0";
+       sha256 = "02s649lbfil4c5hqvqrqp93sag21g45hmfw2nxbnpazj1cn1bk7w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -75664,8 +75766,8 @@ self: {
      }:
      mkDerivation {
        pname = "derive-topdown";
-       version = "0.0.2.2";
-       sha256 = "1rymdadqwryr7ipxrw9j3m3g1n2c8l3j7wc3wphcak2nk6x2b60k";
+       version = "0.0.3.0";
+       sha256 = "1w36nczl0rl91sgm3vcd4gvm3lr6zdjqvmfdikkjq664xwnxrn8h";
        libraryHaskellDepends = [
          base mtl primitive syb template-haskell th-expand-syns transformers
        ];
@@ -75779,8 +75881,8 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-trans";
-       version = "0.3.0.0";
-       sha256 = "07847l2iwnrgskldqnjx3312rw95fp3xsmdx5rc61746ghl76aq7";
+       version = "0.3.1.0";
+       sha256 = "0x7kk9b08f9fplkycw2202qil3rh5l2x7l7whjlv30b0v5k885xz";
        libraryHaskellDepends = [
          base monad-control mtl transformers transformers-base
        ];
@@ -77290,6 +77392,8 @@ self: {
        pname = "diagrams-cairo";
        version = "1.4.2";
        sha256 = "094vavgsfn7hxn2h7phvmx82wdhw51vqqv29p8hsvmijf1gxa7c1";
+       revision = "1";
+       editedCabalFile = "1pcc4vh1sb6h4bq4x2nxpynjvmif2bn1w3ddi24jbjhgr5b6ln59";
        libraryHaskellDepends = [
          array base bytestring cairo colour containers data-default-class
          diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
@@ -77309,8 +77413,8 @@ self: {
        pname = "diagrams-canvas";
        version = "1.4.1";
        sha256 = "1ihmv42412d8dk3s894zd70xd386wrk9ycxkid19barry1vz5plj";
-       revision = "2";
-       editedCabalFile = "0x8iv0998nn42l0ph90xq50ca514m3zhac4s9zl1hc5hzivj10sl";
+       revision = "3";
+       editedCabalFile = "0yajv3bnzhqwr673rch0wd9vhc4kcfdpdw5p5a2x1xbrpzghksac";
        libraryHaskellDepends = [
          base blank-canvas cmdargs containers data-default-class
          diagrams-core diagrams-lib lens mtl NumInstances
@@ -77773,6 +77877,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "dialogue" = callPackage
+    ({ mkDerivation, base, bytestring, directory }:
+     mkDerivation {
+       pname = "dialogue";
+       version = "0.1.0";
+       sha256 = "03rlcyvkzm9fyqdsgswx9sgw2jdiplngw9a1rknngwnwnx5mqbpm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring directory ];
+       executableHaskellDepends = [ base ];
+       description = "I/O in Haskell Report 1.2";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "dib" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cereal
      , containers, digest, directory, filepath, mtl, process, text, time
@@ -79053,8 +79171,8 @@ self: {
      }:
      mkDerivation {
        pname = "disco";
-       version = "0.1.1.0";
-       sha256 = "04z203dvqc6ipcw6mhnx63q2s2hlmvxy5d5v0ml2z53b4crbprha";
+       version = "0.1.2.0";
+       sha256 = "0c8d7ly5v6x9pf9xhs1rlnd627d6lsna0x40qrz59xcc77n78xr3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -79140,8 +79258,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.11.0";
-       sha256 = "10vak5aar5fx25ani676pi870mnnvzrn6n1b1akhdyags1hrsghm";
+       version = "1.12.0";
+       sha256 = "02gxfpwrxg7i9n0wca4g0dfsndrdxasdsdbp79ixwp51pvd04cad";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80192,8 +80310,8 @@ self: {
      }:
      mkDerivation {
        pname = "distribution-opensuse";
-       version = "1.1.1";
-       sha256 = "1drjlcakv48djnqyrl50c6l974zrxm1gq3z8cx58xndfb2j0hzq6";
+       version = "1.1.3";
+       sha256 = "1yrir5x70nsw5rajcphmr7bzi7k2m05iw97bl7b3v3a5q1i69as5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80606,6 +80724,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "dns-patterns" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, HUnit
+     , parser-combinators, text
+     }:
+     mkDerivation {
+       pname = "dns-patterns";
+       version = "0.1";
+       sha256 = "01ap0j5ar81v5k9dm0vsd03271xkqwi0a1dx3s9yflg7ll98yjs8";
+       libraryHaskellDepends = [
+         attoparsec base bytestring parser-combinators text
+       ];
+       testHaskellDepends = [ attoparsec base bytestring HUnit text ];
+       description = "DNS name parsing and pattern matching utilities";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dnscache" = callPackage
     ({ mkDerivation, base, bytestring, containers, contstuff, dns
      , iproute, time
@@ -90124,13 +90260,13 @@ self: {
 
   "evm-opcodes" = callPackage
     ({ mkDerivation, base, bytestring, cereal, containers, data-dword
-     , hedgehog, hspec, tasty, tasty-discover, tasty-hedgehog
-     , tasty-hspec, text
+     , hedgehog, hspec, tasty, tasty-bench, tasty-discover
+     , tasty-hedgehog, tasty-hspec, text
      }:
      mkDerivation {
        pname = "evm-opcodes";
-       version = "0.1.0";
-       sha256 = "1bjn8i6d6vccms4xzs877cpmd75v0kgd349a024gig3rfsxqadn5";
+       version = "0.1.1";
+       sha256 = "07y2j1d6q9mnq3qaz2nf9394p88rnil6naanfxb608d9qa0cxbg9";
        libraryHaskellDepends = [
          base bytestring cereal containers data-dword text
        ];
@@ -90139,6 +90275,9 @@ self: {
          tasty-discover tasty-hedgehog tasty-hspec text
        ];
        testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring cereal containers data-dword tasty-bench text
+       ];
        description = "Opcode types for Ethereum Virtual Machine (EVM)";
        license = lib.licenses.mit;
      }) {};
@@ -92885,10 +93024,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastsum";
-       version = "0.1.1.1";
-       sha256 = "0j9jd068xgk7nn2ilgdkv1pxngflqqgxz1pnhdssgiih04v8zw5l";
-       revision = "1";
-       editedCabalFile = "0mmdkpgxlc6fsl5pq8kgdh41h08m86s0y4wnan293h3c74q1xd6x";
+       version = "0.2.0.0";
+       sha256 = "1yjsmk8ws6y5rbv23d3jqyqz4pvkzn44dmx1gflldgdfm9xi31ac";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -99145,8 +99282,8 @@ self: {
      }:
      mkDerivation {
        pname = "freckle-app";
-       version = "1.0.2.6";
-       sha256 = "0fkvpc9glzp4xm21nqvn1hfv9704hxyqrvmhl6z5qn43dv97srvf";
+       version = "1.0.2.8";
+       sha256 = "072jq8bqxa7h067hplhwp8zfnx1ygfcg1yxjyj10lwxdmr3barsw";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring case-insensitive conduit
          containers data-default datadog doctest ekg-core errors exceptions
@@ -101466,7 +101603,7 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
-  "futhark_0_21_5" = callPackage
+  "futhark_0_21_6" = callPackage
     ({ mkDerivation, aeson, alex, ansi-terminal, array, base
      , base16-bytestring, binary, blaze-html, bmp, bytestring
      , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5
@@ -101481,8 +101618,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.5";
-       sha256 = "1an0xk4hqma5hd5jq3m00l0f2kkh8mpg01ww488xsbh1976jm1dy";
+       version = "0.21.6";
+       sha256 = "1981w3yzzfhlqs5p98mdb5b3yhhck1lvcxx12j3krsa4raclf8s6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106114,6 +106251,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-events_0_17_0_2" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "ghc-events";
+       version = "0.17.0.2";
+       sha256 = "0dkzxpfiqpd1i1lhrssp1b242111228ap113iavarr9hb7y8rl72";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers text vector
+       ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       description = "Library and tool for parsing .eventlog files from GHC";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-events-analyze" = callPackage
     ({ mkDerivation, base, blaze-svg, bytestring, containers
      , diagrams-lib, diagrams-svg, filepath, ghc-events, hashable, lens
@@ -112502,8 +112659,8 @@ self: {
      }:
      mkDerivation {
        pname = "gmail-simple";
-       version = "0.1.0.2";
-       sha256 = "03zqp5gl3jxn2y5mx3qpb9xxj1zsbsbqapz9jdmvfrxdsb1xsa56";
+       version = "0.1.0.4";
+       sha256 = "1xjgww7hn27x4vmj23ji3i2r2552kkinbc0170k6sc5f2bxdda6f";
        libraryHaskellDepends = [
          aeson base base64 blaze-html bytestring containers cryptonite
          http-api-data http-conduit http-media jwt text time
@@ -112686,6 +112843,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gnuplot_0_5_7" = callPackage
+    ({ mkDerivation, array, base, containers, data-accessor
+     , data-accessor-transformers, deepseq, filepath, process
+     , semigroups, temporary, time, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "gnuplot";
+       version = "0.5.7";
+       sha256 = "1glahh3si5bpazsklnpwxx4h4ivgb4wyngc032797zq1496fhhm3";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base containers data-accessor data-accessor-transformers
+         deepseq filepath process semigroups temporary time transformers
+         utility-ht
+       ];
+       description = "2D and 3D plots using gnuplot";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "gnutls" = callPackage
     ({ mkDerivation, base, bytestring, gnutls, monads-tf, transformers
      }:
@@ -125792,10 +125971,8 @@ self: {
     ({ mkDerivation, array, base, happy, pretty, syb }:
      mkDerivation {
        pname = "haskell-src";
-       version = "1.0.3.1";
-       sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746";
-       revision = "5";
-       editedCabalFile = "1qaibp1b1szb3ci5lhsxa3lh7iwyfzr5gjnmb4nypqwjqs05dk2c";
+       version = "1.0.4";
+       sha256 = "1spkhv83hy5v1lxs44l3w53vk8zj7gnx42c40hrkj4fcz6apdiwb";
        libraryHaskellDepends = [ array base pretty syb ];
        libraryToolDepends = [ happy ];
        description = "Support for manipulating Haskell source code";
@@ -125939,8 +126116,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.8";
-       sha256 = "0fg5h6k8m6hf7vwmczp8my2p1js5srhj7bcl7q0pdgd2d0lx43dd";
+       version = "0.8.9";
+       sha256 = "0y3hnqg33pqzc66nl58va8lvwvmb0mx5q0p9r55i6cc3xwjahiyx";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -126941,8 +127118,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskellish";
-       version = "0.3.1";
-       sha256 = "1a3lsdy78f4lfgrag2ppy4yp2snvn1dg5krhbxwarl70sd2j4fhg";
+       version = "0.3.2";
+       sha256 = "1rrzgzgajga1gvw6cfmlif1crzy7zr0dq7wyx1r6rp7sf0drrgxr";
        libraryHaskellDepends = [
          base containers haskell-src-exts mtl template-haskell text
        ];
@@ -128363,7 +128540,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hasql_1_5_0_1" = callPackage
+  "hasql_1_5_0_2" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring
      , bytestring-strict-builder, contravariant, contravariant-extras
      , dlist, gauge, hashable, hashtables, mtl, postgresql-binary
@@ -128373,8 +128550,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.5.0.1";
-       sha256 = "0y8q3jh6lf9nc3xj4l1rql2g1r0id5j7gjmicqq6rqz6k0njs8h9";
+       version = "1.5.0.2";
+       sha256 = "1f9faq0f2bilylc0rd64s0icrp086qb0q70w4z4vih2hs0sx6fs0";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-strict-builder contravariant
          dlist hashable hashtables mtl postgresql-binary postgresql-libpq
@@ -128535,20 +128712,20 @@ self: {
   "hasql-interpolate" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, containers
      , haskell-src-meta, hasql, megaparsec, mtl, scientific, tasty
-     , tasty-hunit, template-haskell, text, time, transformers, uuid
-     , vector
+     , tasty-hunit, template-haskell, text, time, tmp-postgres
+     , transformers, uuid, vector
      }:
      mkDerivation {
        pname = "hasql-interpolate";
-       version = "0.1.0.1";
-       sha256 = "134h9jrqdnvki97dq3cagzwabcnbcbls72l5f32m9s44dbrnq5bl";
+       version = "0.1.0.2";
+       sha256 = "1snayn9g5xa9q4c38p8s0ir6ij32js17b02qsacif6v080hqw94b";
        libraryHaskellDepends = [
          aeson array base bytestring containers haskell-src-meta hasql
          megaparsec mtl scientific template-haskell text time transformers
          uuid vector
        ];
        testHaskellDepends = [
-         base hasql tasty tasty-hunit template-haskell text
+         base hasql tasty tasty-hunit template-haskell text tmp-postgres
        ];
        description = "QuasiQuoter that supports expression interpolation for hasql";
        license = lib.licenses.bsd3;
@@ -128600,21 +128777,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.3.0.7";
-       sha256 = "1ncv3xs9kxgzibmxddrxii1ik9z6iw2p1q0lbli8n56d4y1rs570";
-       libraryHaskellDepends = [
-         base-prelude hasql hasql-pool optparse-applicative
-       ];
-       description = "\"optparse-applicative\" parsers for \"hasql\"";
-       license = lib.licenses.mit;
-     }) {};
-
-  "hasql-optparse-applicative_0_3_0_8" = callPackage
-    ({ mkDerivation, base-prelude, hasql, hasql-pool
-     , optparse-applicative
-     }:
-     mkDerivation {
-       pname = "hasql-optparse-applicative";
        version = "0.3.0.8";
        sha256 = "1yx56vi1dpymxk5c3rkk74bbghcxfp6x333xn2j4x2ls38676dvg";
        libraryHaskellDepends = [
@@ -128622,7 +128784,6 @@ self: {
        ];
        description = "\"optparse-applicative\" parsers for \"hasql\"";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hasql-pipes" = callPackage
@@ -137165,6 +137326,8 @@ self: {
        pname = "hls-class-plugin";
        version = "1.0.2.0";
        sha256 = "0drpxrazhwd228skgky7xdzcf22gi1pi2lby0dj0nzpzhrdl0pw0";
+       revision = "1";
+       editedCabalFile = "18x8k0gwpxv0vs4d8rbl5p0pjf75apb142i0p8vssbpvjwiwx33i";
        libraryHaskellDepends = [
          aeson base containers ghc ghc-exactprint ghcide hls-plugin-api lens
          lsp text transformers
@@ -137459,25 +137622,20 @@ self: {
 
   "hls-rename-plugin" = callPackage
     ({ mkDerivation, base, containers, extra, filepath, ghc
-     , ghc-exactprint, ghcide, hiedb, hls-plugin-api, hls-retrie-plugin
-     , hls-test-utils, lsp, lsp-types, syb, text, transformers
+     , ghc-exactprint, ghcide, hiedb, hls-plugin-api, hls-test-utils
+     , lsp, lsp-types, syb, text, transformers
      }:
      mkDerivation {
        pname = "hls-rename-plugin";
-       version = "1.0.0.0";
-       sha256 = "0j13nh3fvvmj1sd11fiq9fccq23s6p7jz3m96b49kprkayx65zhh";
-       revision = "1";
-       editedCabalFile = "193q5qz563lvwm1vpfadr7cy7yxk15z2va5p9bw0xjz2x8yhc5fq";
+       version = "1.0.0.1";
+       sha256 = "04l2w3x60ayxa9a6cdmscrfvyx9fsnbl4q05m8f0s1s18zlgjf86";
        libraryHaskellDepends = [
          base containers extra ghc ghc-exactprint ghcide hiedb
-         hls-plugin-api hls-retrie-plugin lsp lsp-types syb text
-         transformers
+         hls-plugin-api lsp lsp-types syb text transformers
        ];
        testHaskellDepends = [ base filepath hls-test-utils ];
        description = "Rename plugin for Haskell Language Server";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hls-retrie-plugin" = callPackage
@@ -138658,8 +138816,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.16.1";
-       sha256 = "17845a9p2k2390xwnh1k2v9a1sdwjn5r5riww54nknxv2vqdkf42";
+       version = "1.16.2";
+       sha256 = "0yw9fnpac1ryk0pn0ikf4g1p687mvschrnpj7szlcj6am78ldqzx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138831,6 +138989,8 @@ self: {
        testHaskellDepends = [ base hspec MissingH parsec split ];
        description = "Small library for typesafe's configuration specification";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hodatime" = callPackage
@@ -144066,17 +144226,17 @@ self: {
 
   "hsendxmpp" = callPackage
     ({ mkDerivation, base, hslogger, pontarius-xmpp
-     , pontarius-xmpp-extras, string-class, text
+     , pontarius-xmpp-extras, string-class, text, tls
      }:
      mkDerivation {
        pname = "hsendxmpp";
-       version = "0.1.2.6";
-       sha256 = "1w3jm8lsll65i57iqlspw1vzvw5rr4q9qwarq896s0vr8kz68irh";
+       version = "0.1.3";
+       sha256 = "01zwrq37877jb39yji622ibmb8nmgqhgflb9bbl7pnf7ck7cj0aq";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base hslogger pontarius-xmpp pontarius-xmpp-extras string-class
-         text
+         text tls
        ];
        description = "sendxmpp clone, sending XMPP messages via CLI";
        license = lib.licenses.agpl3Only;
@@ -145847,18 +146007,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-junit-formatter_1_1_0_0" = callPackage
+  "hspec-junit-formatter_1_1_0_1" = callPackage
     ({ mkDerivation, base, conduit, containers, directory, exceptions
-     , filepath, hspec, hspec-core, markdown-unlit, temporary, text
-     , time, xml-conduit, xml-types
+     , filepath, hspec, hspec-core, iso8601-time, markdown-unlit
+     , temporary, text, time, xml-conduit, xml-types
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.1.0.0";
-       sha256 = "024xvpnyhlgg435bhh4klf2bl8siy7vx0k5y2nccyhv16bchhl96";
+       version = "1.1.0.1";
+       sha256 = "194r8bxfn525mn8vq4dcfkbsn668s11yz4mdqbfr5qy29i1bzm5p";
        libraryHaskellDepends = [
          base conduit containers directory exceptions filepath hspec-core
-         text time xml-conduit xml-types
+         iso8601-time text time xml-conduit xml-types
        ];
        testHaskellDepends = [
          base containers filepath hspec hspec-core markdown-unlit temporary
@@ -148206,6 +148366,8 @@ self: {
        pname = "http-client-openssl";
        version = "0.3.3";
        sha256 = "03rr1wz1907v3gx5qsqdkd850hy47glb574s69265pv6yspaivdx";
+       revision = "1";
+       editedCabalFile = "0f2x40wdd09svjylg1zwapnnqgvxid1fcakvwgxlz61a16w8sfb6";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL HsOpenSSL-x509-system http-client network
        ];
@@ -148274,6 +148436,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "http-client-restricted_0_0_5" = callPackage
+    ({ mkDerivation, base, connection, data-default, http-client
+     , http-client-tls, network, network-bsd, utf8-string
+     }:
+     mkDerivation {
+       pname = "http-client-restricted";
+       version = "0.0.5";
+       sha256 = "1vfm9qc3zr0rmq2ddgyg13i67020cdk8xqhyzfc2zcn1km2p6r85";
+       libraryHaskellDepends = [
+         base connection data-default http-client http-client-tls network
+         network-bsd utf8-string
+       ];
+       description = "restricting the servers that http-client will use";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-client-session" = callPackage
     ({ mkDerivation, base-prelude, bytestring, either, http-client
      , mtl-prelude
@@ -148335,7 +148514,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client-tls_0_3_6" = callPackage
+  "http-client-tls_0_3_6_1" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, connection
      , containers, cryptonite, data-default-class, exceptions, gauge
      , hspec, http-client, http-types, memory, network, network-uri
@@ -148343,8 +148522,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client-tls";
-       version = "0.3.6";
-       sha256 = "0c6pbkvk25z7xnv88mkjysfqvqjs1vmbxrdcrblald44nbs2prvd";
+       version = "0.3.6.1";
+       sha256 = "03f8p9gxdzl6slyw1r6vpv2dqhsyjvbaawbjv75kaq0vlj3gz7xi";
        libraryHaskellDepends = [
          base bytestring case-insensitive connection containers cryptonite
          data-default-class exceptions http-client http-types memory network
@@ -149021,37 +149200,6 @@ self: {
      , directory, filepath, ghc-prim, HsOpenSSL, hspec
      , hspec-expectations, http-common, HUnit, io-streams, lifted-base
      , mtl, network, network-uri, openssl-streams, random, snap-core
-     , snap-server, system-fileio, system-filepath, text, transformers
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "http-streams";
-       version = "0.8.9.4";
-       sha256 = "03xdcb0v735xdrkjlm1w56mskh3x08cbsjrcd7wn4li65ixc20xa";
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring blaze-builder bytestring
-         case-insensitive directory filepath HsOpenSSL http-common
-         io-streams mtl network network-uri openssl-streams text
-         transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty attoparsec base base64-bytestring blaze-builder
-         bytestring case-insensitive directory ghc-prim HsOpenSSL hspec
-         hspec-expectations http-common HUnit io-streams lifted-base mtl
-         network network-uri openssl-streams random snap-core snap-server
-         system-fileio system-filepath text transformers
-         unordered-containers
-       ];
-       description = "An HTTP client using io-streams";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "http-streams_0_8_9_6" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
-     , base64-bytestring, blaze-builder, bytestring, case-insensitive
-     , directory, filepath, ghc-prim, HsOpenSSL, hspec
-     , hspec-expectations, http-common, HUnit, io-streams, lifted-base
-     , mtl, network, network-uri, openssl-streams, random, snap-core
      , snap-server, text, transformers, unordered-containers
      }:
      mkDerivation {
@@ -149073,7 +149221,6 @@ self: {
        ];
        description = "An HTTP client using io-streams";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "http-test" = callPackage
@@ -150155,8 +150302,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "hvect";
-       version = "0.4.0.0";
-       sha256 = "1dihbqfjwgd92khlrc8mwjxsjbwbassma3bxg8hqr7qqgwdfyl6b";
+       version = "0.4.0.1";
+       sha256 = "01fh0nr4dfkn4aj1fx6chiaijwg9azp8qics48n5arlwn2c4kn5p";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Simple strict heterogeneous lists";
@@ -152456,8 +152603,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "hypergeometric";
-       version = "0.1.1.0";
-       sha256 = "0wajl2wyxy7j44khx9bipwvz0z1dqazwym3bk5w997b8f87irpfk";
+       version = "0.1.2.0";
+       sha256 = "19vxqc9ng2vfvqxslxb950ygdqdd3cbqs4m6nqw8mbyjgld2wqd8";
        libraryHaskellDepends = [ base ];
        description = "Hypergeometric functions";
        license = lib.licenses.agpl3Only;
@@ -152968,8 +153115,8 @@ self: {
      }:
      mkDerivation {
        pname = "ice40-prim";
-       version = "0.3.1.2";
-       sha256 = "1jsqisqpwvnj9fibnrs88255hqarmssq62nkm080g7h0n8a14ggr";
+       version = "0.3.1.3";
+       sha256 = "02971h72z9k6rv7p3lkyrf8apkk4angk71n6dyqfkvg2phark2d1";
        libraryHaskellDepends = [
          base clash-prelude ghc-typelits-extra ghc-typelits-knownnat
          ghc-typelits-natnormalise interpolate
@@ -159516,8 +159663,8 @@ self: {
      }:
      mkDerivation {
        pname = "jacinda";
-       version = "0.3.0.0";
-       sha256 = "16m9gqswwqm66w1wynrivis51vhr6xh40gv12z6nf5w2dry8kljx";
+       version = "0.3.1.0";
+       sha256 = "1nn3c91fhq46ng2yh9425cpxlk5mksalx5wrv1d7z0xn5m1v1387";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -160644,8 +160791,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose-jwt";
-       version = "0.9.2";
-       sha256 = "1iwzrpgd9lhp0c2hhyv3nfcv5pw344vp1llqf9vdw5mliz116jn4";
+       version = "0.9.3";
+       sha256 = "1sdcf55mynij8bcwj65j3izay65q2h8dl7lqlhkm3670h3v3f91h";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal containers cryptonite
          memory mtl text time transformers transformers-compat
@@ -162651,6 +162798,8 @@ self: {
        pname = "jwt";
        version = "0.11.0";
        sha256 = "1l9qblq11kbrrmcfnh0hcjqnhmi3qm6va3z4pmi4i32wqh3bwjnx";
+       revision = "1";
+       editedCabalFile = "0afy7kpsw9x2nx7d7fk3jc4rjm6mpiaihihqr5dnqg09wig760h6";
        libraryHaskellDepends = [
          aeson base bytestring containers cryptonite cryptostore http-types
          memory network-uri scientific semigroups text time
@@ -164078,8 +164227,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.4.0";
-       sha256 = "10jdkcp256q1n63v0pqqml9nvq0fp3paww2fy742f5xvyid927qr";
+       version = "0.1.5.1";
+       sha256 = "09b9zjfsk03xrp34b8z7a48ym1vyhqjwpfv7hdkn3nr3pkgljkf1";
        libraryHaskellDepends = [
          adjunctions base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin distributive file-embed foldl geomancy
@@ -164117,8 +164266,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.4.0";
-       sha256 = "0dyhainb14q3gi1spdfsz31yf6xiisjyp06hzxrqz3q5fg7in0c9";
+       version = "0.1.5.0";
+       sha256 = "0ral2p8i7kjxhil70q2fkirbl0nq3kfrvqzk3x2ykbmx91c90ds0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          adjunctions aeson base bytestring derive-storable
@@ -164345,6 +164494,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "kewar" = callPackage
+    ({ mkDerivation, array, base, containers, HUnit, split }:
+     mkDerivation {
+       pname = "kewar";
+       version = "0.1.1.1";
+       sha256 = "02bqjql9y0kp58wasr1myjf3kd6g2acmzp4f4mb8g8qfbrj15lr1";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ array base containers split ];
+       executableHaskellDepends = [ array base containers split ];
+       testHaskellDepends = [ array base containers HUnit split ];
+       description = "CLI and library to generate QR codes";
+       license = lib.licenses.mit;
+     }) {};
+
   "key" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -164709,8 +164874,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "kind-apply";
-       version = "0.3.2.0";
-       sha256 = "0wq0jfi8jdah6mwc6amrfjs5ld0bz86y53va9sm0hzvpiyb4bpcq";
+       version = "0.3.2.1";
+       sha256 = "0si02ps0aivra87sc57fss088vimvs9j32r7xhbaqv8vh0wi0ng9";
        libraryHaskellDepends = [ base ];
        description = "Utilities to work with lists of types";
        license = lib.licenses.bsd3;
@@ -164720,8 +164885,8 @@ self: {
     ({ mkDerivation, base, kind-apply }:
      mkDerivation {
        pname = "kind-generics";
-       version = "0.4.1.2";
-       sha256 = "0p5svycdf3vwfz871acv2a66qm0ab67ygl0hjdpn01qcl1mzghhm";
+       version = "0.4.1.4";
+       sha256 = "11l1n57wfh1gr9mn0gb9kbkjbrfghmf3qasl0l6fjlbjcl8yvzbm";
        libraryHaskellDepends = [ base kind-apply ];
        description = "Generic programming in GHC style for arbitrary kinds and GADTs";
        license = lib.licenses.bsd3;
@@ -165104,6 +165269,40 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "koneko" = callPackage
+    ({ mkDerivation, aeson, array, async, base, bytestring, cmdargs
+     , deepseq, directory, doctest, filepath, hashtables, megaparsec
+     , random, regex-pcre, safe, silently, split, text, unix
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "koneko";
+       version = "0.0.2";
+       sha256 = "0s6wa3alj7z3jhadghf2rqkdphlr9mbx0n1lhgxljw25nj7x5z00";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson array async base bytestring cmdargs deepseq directory
+         filepath hashtables megaparsec random regex-pcre safe silently
+         split text unix unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson array async base bytestring cmdargs deepseq directory
+         filepath hashtables megaparsec random regex-pcre safe silently
+         split text unix unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson array async base bytestring cmdargs deepseq directory doctest
+         filepath hashtables megaparsec random regex-pcre safe silently
+         split text unix unordered-containers vector
+       ];
+       description = "a concatenative not-quite-lisp for kittens";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "kontra-config" = callPackage
     ({ mkDerivation, base, bytestring, data-default, exceptions, text
      , transformers-base, unjson, utf8-string, yaml
@@ -168185,30 +168384,6 @@ self: {
      }:
      mkDerivation {
        pname = "lapack-ffi-tools";
-       version = "0.1.2.1";
-       sha256 = "0hk54psm066acgn24mw5dbbhz4a0nqvyks75302cabijbp524gdh";
-       revision = "1";
-       editedCabalFile = "1h5chlb66ycg96ab56hwqr4qk82l19gq1pg1zfzhfdl5byg24fln";
-       isLibrary = false;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       executableHaskellDepends = [
-         base bytestring cassava containers explicit-exception filepath
-         non-empty optparse-applicative parsec pathtype transformers
-         unordered-containers utility-ht vector
-       ];
-       description = "Generator for Haskell interface to Fortran LAPACK";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "lapack-ffi-tools_0_1_3" = callPackage
-    ({ mkDerivation, base, bytestring, cassava, containers
-     , explicit-exception, filepath, non-empty, optparse-applicative
-     , parsec, pathtype, transformers, unordered-containers, utility-ht
-     , vector
-     }:
-     mkDerivation {
-       pname = "lapack-ffi-tools";
        version = "0.1.3";
        sha256 = "0qk5a43w8xn8pp9bhmjmjyvriiin2dyf4nvk13w858hsxyx6xqkx";
        isLibrary = false;
@@ -168221,7 +168396,6 @@ self: {
        ];
        description = "Generator for Haskell interface to Fortran LAPACK";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "lapack-hmatrix" = callPackage
@@ -170758,16 +170932,16 @@ self: {
   "libarchive" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, Cabal, chs-cabal
      , composition-prelude, cpphs, criterion, deepseq, dir-traverse
-     , directory, dlist, filepath, hspec, hspec-core, libarchive, mtl
+     , directory, dlist, filepath, hspec, libarchive, mtl
      , pathological-bytestrings, tar, tar-conduit, temporary
      , unix-compat
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "3.0.3.1";
-       sha256 = "1rkm6n2p41i6lxdfsrvpv5sbz2p3mgyp3xx6g437fcgjjbdsyx3q";
-       revision = "1";
-       editedCabalFile = "0r48nmczidz00l19cbmq05f766wipc9dwkqb3xsvbwwcazapbjkz";
+       version = "3.0.3.2";
+       sha256 = "000yq98nm151p0j95nm6dy2pp4g0dz8sh704ga3gcsp2dhk3vrji";
+       isLibrary = true;
+       isExecutable = true;
        setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
@@ -170777,7 +170951,7 @@ self: {
        libraryToolDepends = [ c2hs cpphs ];
        testHaskellDepends = [
          base bytestring composition-prelude deepseq dir-traverse directory
-         filepath hspec hspec-core mtl pathological-bytestrings temporary
+         filepath hspec mtl pathological-bytestrings temporary
        ];
        testToolDepends = [ cpphs ];
        benchmarkHaskellDepends = [
@@ -174956,8 +175130,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "12.0";
-       sha256 = "1j1cfx2ja45nyzv8yivh1803yx6cywikj4pryp74pl0bkdjszv60";
+       version = "12.0.0.1";
+       sha256 = "0l576wi605lqj8lgvqz1a4kd99bk93fi09gpppifbizw1vgihhy1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -180202,8 +180376,8 @@ self: {
        pname = "marshal-contt";
        version = "0.2.0.0";
        sha256 = "1dv2jl7gm3b3kcchgwz4v6rch5w50ak43gc6fjvpms81xkdjfzmb";
-       revision = "1";
-       editedCabalFile = "1cfkcb3zpddikzg610zbrwr00vn3y8sakr3m8vis5cw25hxra1c0";
+       revision = "2";
+       editedCabalFile = "12krz2lzqfkhqwa8dbq0rfbl9vz1dns2q7ddfzcwk9ck3gfsz8c7";
        libraryHaskellDepends = [
          base bytestring kan-extensions lens mtl
        ];
@@ -181812,18 +181986,18 @@ self: {
      }) {};
 
   "mealy" = callPackage
-    ({ mkDerivation, adjunctions, base, containers, folds, generic-lens
-     , lens, matrix, mwc-probability, numhask, numhask-array, primitive
+    ({ mkDerivation, adjunctions, base, containers, folds, matrix
+     , mwc-probability, numhask, numhask-array, optics-core, primitive
      , profunctors, tdigest, text, vector, vector-algorithms
      }:
      mkDerivation {
        pname = "mealy";
-       version = "0.1.0";
-       sha256 = "14xdhb39aa548sswbkasx546pzpgyl9msabi2w5gd7qwvlhxsmg3";
+       version = "0.2.0";
+       sha256 = "0rc1c7l2g7b1xr66dga3p6lg49pykxhsy24jg5rl4ag255axlfyv";
        libraryHaskellDepends = [
-         adjunctions base containers folds generic-lens lens matrix
-         mwc-probability numhask numhask-array primitive profunctors tdigest
-         text vector vector-algorithms
+         adjunctions base containers folds matrix mwc-probability numhask
+         numhask-array optics-core primitive profunctors tdigest text vector
+         vector-algorithms
        ];
        description = "Mealy machines for processing time-series and ordered data";
        license = lib.licenses.bsd3;
@@ -181900,23 +182074,6 @@ self: {
      }:
      mkDerivation {
        pname = "med-module";
-       version = "0.1.2.1";
-       sha256 = "0f1yjdix89g6z2kigj08iq88jmi0x59la7764ixfha5sbjnwz0pp";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring storable-endian transformers utility-ht
-       ];
-       description = "Parse song module files from Amiga MED and OctaMED";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "med-module_0_1_2_2" = callPackage
-    ({ mkDerivation, base, bytestring, storable-endian, transformers
-     , utility-ht
-     }:
-     mkDerivation {
-       pname = "med-module";
        version = "0.1.2.2";
        sha256 = "0qvwz49xz4bbhkkh9c7zjqzvbdhmgnraxpj8a4fc5lf0yb1k79ba";
        isLibrary = true;
@@ -181926,7 +182083,6 @@ self: {
        ];
        description = "Parse song module files from Amiga MED and OctaMED";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "medea" = callPackage
@@ -182152,18 +182308,18 @@ self: {
      }) {};
 
   "mega-sdist" = callPackage
-    ({ mkDerivation, base, bytestring, optparse-simple, pantry, path
-     , path-io, rio, rio-orphans, yaml
+    ({ mkDerivation, aeson, base, bytestring, optparse-simple, pantry
+     , path, path-io, rio, rio-orphans, yaml
      }:
      mkDerivation {
        pname = "mega-sdist";
-       version = "0.4.2.0";
-       sha256 = "002qwccn4nwd7ik78k3qq9jxchj1v57c0c4b56w8424xg5291lzk";
+       version = "0.4.2.1";
+       sha256 = "00c1cc2cgwr6p01xc8sf570aly5hw6p932anjjra7rw7a3mcmc96";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring optparse-simple pantry path path-io rio rio-orphans
-         yaml
+         aeson base bytestring optparse-simple pantry path path-io rio
+         rio-orphans yaml
        ];
        description = "Handles uploading to Hackage from mega repos";
        license = lib.licenses.mit;
@@ -185641,35 +185797,13 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, directory
      , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
      , mmark-ext, optparse-applicative, stache, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "mmark-cli";
-       version = "0.0.5.0";
-       sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby";
-       revision = "6";
-       editedCabalFile = "1qki0f2iwr9phma4wby3alnsxigzl5qc1ims8cvhszkill9yfi4z";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson base bytestring directory ghc-syntax-highlighter gitrev lucid
-         megaparsec mmark mmark-ext optparse-applicative stache text
-         unordered-containers
-       ];
-       description = "Command line interface to the MMark markdown processor";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "mmark-cli_0_0_5_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
-     , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
-     , mmark-ext, optparse-applicative, stache, text
      }:
      mkDerivation {
        pname = "mmark-cli";
        version = "0.0.5.1";
        sha256 = "1an1rc7gdl2209d3agxx1dfl61zsc2wg5nx9cwdf50spmlgs3cr0";
+       revision = "1";
+       editedCabalFile = "0x4lpxga127f37z43w4rgccw9w05j23ppy7k19kz6gh3p43gnx1m";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -185688,29 +185822,6 @@ self: {
      }:
      mkDerivation {
        pname = "mmark-ext";
-       version = "0.2.1.3";
-       sha256 = "1hc95gvw4dyjlf2y4nli68zavjd0aj9br55n7417r7g70si1m82s";
-       revision = "2";
-       editedCabalFile = "1jnx5g34k7l5vxds8f7amsjn9cqpvwy1g6hvfq8kjrdnxv6rzyfs";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri
-         skylighting text
-       ];
-       testHaskellDepends = [ base hspec lucid mmark skylighting text ];
-       testToolDepends = [ hspec-discover ];
-       description = "Commonly useful extensions for the MMark markdown processor";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "mmark-ext_0_2_1_4" = callPackage
-    ({ mkDerivation, base, foldl, ghc-syntax-highlighter, hspec
-     , hspec-discover, lucid, microlens, mmark, modern-uri, skylighting
-     , text
-     }:
-     mkDerivation {
-       pname = "mmark-ext";
        version = "0.2.1.4";
        sha256 = "02ygx0kkp69gd2n4bnqjzbwzhs9ksqm148jf6zfgn3z8w1p9glzh";
        enableSeparateDataOutput = true;
@@ -186231,34 +186342,6 @@ self: {
      }:
      mkDerivation {
        pname = "modern-uri";
-       version = "0.3.4.2";
-       sha256 = "018hiiqx6n272mwbmhd5j9wlzyz0x7ppa9jsrv4zx1nb6n7shkh5";
-       revision = "1";
-       editedCabalFile = "01v497wkcida80xlkg25yhppb711ynyx2zyv9hdyzrflq8pz4g6w";
-       libraryHaskellDepends = [
-         base bytestring containers contravariant deepseq exceptions
-         megaparsec mtl profunctors QuickCheck reflection tagged
-         template-haskell text
-       ];
-       testHaskellDepends = [
-         base bytestring hspec hspec-megaparsec megaparsec QuickCheck text
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq megaparsec text weigh
-       ];
-       description = "Modern library for working with URIs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "modern-uri_0_3_4_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, contravariant
-     , criterion, deepseq, exceptions, hspec, hspec-discover
-     , hspec-megaparsec, megaparsec, mtl, profunctors, QuickCheck
-     , reflection, tagged, template-haskell, text, weigh
-     }:
-     mkDerivation {
-       pname = "modern-uri";
        version = "0.3.4.3";
        sha256 = "0904ff8pzcbk1swp0s1v5js468qnf3ccyzfcvaa62nsaj4qb7shq";
        libraryHaskellDepends = [
@@ -186275,7 +186358,6 @@ self: {
        ];
        description = "Modern library for working with URIs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "modify-fasta" = callPackage
@@ -190435,16 +190517,18 @@ self: {
   "msgpack-binary" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, criterion
      , data-binary-ieee754, deepseq, groom, hashable, hspec
-     , msgpack-types, QuickCheck, text, unordered-containers, vector
+     , monad-validate, msgpack-types, QuickCheck, text
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "msgpack-binary";
-       version = "0.0.14";
-       sha256 = "1pf0fzxkrd2f1jzm3mkybayd94pxq28a49nvjzx8i2lxrdmynkp6";
+       version = "0.0.15";
+       sha256 = "0i3m4n5gw4a5ryikmy2drzh95g7766pdfsb5bahin8cmi1bq5bj5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring data-binary-ieee754 msgpack-types text
+         base binary bytestring data-binary-ieee754 monad-validate
+         msgpack-types text
        ];
        executableHaskellDepends = [ base bytestring groom ];
        testHaskellDepends = [
@@ -190482,6 +190566,32 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "msgpack-persist" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , groom, hashable, hspec, monad-validate, msgpack-types, persist
+     , QuickCheck, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "msgpack-persist";
+       version = "0.0.15";
+       sha256 = "07ibjg1pkr9005qydw87hll1f5x03ip5qqxvm9vpnnk9fi1jckl4";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring monad-validate msgpack-types persist text
+       ];
+       executableHaskellDepends = [ base bytestring groom ];
+       testHaskellDepends = [
+         base bytestring containers hashable hspec msgpack-types QuickCheck
+         text unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq QuickCheck
+       ];
+       description = "A Haskell implementation of MessagePack";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "msgpack-rpc" = callPackage
     ({ mkDerivation, async, base, binary, binary-conduit, bytestring
      , conduit, conduit-extra, exceptions, monad-control, msgpack, mtl
@@ -190505,19 +190615,18 @@ self: {
 
   "msgpack-rpc-conduit" = callPackage
     ({ mkDerivation, async, base, binary, binary-conduit, bytestring
-     , conduit, conduit-extra, data-default-class
-     , data-default-instances-base, exceptions, hspec, monad-control
-     , msgpack-binary, msgpack-types, mtl, network, text, unliftio-core
+     , conduit, conduit-extra, data-default-class, exceptions, hspec
+     , monad-control, monad-validate, msgpack-binary, msgpack-types, mtl
+     , network, text, unliftio-core
      }:
      mkDerivation {
        pname = "msgpack-rpc-conduit";
-       version = "0.0.6";
-       sha256 = "000aycbvxac4li8rxqxmj3a020fwl08wnq01fv8jdlx3qg7k57hf";
+       version = "0.0.7";
+       sha256 = "1x9zzv70vwkqiiazx9gyj8nqqid3k6b0725znszcm7ai3f5rgd43";
        libraryHaskellDepends = [
          base binary binary-conduit bytestring conduit conduit-extra
-         data-default-class data-default-instances-base exceptions
-         monad-control msgpack-binary msgpack-types mtl network text
-         unliftio-core
+         data-default-class exceptions monad-control monad-validate
+         msgpack-binary msgpack-types mtl network text unliftio-core
        ];
        testHaskellDepends = [ async base bytestring hspec mtl network ];
        description = "A MessagePack-RPC Implementation";
@@ -190525,22 +190634,41 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "msgpack-testsuite" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable, hspec
+     , monad-validate, msgpack-types, QuickCheck, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "msgpack-testsuite";
+       version = "0.0.15";
+       sha256 = "0dy7knji7nckdkp0kpnxxc7nmqyzbkq7j0aas59p3yg0n1nsd2bd";
+       libraryHaskellDepends = [
+         base bytestring containers hashable hspec monad-validate
+         msgpack-types QuickCheck text unordered-containers vector
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "A Haskell implementation of MessagePack";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "msgpack-types" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq
-     , generic-arbitrary, hashable, hspec, hspec-discover, QuickCheck
-     , text, unordered-containers, vector
+     , generic-arbitrary, hashable, hspec, hspec-discover
+     , monad-validate, QuickCheck, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "msgpack-types";
-       version = "0.1.0";
-       sha256 = "1q28xxv6093h6xp6mih515cid5dm08dz5ak2y1jvcb1b2lf29s01";
+       version = "0.2.1";
+       sha256 = "1s6i7y2mr04z6bdhq307xqm78h1d8f7a17i3fbdknsiw5lvfsj49";
        libraryHaskellDepends = [
-         base bytestring containers deepseq hashable QuickCheck text
-         unordered-containers vector
+         base bytestring containers deepseq hashable monad-validate
+         QuickCheck text transformers unordered-containers vector
        ];
        testHaskellDepends = [
          base bytestring containers deepseq generic-arbitrary hashable hspec
-         QuickCheck text unordered-containers vector
+         monad-validate QuickCheck text unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "A Haskell implementation of MessagePack";
@@ -193848,6 +193976,28 @@ self: {
        broken = true;
      }) {};
 
+  "nanopass" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty-simple
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "nanopass";
+       version = "0.0.2.0";
+       sha256 = "0pymmshr81pckiixqyxz985lx402d0srhcnz31vv27pyn9xvi6xf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl template-haskell transformers
+       ];
+       executableHaskellDepends = [
+         base pretty-simple template-haskell transformers
+       ];
+       description = "An EDSL for creating compilers using small passes and many intermediate representations";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "nanospec" = callPackage
     ({ mkDerivation, base, hspec, silently }:
      mkDerivation {
@@ -198939,20 +199089,6 @@ self: {
      }:
      mkDerivation {
        pname = "nri-env-parser";
-       version = "0.1.0.7";
-       sha256 = "1mm879mqpgl040p789wcjm5bhrqia5czn18c5dgni8bwa4y61ank";
-       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_8" = callPackage
-    ({ mkDerivation, base, modern-uri, network-uri, nri-prelude, text
-     }:
-     mkDerivation {
-       pname = "nri-env-parser";
        version = "0.1.0.8";
        sha256 = "0hwl363iya38hi021an2l4cinclz1p96n4lck2x9yi9cf4yfqzk8";
        libraryHaskellDepends = [
@@ -198960,7 +199096,6 @@ self: {
        ];
        description = "Read environment variables as settings to build 12-factor apps";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-http" = callPackage
@@ -199019,32 +199154,6 @@ self: {
      }:
      mkDerivation {
        pname = "nri-observability";
-       version = "0.1.1.3";
-       sha256 = "0brjddl4ff8881ld41sp7ix3skxgj10jign4xx8l3ad89f91621b";
-       libraryHaskellDepends = [
-         aeson aeson-pretty async base bugsnag-hs bytestring conduit
-         directory hostname http-client http-client-tls nri-env-parser
-         nri-prelude random safe-exceptions stm text time
-         unordered-containers uuid
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty async base bugsnag-hs bytestring conduit
-         directory hostname http-client http-client-tls nri-env-parser
-         nri-prelude random safe-exceptions stm text time
-         unordered-containers uuid
-       ];
-       description = "Report log spans collected by nri-prelude";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "nri-observability_0_1_1_4" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, async, base, bugsnag-hs
-     , bytestring, conduit, directory, hostname, http-client
-     , http-client-tls, nri-env-parser, nri-prelude, random
-     , safe-exceptions, stm, text, time, unordered-containers, uuid
-     }:
-     mkDerivation {
-       pname = "nri-observability";
        version = "0.1.1.4";
        sha256 = "077zj96iapjp6cn38z0g6didpwq866xz5m03d8kbp3pwdmfpr65c";
        libraryHaskellDepends = [
@@ -199061,7 +199170,6 @@ self: {
        ];
        description = "Report log spans collected by nri-prelude";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-postgresql" = callPackage
@@ -199093,33 +199201,6 @@ self: {
   "nri-prelude" = 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
-     , safe-coloured-text-terminfo, safe-exceptions, terminal-size, text
-     , time, unix, vector
-     }:
-     mkDerivation {
-       pname = "nri-prelude";
-       version = "0.6.0.5";
-       sha256 = "0qam6bamjp92mky193iddpq3v7knsxx4kcyc8fw3a8nkbrx6gigh";
-       libraryHaskellDepends = [
-         aeson aeson-pretty async auto-update base bytestring containers
-         directory exceptions filepath ghc hedgehog junit-xml pretty-diff
-         pretty-show safe-coloured-text safe-coloured-text-terminfo
-         safe-exceptions terminal-size text time unix vector
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty async auto-update base bytestring containers
-         directory exceptions filepath ghc hedgehog junit-xml pretty-diff
-         pretty-show safe-coloured-text safe-coloured-text-terminfo
-         safe-exceptions terminal-size text time unix vector
-       ];
-       description = "A Prelude inspired by the Elm programming language";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "nri-prelude_0_6_0_6" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, async, auto-update, base
-     , bytestring, containers, directory, exceptions, filepath, ghc
      , hedgehog, junit-xml, lens, pretty-diff, pretty-show
      , safe-coloured-text, safe-coloured-text-terminfo, safe-exceptions
      , terminal-size, text, time, unix, vector
@@ -199144,7 +199225,6 @@ self: {
        ];
        description = "A Prelude inspired by the Elm programming language";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-redis" = callPackage
@@ -200226,19 +200306,17 @@ self: {
      }) {};
 
   "o-clock" = callPackage
-    ({ mkDerivation, base, doctest, ghc-prim, Glob, hedgehog
-     , hspec-expectations, markdown-unlit, tasty, tasty-hedgehog
-     , tasty-hunit-compat, type-spec
+    ({ mkDerivation, base, doctest, Glob, hedgehog, hspec-expectations
+     , markdown-unlit, tasty, tasty-hedgehog, tasty-hunit-compat
+     , type-spec
      }:
      mkDerivation {
        pname = "o-clock";
-       version = "1.2.1";
-       sha256 = "17y44aajipysw1p268rq8a6lhv9cdhkvxjcpcdij93sqp818q96z";
-       revision = "1";
-       editedCabalFile = "1n8ns0f4ljbarb5xmlwfs1lq24jg30m3hv0gmpgd26y666d3hh95";
+       version = "1.2.1.1";
+       sha256 = "0rq9bn9lxsmgjw6w55r3c15y1pjq36vi246qldr53csr0pa9ggfy";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base ghc-prim ];
+       libraryHaskellDepends = [ base ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base doctest Glob hedgehog hspec-expectations markdown-unlit tasty
@@ -200740,35 +200818,6 @@ self: {
      }:
      mkDerivation {
        pname = "odbc";
-       version = "0.2.5";
-       sha256 = "157g6ys5j5kj4cc1jp2rmcpwrax4fh7bx1zvvicmrf88qaq56v2h";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         async attoparsec base bytestring containers deepseq formatting
-         hashable parsec semigroups template-haskell text time transformers
-         unliftio-core
-       ];
-       librarySystemDepends = [ unixODBC ];
-       executableHaskellDepends = [
-         base bytestring optparse-applicative text
-       ];
-       testHaskellDepends = [
-         base bytestring hspec parsec QuickCheck text time
-       ];
-       benchmarkHaskellDepends = [ async base text weigh ];
-       description = "Haskell binding to the ODBC API, aimed at SQL Server driver";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) unixODBC;};
-
-  "odbc_0_2_6" = callPackage
-    ({ mkDerivation, async, attoparsec, base, bytestring, containers
-     , deepseq, formatting, hashable, hspec, optparse-applicative
-     , parsec, QuickCheck, semigroups, template-haskell, text, time
-     , transformers, unixODBC, unliftio-core, weigh
-     }:
-     mkDerivation {
-       pname = "odbc";
        version = "0.2.6";
        sha256 = "0yyyjnnlnd3zpvnh55l5gsvakrciml91jaqy5hdgnlpqfslz330r";
        isLibrary = true;
@@ -200788,7 +200837,6 @@ self: {
        benchmarkHaskellDepends = [ async base text weigh ];
        description = "Haskell binding to the ODBC API, aimed at SQL Server driver";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) unixODBC;};
 
   "odd-jobs" = callPackage
@@ -201612,7 +201660,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "opaleye_0_9_0_0" = callPackage
+  "opaleye_0_9_2_0" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
      , hspec-discover, multiset, postgresql-simple, pretty
@@ -201622,8 +201670,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.9.0.0";
-       sha256 = "0i2ncvgx7pdq4q7i1fxnpxya3jb9jnzz7d6hcd5s0lrc2flv6rxd";
+       version = "0.9.2.0";
+       sha256 = "0zvms42pmsg6ish76mvk0ksz4apxvs4iyjfvgkm7zwadq3i9v8l3";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -201713,28 +201761,29 @@ self: {
     ({ mkDerivation, acc, attoparsec, attoparsec-data, base, base64
      , binary, bytestring, caerbannog, containers, data-default, domain
      , domain-optics, hashable, hashable-time, http-client, QuickCheck
-     , quickcheck-instances, rerebase, scientific, tasty, tasty-hunit
+     , quickcheck-instances, scientific, tasty, tasty-hunit
      , tasty-quickcheck, text, text-builder, time, transformers
      , unordered-containers, vector, vector-instances, xml-conduit
      , xml-parser
      }:
      mkDerivation {
        pname = "opc-xml-da-client";
-       version = "0.1.1";
-       sha256 = "15mc3i7j2pjxd7gw7ba8nlvkbp8j161vphbsg3iqbjqaqivfzivl";
+       version = "0.1.2";
+       sha256 = "1hfm6ky5zh27z1iv0f4p53d4nbpragaiq734si4q8hkk0aafldw5";
        libraryHaskellDepends = [
          acc attoparsec attoparsec-data base base64 bytestring containers
          data-default domain domain-optics hashable hashable-time
-         http-client QuickCheck rerebase scientific text text-builder time
-         transformers unordered-containers vector vector-instances
-         xml-conduit xml-parser
+         http-client scientific text text-builder time transformers
+         unordered-containers vector vector-instances xml-conduit xml-parser
        ];
        testHaskellDepends = [
-         attoparsec binary caerbannog data-default http-client QuickCheck
-         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
-         text-builder xml-conduit xml-parser
+         acc attoparsec attoparsec-data base base64 binary bytestring
+         caerbannog containers data-default domain domain-optics hashable
+         hashable-time http-client QuickCheck quickcheck-instances
+         scientific tasty tasty-hunit tasty-quickcheck text text-builder
+         time transformers unordered-containers vector vector-instances
+         xml-conduit xml-parser
        ];
-       doHaddock = false;
        description = "OPC XML-DA Client";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -204321,6 +204370,8 @@ self: {
        pname = "ormolu";
        version = "0.3.1.0";
        sha256 = "1517z6bi8ifzdmfclmqdiipi6zcnxagymf1sxr43sj2ipkglg2rs";
+       revision = "1";
+       editedCabalFile = "1ns76yw44hp84lrxdhl23aa2d14jjf4m6fd906672a4b4x3cr64l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -204350,6 +204401,8 @@ self: {
        pname = "ormolu";
        version = "0.4.0.0";
        sha256 = "1alibf9ya2igwwjx23pjd0fi2kdaldrkfdpyr2w211irf9agy0j9";
+       revision = "2";
+       editedCabalFile = "11r9j19xiaf1kpzr1kz41i8ldchf6ygqp0zxrkgmrzvidpvh6q62";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -206476,7 +206529,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "pantry_0_5_3" = callPackage
+  "pantry_0_5_4" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
      , casa-client, casa-types, conduit, conduit-extra, containers
      , cryptonite, cryptonite-conduit, digest, exceptions, filelock
@@ -206490,8 +206543,8 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.3";
-       sha256 = "1pb9vr615rhh0lyi392ghxdnxq5pr15y0w8f372xh046i9dinj39";
+       version = "0.5.4";
+       sha256 = "080j0pw8fmyb05klbi8vy3dpahiw3zxmykvqamvziwrznl1p4b2m";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring Cabal casa-client casa-types
          conduit conduit-extra containers cryptonite cryptonite-conduit
@@ -207326,6 +207379,18 @@ self: {
        broken = true;
      }) {};
 
+  "pareto-front" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "pareto-front";
+       version = "0.1.0.1";
+       sha256 = "0c375bbsgbv6agjks0n01zxvjsh7zpnph212cf4jbpmjm0rgixsa";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Monoids for dealing with Pareto efficiency";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "paripari" = callPackage
     ({ mkDerivation, base, bytestring, parser-combinators, random
      , tasty, tasty-hunit, text
@@ -208798,6 +208863,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "path-io_1_7_0" = callPackage
+    ({ mkDerivation, base, containers, directory, dlist, exceptions
+     , filepath, hspec, path, temporary, time, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "path-io";
+       version = "1.7.0";
+       sha256 = "1jr1inh3x0a42rdh4q0jipbw8jsprdza1j5xkzd7nxcq0a143g9l";
+       libraryHaskellDepends = [
+         base containers directory dlist exceptions filepath path temporary
+         time transformers unix-compat
+       ];
+       testHaskellDepends = [
+         base directory exceptions filepath hspec path transformers
+         unix-compat
+       ];
+       description = "Interface to ‘directory’ package for users of ‘path’";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "path-like" = callPackage
     ({ mkDerivation, base, path }:
      mkDerivation {
@@ -209478,15 +209564,15 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "pcre2_2_0_5" = callPackage
+  "pcre2_2_1_0" = callPackage
     ({ mkDerivation, base, containers, criterion, hspec, microlens
      , microlens-platform, mtl, pcre-light, regex-pcre-builtin
      , template-haskell, text
      }:
      mkDerivation {
        pname = "pcre2";
-       version = "2.0.5";
-       sha256 = "11rggirpd02rx9xyfd1yigglzyqzn8vx0knszgrbbvj0cmzb20fn";
+       version = "2.1.0";
+       sha256 = "0ina14prysmh6njfcpyhzhyz0r6qsixvli3fifh46biqryx2whaw";
        libraryHaskellDepends = [
          base containers microlens mtl template-haskell text
        ];
@@ -212270,8 +212356,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-phonetics-basics";
-       version = "0.8.4.0";
-       sha256 = "1sxc7qsp93qdf11lp09www1ynrzpnxnc0k00pidz1bpka2hqcjh1";
+       version = "0.9.0.0";
+       sha256 = "1sbsywylcmjf592618rs727k1lfc42yll541cqwm34ffhzsvfzij";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212442,8 +212528,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-array";
-       version = "0.14.1.0";
-       sha256 = "0cs0h9dh39cxbdgnajbh5j1mc0fqbqd6q8mkgc1an7n463m756vr";
+       version = "0.15.0.0";
+       sha256 = "1rayhhyvqskxw374jrl5h92lhx0n3k3wda7vw4wkgw3kbargwm7q";
        libraryHaskellDepends = [
          base cli-arguments heaps mmsyn2-array mmsyn3 parallel
          phonetic-languages-constraints-array
@@ -212465,8 +212551,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-common";
-       version = "0.3.0.0";
-       sha256 = "1ajgp4wyfdzvvnj5272r0cpl9jykps5bwzn93asmfbilzfdjaynz";
+       version = "0.4.0.0";
+       sha256 = "0bhjmnj1k54c7xg3m9p5rlnqq4csf872ap2a2axf4d6caizz29cf";
        libraryHaskellDepends = [
          base heaps phonetic-languages-phonetics-basics
        ];
@@ -212481,8 +212567,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-properties-array";
-       version = "0.8.5.0";
-       sha256 = "18a1a7509gajp5yf7kbsgd1iak5rghqr0qky8yhmb4n8j2mz8wfa";
+       version = "0.9.0.0";
+       sha256 = "17zr8j9slvimjv1vx6bzq1d86n5ap1j17yglxvviyd3xbhnp2qq2";
        libraryHaskellDepends = [
          base phonetic-languages-phonetics-basics
          phonetic-languages-rhythmicity phonetic-languages-simplified-base
@@ -221651,6 +221737,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pro-abstract" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, hedgehog
+     , neat-interpolation, optics-core, text
+     }:
+     mkDerivation {
+       pname = "pro-abstract";
+       version = "0.1.0.0";
+       sha256 = "0w8dmf8n35z414j4591gvix7q9dn7zn1pai4mg93p9fkd09453fm";
+       libraryHaskellDepends = [
+         base containers deepseq hashable optics-core text
+       ];
+       testHaskellDepends = [
+         base containers deepseq hashable hedgehog neat-interpolation
+         optics-core text
+       ];
+       doHaddock = false;
+       description = "Abstract syntax for writing documents";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "pro-source" = callPackage
     ({ mkDerivation, base, deepseq, hashable, optics-core
      , prettyprinter, tasty, tasty-hunit, tasty-quickcheck, text, vector
@@ -226470,29 +226578,12 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-higherorder";
-       version = "0.1.0.0";
-       sha256 = "1gv7r1h9fjg6qi6gj8cg66d7z51kddishxp4hp6cnk55zx1wgy6w";
-       revision = "1";
-       editedCabalFile = "1xlfpnfbjlihl021b1l6mnl195fcpsjpmdnszf0bfh7q8mrdwr3j";
-       libraryHaskellDepends = [ base QuickCheck test-fun ];
-       testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
-       description = "QuickCheck extension for higher-order properties";
-       license = lib.licenses.mit;
-     }) {};
-
-  "quickcheck-higherorder_0_1_0_1" = callPackage
-    ({ mkDerivation, base, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, test-fun
-     }:
-     mkDerivation {
-       pname = "quickcheck-higherorder";
        version = "0.1.0.1";
        sha256 = "17bnbq6hndlvfv2ryingw181vhv6ab5npkjxkxs0bijv654dca2h";
        libraryHaskellDepends = [ base QuickCheck test-fun ];
        testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
        description = "QuickCheck extension for higher-order properties";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "quickcheck-instances" = callPackage
@@ -230576,8 +230667,8 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2.13";
-       sha256 = "0kqk8iiqhpqrr0b0bxcy0vqp159cnsf9zri45hbp4npqm2lvcw37";
+       version = "0.2.14";
+       sha256 = "07hq90pk30p14jqk016wchmqrc1qhwa9qajaj90i363g3arcb24p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base extra ghc uniplate ];
@@ -234974,12 +235065,12 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "rerebase_1_15" = callPackage
+  "rerebase_1_15_0_3" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.15";
-       sha256 = "034i8g44w5sfx1770wn95vyh809ar0f6mjwfg96dpszs78b4bzr5";
+       version = "1.15.0.3";
+       sha256 = "0jxlssdxgh5ldgkdpmhpk8vy5fxmq95171b3jl57r9m2f7zqrcd2";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = lib.licenses.mit;
@@ -235497,24 +235588,17 @@ self: {
      }:
      mkDerivation {
        pname = "rest-rewrite";
-       version = "0.1.1";
-       sha256 = "0absln2c3ia5bj473wr6lahms9x9xj6szk9lgpb9382px038wxrn";
-       revision = "1";
-       editedCabalFile = "0nzzqg9m7b01g574mm37yiqaqkff4p7hskgj98nb4v7cdp46nypb";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0";
+       sha256 = "05s5c9j6afswy0ix8m543csk1blknncrh4kz2ihyw90yfgpjjb3b";
        libraryHaskellDepends = [
-         base containers hashable mtl parsec process text
-         unordered-containers
-       ];
-       executableHaskellDepends = [
          base containers hashable monad-loops mtl parsec process QuickCheck
          text time unordered-containers
        ];
        testHaskellDepends = [
-         base containers hashable mtl parsec process QuickCheck text
+         base containers hashable mtl QuickCheck text time
          unordered-containers
        ];
+       doHaddock = false;
        description = "Rewriting library with online termination checking";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -235863,16 +235947,16 @@ self: {
     ({ mkDerivation, barbies, base, clash-ghc, clash-lib, clash-prelude
      , containers, ghc-typelits-extra, ghc-typelits-knownnat
      , ghc-typelits-natnormalise, lens, lift-type, monoidal-containers
-     , mtl, template-haskell, th-orphans, transformers
+     , mtl, template-haskell, transformers
      }:
      mkDerivation {
        pname = "retroclash-lib";
-       version = "0.1.0.1";
-       sha256 = "1wcnr6hk05xj3qyq6wdwyn5qv820wi6djlcllyv8nc2cz8zgc3v7";
+       version = "0.1.1";
+       sha256 = "1v8xw37cbnz16gqmf65hgk0kvh0vgmq8sj6nh4ngz48l6i5wylv6";
        libraryHaskellDepends = [
          barbies base clash-ghc clash-lib clash-prelude containers
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
-         lens lift-type monoidal-containers mtl template-haskell th-orphans
+         lens lift-type monoidal-containers mtl template-haskell
          transformers
        ];
        description = "Code shared across the code samples in the book \"Retrocomputing with Clash\"";
@@ -235888,8 +235972,8 @@ self: {
      }:
      mkDerivation {
        pname = "retroclash-sim";
-       version = "0.1.0";
-       sha256 = "1wv8is17ds9y49an832dlgixly9b98h8x6ybc5dj7zzf1jwplyp8";
+       version = "0.1.1";
+       sha256 = "147i7nbxyxgsvyj2wiaiipi0s8sp14y1av33yba4s148k38zsiw3";
        libraryHaskellDepends = [
          array arrows base clash-ghc clash-lib clash-prelude
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
@@ -245162,8 +245246,8 @@ self: {
     ({ mkDerivation, base, bytestring, HUnit, unix }:
      mkDerivation {
        pname = "serialport";
-       version = "0.5.3";
-       sha256 = "0f0q26n27s6b9mfqc9xb9j8p4qrfjfddwiz1wslxk4rh176qw96i";
+       version = "0.5.4";
+       sha256 = "0hw9vcmxfhjad0jcq0c7m2klcnhilk5ag7byymyny0kzg4js27vr";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [ base bytestring HUnit ];
        description = "Cross platform serial port library";
@@ -245366,23 +245450,6 @@ self: {
      }) {};
 
   "servant-auth" = callPackage
-    ({ mkDerivation, aeson, base, jose, lens, servant, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "servant-auth";
-       version = "0.4.0.0";
-       sha256 = "0v2g80kakjwpws92bk3anzy4k8vgxq99y7g3ib4amc5x6kxcmjh1";
-       revision = "3";
-       editedCabalFile = "1hq0mz4fm2f6v57jzyahk5wfip285v3yh20dawvmwdh7wq6104zr";
-       libraryHaskellDepends = [
-         aeson base jose lens servant text unordered-containers
-       ];
-       description = "Authentication combinators for servant";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-auth_0_4_1_0" = callPackage
     ({ mkDerivation, aeson, base, containers, jose, lens, servant, text
      , unordered-containers
      }:
@@ -245395,7 +245462,6 @@ self: {
        ];
        description = "Authentication combinators for servant";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-auth-client" = callPackage
@@ -245529,36 +245595,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-server";
-       version = "0.4.6.0";
-       sha256 = "0isl9pzzhfbs8pgh3qr2vbgfp0bh741dfa59sq7n3cmbkc6ndpkk";
-       revision = "3";
-       editedCabalFile = "0iasfns12wab45hf4qkwm5bx1z63ass9n5sh926wnn82g1v6qdyw";
-       libraryHaskellDepends = [
-         aeson base base64-bytestring blaze-builder bytestring
-         case-insensitive cookie data-default-class entropy http-types jose
-         lens memory monad-time mtl servant servant-auth servant-server
-         tagged text time unordered-containers wai
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive hspec http-client http-types
-         jose lens lens-aeson mtl QuickCheck servant servant-auth
-         servant-server time transformers wai warp wreq
-       ];
-       testToolDepends = [ hspec-discover markdown-unlit ];
-       description = "servant-server/servant-auth compatibility";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-auth-server_0_4_7_0" = callPackage
-    ({ mkDerivation, aeson, base, base64-bytestring, blaze-builder
-     , bytestring, case-insensitive, cookie, data-default-class, entropy
-     , hspec, hspec-discover, http-client, http-types, jose, lens
-     , lens-aeson, markdown-unlit, memory, monad-time, mtl, QuickCheck
-     , servant, servant-auth, servant-server, tagged, text, time
-     , transformers, unordered-containers, wai, warp, wreq
-     }:
-     mkDerivation {
-       pname = "servant-auth-server";
        version = "0.4.7.0";
        sha256 = "1m145xxqg1xy7i1br9yfh3avwkb30zh808nr658ljl7j2imlknj2";
        libraryHaskellDepends = [
@@ -245575,7 +245611,6 @@ self: {
        testToolDepends = [ hspec-discover markdown-unlit ];
        description = "servant-server/servant-auth compatibility";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-auth-swagger" = callPackage
@@ -245733,6 +245768,8 @@ self: {
        pname = "servant-auth-wordpress";
        version = "1.0.0.2";
        sha256 = "0j4n5anlw3a2cgclmyblg01dcls91hzlmxgc2jkcdpwd49i0pv5n";
+       revision = "1";
+       editedCabalFile = "0d3sy1i3jcknfgca13a9ajjr65rpam2rahw0634rnmx0wdd30s0w";
        libraryHaskellDepends = [
          base mtl servant-server text time wai wordpress-auth
        ];
@@ -246737,8 +246774,8 @@ self: {
        pname = "servant-js";
        version = "0.9.4.2";
        sha256 = "15n5s3i491cxjxj70wa8yhpipaz47q46s04l4ysc64wgijlnm8xy";
-       revision = "1";
-       editedCabalFile = "0lka70i2qjjj9x8i1ilsfgqq5hwdlrcyd2cj1qcpyhj85c9anxl3";
+       revision = "2";
+       editedCabalFile = "1wi3q1rn384h9gvxv6dmk31h0wwb6j4yjimz01cz6sgs7fs77ndj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -246829,8 +246866,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-lucid";
-       version = "0.9.0.4";
-       sha256 = "1m02z60l1knzpcc41ccqmg8fblg2wzdn60vy3cwjbk15girjpxaw";
+       version = "0.9.0.5";
+       sha256 = "0yhxj62hhqk0269wk3062dpb39qp7khz1gjqyqqmzfbb4v5x8mfz";
        libraryHaskellDepends = [ base http-media lucid servant text ];
        testHaskellDepends = [ base lucid servant-server wai warp ];
        description = "Servant support for lucid";
@@ -247526,21 +247563,18 @@ self: {
      }) {};
 
   "servant-serf" = callPackage
-    ({ mkDerivation, attoparsec, base, hpack, mtl, optparse-applicative
-     , regex-base, regex-tdfa, text
-     }:
+    ({ mkDerivation, base, Cabal, directory, exceptions, filepath }:
      mkDerivation {
        pname = "servant-serf";
-       version = "0.2.1";
-       sha256 = "1xbjjf243ml2mavvizp6a7llw9c43mnncp7yk0ksjqcnchvsx43w";
+       version = "0.3.0.1";
+       sha256 = "0qa7ycz9nr214fdhkfvpfwhznshwbxn42mh90a4f8ddlqvbj3is2";
        isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [
-         attoparsec base hpack mtl optparse-applicative regex-base
-         regex-tdfa text
+       libraryHaskellDepends = [
+         base Cabal directory exceptions filepath
        ];
-       doHaddock = false;
-       description = "Generates a servant API module";
+       executableHaskellDepends = [ base ];
+       description = "Automatically generate Servant API modules";
        license = lib.licenses.mit;
      }) {};
 
@@ -247937,24 +247971,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui";
-       version = "0.3.5.3.52.5";
-       sha256 = "1m7scy7fm19zk6xq5mb9l12ajdhm0ml9zl60rqr2m86x4q2i6gq0";
-       revision = "1";
-       editedCabalFile = "1hdwdhw8ipwf16asbpjgkbvchvc3ax1wqnpcdcjpagniay2x253r";
-       libraryHaskellDepends = [
-         aeson base bytestring file-embed-lzma servant servant-server
-         servant-swagger-ui-core text
-       ];
-       description = "Servant swagger ui";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-swagger-ui_0_3_5_4_5_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, file-embed-lzma, servant
-     , servant-server, servant-swagger-ui-core, text
-     }:
-     mkDerivation {
-       pname = "servant-swagger-ui";
        version = "0.3.5.4.5.0";
        sha256 = "12w75z23bnygyr3ki9w3zfy9nhxyjawf9pyzhfg6rp2mq3nji9gg";
        libraryHaskellDepends = [
@@ -247963,7 +247979,6 @@ self: {
        ];
        description = "Servant swagger ui";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-swagger-ui-core" = callPackage
@@ -259879,12 +259894,12 @@ self: {
      }) {};
 
   "st2" = callPackage
-    ({ mkDerivation, base, gdp, ghc-prim, primitive }:
+    ({ mkDerivation, base, gdp, primitive }:
      mkDerivation {
        pname = "st2";
-       version = "0.1.0.2";
-       sha256 = "0i7v9yacwgf6aj67c4r2n8zcm07jrcff9nl52sx7ylsjs65ym2qz";
-       libraryHaskellDepends = [ base gdp ghc-prim primitive ];
+       version = "0.1.1";
+       sha256 = "1agmrzdgil899zjighm946syf41v3ygddbqsg1659n6s4hl5k96k";
+       libraryHaskellDepends = [ base gdp primitive ];
        description = "shared heap regions between local mutable state threads";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -259987,6 +260002,8 @@ self: {
        pname = "stache";
        version = "2.3.0";
        sha256 = "1gfmr9gcq9zm7ljp2nqmc41lpig11d19xsqzazr2mvm5ddsi69cr";
+       revision = "1";
+       editedCabalFile = "0akyrm2zf2aq73fqi07fnkns3waxqciyzawv0nmr8yhkdaqj6plj";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -260020,8 +260037,8 @@ self: {
        pname = "stache";
        version = "2.3.1";
        sha256 = "1a26pwg6y90588yf9sp18w4b2ahr64fxdhy1c3zv0c9pw7bv6k6q";
-       revision = "1";
-       editedCabalFile = "0yfy56ax3zbikvmdyplx5l3rzq50fjwz6rcb9l8iwz167h7gzjpr";
+       revision = "2";
+       editedCabalFile = "1bmnpm7galndl2a87vhbbrhxn1wn09x2l6bqwasfmczyjisn78a8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -263262,28 +263279,6 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-commons";
-       version = "0.2.2.3";
-       sha256 = "12zhy0nk9cxijhc66sjg1zgyv5qrvvrpxwzfvjpdxncv3v606w32";
-       libraryHaskellDepends = [
-         array async base bytestring directory network process random stm
-         text transformers unix zlib
-       ];
-       testHaskellDepends = [
-         array async base bytestring deepseq hspec network QuickCheck text
-         unix zlib
-       ];
-       benchmarkHaskellDepends = [ base bytestring deepseq gauge text ];
-       description = "Common lower-level functions needed by various streaming data libraries";
-       license = lib.licenses.mit;
-     }) {};
-
-  "streaming-commons_0_2_2_4" = callPackage
-    ({ mkDerivation, array, async, base, bytestring, deepseq, directory
-     , gauge, hspec, network, process, QuickCheck, random, stm, text
-     , transformers, unix, zlib
-     }:
-     mkDerivation {
-       pname = "streaming-commons";
        version = "0.2.2.4";
        sha256 = "1wnc2hi90djilj1m0la3h3xri723pbpmfdyp0kxxs33irs6418an";
        libraryHaskellDepends = [
@@ -263297,7 +263292,6 @@ self: {
        benchmarkHaskellDepends = [ base bytestring deepseq gauge text ];
        description = "Common lower-level functions needed by various streaming data libraries";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "streaming-concurrency" = callPackage
@@ -264278,27 +264272,12 @@ self: {
     ({ mkDerivation, base, bifunctors, deepseq, hashable }:
      mkDerivation {
        pname = "strict-tuple";
-       version = "0.1.4";
-       sha256 = "06fyf58kl3c5xpfdd5h7368ggbfadm5n67h3kqajrsgh3yl84hrq";
-       revision = "1";
-       editedCabalFile = "127byff30qm6vfnpdb2jfhag6dfv8zz306hkdnlkryx4gf5aab86";
-       libraryHaskellDepends = [ base bifunctors deepseq hashable ];
-       testHaskellDepends = [ base ];
-       description = "Strict tuples";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "strict-tuple_0_1_5" = callPackage
-    ({ mkDerivation, base, bifunctors, deepseq, hashable }:
-     mkDerivation {
-       pname = "strict-tuple";
        version = "0.1.5";
        sha256 = "1n0rw1vvvsgznx4i21480qzzs44iw35hcdiw0d160war7nf2pyp5";
        libraryHaskellDepends = [ base bifunctors deepseq hashable ];
        testHaskellDepends = [ base ];
        description = "Strict tuples";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "strict-tuple-lens" = callPackage
@@ -265062,18 +265041,19 @@ self: {
      }) {};
 
   "strong-path" = callPackage
-    ({ mkDerivation, base, exceptions, filepath, hspec, path, tasty
-     , tasty-discover, tasty-hspec, tasty-quickcheck, template-haskell
+    ({ mkDerivation, base, exceptions, filepath, hashable, hspec, path
+     , tasty, tasty-discover, tasty-hspec, tasty-quickcheck
+     , template-haskell
      }:
      mkDerivation {
        pname = "strong-path";
-       version = "1.1.2.0";
-       sha256 = "1rz3rxdq3apah0ixj9dzd1wlicjj0l5lspv9bz79kfjvlxn15yib";
+       version = "1.1.3.0";
+       sha256 = "0jy8qmyixsi3d71qkrj4v3r9nrppb2hs4p5pbpj7yq964ryyg9am";
        libraryHaskellDepends = [
-         base exceptions filepath path template-haskell
+         base exceptions filepath hashable path template-haskell
        ];
        testHaskellDepends = [
-         base filepath hspec path tasty tasty-discover tasty-hspec
+         base filepath hashable hspec path tasty tasty-discover tasty-hspec
          tasty-quickcheck
        ];
        testToolDepends = [ tasty-discover ];
@@ -266851,7 +266831,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "swagger2_2_8_1" = callPackage
+  "swagger2_2_8_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
      , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
      , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
@@ -266862,8 +266842,8 @@ self: {
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.8.1";
-       sha256 = "19y7krvgx5vdrr0wx3jkkwvdncn3gzyn168sqs333dxs4l3jnxvx";
+       version = "2.8.2";
+       sha256 = "0vxqmc3wx01fx04cqq9l0gvcas7njsj6q2r960rb1gbmggydpysc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat-batteries bytestring containers
@@ -267182,7 +267162,7 @@ self: {
        license = "unknown";
      }) {};
 
-  "sydtest_0_7_0_1" = callPackage
+  "sydtest_0_8_0_0" = callPackage
     ({ mkDerivation, async, autodocodec, autodocodec-yaml, base
      , bytestring, containers, Diff, dlist, envparse, filepath
      , MonadRandom, mtl, optparse-applicative, path, path-io
@@ -267192,8 +267172,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.7.0.1";
-       sha256 = "09qvl0j8bx5v1i8mvvmzkfaxj7jrcbpbkxrnjcanml60dfp0s444";
+       version = "0.8.0.0";
+       sha256 = "1b2i4w58k0mrb5lk4hjbwfmm065gmmll6jm3k6jydjjkkpf1zfap";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
@@ -267269,6 +267249,23 @@ self: {
        license = "unknown";
      }) {};
 
+  "sydtest-hedgehog" = callPackage
+    ({ mkDerivation, base, containers, hedgehog, sydtest
+     , sydtest-discover
+     }:
+     mkDerivation {
+       pname = "sydtest-hedgehog";
+       version = "0.0.0.0";
+       sha256 = "0kxx2r4hjqzkrhplgfby2x7zcya05n42hna86zk27k2i9hkabhnh";
+       libraryHaskellDepends = [ base containers hedgehog sydtest ];
+       testHaskellDepends = [ base hedgehog sydtest ];
+       testToolDepends = [ sydtest-discover ];
+       description = "A Hedgehog companion library for sydtest";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "sydtest-hedis" = callPackage
     ({ mkDerivation, base, bytestring, hedis, network, path, path-io
      , port-utils, sydtest, sydtest-discover, sydtest-typed-process
@@ -267729,13 +267726,13 @@ self: {
      }:
      mkDerivation {
        pname = "symantic-base";
-       version = "0.3.0.20211007";
-       sha256 = "1ia79d3ih3yr6fpm85hvn42jpq0d41qvm96v58b2rsxlivrnibsq";
+       version = "0.4.0.20211106";
+       sha256 = "0fbw0fg78b8wh3fcbvcm9v3qrsvpyymhwd7f9a70yqj90mggl7sc";
        libraryHaskellDepends = [
          base containers hashable template-haskell transformers
          unordered-containers
        ];
-       description = "Basic symantics combinators for Embedded Domain-Specific Languages (EDSL)";
+       description = "Basic symantic combinators for Embedded Domain-Specific Languages (EDSL)";
        license = lib.licenses.agpl3Plus;
      }) {};
 
@@ -271435,8 +271432,8 @@ self: {
        pname = "tasty-wai";
        version = "0.1.1.1";
        sha256 = "1bnq2mbgv1ksn9sq33dq1q91pzndy7gn61mlnkybk89k0bsw5i7y";
-       revision = "2";
-       editedCabalFile = "13f0rmdyfd8wx9w9d6vj40akskq763gjj89p7dzy6zyaiyllgk64";
+       revision = "3";
+       editedCabalFile = "1bjmzxnrypv1nqhc37rwwcgilnrrjm8scwnb4ca6z99bldi95b27";
        libraryHaskellDepends = [
          base bytestring http-types HUnit tasty wai wai-extra
        ];
@@ -274445,21 +274442,19 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) icu;};
 
-  "text-icu_0_8_0" = callPackage
+  "text-icu_0_8_0_1" = callPackage
     ({ mkDerivation, array, base, bytestring, deepseq, directory
-     , ghc-prim, HUnit, icu, icu-i18n, icu-uc, QuickCheck, random
+     , ghc-prim, HUnit, icu, icu-i18n, QuickCheck, random
      , test-framework, test-framework-hunit, test-framework-quickcheck2
      , text, time
      }:
      mkDerivation {
        pname = "text-icu";
-       version = "0.8.0";
-       sha256 = "1dpnh5izvjma0i3diqjdyag389cbnsv9fysyla2jy1nrpfrf9z8m";
-       revision = "1";
-       editedCabalFile = "0mz894ykvyb9ziprnwx3s9lcda6lsy60s0dgrh5silgsym99r3s9";
+       version = "0.8.0.1";
+       sha256 = "1bxhaxyvhag26airz870lc6rjlf14xigdx3cml13kp7bshwgl7wi";
        libraryHaskellDepends = [ base bytestring deepseq text time ];
        librarySystemDepends = [ icu ];
-       libraryPkgconfigDepends = [ icu-i18n icu-uc ];
+       libraryPkgconfigDepends = [ icu-i18n ];
        testHaskellDepends = [
          array base bytestring deepseq directory ghc-prim HUnit QuickCheck
          random test-framework test-framework-hunit
@@ -274468,7 +274463,7 @@ self: {
        description = "Bindings to the ICU library";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
-     }) {inherit (pkgs) icu; icu-i18n = null; icu-uc = null;};
+     }) {inherit (pkgs) icu; icu-i18n = null;};
 
   "text-icu-normalized" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, bytestring, containers
@@ -279110,6 +279105,7 @@ self: {
        description = "Easy-to-use TODOs manager";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tofromxml" = callPackage
@@ -282828,10 +282824,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.23";
-       sha256 = "02g0a6az01lfikrinx2027zqrp8wyivldwi36s2yqk9a5qm3ap5c";
-       revision = "3";
-       editedCabalFile = "1zc1djz1xi5pmw58rjwmxb7kkzxssnkng9qx93wz9n6bdjiyc2gd";
+       version = "1.5.24";
+       sha256 = "06n9k8cchmy090k6azl6ld8ygkljw8wrpw3cigsgz48hqchq8c2p";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -287592,8 +287586,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.20.1";
-       sha256 = "13fv7wfq7g1pilpk1vprbf2mbdj7qfm2y9v8glwr6dqyswv8z9dn";
+       version = "0.2.21.0";
+       sha256 = "0z3g4hnwzianh8a564zfwj4rvs1ayggxm0wcwi97hc1g0ndz5hic";
        libraryHaskellDepends = [
          async base bytestring deepseq directory filepath process stm time
          transformers unix unliftio-core
@@ -289049,7 +289043,9 @@ self: {
        ];
        description = "A pragmatic time and date library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sternenseemann ];
+       broken = true;
      }) {};
 
   "utf" = callPackage
@@ -291523,6 +291519,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "velma" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , hspec, text
+     }:
+     mkDerivation {
+       pname = "velma";
+       version = "0.2022.2.13";
+       sha256 = "0dzq9py5k6hz9pqfv8cnfaj84q3y4j8p6pmpncd1crj1nkl10mr5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base Cabal containers directory filepath
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base Cabal filepath hspec text ];
+       description = "Automatically add files to exposed-modules and other-modules";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "venzone" = callPackage
     ({ mkDerivation, ansi-terminal-game, base, containers, directory
      , file-embed, filepath, fsnotify, hspec, line-drawing, megaparsec
@@ -292178,6 +292195,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "vinyl_0_14_1" = callPackage
+    ({ mkDerivation, aeson, array, base, criterion, deepseq, ghc-prim
+     , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random
+     , primitive, should-not-typecheck, tagged, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "vinyl";
+       version = "0.14.1";
+       sha256 = "06qyy3g1msnwl8491rp0pabr7g7xk4jjidsixigd8if4kxl7dcdk";
+       libraryHaskellDepends = [ array base deepseq ghc-prim ];
+       testHaskellDepends = [
+         aeson base hspec lens lens-aeson microlens mtl should-not-typecheck
+         text unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base criterion linear microlens mwc-random primitive tagged vector
+       ];
+       description = "Extensible Records";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vinyl-generics" = callPackage
     ({ mkDerivation, aeson, base, generics-sop, hspec, hspec-core
      , QuickCheck, records-sop, text, vinyl
@@ -292954,8 +292994,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.16.1";
-       sha256 = "1cm5ws9kp2dcrknj4vsw92xnl35gq33k9ijhf5aclpm95q1dw0hc";
+       version = "3.16.2";
+       sha256 = "1wawlq1x9nw9g5iynf8mhlv36876skpvfalfpnvdh55hfw4qznzh";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        libraryPkgconfigDepends = [ vulkan ];
        testHaskellDepends = [
@@ -295213,39 +295253,6 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.18";
-       sha256 = "1m93s3p2zz00fdgkisl6sbnqnc6vvq0vz997i5y4mk9a3ssjflqw";
-       libraryHaskellDepends = [
-         array auto-update base bsb-http-chunked bytestring case-insensitive
-         containers ghc-prim hashable http-date http-types http2 iproute
-         network simple-sendfile stm streaming-commons text time-manager
-         unix unix-compat unliftio vault wai word8 x509
-       ];
-       testHaskellDepends = [
-         array async auto-update base bsb-http-chunked bytestring
-         case-insensitive containers directory ghc-prim hashable hspec
-         http-client http-date http-types http2 HUnit iproute network
-         process QuickCheck simple-sendfile stm streaming-commons text time
-         time-manager unix unix-compat unliftio vault wai word8 x509
-       ];
-       benchmarkHaskellDepends = [
-         auto-update base bytestring containers gauge hashable http-date
-         http-types network time-manager unix unix-compat unliftio x509
-       ];
-       description = "A fast, light-weight web server for WAI applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "warp_3_3_19" = callPackage
-    ({ mkDerivation, array, async, auto-update, base, bsb-http-chunked
-     , bytestring, case-insensitive, containers, directory, gauge
-     , ghc-prim, hashable, hspec, http-client, http-date, http-types
-     , http2, HUnit, iproute, network, process, QuickCheck
-     , simple-sendfile, stm, streaming-commons, text, time, time-manager
-     , unix, unix-compat, unliftio, vault, wai, word8, x509
-     }:
-     mkDerivation {
-       pname = "warp";
        version = "3.3.19";
        sha256 = "1wq63wrxk4p6ziig9qgqimmd1mx167868qiczd1avh8896p1f6rb";
        libraryHaskellDepends = [
@@ -295267,7 +295274,6 @@ self: {
        ];
        description = "A fast, light-weight web server for WAI applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "warp-dynamic" = callPackage
@@ -295840,21 +295846,21 @@ self: {
 
   "web-rep" = callPackage
     ({ mkDerivation, attoparsec, base, bifunctors, box, box-socket
-     , clay, concurrency, generic-lens, interpolatedstring-perl6
-     , language-javascript, lens, lucid, mtl, optparse-generic, scotty
+     , clay, concurrency, interpolatedstring-perl6, language-javascript
+     , lucid, mtl, optics-core, optics-extra, optparse-generic, scotty
      , text, transformers, unordered-containers, wai-middleware-static
      , wai-websockets, websockets
      }:
      mkDerivation {
        pname = "web-rep";
-       version = "0.8.0";
-       sha256 = "1ri1sczacxy351jsdaiz7iwsl8b19a1jvzppyxf56grm6zr94dmg";
+       version = "0.9.0";
+       sha256 = "1xcrmm5yk19nh08gllnfg6ck0jijkxzl3ma4klwlnxp2ky75q7ds";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          attoparsec base bifunctors box box-socket clay concurrency
-         generic-lens interpolatedstring-perl6 language-javascript lens
-         lucid mtl scotty text transformers unordered-containers
+         interpolatedstring-perl6 language-javascript lucid mtl optics-core
+         optics-extra scotty text transformers unordered-containers
          wai-middleware-static wai-websockets websockets
        ];
        executableHaskellDepends = [ base optparse-generic ];
@@ -297588,8 +297594,8 @@ self: {
        pname = "wide-word";
        version = "0.1.1.2";
        sha256 = "10sj7nca2sba74bkiicnp95xrfq2j1al93ggw3z24982nm9x3j8r";
-       revision = "3";
-       editedCabalFile = "15k9saqnib9vc9s4dsvamvnb3m6cjmnlwsy1brwfnd90vzzxmwjz";
+       revision = "4";
+       editedCabalFile = "150ikl5cf15lbk383pv1w8smpwbp0dzc0vby653fbzm8a2svcx76";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [
          base bytestring ghc-prim hedgehog primitive QuickCheck
@@ -297927,6 +297933,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "wireguard-hs" = callPackage
+    ({ mkDerivation, base, clock, cryptonite, ip, memory, network, text
+     , time, vector, vector-sized, wide-word
+     }:
+     mkDerivation {
+       pname = "wireguard-hs";
+       version = "0.1.0";
+       sha256 = "0nh1vjmz74i4c7254whp8d8si1bvzyq8s6x0ljcidahd1w0hv3i0";
+       revision = "1";
+       editedCabalFile = "0vf7akywcdh1k9x4d5kvlqrzkxz124lhg1l9547gfcsirlrhlb3n";
+       libraryHaskellDepends = [
+         base clock cryptonite ip memory network text time vector
+         vector-sized wide-word
+       ];
+       description = "API for Linux Kernel Wireguard device management";
+       license = "LGPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "wires" = callPackage
     ({ mkDerivation, base, deepseq, mtl, profunctors, semigroupoids
      , these
@@ -298253,6 +298279,8 @@ self: {
        pname = "wl-pprint-annotated";
        version = "0.1.0.1";
        sha256 = "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb";
+       revision = "1";
+       editedCabalFile = "1qizgsiqsraj8w0qndcyw7grcmiylx63vp3lgw2dplchva8p3hp7";
        libraryHaskellDepends = [ base containers deepseq text ];
        testHaskellDepends = [
          base containers deepseq tasty tasty-hunit text
@@ -301203,8 +301231,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-parser";
-       version = "0.1.0.1";
-       sha256 = "079ggb9bhad9px6gqbjhbir423hds389p42jc853caz7232dc6vx";
+       version = "0.1.1";
+       sha256 = "06a8pci3jr3mdrsh8708i61rqd2rsgqyf86s269ycca6xlbrgwzh";
        libraryHaskellDepends = [
          attoparsec base bytestring containers hashable text text-builder
          transformers unordered-containers xml-conduit
@@ -303929,8 +303957,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod";
-       version = "1.6.1.2";
-       sha256 = "13r0ispprj41kgn2rkc7zhy1rxfmgpjbmdlnys15h0ihhh3zhw2f";
+       version = "1.6.2";
+       sha256 = "0krvg1ykzqg1aaj385rnrqr0a5ga3z5xl1s422q05y9csj0w1ami";
        libraryHaskellDepends = [
          aeson base bytestring conduit data-default-class directory
          fast-logger file-embed monad-logger shakespeare streaming-commons
@@ -304016,6 +304044,7 @@ self: {
        description = "Automatically generate article previews for a yesod site";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-auth" = callPackage
@@ -304031,8 +304060,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.6.10.5";
-       sha256 = "11nywgjnivbfrbn8mg3lfr8r8lfpygn30vhnn0bzy9pa07nvgxnz";
+       version = "1.6.11";
+       sha256 = "0fdahk5mc63g0zsafk8axry01qaxahmclpmmwygp2lhfsjy8mby2";
        libraryHaskellDepends = [
          aeson authenticate base base16-bytestring base64-bytestring binary
          blaze-builder blaze-html blaze-markup bytestring conduit
@@ -304533,22 +304562,22 @@ self: {
      }) {};
 
   "yesod-bin" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, conduit, conduit-extra
-     , containers, data-default-class, directory, file-embed, filepath
-     , fsnotify, http-client, http-client-tls, http-reverse-proxy
-     , http-types, network, optparse-applicative, process
-     , project-template, say, split, stm, streaming-commons, tar, text
-     , time, transformers, transformers-compat, unliftio
+    ({ mkDerivation, aeson, base, bytestring, Cabal, conduit
+     , conduit-extra, containers, data-default-class, directory
+     , file-embed, filepath, fsnotify, http-client, http-client-tls
+     , http-reverse-proxy, http-types, network, optparse-applicative
+     , process, project-template, say, split, stm, streaming-commons
+     , tar, text, time, transformers, transformers-compat, unliftio
      , unordered-containers, wai, wai-extra, warp, warp-tls, yaml, zlib
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.1";
-       sha256 = "0saz5dcygyf91f8hqvsy9wpcc5pg7vd9gcp891fiz4cywsrqpzwx";
+       version = "1.6.2";
+       sha256 = "12dwix5q3xk83d0d4715h680dbalbz4556wk3r89gps3rp9pib7f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring Cabal conduit conduit-extra containers
+         aeson base bytestring Cabal conduit conduit-extra containers
          data-default-class directory file-embed filepath fsnotify
          http-client http-client-tls http-reverse-proxy http-types network
          optparse-applicative process project-template say split stm
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index 254228ea55b..9de6c1b1239 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rakudo";
-  version = "2021.12";
+  version = "2022.02";
 
   src = fetchurl {
     url = "https://rakudo.org/dl/rakudo/rakudo-${version}.tar.gz";
-    sha256 = "sha256-f1PSxxONE6sBaS1b19vCjz8p7Ya9ltUoCFb1WhqwVAY=";
+    sha256 = "sha256-am6dvMbZoWEKNMbsZ+LT9pTXsz6eCg8iRUMIn6f3EzI=";
   };
 
   nativeBuildInputs = [ removeReferencesTo ];
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index cbc283ce25f..41462e67a4c 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2021.12";
+  version = "2022.02";
 
   src = fetchurl {
     url = "https://moarvm.org/releases/MoarVM-${version}.tar.gz";
-    sha256 = "sha256-1Ju+sQ2WFsLYen+t0ca7elzhHBnHxEu7i+928ltQXE8=";
+    sha256 = "sha256-T5PNzmuKVloyKCuzjMlxzv63H10CLIUMM47oFFV07pY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/rakudo/nqp.nix b/pkgs/development/interpreters/rakudo/nqp.nix
index 8a64430d24a..57cdef94c02 100644
--- a/pkgs/development/interpreters/rakudo/nqp.nix
+++ b/pkgs/development/interpreters/rakudo/nqp.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nqp";
-  version = "2021.12";
+  version = "2022.02";
 
   src = fetchurl {
     url = "https://github.com/raku/nqp/releases/download/${version}/nqp-${version}.tar.gz";
-    sha256 = "sha256-Dh1TT9HuYaTIByMJuvvARmDprnLYhhjaoOjxUCLw2RM=";
+    sha256 = "sha256-JdPJl0XNhPQEmpvZzya7XcgXklq6r+ccm9tohBzbGLE=";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 1cb253774d4..57bf47f3abf 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = optional stdenv.isFreeBSD autoreconfHook;
 
   configureFlags = [ "--with-apr=${apr.dev}" "--with-expat=${expat.dev}" ]
@@ -38,7 +39,15 @@ stdenv.mkDerivation rec {
         "--without-freetds" "--without-berkeley-db" "--without-crypto" ]
     ;
 
-  propagatedBuildInputs = [ makeWrapper apr expat libiconv ]
+  # For some reason, db version 6.9 is selected when cross-compiling.
+  # It's unclear as to why, it requires someone with more autotools / configure knowledge to go deeper into that.
+  # Always replacing the link flag with a generic link flag seems to help though, so let's do that for now.
+  postConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace Makefile \
+      --replace "-ldb-6.9" "-ldb"
+  '';
+
+  propagatedBuildInputs = [ apr expat libiconv ]
     ++ optional sslSupport openssl
     ++ optional bdbSupport db
     ++ optional ldapSupport openldap
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index a630d0420b4..a29fda0ec2b 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -1,9 +1,15 @@
-{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, sratom, wafHook }:
+{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, sratom, wafHook
+
+# test derivations
+, pipewire
+}:
 
 stdenv.mkDerivation rec {
   pname = "lilv";
   version = "0.24.12";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
     sha256 = "sha256-JqN3kIkMnB+DggO0f1sjIDNP6SwCpNJuu+Jmnb12kGE=";
@@ -15,6 +21,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ serd sord sratom ];
   propagatedBuildInputs = [ lv2 ];
 
+  passthru.tests = {
+    inherit pipewire;
+  };
+
   meta = with lib; {
     homepage = "http://drobilla.net/software/lilv";
     description = "A C library to make the use of LV2 plugins";
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index e575173d725..0e17e13e581 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -272,7 +272,6 @@ stdenv.mkDerivation rec {
     "-Ddirectfb=disabled"
     "-Dflite=disabled"
     "-Dkms=disabled" # renders to libdrm output
-    "-Dofa=disabled"
     "-Dlv2=disabled"
     "-Dsbc=disabled"
     "-Dspandsp=disabled"
diff --git a/pkgs/development/libraries/libindicator/default.nix b/pkgs/development/libraries/libindicator/default.nix
index 139672f6d80..d06657b0081 100644
--- a/pkgs/development/libraries/libindicator/default.nix
+++ b/pkgs/development/libraries/libindicator/default.nix
@@ -5,13 +5,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "libindicator-gtk${gtkVersion}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
+  pname = "libindicator-gtk${gtkVersion}";
+  version = "12.10.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicator-${version}.tar.gz";
+    url = "https://launchpad.net/libindicator/${lib.versions.majorMinor version}/${version}/+download/libindicator-${version}.tar.gz";
     sha256 = "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f";
   };
 
diff --git a/pkgs/development/libraries/libplctag/default.nix b/pkgs/development/libraries/libplctag/default.nix
index 1cdac281780..2af3b3f3bcf 100644
--- a/pkgs/development/libraries/libplctag/default.nix
+++ b/pkgs/development/libraries/libplctag/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libplctag";
-  version = "2.4.12";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "libplctag";
     repo = "libplctag";
     rev = "v${version}";
-    sha256 = "sha256-1gytTzGdB4Zq0LqbilNHbeA8wDmQ3dw36nocmjBeu+8=";
+    sha256 = "sha256-Xzdljx08aXwD6pE1f/3YBAjvrSzvs2fcXmmLH04GFyg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 0f775700700..bb70ffcd32a 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.22.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "sha256-yj6adBP9nZLXZVg62bYenfuiMeyULEql25KbDen9ljA=";
+    sha256 = "sha256-aRHwkdAbM164diIAIyBp1Kt6u/GLyCWTtwF4eFaWbGU=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
index bb62a9b3b2b..1fb737ed7a7 100644
--- a/pkgs/development/libraries/minizip/default.nix
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, zlib, autoreconfHook }:
 
 stdenv.mkDerivation {
-  name = "minizip-${zlib.version}";
+  pname = "minizip";
+  version = zlib.version;
   inherit (zlib) src;
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index 0dbbd461dc2..477ff27078b 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,14 +1,14 @@
 {lib, stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.2";
+  version = "1.4.2";
   pname = "nanoflann";
 
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "0lq1zqwjvk8wv15hd7aw57jsqbvv45cwb8ngdh1d2iyw5rvnbhsn";
+    sha256 = "sha256-znIX1S0mfOqLYPIcyVziUM1asBjENPEAdafLud1CfFI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opencl-headers/default.nix b/pkgs/development/libraries/opencl-headers/default.nix
index 661fd734d88..879a916d3ea 100644
--- a/pkgs/development/libraries/opencl-headers/default.nix
+++ b/pkgs/development/libraries/opencl-headers/default.nix
@@ -2,7 +2,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "opencl-headers-${version}";
+  pname = "opencl-headers";
   version = "2021.06.30";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 4148ca4fc47..4de361a5984 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pkcs11-helper";
-  version = "1.27";
+  version = "1.28";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${pname}-${version}";
-    sha256 = "1idrqip59bqzcgddpnk2inin5n5yn4y0dmcyaggfpdishraiqgd5";
+    sha256 = "sha256-gy04f62TX42mW4hKD/jTZXTpz9v6gQXNrY/pv8Ie4p0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/OpenSC/pkcs11-helper";
-    license = with licenses; [ bsd3 gpl2 ];
+    license = with licenses; [ bsd3 gpl2Only ];
     description = "Library that simplifies the interaction with PKCS#11 providers";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix
index 57335fa3d97..6a8baae5c9a 100644
--- a/pkgs/development/libraries/pugixml/default.nix
+++ b/pkgs/development/libraries/pugixml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pugixml";
-  version = "1.11.4";
+  version = "1.12";
 
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "pugixml";
     rev = "v${version}";
-    sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
+    sha256 = "sha256-FLemG9T17n6l7vgb01OmO22BK59jv5uozVHeUnILEEQ=";
   };
 
   outputs = if shared then [ "out" "dev" ] else [ "out" ];
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix
index 13a32658111..e2ed679d212 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ clang lld llvm ];
 
-  cmakeBuildType = "Release";
-
   cmakeFlags = [
     "-DCMAKE_PREFIX_PATH=${llvm}/lib/cmake/llvm;${clang-unwrapped}/lib/cmake/clang"
     "-DLLVM_TARGETS_TO_BUILD='AMDGPU;X86'"
diff --git a/pkgs/development/libraries/science/math/metis/default.nix b/pkgs/development/libraries/science/math/metis/default.nix
index da79f6d6249..41deec25d45 100644
--- a/pkgs/development/libraries/science/math/metis/default.nix
+++ b/pkgs/development/libraries/science/math/metis/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, unzip, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "metis";
+  pname = "metis";
   version = "5.1.0";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/science/math/primesieve/default.nix b/pkgs/development/libraries/science/math/primesieve/default.nix
index 2367b373b1c..0cf263218a3 100644
--- a/pkgs/development/libraries/science/math/primesieve/default.nix
+++ b/pkgs/development/libraries/science/math/primesieve/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "primesieve";
-  version = "7.7";
+  version = "7.8";
 
   nativeBuildInputs = [ cmake ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "kimwalisch";
     repo = "primesieve";
     rev = "v${version}";
-    sha256 = "sha256-1Gfo00yaf7zHzCLfu/abWqeM0qBuLu+f+lowFFnWFxY=";
+    sha256 = "sha256-M35CP/xEyC7mEh84kaGsgfsDI9fnanHraNPgTvpqimI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/volk/default.nix b/pkgs/development/libraries/volk/default.nix
index 40ae88bf71b..bbc4189fff8 100644
--- a/pkgs/development/libraries/volk/default.nix
+++ b/pkgs/development/libraries/volk/default.nix
@@ -5,6 +5,7 @@
 , python3
 , enableModTool ? true
 , removeReferencesTo
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -19,6 +20,14 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/e83a55ef196d4283be438c052295b2fc44f3df5b/science/volk/files/patch-cpu_features-add-support-for-ARM64.diff";
+      sha256 = "sha256-MNUntVvKZC4zuQsxGQCItaUaaQ1d31re2qjyPFbySmI=";
+      extraPrefix = "";
+    })
+  ];
+
   cmakeFlags = lib.optionals (!enableModTool) [ "-DENABLE_MODTOOL=OFF" ];
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
     ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 9572ddef5d3..a0f76135fd3 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -382,18 +382,24 @@ let
       meta.broken = since "10";
     };
 
-    tailwindcss = super.tailwindcss.override {
+    tailwindcss = super.tailwindcss.overrideAttrs (oldAttrs: {
+      plugins = [ ];
       nativeBuildInputs = [ pkgs.makeWrapper ];
       postInstall = ''
+        nodePath=""
+        for p in "$out" "${self.postcss}" $plugins; do
+          nodePath="$nodePath''${nodePath:+:}$p/lib/node_modules"
+        done
         wrapProgram "$out/bin/tailwind" \
-          --prefix NODE_PATH : ${self.postcss}/lib/node_modules
+          --prefix NODE_PATH : "$nodePath"
         wrapProgram "$out/bin/tailwindcss" \
-          --prefix NODE_PATH : ${self.postcss}/lib/node_modules
+          --prefix NODE_PATH : "$nodePath"
+        unset nodePath
       '';
       passthru.tests = {
         simple-execution = pkgs.callPackage ./package-tests/tailwindcss.nix { inherit (self) tailwindcss; };
       };
-    };
+    });
 
     tedicross = super."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override {
       nativeBuildInputs = [ pkgs.makeWrapper ];
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 31ee6025e9f..cf0e9fc1832 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -13,7 +13,11 @@
 , "@nerdwallet/shepherd"
 , "@nestjs/cli"
 , "@squoosh/cli"
+, "@tailwindcss/aspect-ratio"
+, "@tailwindcss/forms"
 , "@tailwindcss/language-server"
+, "@tailwindcss/line-clamp"
+, "@tailwindcss/typography"
 , "@uppy/companion"
 , "@vue/cli"
 , "@webassemblyjs/cli"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 6f771ed3ca4..8dcdbfeecfd 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -2587,58 +2587,58 @@ let
         sha512 = "do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==";
       };
     };
-    "@cspell/cspell-bundled-dicts-5.18.4" = {
+    "@cspell/cspell-bundled-dicts-5.18.5" = {
       name = "_at_cspell_slash_cspell-bundled-dicts";
       packageName = "@cspell/cspell-bundled-dicts";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.18.4.tgz";
-        sha512 = "bzYmnfdKI0qQ0Sng8QtGNJrlyTtHII6FriTSp2lWxJX9paw2cUmKjEyajH9sK/EX78AePJemPGsMSiC65kTLWg==";
+        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.18.5.tgz";
+        sha512 = "jFvwF8bb8HUYqMUPQiGZUHAf8zfriZRagzoCW8w4NLLJB1IZNGlQvQCQskQG9cYtOmKAYHCbOwm8SjA9FKwQow==";
       };
     };
-    "@cspell/cspell-pipe-5.18.4" = {
+    "@cspell/cspell-pipe-5.18.5" = {
       name = "_at_cspell_slash_cspell-pipe";
       packageName = "@cspell/cspell-pipe";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.18.4.tgz";
-        sha512 = "Wo68JtNwzhkgDhQMwI4mw6+0HNPgWdE/uUiak87IUdPXB+1LSe7TKdhHZBhVe5iT5PIOsJiz36v4dTOpWJjmSg==";
+        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.18.5.tgz";
+        sha512 = "U/4e4Zm7Mm23SuJu6b49+9Do/2aS+c9sPQa1Z9ZZqHQ4BqswJagk5oZ0V45BjYJ/0acHSRpIxbndpVJ01cjf8A==";
       };
     };
-    "@cspell/cspell-types-5.18.4" = {
+    "@cspell/cspell-types-5.18.5" = {
       name = "_at_cspell_slash_cspell-types";
       packageName = "@cspell/cspell-types";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.18.4.tgz";
-        sha512 = "pUxWfhqqwo0k0BsfIr8Mki9c7W7/o//RXsI+RZhbk7ai9EWX/6cMpD8rHRcRB9c+ihwGj7R7jzjuzh+SK09tlA==";
+        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.18.5.tgz";
+        sha512 = "yvDFCUa1CbjBuMkFCh+yUAAaG6VW5WXoewzLwhMFsMV1GZmkbftOcvZq0YuZviNsjdBViDH0dhKdlzwC953upg==";
       };
     };
-    "@cspell/dict-ada-1.1.2" = {
+    "@cspell/dict-ada-2.0.0" = {
       name = "_at_cspell_slash_dict-ada";
       packageName = "@cspell/dict-ada";
-      version = "1.1.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-1.1.2.tgz";
-        sha512 = "UDrcYcKIVyXDz5mInJabRNQpJoehjBFvja5W+GQyu9pGcx3BS3cAU8mWENstGR0Qc/iFTxB010qwF8F3cHA/aA==";
+        url = "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-2.0.0.tgz";
+        sha512 = "4gfJEYXVwz6IN2LBaT6QoUV4pqaR35i0z0u9O684vLuVczvNJIHa4vNaSEFBr9d6xxncUyqstgP9P73ajJjh9A==";
       };
     };
-    "@cspell/dict-aws-1.0.14" = {
+    "@cspell/dict-aws-2.0.0" = {
       name = "_at_cspell_slash_dict-aws";
       packageName = "@cspell/dict-aws";
-      version = "1.0.14";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-1.0.14.tgz";
-        sha512 = "K21CfB4ZpKYwwDQiPfic2zJA/uxkbsd4IQGejEvDAhE3z8wBs6g6BwwqdVO767M9NgZqc021yAVpr79N5pWe3w==";
+        url = "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-2.0.0.tgz";
+        sha512 = "NKz7pDZ7pwj/b33i3f4WLpC1rOOUMmENwYgftxU+giU2YBeKM2wZbMTSEIzsrel56r0UlQYmdIVlP/B4nnVaoQ==";
       };
     };
-    "@cspell/dict-bash-1.0.18" = {
+    "@cspell/dict-bash-2.0.1" = {
       name = "_at_cspell_slash_dict-bash";
       packageName = "@cspell/dict-bash";
-      version = "1.0.18";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-1.0.18.tgz";
-        sha512 = "kJIqQ+FD2TCSgaaP5XLEDgy222+pVWTc+VhveNO++gnTWU3BCVjkD5LjfW7g/CmGONnz+nwXDueWspProaSdJw==";
+        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-2.0.1.tgz";
+        sha512 = "pBx3T/5w7fPF8XD5cx3NwtRFvNpQYmYqzM043NKP2hDmlx4uFwbH599Lvt5mwCMZKfIoRXaNUQvq7se2gstQjw==";
       };
     };
     "@cspell/dict-companies-2.0.2" = {
@@ -2650,22 +2650,22 @@ let
         sha512 = "LPKwBMAWRz+p1R8q+TV6E1sGOOTvxJOaJeXNN++CZQ7i6JMn5Rf+BSxagwkeK6z3o9vIC5ZE4AcQ5BMkvyjqGw==";
       };
     };
-    "@cspell/dict-cpp-1.1.40" = {
+    "@cspell/dict-cpp-2.0.0" = {
       name = "_at_cspell_slash_dict-cpp";
       packageName = "@cspell/dict-cpp";
-      version = "1.1.40";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-1.1.40.tgz";
-        sha512 = "sscfB3woNDNj60/yGXAdwNtIRWZ89y35xnIaJVDMk5TPMMpaDvuk0a34iOPIq0g4V+Y8e3RyAg71SH6ADwSjGw==";
+        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-2.0.0.tgz";
+        sha512 = "EflHLs2pHEEXZM6jPfTGR/KHZKQtJlvzqgkg1zaA1YKv5HQNw9Wy5KVPGEV2bjPcFsZJO3xXjO1KBZcoOPjPmA==";
       };
     };
-    "@cspell/dict-cryptocurrencies-1.0.10" = {
+    "@cspell/dict-cryptocurrencies-2.0.0" = {
       name = "_at_cspell_slash_dict-cryptocurrencies";
       packageName = "@cspell/dict-cryptocurrencies";
-      version = "1.0.10";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-1.0.10.tgz";
-        sha512 = "47ABvDJOkaST/rXipNMfNvneHUzASvmL6K/CbOFpYKfsd0x23Jc9k1yaOC7JAm82XSC/8a7+3Yu+Fk2jVJNnsA==";
+        url = "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-2.0.0.tgz";
+        sha512 = "nREysmmfOp7L2YCRAUufQahwD5/Punzb5AZ6eyg4zUamdRWHgBFphb5/9h2flt1vgdUfhc6hZcML21Ci7iXjaA==";
       };
     };
     "@cspell/dict-csharp-2.0.1" = {
@@ -2677,40 +2677,49 @@ let
         sha512 = "ZzAr+WRP2FUtXHZtfhe8f3j9vPjH+5i44Hcr5JqbWxmqciGoTbWBPQXwu9y+J4mbdC69HSWRrVGkNJ8rQk8pSw==";
       };
     };
-    "@cspell/dict-css-1.0.13" = {
+    "@cspell/dict-css-2.0.0" = {
       name = "_at_cspell_slash_dict-css";
       packageName = "@cspell/dict-css";
-      version = "1.0.13";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-2.0.0.tgz";
+        sha512 = "MrFyswFHnPh4H0u6IlV4eHy+ZCUrrHzeL161LyTOqCvaKpbZavMgNYXzZqTF9xafO0iLgwKrl+Gkclu1KVBg0Q==";
+      };
+    };
+    "@cspell/dict-dart-1.1.0" = {
+      name = "_at_cspell_slash_dict-dart";
+      packageName = "@cspell/dict-dart";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-1.0.13.tgz";
-        sha512 = "HU8RbFRoGanFH85mT01Ot/Ay48ixr/gG25VPLtdq56QTrmPsw79gxYm/5Qay16eQbpoPIxaj5CAWNam+DX4GbA==";
+        url = "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-1.1.0.tgz";
+        sha512 = "bBqZINm+RVjMgUrAhRzv/xx3jc3dkIqO0higPbsK+63IAtMNY3EiQnEO4eapbU+qAhyvICY9hZQZXy5Ux4p+Pw==";
       };
     };
-    "@cspell/dict-django-1.0.26" = {
+    "@cspell/dict-django-2.0.0" = {
       name = "_at_cspell_slash_dict-django";
       packageName = "@cspell/dict-django";
-      version = "1.0.26";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-1.0.26.tgz";
-        sha512 = "mn9bd7Et1L2zuibc08GVHTiD2Go3/hdjyX5KLukXDklBkq06r+tb0OtKtf1zKodtFDTIaYekGADhNhA6AnKLkg==";
+        url = "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-2.0.0.tgz";
+        sha512 = "GkJdJv6cmzrKcmq2/oxTXjKF5uv71r4eTqnFmgPbNBW1t+G4VYpzOf0QrVQrhx2RC4DdW5XfcTf+iS0FxHOTmw==";
       };
     };
-    "@cspell/dict-dotnet-1.0.32" = {
+    "@cspell/dict-dotnet-2.0.0" = {
       name = "_at_cspell_slash_dict-dotnet";
       packageName = "@cspell/dict-dotnet";
-      version = "1.0.32";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-1.0.32.tgz";
-        sha512 = "9H9vXrgJB4KF8xsyTToXO53cXD33iyfrpT4mhCds+YLUw3P3x3E9myszgJzshnrxYBvQZ+QMII57Qr6SjZVk4Q==";
+        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-2.0.0.tgz";
+        sha512 = "WOHfjwMuLbo76khDsDa1lJvP/dXcwXVwonWwfUFRt82BL/GtyMalh1HEtCWwKDuK/9f8PCEt/EZMkHT3D5ZV3w==";
       };
     };
-    "@cspell/dict-elixir-1.0.26" = {
+    "@cspell/dict-elixir-2.0.0" = {
       name = "_at_cspell_slash_dict-elixir";
       packageName = "@cspell/dict-elixir";
-      version = "1.0.26";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-1.0.26.tgz";
-        sha512 = "hz1yETUiRJM7yjN3mITSnxcmZaEyaBbyJhpZPpg+cKUil+xhHeZ2wwfbRc83QHGmlqEuDWbdCFqKSpCDJYpYhg==";
+        url = "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-2.0.0.tgz";
+        sha512 = "NeDObcqiYuqWRrzMAQLZDSrZlChTEZwTA2zHdI2nPtpeDl4FQcTz2BHP8zVt6Lj6G2QHJmNGmQtSmDguX86NYA==";
       };
     };
     "@cspell/dict-en-gb-1.1.33" = {
@@ -2740,13 +2749,13 @@ let
         sha512 = "bQ7K3U/3hKO2lpQjObf0veNP/n50qk5CVezSwApMBckf/sAVvDTR1RGAvYdr+vdQnkdQrk6wYmhbshXi0sLDVg==";
       };
     };
-    "@cspell/dict-fonts-1.0.14" = {
+    "@cspell/dict-fonts-2.0.0" = {
       name = "_at_cspell_slash_dict-fonts";
       packageName = "@cspell/dict-fonts";
-      version = "1.0.14";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-1.0.14.tgz";
-        sha512 = "VhIX+FVYAnqQrOuoFEtya6+H72J82cIicz9QddgknsTqZQ3dvgp6lmVnsQXPM3EnzA8n1peTGpLDwHzT7ociLA==";
+        url = "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-2.0.0.tgz";
+        sha512 = "AgkTalphfDPtKFPYmEExDcj8rRCh86xlOSXco8tehOEkYVYbksOk9XH0YVH34RFpy93YBd2nnVGLgyGVwagcPw==";
       };
     };
     "@cspell/dict-fullstack-2.0.4" = {
@@ -2758,112 +2767,112 @@ let
         sha512 = "+JtYO58QAXnetRN+MGVzI8YbkbFTLpYfl/Cw/tmNqy7U1IDVC4sTXQ2pZvbbeKQWFHBqYvBs0YASV+mTouXYBw==";
       };
     };
-    "@cspell/dict-golang-1.1.24" = {
+    "@cspell/dict-golang-2.0.0" = {
       name = "_at_cspell_slash_dict-golang";
       packageName = "@cspell/dict-golang";
-      version = "1.1.24";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-1.1.24.tgz";
-        sha512 = "qq3Cjnx2U1jpeWAGJL1GL0ylEhUMqyaR36Xij6Y6Aq4bViCRp+HRRqk0x5/IHHbOrti45h3yy7ii1itRFo+Xkg==";
+        url = "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-2.0.0.tgz";
+        sha512 = "rUeZJR/S/ZjAsOURtxsAO6xDQhL0IzF458ScahaeOqe0zVL3tx7tCLikCgT92NWPs3BNqmsZGqYSDbn/1KsSIA==";
       };
     };
-    "@cspell/dict-haskell-1.0.13" = {
+    "@cspell/dict-haskell-2.0.0" = {
       name = "_at_cspell_slash_dict-haskell";
       packageName = "@cspell/dict-haskell";
-      version = "1.0.13";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-1.0.13.tgz";
-        sha512 = "kvl8T84cnYRPpND/P3D86P6WRSqebsbk0FnMfy27zo15L5MLAb3d3MOiT1kW3vEWfQgzUD7uddX/vUiuroQ8TA==";
+        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-2.0.0.tgz";
+        sha512 = "cjX1Br+gSWqtcmJD/IMHz1UoP3pUaKIIKy/JfhEs7ANtRt6hhfEKe9dl2kQzDkkKt4pXol+YgdYxL/sVc/nLgQ==";
       };
     };
-    "@cspell/dict-html-2.0.3" = {
+    "@cspell/dict-html-3.0.0" = {
       name = "_at_cspell_slash_dict-html";
       packageName = "@cspell/dict-html";
-      version = "2.0.3";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-2.0.3.tgz";
-        sha512 = "6sORumQ9E7YpJ4vzYb0hHBgiXpehPAawuqmueGmx/PSRkqzMNLEwhYZuTHuIZSO291RTirPMfCkUahRoKdXOOQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-3.0.0.tgz";
+        sha512 = "VzZs/UtyRe4spdaH5SWakik+K3vB2fTyW3kdgGQbzjPGHyb5OXI5fmxQcX0yaSv5RkL0igVROHhu2ARUudoTpw==";
       };
     };
-    "@cspell/dict-html-symbol-entities-1.0.23" = {
+    "@cspell/dict-html-symbol-entities-2.0.0" = {
       name = "_at_cspell_slash_dict-html-symbol-entities";
       packageName = "@cspell/dict-html-symbol-entities";
-      version = "1.0.23";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-1.0.23.tgz";
-        sha512 = "PV0UBgcBFbBLf/m1wfkVMM8w96kvfHoiCGLWO6BR3Q9v70IXoE4ae0+T+f0CkxcEkacMqEQk/I7vuE9MzrjaNw==";
+        url = "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-2.0.0.tgz";
+        sha512 = "71S5wGCe7dq6C+zGDwsEAe5msub/irrLi6SExeG11a/EkpA3RKAEheDGPk0hOY4+vOcIFHaApxOjLTtgQfYWfA==";
       };
     };
-    "@cspell/dict-java-1.0.23" = {
+    "@cspell/dict-java-2.0.0" = {
       name = "_at_cspell_slash_dict-java";
       packageName = "@cspell/dict-java";
-      version = "1.0.23";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-1.0.23.tgz";
-        sha512 = "LcOg9srYLDoNGd8n3kbfDBlZD+LOC9IVcnFCdua1b/luCHNVmlgBx7e677qPu7olpMYOD5TQIVW2OmM1+/6MFA==";
+        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-2.0.0.tgz";
+        sha512 = "9f5LDATlAiXRGqxLxgqbOLlQxuMW2zcN7tBgxwtN+4u90vM03ZUOR/gKIuDV/y0ZuAiWBIjA73cjk8DJ13Q1eA==";
       };
     };
-    "@cspell/dict-latex-1.0.25" = {
+    "@cspell/dict-latex-2.0.0" = {
       name = "_at_cspell_slash_dict-latex";
       packageName = "@cspell/dict-latex";
-      version = "1.0.25";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-1.0.25.tgz";
-        sha512 = "cEgg91Migqcp1SdVV7dUeMxbPDhxdNo6Fgq2eygAXQjIOFK520FFvh/qxyBvW90qdZbIRoU2AJpchyHfGuwZFA==";
+        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-2.0.0.tgz";
+        sha512 = "H6RRwbHhQ9ARoO1R57SDqB+q/J5jUDdVnkdfukJkA+HNlJBhCcDuzGOIJqr+GBkJYDkF3obZ3LEOk2lUfT+Eyg==";
       };
     };
-    "@cspell/dict-lorem-ipsum-1.0.22" = {
+    "@cspell/dict-lorem-ipsum-2.0.0" = {
       name = "_at_cspell_slash_dict-lorem-ipsum";
       packageName = "@cspell/dict-lorem-ipsum";
-      version = "1.0.22";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-1.0.22.tgz";
-        sha512 = "yqzspR+2ADeAGUxLTfZ4pXvPl7FmkENMRcGDECmddkOiuEwBCWMZdMP5fng9B0Q6j91hQ8w9CLvJKBz10TqNYg==";
+        url = "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-2.0.0.tgz";
+        sha512 = "jKogAKtqvgPMleL6usyj3rZ0m8sVUR6drrD+wMnWSfdx1BmUyTsYiuh/mPEfLAebaYHELWSLQG3rDZRvV9Riqg==";
       };
     };
-    "@cspell/dict-lua-1.0.16" = {
+    "@cspell/dict-lua-2.0.0" = {
       name = "_at_cspell_slash_dict-lua";
       packageName = "@cspell/dict-lua";
-      version = "1.0.16";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-1.0.16.tgz";
-        sha512 = "YiHDt8kmHJ8nSBy0tHzaxiuitYp+oJ66ffCYuFWTNB3//Y0SI4OGHU3omLsQVeXIfCeVrO4DrVvRDoCls9B5zQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-2.0.0.tgz";
+        sha512 = "7WUEBEspSKtsq104WdIys1+DLqAxpJPzw74Py1TuE3fI5GvlzeSZkRFP2ya54GB2lCO4C3mq4M8EnitpibVDfw==";
       };
     };
-    "@cspell/dict-node-1.0.12" = {
+    "@cspell/dict-node-2.0.0" = {
       name = "_at_cspell_slash_dict-node";
       packageName = "@cspell/dict-node";
-      version = "1.0.12";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-1.0.12.tgz";
-        sha512 = "RPNn/7CSkflAWk0sbSoOkg0ORrgBARUjOW3QjB11KwV1gSu8f5W/ij/S50uIXtlrfoBLqd4OyE04jyON+g/Xfg==";
+        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-2.0.0.tgz";
+        sha512 = "tPPl3liJORa/l6AoYqh/7rjoM7bdtaIXnIN6ox7CE0flZcBS5rWOB6mzEY3rpu/XJX0pjbBiIoqrolDkVl1RTQ==";
       };
     };
-    "@cspell/dict-npm-1.0.16" = {
+    "@cspell/dict-npm-2.0.1" = {
       name = "_at_cspell_slash_dict-npm";
       packageName = "@cspell/dict-npm";
-      version = "1.0.16";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-1.0.16.tgz";
-        sha512 = "RwkuZGcYBxL3Yux3cSG/IOWGlQ1e9HLCpHeyMtTVGYKAIkFAVUnGrz20l16/Q7zUG7IEktBz5O42kAozrEnqMQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-2.0.1.tgz";
+        sha512 = "LRaJFSQfI0BIbbksPFE6fUjAyRFZRcknfOnYC/5c1wB/vsKH6KsqxTeCWNmHTYrk4KdBLZROhsHJXQIoqVTd4w==";
       };
     };
-    "@cspell/dict-php-1.0.25" = {
+    "@cspell/dict-php-2.0.0" = {
       name = "_at_cspell_slash_dict-php";
       packageName = "@cspell/dict-php";
-      version = "1.0.25";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-1.0.25.tgz";
-        sha512 = "RoBIP5MRdByyPaXcznZMfOY1JdCMYPPLua5E9gkq0TJO7bX5mC9hyAKfYBSWVQunZydd82HZixjb5MPkDFU1uw==";
+        url = "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-2.0.0.tgz";
+        sha512 = "29WgU77eTO985LvMHwPi1pcpfopfCWfTdffDyqya0JIfOSaFUrlYKzGPkE4mRxcz2G3hXsaM0SRvBNdIRwEdUg==";
       };
     };
-    "@cspell/dict-powershell-1.0.19" = {
+    "@cspell/dict-powershell-2.0.0" = {
       name = "_at_cspell_slash_dict-powershell";
       packageName = "@cspell/dict-powershell";
-      version = "1.0.19";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-1.0.19.tgz";
-        sha512 = "zF/raM/lkhXeHf4I43OtK0gP9rBeEJFArscTVwLWOCIvNk21MJcNoTYoaGw+c056+Q+hJL0psGLO7QN+mxYH1A==";
+        url = "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-2.0.0.tgz";
+        sha512 = "6uvEhLiGmG3u9TFkM1TYcky6aL9Yk7Sk3KJwoTYBaQJY2KqrprgyQtW6yxIw9oU52VRHlq3KKvSAA9Q26+SIkQ==";
       };
     };
     "@cspell/dict-public-licenses-1.0.4" = {
@@ -2893,31 +2902,31 @@ let
         sha512 = "Rp3d4sgD6izW9TW5yVI3D//3HTl9oOGBuzTvXRdoHksVPRvzIu2liVhj8MnQ3XIRe5Kc6IhLBAm6izuV2BpGwQ==";
       };
     };
-    "@cspell/dict-ruby-1.0.15" = {
+    "@cspell/dict-ruby-2.0.0" = {
       name = "_at_cspell_slash_dict-ruby";
       packageName = "@cspell/dict-ruby";
-      version = "1.0.15";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-1.0.15.tgz";
-        sha512 = "I76hJA///lc1pgmDTGUFHN/O8KLIZIU/8TgIYIGI6Ix/YzSEvWNdQYbANn6JbCynS0X+7IbZ2Ft+QqvmGtIWuA==";
+        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-2.0.0.tgz";
+        sha512 = "ux73GEIZrApxIG/BDnpdxWE7r9TY3n+3HFAEp+LDJjSjpwpn2VXopd7GsjwsvmlAv5F3Jch8tzgzujFZkvqdoA==";
       };
     };
-    "@cspell/dict-rust-1.0.23" = {
+    "@cspell/dict-rust-2.0.0" = {
       name = "_at_cspell_slash_dict-rust";
       packageName = "@cspell/dict-rust";
-      version = "1.0.23";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-1.0.23.tgz";
-        sha512 = "lR4boDzs79YD6+30mmiSGAMMdwh7HTBAPUFSB0obR3Kidibfc3GZ+MHWZXay5dxZ4nBKM06vyjtanF9VJ8q1Iw==";
+        url = "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-2.0.0.tgz";
+        sha512 = "EWlQivTKXMU3TTcq/Pi6KPKTQADknasQ700UrxRPzxhwQ4sKVZ88GDu6VZJlsbFUz8Vko289KS6wjiox/7WpmQ==";
       };
     };
-    "@cspell/dict-scala-1.0.21" = {
+    "@cspell/dict-scala-2.0.0" = {
       name = "_at_cspell_slash_dict-scala";
       packageName = "@cspell/dict-scala";
-      version = "1.0.21";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-1.0.21.tgz";
-        sha512 = "5V/R7PRbbminTpPS3ywgdAalI9BHzcEjEj9ug4kWYvBIGwSnS7T6QCFCiu+e9LvEGUqQC+NHgLY4zs1NaBj2vA==";
+        url = "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-2.0.0.tgz";
+        sha512 = "MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g==";
       };
     };
     "@cspell/dict-software-terms-2.1.0" = {
@@ -2938,13 +2947,13 @@ let
         sha512 = "IrMcRO7AYB2qU5cj4ttZyEbd04DRNOG6Iha106qGGmn4P096m+Y7lOnSLJx/rZbD/cAT3Z/7i465Lr1J93j7yg==";
       };
     };
-    "@cspell/dict-typescript-1.0.20" = {
+    "@cspell/dict-typescript-2.0.0" = {
       name = "_at_cspell_slash_dict-typescript";
       packageName = "@cspell/dict-typescript";
-      version = "1.0.20";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-1.0.20.tgz";
-        sha512 = "yIuGeeZtQA2gqpGefGjZqBl8iGJpIYWz0QzDqsscNi2qfSnLsbjM0RkRbTehM8y9gGGe7xfgUP5adxceJa5Krg==";
+        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-2.0.0.tgz";
+        sha512 = "WFBahxsnD2y4Os14tE5Zxh31Ggn4DzGOAu3UoxYl1lLLxaszx4RH7LmAeFuznySboiaBeRBbpfJOjQA796O6VQ==";
       };
     };
     "@cspell/dict-vue-2.0.2" = {
@@ -5557,13 +5566,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.246" = {
+    "@microsoft/load-themed-styles-1.10.247" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.246";
+      version = "1.10.247";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.246.tgz";
-        sha512 = "hlS+XxjFaFmDrdEcGRNtQgGvsLA8+6P3aYUguODhaUOu7zYCjRtJsrVtZSMyv5yCmBFBxiEbBS0ISdNGGDbHqg==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.247.tgz";
+        sha512 = "vKbuG3Mcbc4kkNAcIE13aIv5KoI2g+tHFFIZnFhtUilpYHc0VsMd4Fw7Jz81A8AB7L3wWu3OZB2CNiRnr1a3ew==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -6772,13 +6781,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.81" = {
+    "@redocly/openapi-core-1.0.0-beta.82" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.81";
+      version = "1.0.0-beta.82";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.81.tgz";
-        sha512 = "cLmGZD+7U3NB2u5q6E8gPKENEKlQmvD1D4m+eIixgM5yQ2K3w3VaD84eNPhvRlvgu7yPrDX9mmTj1jVp254SRA==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.82.tgz";
+        sha512 = "bJ0WclpgkFv4aa5QWU83ARCv3VQJy9U94reb1chOTg9s2bsTHbYuUwRv6G370a7lFXX86AyB3dT5IzS6GytLlA==";
       };
     };
     "@redocly/react-dropdown-aria-2.0.12" = {
@@ -8572,13 +8581,13 @@ let
         sha512 = "/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==";
       };
     };
-    "@types/node-fetch-2.5.12" = {
+    "@types/node-fetch-2.6.0" = {
       name = "_at_types_slash_node-fetch";
       packageName = "@types/node-fetch";
-      version = "2.5.12";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz";
-        sha512 = "MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==";
+        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.0.tgz";
+        sha512 = "HT+uU6V27wJFXgEqTk/+rVE1MWcp5bg7Yuz//43TZ2PjpQbQ8vDLwVmB+fSpgs83j/+p+rMIlDRo9TL3IexWMA==";
       };
     };
     "@types/node-fetch-3.0.3" = {
@@ -12793,13 +12802,13 @@ let
         sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
-    "async-append-only-log-3.1.2" = {
+    "async-append-only-log-3.1.3" = {
       name = "async-append-only-log";
       packageName = "async-append-only-log";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-append-only-log/-/async-append-only-log-3.1.2.tgz";
-        sha512 = "j0cRyJ7q7mOCoNa3eUJq7NDywTbZirGPdC8F11iEf5mw4YkL7v38wQCsA1wAZ+6oDYKjyjKruLCPVzFw7+3buw==";
+        url = "https://registry.npmjs.org/async-append-only-log/-/async-append-only-log-3.1.3.tgz";
+        sha512 = "98wgC9IDd2qlx00gjB01p5FRd2kTxkNtBHiIlMk9hWyt/xlEAG3qUiM1wt2clJSY4thpDmKGMfFlJAXU2CTIPw==";
       };
     };
     "async-done-1.3.2" = {
@@ -16970,22 +16979,22 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.5.16" = {
+    "cdk8s-1.5.17" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.5.16";
+      version = "1.5.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.16.tgz";
-        sha512 = "jxfvn7Qlqy+NzDUgk/2QdL7j89CKqTc40BaFchaG6h1d4bek0OHsyWRfxASDuM4NwEUr9D435J8ILumX+5+Raw==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.17.tgz";
+        sha512 = "GcbdbVNqNLSgw3tEyKQQLLT0c6uVkia1W5gTfUNHfU1SigGQjhm9WWhKNnktxDVn9UiS/PFC5xDhJibbLRZJ0g==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.116" = {
+    "cdk8s-plus-22-1.0.0-beta.117" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.116";
+      version = "1.0.0-beta.117";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.116.tgz";
-        sha512 = "sQAyUqnZ7YSNrjgNBu4PTGrvvehRIoET9mvRwnBVujMt32iLgQTyB7v47zTsJFffP+cAh3nSUwSKVQzi1B+iMw==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.117.tgz";
+        sha512 = "xMqtUrFAEsB7xZaercfePviYomoWqkE1bfXzgsb2RpmVVMJqx8jHyPDlSymNuj/kiAHYpx+9Ps9qV2iLqSGtbw==";
       };
     };
     "cdktf-0.9.0" = {
@@ -19643,22 +19652,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.62" = {
+    "constructs-10.0.63" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.62";
+      version = "10.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.62.tgz";
-        sha512 = "Wxy2JBzhsoP1onx68CgGDGVsFqsHfCs8hmZLx9PNoH2hu7iFBP8uoo2zZzE/P/N11QUfwliR/BgBRp3PGXdbzQ==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.63.tgz";
+        sha512 = "2AQEHHZsdUTbRynOpP9EP/M4ApkZbRCjHd4A9lnls+8dBonPwk2zAfu66v8ofctUOF4uEXWqje1ZSvde38/f9g==";
       };
     };
-    "constructs-3.3.217" = {
+    "constructs-3.3.218" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.217";
+      version = "3.3.218";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.217.tgz";
-        sha512 = "eOfx9P891TMTPq0Hv/6iI6FcIcy8tRSf72yKxtm+5qXDdg1Q1WHImcNUYg6roZfOJCL6Jva5Ha2Rc2xXsF/nww==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.218.tgz";
+        sha512 = "nt9GWhxy0iZI1JKhP5y9e2EFt+fEzqy33Mhanrt4WpSqzC4in1Et5ZBZo4rc2uzSWFSaQZbl5b3rurO8SqKevw==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -20778,49 +20787,49 @@ let
         sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     };
-    "cspell-gitignore-5.18.4" = {
+    "cspell-gitignore-5.18.5" = {
       name = "cspell-gitignore";
       packageName = "cspell-gitignore";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.18.4.tgz";
-        sha512 = "e7BCzqHBQJOVmU6k2bWBj/zoQ3cW6mmOEQWexdAXV7P0y/nMOCXBp3HmPyu2cBn5PN0xIrcbi/UpnJQyw5K+UA==";
+        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.18.5.tgz";
+        sha512 = "YKYFYMswkia0Uc5CMOapLwo8OKRfP+QbqyODTJ7IJACT7KCOSEj7A3B250LR2mWyvThyIUB+2c7+6ePdFCnh2g==";
       };
     };
-    "cspell-glob-5.18.4" = {
+    "cspell-glob-5.18.5" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.18.4.tgz";
-        sha512 = "TmP1bSMNS0TpqHgrE4vp4NhDM+MSL75JaqWWfGiCBlutOTYjn3D1+btDQFfDAph/C1PCdc8YFrqqv+72MjoONQ==";
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.18.5.tgz";
+        sha512 = "Tr/wMHpJ5zvD4qV4d5is1WJ6OQZSQSjiWoLCQ8pslpltGJhjYXPh3W9A8n4Ghr4AUUJNLKEQyCX+Z1kcA3hgOQ==";
       };
     };
-    "cspell-io-5.18.4" = {
+    "cspell-io-5.18.5" = {
       name = "cspell-io";
       packageName = "cspell-io";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.18.4.tgz";
-        sha512 = "/if+6g/r9gD6KNaintEyQcMK/JHiv55KQCF2HUWV4+HxVvS7wkI6SZ+kcxPGpv6A8dHe5TIOXmuYcHjcSSoZHg==";
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.18.5.tgz";
+        sha512 = "Ar2shXmKtLP935Linv+162xY6SNqIrwLI3rBRXs0/KnD/YdcLJQB0iBgFqvfvg7TcPg+EZOf9Oc6EvTLg2eprg==";
       };
     };
-    "cspell-lib-5.18.4" = {
+    "cspell-lib-5.18.5" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.18.4.tgz";
-        sha512 = "3a4rPJ4t5HJ/vO3CGaZP9mIA7FFCDfZ/W/uDpy9dTkL46ai+uroD1Z5AYhSMk41PSk88dyhk2Z+6SuJRi5daHw==";
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.18.5.tgz";
+        sha512 = "yrUk3MbRXy/YGNIcLfURDnw4fRiXcbHo9K5B6IhwYfHKc3VM6QgvEQ0ce44uzZ+AEZzWuQ++GbhUih+bSJ87DQ==";
       };
     };
-    "cspell-trie-lib-5.18.4" = {
+    "cspell-trie-lib-5.18.5" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
-      version = "5.18.4";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.18.4.tgz";
-        sha512 = "3yd3cW/T/7++87M9AMapgH2k6hkSFD4SPOrFL8gqQD8pvUhVrQ12uxFNo5cEEK3LtYcK1uhc2/GLiasJCBl8hA==";
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.18.5.tgz";
+        sha512 = "FifImmkcArPYiE8fLXcbB/yS15QyWwvHw/gpCPEkcuJMJH2gxC+HOE909JnBsyPyjCaX5gHWiIf7ePjdXlWsDg==";
       };
     };
     "csrf-3.1.0" = {
@@ -24918,13 +24927,13 @@ let
         sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.69" = {
+    "electron-to-chromium-1.4.71" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.69";
+      version = "1.4.71";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.69.tgz";
-        sha512 = "0rxK21MqWhN/fVUXNOeBksRlw79Wq26y6R8lxEEL2v7vwzRWbYhXI7Id5msee7/q1NNgu4mG78qaablN2xtfTQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz";
+        sha512 = "Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -27521,13 +27530,13 @@ let
         sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     };
-    "fast-equals-2.0.4" = {
+    "fast-equals-3.0.0" = {
       name = "fast-equals";
       packageName = "fast-equals";
-      version = "2.0.4";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-2.0.4.tgz";
-        sha512 = "caj/ZmjHljPrZtbzJ3kfH5ia/k4mTJe/qSiXAGzxZWRZgsgDV0cvNaQULqUX8t0/JVlzzEdYOwCN5DmzTxoD4w==";
+        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.0.tgz";
+        sha512 = "Af7nSOpf7617idrFg0MJY6x7yVDPoO80aSwtKTC0afT8B/SsmvTpA+2a+uPLmhVF5IHmY5NPuBAA3dJrp55rJA==";
       };
     };
     "fast-fifo-1.1.0" = {
@@ -37189,13 +37198,13 @@ let
         sha512 = "lEzbdLFyLhCwkMBG225egxUeey+/BQfe/R/1OolDiawmIlnGnGSlJbHy6RJ0WVcOuRmcGJl8jIhivpPjHeb44Q==";
       };
     };
-    "jsii-srcmak-0.1.475" = {
+    "jsii-srcmak-0.1.476" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.475";
+      version = "0.1.476";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.475.tgz";
-        sha512 = "q474uqf6eBYkxJphynp5D5P7Y4nlrTHr5Pc2kdbltrlB5sWopRgzjohIlm1nhnjMTgKKR9Ffu5U1fqq1WKhTfg==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.476.tgz";
+        sha512 = "p+2yFrk1i/cq9+bQNo7LXNmDyp/wOVsCM5JJq8z1mwwxT6HH/aMwFh/8ccmD0g3sxeU3TKZ4rNJRgJwYHp9XjA==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -37486,13 +37495,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.2.135" = {
+    "json2jsii-0.2.136" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.135";
+      version = "0.2.136";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.135.tgz";
-        sha512 = "Hjv5gxiAZCnbWjc54sEVsBvAUSMbRl+tzC88DYIFc0Ssb45f2d6jvbr2wQipPf+pHwaWI7+e94k9Kz51WWEJVw==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.136.tgz";
+        sha512 = "gn3kwUX+nwt4PuOqMW07ByOC1cRlh4YvB0cFjgqKf5JjATPa8gb2jt9QJULpEYGhkjx0SZtvT4Fmawpd8TY/RA==";
       };
     };
     "json3-3.2.6" = {
@@ -40069,6 +40078,15 @@ let
         sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
       };
     };
+    "lodash.castarray-4.4.0" = {
+      name = "lodash.castarray";
+      packageName = "lodash.castarray";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz";
+        sha1 = "c02513515e309daddd4c24c60cfddcf5976d9115";
+      };
+    };
     "lodash.clone-4.5.0" = {
       name = "lodash.clone";
       packageName = "lodash.clone";
@@ -43697,6 +43715,15 @@ let
         sha512 = "IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==";
       };
     };
+    "mini-svg-data-uri-1.4.3" = {
+      name = "mini-svg-data-uri";
+      packageName = "mini-svg-data-uri";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz";
+        sha512 = "gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==";
+      };
+    };
     "minicap-prebuilt-2.3.0" = {
       name = "minicap-prebuilt";
       packageName = "minicap-prebuilt";
@@ -49018,6 +49045,15 @@ let
         sha512 = "G0Enb7xcOpZlOmoK7h7Anym0nFG+t7JPMoTie5HoeUfwfm/mtNfUXyJvtom930Dg9l/g/rVk5CbivwzSS8ccUw==";
       };
     };
+    "paid-services-3.11.3" = {
+      name = "paid-services";
+      packageName = "paid-services";
+      version = "3.11.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.11.3.tgz";
+        sha512 = "hdn5O2SSt9Ep6wvCq6dQPofePhAkBUeWPMai3e2gMtTjly/jNR18Is9Hersj6yyIAVYepBi0Jn+a1CcLQzx0Rg==";
+      };
+    };
     "pako-0.2.9" = {
       name = "pako";
       packageName = "pako";
@@ -54527,6 +54563,15 @@ let
         sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
       };
     };
+    "raw-body-2.4.3" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
+        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
+      };
+    };
     "raw-loader-3.1.0" = {
       name = "raw-loader";
       packageName = "raw-loader";
@@ -61376,13 +61421,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.201" = {
+    "sscaff-1.2.202" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.201";
+      version = "1.2.202";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.201.tgz";
-        sha512 = "sswAbUOxHfbWFJvGGl9rnwFuwfBQG9lRrIt3PUccuv4KuFM5uCMSNdpT3IgK71U7XLL8En5IyKRDyz3yVziEtw==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.202.tgz";
+        sha512 = "JwR/fFwdzvLt1UTBs1kHd497Xs552kI0JdeK8VUCdFAc6eUUABxS+Qo4SCuogN/uO2DCLwGUNAleXBtGoSFnkA==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -62051,13 +62096,13 @@ let
         sha512 = "Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==";
       };
     };
-    "streamx-2.12.1" = {
+    "streamx-2.12.2" = {
       name = "streamx";
       packageName = "streamx";
-      version = "2.12.1";
+      version = "2.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamx/-/streamx-2.12.1.tgz";
-        sha512 = "zZVaQ5ows8ACQ+5H/0NTTZmYN5+kbNry5yxB6//wnKd5AEB8tKjMdMQXeZkIxerNiXpf2Fg0BhRe78SvgoSpCQ==";
+        url = "https://registry.npmjs.org/streamx/-/streamx-2.12.2.tgz";
+        sha512 = "NjGPzm2tnLOOPvbE/yxFoAgdYzvgjZkb9i4LgJokAfhLinMv2M7jevpIja+aP/ridUIfge9DGbB223kVzdrEzA==";
       };
     };
     "strftime-0.10.1" = {
@@ -67731,13 +67776,13 @@ let
         sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
-    "urijs-1.19.7" = {
+    "urijs-1.19.8" = {
       name = "urijs";
       packageName = "urijs";
-      version = "1.19.7";
+      version = "1.19.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.7.tgz";
-        sha512 = "Id+IKjdU0Hx+7Zx717jwLPsPeUqz7rAtuVBRLLs+qn+J2nf9NGITWVCxcijgYxBqe83C7sqsQPs6H1pyz3x9gA==";
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.8.tgz";
+        sha512 = "iIXHrjomQ0ZCuDRy44wRbyTZVnfVNLVo3Ksz1yxNyE5wV1IDZW2S5Jszy45DTlw/UdsnRT7DyDhIz7Gy+vJumw==";
       };
     };
     "urix-0.1.0" = {
@@ -70396,13 +70441,13 @@ let
         sha512 = "NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==";
       };
     };
-    "webpack-5.68.0" = {
+    "webpack-5.69.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.68.0";
+      version = "5.69.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz";
-        sha512 = "zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.69.0.tgz";
+        sha512 = "E5Fqu89Gu8fR6vejRqu26h8ld/k6/dCVbeGUcuZjc+goQHDfCPU9rER71JmdtBYGmci7Ec2aFEATQ2IVXKy2wg==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -74502,7 +74547,7 @@ in
       sources."stream-collector-1.0.1"
       sources."stream-equal-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamx-2.12.1"
+      sources."streamx-2.12.2"
       (sources."string-width-4.2.3" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
@@ -75711,7 +75756,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.9.0" // {
@@ -75989,6 +76034,45 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@tailwindcss/aspect-ratio" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_aspect-ratio";
+    packageName = "@tailwindcss/aspect-ratio";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.0.tgz";
+      sha512 = "WJu0I4PpqNPuutpaA9zDUq2JXR+lorZ7PbLcKNLmb6GL9/HLfC7w3CRsMhJF4BbYd/lkY6CfXOvkYpuGnZfkpQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A plugin that provides a composable API for giving elements a fixed aspect ratio.";
+      homepage = "https://github.com/tailwindlabs/tailwindcss-aspect-ratio#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "@tailwindcss/forms" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_forms";
+    packageName = "@tailwindcss/forms";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.4.0.tgz";
+      sha512 = "DeaQBx6EgEeuZPQACvC+mKneJsD8am1uiJugjgQK1+/Vt+Ai0GpFBC2T2fqnUad71WgOxyrZPE6BG1VaI6YqfQ==";
+    };
+    dependencies = [
+      sources."mini-svg-data-uri-1.4.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A plugin that provides a basic reset for form styles that makes form elements easy to override with utilities.";
+      homepage = "https://github.com/tailwindlabs/tailwindcss-forms#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@tailwindcss/language-server" = nodeEnv.buildNodePackage {
     name = "_at_tailwindcss_slash_language-server";
     packageName = "@tailwindcss/language-server";
@@ -76006,6 +76090,47 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@tailwindcss/line-clamp" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_line-clamp";
+    packageName = "@tailwindcss/line-clamp";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.3.1.tgz";
+      sha512 = "pNr0T8LAc3TUx/gxCfQZRe9NB2dPEo/cedPHzUGIPxqDMhgjwNm6jYxww4W5l0zAsAddxr+XfZcqttGiFDgrGg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A plugin that provides utilities for visually truncating text after a fixed number of lines.";
+      homepage = "https://github.com/tailwindlabs/tailwindcss-line-clamp#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "@tailwindcss/typography" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_typography";
+    packageName = "@tailwindcss/typography";
+    version = "0.5.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.2.tgz";
+      sha512 = "coq8DBABRPFcVhVIk6IbKyyHUt7YTEC/C992tatFB+yEx5WGBQrCgsSFjxHUr8AWXphWckadVJbominEduYBqw==";
+    };
+    dependencies = [
+      sources."lodash.castarray-4.4.0"
+      sources."lodash.isplainobject-4.0.6"
+      sources."lodash.merge-4.6.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Tailwind CSS plugin for automatically styling plain HTML content with beautiful typographic defaults.";
+      homepage = "https://github.com/tailwindcss/typography#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@uppy/companion" = nodeEnv.buildNodePackage {
     name = "_at_uppy_slash_companion";
     packageName = "@uppy/companion";
@@ -76754,7 +76879,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -78256,7 +78381,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.3"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -78505,7 +78630,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."uuid-3.4.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
@@ -78628,7 +78753,7 @@ in
     dependencies = [
       sources."browserslist-4.19.1"
       sources."caniuse-lite-1.0.30001312"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."escalade-3.1.1"
       sources."fraction.js-4.1.3"
       sources."node-releases-2.0.2"
@@ -78680,7 +78805,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cheerio-1.0.0-rc.10"
@@ -78798,7 +78923,7 @@ in
         ];
       })
       sources."querystring-0.2.0"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
@@ -79281,10 +79406,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "11.53.0";
+    version = "11.53.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.53.0.tgz";
-      sha512 = "hJBbtheb+yLtIZWFjnE6L4VnZbE+DhGh+Ghgl4SeAUOhR18J0hCXXj2Nk6SfE3zz1PItyelaeGZ8bRn7j+v5OQ==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.53.2.tgz";
+      sha512 = "MMhHxTYf62+8ipqX2HxbERWXW54VWx9ioaHxFRFq3eLCnCQonGVpMdT9U2zFfez+ORU8ixpeAQBDS+EEnyiS9A==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.0" // {
@@ -79698,7 +79823,11 @@ in
       })
       (sources."ln-telegram-3.17.3" // {
         dependencies = [
+          sources."@grpc/grpc-js-1.5.3"
           sources."@types/node-17.0.16"
+          sources."bech32-1.1.4"
+          sources."bitcoinjs-lib-5.2.0"
+          sources."bn.js-4.12.0"
           sources."invoices-2.0.3"
           sources."lightning-5.6.3"
           sources."ln-service-53.8.0"
@@ -79710,6 +79839,29 @@ in
               sources."ws-8.4.2"
             ];
           })
+          (sources."paid-services-3.11.0" // {
+            dependencies = [
+              sources."@types/node-17.0.10"
+              sources."bech32-2.0.0"
+              sources."bitcoinjs-lib-6.0.1"
+              sources."bn.js-5.2.0"
+              sources."lightning-5.3.4"
+              sources."ln-service-53.5.1"
+              (sources."ln-sync-3.7.0" // {
+                dependencies = [
+                  sources."@grpc/grpc-js-1.5.1"
+                  sources."@types/node-17.0.8"
+                  sources."lightning-5.3.3"
+                  sources."ln-service-53.5.0"
+                  sources."type-fest-2.9.0"
+                ];
+              })
+              sources."ws-8.4.2"
+            ];
+          })
+          sources."psbt-1.1.10"
+          sources."tiny-secp256k1-1.1.6"
+          sources."type-fest-2.10.0"
           sources."ws-8.5.0"
         ];
       })
@@ -79794,33 +79946,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."paid-services-3.11.0" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.5.3"
-          sources."@types/node-17.0.10"
-          sources."bech32-1.1.4"
-          sources."bitcoinjs-lib-5.2.0"
-          sources."bn.js-4.12.0"
-          sources."invoices-2.0.3"
-          sources."lightning-5.3.4"
-          sources."ln-service-53.5.1"
-          (sources."ln-sync-3.7.0" // {
-            dependencies = [
-              sources."@grpc/grpc-js-1.5.1"
-              sources."@types/node-17.0.8"
-              sources."bech32-2.0.0"
-              sources."bitcoinjs-lib-6.0.1"
-              sources."bn.js-5.2.0"
-              sources."lightning-5.3.3"
-              sources."ln-service-53.5.0"
-              sources."type-fest-2.9.0"
-            ];
-          })
-          sources."psbt-1.1.10"
-          sources."tiny-secp256k1-1.1.6"
-          sources."type-fest-2.10.0"
-        ];
-      })
+      sources."paid-services-3.11.3"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."pinkie-2.0.4"
@@ -80095,7 +80221,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
       sources."vscode-jsonrpc-6.0.0"
@@ -80707,7 +80833,7 @@ in
       sources."browser-sync-ui-2.27.7"
       sources."bs-recipes-1.3.4"
       sources."bs-snippet-injector-2.0.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."camelcase-5.3.1"
       sources."chalk-1.1.3"
       sources."chokidar-3.5.3"
@@ -80825,7 +80951,7 @@ in
       sources."portscanner-2.1.1"
       sources."qs-6.2.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readdirp-3.6.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
@@ -81866,7 +81992,7 @@ in
       sources."buffer-crc32-0.2.13"
       sources."buffer-equal-0.0.1"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."cache-base-1.0.1"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-4.1.0"
@@ -82217,7 +82343,7 @@ in
       })
       sources."query-string-6.14.1"
       sources."quick-lru-1.1.0"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."read-pkg-3.0.0"
       sources."read-pkg-up-3.0.0"
@@ -82427,8 +82553,8 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.5.16"
-      sources."cdk8s-plus-22-1.0.0-beta.116"
+      sources."cdk8s-1.5.17"
+      sources."cdk8s-plus-22-1.0.0-beta.117"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
@@ -82441,7 +82567,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.217"
+      sources."constructs-3.3.218"
       sources."date-format-4.0.3"
       sources."debug-4.3.3"
       sources."decamelize-5.0.1"
@@ -82528,14 +82654,14 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.475" // {
+      (sources."jsii-srcmak-0.1.476" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.2.135"
+      sources."json2jsii-0.2.136"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -82579,7 +82705,7 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.1"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.201"
+      sources."sscaff-1.2.202"
       (sources."streamroller-3.0.2" // {
         dependencies = [
           sources."fs-extra-10.0.0"
@@ -82662,7 +82788,7 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/node-17.0.18"
-      sources."@types/node-fetch-2.5.12"
+      sources."@types/node-fetch-2.6.0"
       sources."@xmldom/xmldom-0.8.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
@@ -82689,7 +82815,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.0.62"
+      sources."constructs-10.0.63"
       sources."date-format-4.0.3"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
@@ -82712,7 +82838,7 @@ in
       sources."find-up-4.1.0"
       sources."flatted-3.2.5"
       sources."foreach-2.0.5"
-      sources."form-data-3.0.1"
+      sources."form-data-2.5.1"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
@@ -82826,7 +82952,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.475" // {
+      (sources."jsii-srcmak-0.1.476" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -83283,10 +83409,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.22.4";
+    version = "0.22.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.22.4.tgz";
-      sha512 = "ZbBVLiuR7TOo5PPr0b5zWbyIl9IONTnZ/b1rJR7/AgCfUlrjC+4aIUg7ogNU0tRkSwj3ryr9BmGy2fdqmShWqg==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.22.6.tgz";
+      sha512 = "EHCWYn3aXttvkbfV1svUgbwoyC1t0LW/K05txNyoMygYtp1qGW2cl/Ro9h0qE7l2FZIgJ8vM1JW8d3az1dsgBw==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -83537,10 +83663,10 @@ in
   coc-markdownlint = nodeEnv.buildNodePackage {
     name = "coc-markdownlint";
     packageName = "coc-markdownlint";
-    version = "1.12.3";
+    version = "1.12.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.12.3.tgz";
-      sha512 = "b/p24GkRScjkgejrxi/K8bqhK2nHjZgm2aCDi23mk7oWYb/o1M7W9IfC1zn2xR8PbbY3Zg2YT/y38AOD65tU6A==";
+      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.12.4.tgz";
+      sha512 = "b7gBEE0pHp6GnkQYMEsI1Xdn8tqP7QbRpVMuSQ3AJzj0PIflBbk8v1HnriBfDPJBqU+9OQZyU2cm2rmKBw/8yA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -83958,7 +84084,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
@@ -85012,7 +85138,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -85713,10 +85839,10 @@ in
   coc-yank = nodeEnv.buildNodePackage {
     name = "coc-yank";
     packageName = "coc-yank";
-    version = "1.2.0";
+    version = "1.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-yank/-/coc-yank-1.2.0.tgz";
-      sha512 = "6Ene7ds4ZVfFLzihd3YaPussxNf0npGlPrlPpnGnCPeZ5bGDcEc3j++0Pl4yjo0sIb1QKR/WjrfA0/1Q8mi9yw==";
+      url = "https://registry.npmjs.org/coc-yank/-/coc-yank-1.2.1.tgz";
+      sha512 = "Eg5LmZtXqcACrGV6CiYzyUV3cL6JLmk43OLlXQu6wTFe8oC7aFi/sWAnL9oHSejki2iiNJqc50aLYfupxXRwOg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -87550,10 +87676,10 @@ in
   cspell = nodeEnv.buildNodePackage {
     name = "cspell";
     packageName = "cspell";
-    version = "5.18.4";
+    version = "5.18.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cspell/-/cspell-5.18.4.tgz";
-      sha512 = "u/6iw8Zc4RICTtmipM3i25s6+7NwbtGbxT3Xws7BLZ5qb2hsvSGSSJLgAMaQ3BFHZikdeHBDhGw2g67M3S5V8Q==";
+      url = "https://registry.npmjs.org/cspell/-/cspell-5.18.5.tgz";
+      sha512 = "rfk7sSZO304olxBXUFfec3YZL0gIyvjggwicGEgsweuh0Efdeq0zMmUV2sMckSOH9TVJdxW/DxTqjG+DLz8w+A==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -87568,46 +87694,47 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cspell/cspell-bundled-dicts-5.18.4"
-      sources."@cspell/cspell-pipe-5.18.4"
-      sources."@cspell/cspell-types-5.18.4"
-      sources."@cspell/dict-ada-1.1.2"
-      sources."@cspell/dict-aws-1.0.14"
-      sources."@cspell/dict-bash-1.0.18"
+      sources."@cspell/cspell-bundled-dicts-5.18.5"
+      sources."@cspell/cspell-pipe-5.18.5"
+      sources."@cspell/cspell-types-5.18.5"
+      sources."@cspell/dict-ada-2.0.0"
+      sources."@cspell/dict-aws-2.0.0"
+      sources."@cspell/dict-bash-2.0.1"
       sources."@cspell/dict-companies-2.0.2"
-      sources."@cspell/dict-cpp-1.1.40"
-      sources."@cspell/dict-cryptocurrencies-1.0.10"
+      sources."@cspell/dict-cpp-2.0.0"
+      sources."@cspell/dict-cryptocurrencies-2.0.0"
       sources."@cspell/dict-csharp-2.0.1"
-      sources."@cspell/dict-css-1.0.13"
-      sources."@cspell/dict-django-1.0.26"
-      sources."@cspell/dict-dotnet-1.0.32"
-      sources."@cspell/dict-elixir-1.0.26"
+      sources."@cspell/dict-css-2.0.0"
+      sources."@cspell/dict-dart-1.1.0"
+      sources."@cspell/dict-django-2.0.0"
+      sources."@cspell/dict-dotnet-2.0.0"
+      sources."@cspell/dict-elixir-2.0.0"
       sources."@cspell/dict-en-gb-1.1.33"
       sources."@cspell/dict-en_us-2.1.7"
       sources."@cspell/dict-filetypes-2.0.1"
-      sources."@cspell/dict-fonts-1.0.14"
+      sources."@cspell/dict-fonts-2.0.0"
       sources."@cspell/dict-fullstack-2.0.4"
-      sources."@cspell/dict-golang-1.1.24"
-      sources."@cspell/dict-haskell-1.0.13"
-      sources."@cspell/dict-html-2.0.3"
-      sources."@cspell/dict-html-symbol-entities-1.0.23"
-      sources."@cspell/dict-java-1.0.23"
-      sources."@cspell/dict-latex-1.0.25"
-      sources."@cspell/dict-lorem-ipsum-1.0.22"
-      sources."@cspell/dict-lua-1.0.16"
-      sources."@cspell/dict-node-1.0.12"
-      sources."@cspell/dict-npm-1.0.16"
-      sources."@cspell/dict-php-1.0.25"
-      sources."@cspell/dict-powershell-1.0.19"
+      sources."@cspell/dict-golang-2.0.0"
+      sources."@cspell/dict-haskell-2.0.0"
+      sources."@cspell/dict-html-3.0.0"
+      sources."@cspell/dict-html-symbol-entities-2.0.0"
+      sources."@cspell/dict-java-2.0.0"
+      sources."@cspell/dict-latex-2.0.0"
+      sources."@cspell/dict-lorem-ipsum-2.0.0"
+      sources."@cspell/dict-lua-2.0.0"
+      sources."@cspell/dict-node-2.0.0"
+      sources."@cspell/dict-npm-2.0.1"
+      sources."@cspell/dict-php-2.0.0"
+      sources."@cspell/dict-powershell-2.0.0"
       sources."@cspell/dict-public-licenses-1.0.4"
       sources."@cspell/dict-python-2.0.6"
       sources."@cspell/dict-r-1.0.2"
-      sources."@cspell/dict-ruby-1.0.15"
-      sources."@cspell/dict-rust-1.0.23"
-      sources."@cspell/dict-scala-1.0.21"
+      sources."@cspell/dict-ruby-2.0.0"
+      sources."@cspell/dict-rust-2.0.0"
+      sources."@cspell/dict-scala-2.0.0"
       sources."@cspell/dict-software-terms-2.1.0"
       sources."@cspell/dict-swift-1.0.2"
-      sources."@cspell/dict-typescript-1.0.20"
+      sources."@cspell/dict-typescript-2.0.0"
       sources."@cspell/dict-vue-2.0.2"
       sources."@types/parse-json-4.0.0"
       sources."ansi-regex-5.0.1"
@@ -87628,16 +87755,16 @@ in
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-7.0.1"
       sources."crypto-random-string-2.0.0"
-      sources."cspell-gitignore-5.18.4"
-      sources."cspell-glob-5.18.4"
-      sources."cspell-io-5.18.4"
-      sources."cspell-lib-5.18.4"
-      sources."cspell-trie-lib-5.18.4"
+      sources."cspell-gitignore-5.18.5"
+      sources."cspell-glob-5.18.5"
+      sources."cspell-io-5.18.5"
+      sources."cspell-lib-5.18.5"
+      sources."cspell-trie-lib-5.18.5"
       sources."dot-prop-5.3.0"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
-      sources."fast-equals-2.0.4"
+      sources."fast-equals-3.0.0"
       sources."fast-json-stable-stringify-2.1.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
@@ -88532,7 +88659,7 @@ in
       sources."@types/mapbox-gl-0.54.5"
       sources."@types/mime-types-2.1.1"
       sources."@types/node-14.18.12"
-      sources."@types/node-fetch-2.5.12"
+      sources."@types/node-fetch-2.6.0"
       sources."@types/prop-types-15.7.4"
       sources."@types/rc-1.2.0"
       sources."@types/react-16.14.23"
@@ -88655,7 +88782,7 @@ in
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
       sources."electron-13.6.9"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -88715,7 +88842,7 @@ in
       })
       sources."for-in-1.0.2"
       sources."for-own-1.0.0"
-      sources."form-data-3.0.1"
+      sources."form-data-2.5.1"
       sources."fragment-cache-0.2.1"
       sources."fs-extra-8.1.0"
       sources."fsevents-1.2.13"
@@ -90111,7 +90238,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -90371,11 +90498,7 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      (sources."@microsoft/load-themed-styles-1.10.246" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
+      sources."@microsoft/load-themed-styles-1.10.247"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -92948,7 +93071,7 @@ in
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -94564,7 +94687,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.960912"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -97084,7 +97207,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
       sources."@types/node-17.0.18"
-      sources."@types/node-fetch-2.5.12"
+      sources."@types/node-fetch-2.6.0"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
       sources."ansi-align-3.0.1"
@@ -97176,7 +97299,7 @@ in
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -97206,7 +97329,7 @@ in
       sources."file-type-16.5.3"
       sources."filter-obj-1.1.0"
       sources."find-up-4.1.0"
-      sources."form-data-3.0.1"
+      sources."form-data-2.5.1"
       sources."fs-exists-cached-1.0.0"
       sources."fs-extra-10.0.0"
       sources."fs.realpath-1.0.0"
@@ -98094,7 +98217,7 @@ in
         ];
       })
       sources."buffer-5.7.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -98299,7 +98422,7 @@ in
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."quick-lru-4.0.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
@@ -101902,7 +102025,7 @@ in
       sources."asynckit-0.4.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
       (sources."chalk-3.0.0" // {
         dependencies = [
@@ -102078,7 +102201,7 @@ in
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."qs-6.10.3"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."restore-cursor-2.0.0"
       sources."rimraf-3.0.2"
@@ -104716,7 +104839,7 @@ in
       sources."typedarray-to-buffer-3.1.5"
       sources."universalify-0.1.2"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."uuid-8.3.2"
       sources."which-1.3.1"
       sources."widest-line-3.1.0"
@@ -105088,7 +105211,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."enquirer-2.3.6"
@@ -108053,7 +108176,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -109651,10 +109774,10 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.13.10";
+    version = "8.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.13.10.tgz";
-      sha512 = "JS7z1E0a3IRTo2iHZ0gEwA/3+LzAyvaAA5uftu4jXC3FcAypm7NIg+zMB3TZtkHml3kUcIkRP08G46V+OU7A1A==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.14.0.tgz";
+      sha512 = "NHuFVPINakXJlAX0DHl3Bvcrz664ZblHfvB7M2X9fwTZNMZzoFTO2k0Q79Rh9QTmZTmmMjj0JmKMg7LiP+pFCA==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
@@ -109672,7 +109795,7 @@ in
       sources."chownr-1.1.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-8.3.0"
+      sources."commander-9.0.0"
       sources."concat-map-0.0.1"
       sources."cross-fetch-3.1.5"
       sources."d3-7.3.0"
@@ -113315,7 +113438,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -115257,7 +115380,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."chalk-3.0.0"
       sources."charm-0.1.2"
       sources."chokidar-3.5.3"
@@ -115362,7 +115485,7 @@ in
       sources."promptly-2.2.0"
       sources."proxy-agent-5.0.0"
       sources."proxy-from-env-1.1.0"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       sources."readdirp-3.6.0"
@@ -116459,7 +116582,7 @@ in
           sources."pako-0.2.9"
         ];
       })
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."vlq-0.2.3"
@@ -117172,7 +117295,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -118565,7 +118688,7 @@ in
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.6"
       sources."@redocly/ajv-8.6.4"
-      sources."@redocly/openapi-core-1.0.0-beta.81"
+      sources."@redocly/openapi-core-1.0.0-beta.82"
       sources."@redocly/react-dropdown-aria-2.0.12"
       sources."@types/json-schema-7.0.9"
       sources."@types/node-14.18.12"
@@ -119391,7 +119514,7 @@ in
       sources."@types/minimatch-3.0.5"
       sources."@types/mocha-8.2.3"
       sources."@types/node-14.17.34"
-      sources."@types/node-fetch-2.5.12"
+      sources."@types/node-fetch-2.6.0"
       sources."@types/vscode-1.64.0"
       sources."@typescript-eslint/eslint-plugin-4.33.0"
       sources."@typescript-eslint/experimental-utils-4.33.0"
@@ -119584,7 +119707,7 @@ in
       sources."flat-5.0.2"
       sources."flat-cache-3.0.4"
       sources."flatted-3.2.5"
-      sources."form-data-3.0.1"
+      sources."form-data-2.5.1"
       sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -121552,7 +121675,7 @@ in
       sources."array-unique-0.2.1"
       sources."arrify-1.0.1"
       sources."assign-symbols-1.0.0"
-      (sources."async-append-only-log-3.1.2" // {
+      (sources."async-append-only-log-3.1.3" // {
         dependencies = [
           sources."push-stream-11.0.1"
         ];
@@ -127375,10 +127498,10 @@ in
   thelounge-theme-abyss = nodeEnv.buildNodePackage {
     name = "thelounge-theme-abyss";
     packageName = "thelounge-theme-abyss";
-    version = "2.0.1";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge-theme-abyss/-/thelounge-theme-abyss-2.0.1.tgz";
-      sha512 = "ZdaeBx1cL3fXRBcRIDMMNHjMRxTwAt8qbM0Gjbki3lZUnmXvb5JbtO/I9HbzdeG5PeJzkraPHvF+j1hTJB7plQ==";
+      url = "https://registry.npmjs.org/thelounge-theme-abyss/-/thelounge-theme-abyss-2.0.2.tgz";
+      sha512 = "1TrJGKqrk+zltLhythNDfEScgt1FL8b1j+3+tPno1yN06vm3yn8dRQlNesMP52op5jX+xJqA5jBFQGMQYSS19g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -130645,7 +130768,7 @@ in
       sources."@discoveryjs/json-ext-0.5.6"
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.9"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
@@ -130734,7 +130857,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.9.0"
@@ -130944,7 +131067,7 @@ in
       sources."vscode-debugadapter-testsupport-1.51.0"
       sources."vscode-debugprotocol-1.51.0"
       sources."watchpack-2.3.1"
-      sources."webpack-5.68.0"
+      sources."webpack-5.69.0"
       (sources."webpack-cli-4.9.2" // {
         dependencies = [
           sources."commander-7.2.0"
@@ -132987,15 +133110,15 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.68.0";
+    version = "5.69.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz";
-      sha512 = "zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.69.0.tgz";
+      sha512 = "E5Fqu89Gu8fR6vejRqu26h8ld/k6/dCVbeGUcuZjc+goQHDfCPU9rER71JmdtBYGmci7Ec2aFEATQ2IVXKy2wg==";
     };
     dependencies = [
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.9"
       sources."@types/node-17.0.18"
       sources."@webassemblyjs/ast-1.11.1"
@@ -133024,7 +133147,7 @@ in
       sources."caniuse-lite-1.0.30001312"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.69"
+      sources."electron-to-chromium-1.4.71"
       sources."enhanced-resolve-5.9.0"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -133788,7 +133911,7 @@ in
       sources."stream-to-blob-2.0.1"
       sources."stream-to-blob-url-3.0.2"
       sources."stream-with-known-length-to-buffer-1.0.4"
-      sources."streamx-2.12.1"
+      sources."streamx-2.12.2"
       sources."string-width-4.2.3"
       sources."string2compact-1.3.2"
       sources."string_decoder-1.3.0"
diff --git a/pkgs/development/node-packages/package-tests/tailwindcss.nix b/pkgs/development/node-packages/package-tests/tailwindcss.nix
index d5c9fdeff36..1f986d8bb09 100644
--- a/pkgs/development/node-packages/package-tests/tailwindcss.nix
+++ b/pkgs/development/node-packages/package-tests/tailwindcss.nix
@@ -1,15 +1,47 @@
-{ runCommand, tailwindcss }:
+{ runCommand, tailwindcss, nodePackages }:
 
 let
+
   inherit (tailwindcss) packageName version;
+
+  tailwindcssInput = builtins.toFile "input.css" ''
+    @tailwind base;
+    @tailwind components;
+    @tailwind utilities;
+  '';
+
+  tailwindcssWithPlugins = tailwindcss.overrideAttrs (oldAttrs: {
+    plugins = [
+      nodePackages."@tailwindcss/typography"
+    ];
+  });
+
+  tailwindcssWithPluginsConfig = builtins.toFile "tailwind.config.js" ''
+    module.exports = {
+      content: ["./with-typography.input"],
+      plugins: [
+        require('@tailwindcss/typography'),
+      ],
+    }
+  '';
+
 in
 
 runCommand "${packageName}-tests" { meta.timeout = 60; }
   ''
+    mkdir $out
+
     # Ensure CLI runs
     ${tailwindcss}/bin/tailwind --help > /dev/null
     ${tailwindcss}/bin/tailwindcss --help > /dev/null
 
-    # Needed for Nix to register the command as successful
-    touch $out
+    # Ensure CLI with plugins runs
+    echo '"ml-4 prose"' > ./with-typography.input
+    ${tailwindcssWithPlugins}/bin/tailwind \
+      --config ${tailwindcssWithPluginsConfig} \
+      --input ${tailwindcssInput} \
+      --output $out/with-typography.css
+
+    grep -q ml-4 $out/with-typography.css
+    grep -q prose $out/with-typography.css
   ''
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index 4412f568508..0770f3a48d4 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -2,11 +2,12 @@
 , re, perl, ncurses
 , ppxlib, ppx_deriving
 , ppxlib_0_15, ppx_deriving_0_15
-, version ? "1.13.7"
+, version ? "1.14.1"
 }:
 with lib;
 let fetched = import ../../../build-support/coq/meta-fetch/default.nix
   {inherit lib stdenv fetchzip; } ({
+    release."1.14.1".sha256 = "sha256-BZPVL8ymjrE9kVGyf6bpc+GA2spS5JBpkUtZi04nPis=";
     release."1.13.7".sha256 = "10fnwz30bsvj7ii1vg4l1li5pd7n0qqmwj18snkdr5j9gk0apc1r";
     release."1.13.5".sha256 = "02a6r23mximrdvs6kgv6rp0r2dgk7zynbs99nn7lphw2c4189kka";
     release."1.13.1".sha256 = "12a9nbdvg9gybpw63lx3nw5wnxfznpraprb0wj3l68v1w43xq044";
diff --git a/pkgs/development/python-modules/aiohue/default.nix b/pkgs/development/python-modules/aiohue/default.nix
index 2b0061875b7..f9ee74dcc50 100644
--- a/pkgs/development/python-modules/aiohue/default.nix
+++ b/pkgs/development/python-modules/aiohue/default.nix
@@ -3,15 +3,19 @@
 , fetchPypi
 , aiohttp
 , asyncio-throttle
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "4.0.1";
+  version = "4.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-wPqEubd+vUpdj7tM0CTPkW5kV4qlF19T+djlGrtA5h8=";
+    hash = "sha256-/NcCo4Jvq1JeXD1UTrzNpPNDNmEt7GOrbCl79V00+eM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiopyarr/default.nix b/pkgs/development/python-modules/aiopyarr/default.nix
new file mode 100644
index 00000000000..54eab469629
--- /dev/null
+++ b/pkgs/development/python-modules/aiopyarr/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiopyarr";
+  version = "22.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "tkdrob";
+    repo = pname;
+    rev = version;
+    hash = "sha256-SEF47hz5XbATuuuO5t5H40+kT7RWSBjP0BfYd38pNSw=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiopyarr"
+  ];
+
+  meta = with lib; {
+    description = "Python API client for Lidarr/Radarr/Readarr/Sonarr";
+    homepage = "https://github.com/tkdrob/aiopyarr";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/asyncwhois/default.nix b/pkgs/development/python-modules/asyncwhois/default.nix
index 4bb201b251e..a607fe96582 100644
--- a/pkgs/development/python-modules/asyncwhois/default.nix
+++ b/pkgs/development/python-modules/asyncwhois/default.nix
@@ -1,9 +1,9 @@
 { lib
-, aiodns
 , asynctest
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, python-socks
 , pythonOlder
 , tldextract
 , whodap
@@ -11,7 +11,8 @@
 
 buildPythonPackage rec {
   pname = "asyncwhois";
-  version = "0.4.1";
+  version = "1.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
@@ -19,11 +20,11 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mKKN2IuveOE+3mZGS5LFa15lJPA9y7KgLd0FoRuEMH0=";
+    hash = "sha256-9tSGfF/Ezuya4pEyr1XolWXvSO/F/UrobRVlyHITNTU=";
   };
 
   propagatedBuildInputs = [
-    aiodns
+    python-socks
     tldextract
     whodap
   ];
@@ -33,8 +34,13 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Disable tests that require network access
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "python-socks[asyncio]" "python-socks"
+  '';
+
   disabledTests = [
+    # Tests require network access
     "test_pywhois_aio_get_hostname_from_ip"
     "test_pywhois_get_hostname_from_ip"
     "test_pywhois_aio_lookup_ipv4"
@@ -44,9 +50,13 @@ buildPythonPackage rec {
     "test_from_whois_cmd"
     "test_get_hostname_from_ip"
     "test_whois_query_run"
+    "test_whois_query_create_connection"
+    "test_whois_query_send_and_recv"
   ];
 
-  pythonImportsCheck = [ "asyncwhois" ];
+  pythonImportsCheck = [
+    "asyncwhois"
+  ];
 
   meta = with lib; {
     description = "Python module for retrieving WHOIS information";
diff --git a/pkgs/development/python-modules/autarco/default.nix b/pkgs/development/python-modules/autarco/default.nix
new file mode 100644
index 00000000000..7ff630376c0
--- /dev/null
+++ b/pkgs/development/python-modules/autarco/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "autarco";
+  version = "0.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "klaasnicolaas";
+    repo = "python-autarco";
+    rev = "v${version}";
+    hash = "sha256-ID1lCGfF6XHVv8Azd34a30hcsX17uMXo22stAhYH1Uo=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # Upstream doesn't set a version for the pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace "0.0.0" "${version}" \
+      --replace "--cov" ""
+  '';
+
+  pythonImportsCheck = [
+    "autarco"
+  ];
+
+  meta = with lib; {
+    description = "Module for the Autarco Inverter";
+    homepage = "https://github.com/klaasnicolaas/python-autarco";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/blis/default.nix b/pkgs/development/python-modules/blis/default.nix
index 6f0370f044c..e8e9962f9b4 100644
--- a/pkgs/development/python-modules/blis/default.nix
+++ b/pkgs/development/python-modules/blis/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "blis";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "833e01e9eaff4c01aa6e049bbc1e6acb9eca6ee513d7b35b5bf135d49705ad33";
+    sha256 = "sha256-/pexD2ihx7VMDlS+rahOGPTvto3UDJBvuHSPURR0PsY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cirq-rigetti/default.nix b/pkgs/development/python-modules/cirq-rigetti/default.nix
index 70333fb47a9..f33ce69fc55 100644
--- a/pkgs/development/python-modules/cirq-rigetti/default.nix
+++ b/pkgs/development/python-modules/cirq-rigetti/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage rec {
       --replace "pyjwt~=1.7.1" "pyjwt" \
       --replace "qcs-api-client~=0.8.0" "qcs-api-client" \
       --replace "iso8601~=0.1.14" "iso8601" \
+      --replace "rfc3986~=1.5.0" "rfc3986" \
+      --replace "pyquil~=3.0.0" "pyquil" \
       --replace "pydantic~=1.8.2" "pydantic"
     # Remove outdated test
     rm cirq_rigetti/service_test.py
diff --git a/pkgs/development/python-modules/concurrent-log-handler/default.nix b/pkgs/development/python-modules/concurrent-log-handler/default.nix
index 0f171e26439..d75df29421d 100644
--- a/pkgs/development/python-modules/concurrent-log-handler/default.nix
+++ b/pkgs/development/python-modules/concurrent-log-handler/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "concurrent-log-handler";
-  version = "0.9.19";
+  version = "0.9.20";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sS95q+0/lBIcJc6cJM21fYiSguxv9h9VNasgaNw31Ak=";
+    hash = "sha256-n6KtYUdKE3tWQnAr0z8hgVWYqsuh51E5s3zrLO3aj58=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
index ed8f127ff27..d9e7a1f5837 100644
--- a/pkgs/development/python-modules/croniter/default.nix
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "1.2.0";
+  version = "1.3.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CUQi9q657WRnFDk1A/o4iv5PhG4RDhmX/qV5TiCFwtc=";
+    hash = "sha256-2/AgcJiKvH6JVVg5FZMbNvhlw4KJOQvhGgxBErVcqsY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dendropy/default.nix b/pkgs/development/python-modules/dendropy/default.nix
index be1b705dc02..08c79468271 100644
--- a/pkgs/development/python-modules/dendropy/default.nix
+++ b/pkgs/development/python-modules/dendropy/default.nix
@@ -2,17 +2,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "dendropy";
   version = "4.5.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jeetsukumaran";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FP0+fJkkFtSysPxoHXjyMgF8pPin7aRyzmHe9bH8LlM=";
+    hash = "sha256-FP0+fJkkFtSysPxoHXjyMgF8pPin7aRyzmHe9bH8LlM=";
   };
 
   checkInputs = [
@@ -27,9 +31,13 @@ buildPythonPackage rec {
     "test_group1"
     # AssertionError: 6 != 5
     "test_by_num_lineages"
+    # AttributeError: module 'collections' has no attribute 'Iterable'
+    "test_findall_multiple"
   ];
 
-  pythonImportsCheck = [ "dendropy" ];
+  pythonImportsCheck = [
+    "dendropy"
+  ];
 
   meta = with lib; {
     description = "Python library for phylogenetic computing";
diff --git a/pkgs/development/python-modules/diceware/default.nix b/pkgs/development/python-modules/diceware/default.nix
index d519aa76c8b..5655e18bae1 100644
--- a/pkgs/development/python-modules/diceware/default.nix
+++ b/pkgs/development/python-modules/diceware/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "diceware";
-  version = "0.9.6";
+  version = "0.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0klb0ysybzlh2wihvir82hgq62v0jjmlcqklwajyms7c0p529yby";
+    sha256 = "sha256-srTMm1n1aNLvUb/fn34a+UHSX7j1wl8XAZHburzpZWk=";
   };
 
   nativeBuildInputs = [ pytest-runner ];
diff --git a/pkgs/development/python-modules/eiswarnung/default.nix b/pkgs/development/python-modules/eiswarnung/default.nix
new file mode 100644
index 00000000000..87ff2a4287a
--- /dev/null
+++ b/pkgs/development/python-modules/eiswarnung/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "eiswarnung";
+  version = "1.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "klaasnicolaas";
+    repo = "python-eiswarnung";
+    rev = "v${version}";
+    hash = "sha256-Cw/xRypErasdrOZJ/0dWLl4eYH01vBI9mYm98teIdRc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
+
+  pythonImportsCheck = [
+    "eiswarnung"
+  ];
+
+  meta = with lib; {
+    description = "Module for getting Eiswarning API forecasts";
+    homepage = "https://github.com/klaasnicolaas/python-eiswarnung";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/emv/default.nix b/pkgs/development/python-modules/emv/default.nix
index 62dcc44ca59..a4834a84656 100644
--- a/pkgs/development/python-modules/emv/default.nix
+++ b/pkgs/development/python-modules/emv/default.nix
@@ -40,6 +40,7 @@ buildPythonPackage rec {
       --replace '"argparse==1.4.0",' "" \
       --replace "click==7.1.2" "click" \
       --replace "pyscard==2.0.0" "pyscard" \
+      --replace "pycountry==20.7.3" "pycountry" \
       --replace "terminaltables==3.1.0" "terminaltables"
   '';
 
diff --git a/pkgs/development/python-modules/findimports/default.nix b/pkgs/development/python-modules/findimports/default.nix
new file mode 100644
index 00000000000..44f1a29a8f2
--- /dev/null
+++ b/pkgs/development/python-modules/findimports/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "findimports";
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "mgedmin";
+    repo = pname;
+    rev = version;
+    hash = "sha256-p13GVDXDOzOiTnRgtF7UxN1vwZRMa7wVEXJQrFQV7RU=";
+  };
+
+  pythonImportsCheck = [
+    "findimports"
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} testsuite.py
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Module for the analysis of Python import statements";
+    homepage = "https://github.com/mgedmin/findimports";
+    license = with licenses; [ gpl2Only /* or */ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/furo/default.nix b/pkgs/development/python-modules/furo/default.nix
index 875de68facd..dd517a2f547 100644
--- a/pkgs/development/python-modules/furo/default.nix
+++ b/pkgs/development/python-modules/furo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "furo";
-  version = "2022.1.2";
+  version = "2022.2.14.1";
   format = "wheel";
   disable = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     inherit pname version format;
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-lYAWv+E4fB6N31udcWlracTqpc2K/JSSq/sAirotMAw=";
+    sha256 = "sha256-18uBJgNGNyEjMjUOyEkMuVcy02UGsCQxiljO4ufeD9o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index be1ba4c48ab..38d5d13c2c4 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "0.33.0";
+  version = "0.34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6EgdTVEvDeCwTEOL5JGXzRFh0U2GjC4KIiDGrHXOD5Y=";
+    sha256 = "sha256-XgVZwCXdUae1BA3WUm+mJ+zmnqLpp13ht+FRJ3udmQk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/icecream/default.nix b/pkgs/development/python-modules/icecream/default.nix
index 28fed3bcb78..81fd7c8a693 100644
--- a/pkgs/development/python-modules/icecream/default.nix
+++ b/pkgs/development/python-modules/icecream/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "icecream";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "47e00e3f4e8477996e7dc420b6fa8ba53f8ced17de65320fedb5b15997b76589";
+    sha256 = "sha256-CTALLRxnhxJBDL1HyVGY6xtYD2bzEaVUzNa551js4O4=";
   };
 
   propagatedBuildInputs = [ asttokens colorama executing pygments ];
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index c78d5c7baee..23146a4f5a7 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "4.1.11";
+  version = "4.1.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PmPl2P72K9VYby+Kkt4LOGXYPt7nhu43LEmuv4ha1yA=";
+    hash = "sha256-AqpT2Mqo5bjmKsu6WzVw/+AUOaSwlDfmXO0ufB6uc8A=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/net2grid/default.nix b/pkgs/development/python-modules/net2grid/default.nix
new file mode 100644
index 00000000000..05b5321a69c
--- /dev/null
+++ b/pkgs/development/python-modules/net2grid/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "net2grid";
+  version = "3.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "klaasnicolaas";
+    repo = "python-net2grid";
+    rev = "v${version}";
+    hash = "sha256-nT9qMv4Zr7SjNwHRN3HRR11yl+Oue8VVCfJr2n1D02Q=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
+
+  pythonImportsCheck = [
+    "net2grid"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with NET2GRID devices";
+    homepage = "https://github.com/klaasnicolaas/python-net2grid";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/nose2/default.nix b/pkgs/development/python-modules/nose2/default.nix
index 004991e1ce9..15850119c84 100644
--- a/pkgs/development/python-modules/nose2/default.nix
+++ b/pkgs/development/python-modules/nose2/default.nix
@@ -9,26 +9,33 @@
 
 buildPythonPackage rec {
   pname = "nose2";
-  version = "0.10.0";
+  version = "0.11.0";
+  format = "setuptools";
 
-  # Requires mock 2.0.0 if python < 3.6, but NixPkgs has mock 3.0.5.
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "886ba617a96de0130c54b24479bd5c2d74d5c940d40f3809c3a275511a0c4a60";
+    hash = "sha256-bSCNfW7J+dVcdNrIHJOUvDkG2++BqMpUILK5t/jmnek=";
   };
 
-  propagatedBuildInputs = [ six coverage ];
+  propagatedBuildInputs = [
+    coverage
+    six
+  ];
 
   checkPhase = ''
     ${python.interpreter} -m unittest
   '';
 
+  pythonImportsCheck = [
+    "nose2"
+  ];
+
   meta = with lib; {
-    description = "nose2 is the next generation of nicer testing for Python";
+    description = "Test runner for Python";
     homepage = "https://github.com/nose-devs/nose2";
     license = licenses.bsd0;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/p1monitor/default.nix b/pkgs/development/python-modules/p1monitor/default.nix
index af28ea45a63..7a8bc9fd050 100644
--- a/pkgs/development/python-modules/p1monitor/default.nix
+++ b/pkgs/development/python-modules/p1monitor/default.nix
@@ -15,21 +15,15 @@ buildPythonPackage rec {
   version = "1.1.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-p1monitor";
     rev = "v${version}";
-    sha256 = "1ciaclgq4aknldjqlqa08jcab28sbqrjxy5nqqwlnb2wlprg5ijz";
+    hash = "sha256-X8by8qVcLEs5xrb4LjNeGomlmERAYYplo3Yqgh9lKrI=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace '"0.0.0"' '"${version}"' \
-      --replace 'addopts = "--cov"' ""
-  '';
-
   nativeBuildInputs = [
     poetry-core
   ];
@@ -45,10 +39,18 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "p1monitor" ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
+
+  pythonImportsCheck = [
+    "p1monitor"
+  ];
 
   meta = with lib; {
-    description = "Python client for the P1 Monitor";
+    description = "Module for interacting with the P1 Monitor";
     homepage = "https://github.com/klaasnicolaas/python-p1monitor";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 3297dbc091b..333542bdbcc 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.16.2";
+  version = "0.16.4";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "v${version}";
-    sha256 = "sha256-//0M5eNWJoviHWuZnHO6hCEP3g2dA8utJeoS5Lp0Hy8=";
+    sha256 = "sha256-G1PpVqq66uBAigrFxJVvcIKdyL3zTKxcosgkZTjy3Is=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pynndescent/default.nix b/pkgs/development/python-modules/pynndescent/default.nix
index 4173987a7f6..f15cfef63c6 100644
--- a/pkgs/development/python-modules/pynndescent/default.nix
+++ b/pkgs/development/python-modules/pynndescent/default.nix
@@ -7,16 +7,19 @@
 , scikit-learn
 , scipy
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pynndescent";
-  version = "0.5.5";
+  version = "0.5.6";
   format = "setuptools";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a7df8412b19cfb3596060faf5a8c5d0bf5b3bd504f8efd900fc4e3918c6f882";
+    hash = "sha256-YfsxiFuqxGnWeTPix8k1tu3rsG7kmOLw+d/JfFnTclw=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +34,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "pynndescent"
+  ];
+
   meta = with lib; {
     description = "Nearest Neighbor Descent";
     homepage = "https://github.com/lmcinnes/pynndescent";
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 93730fa664d..c604e61a2c3 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -7,6 +7,7 @@
 , lndir
 , dbus-python
 , sip
+, pyqt5_sip
 , pyqt-builder
 , libsForQt5
 , withConnectivity ? false
@@ -16,21 +17,7 @@
 , withLocation ? false
 }:
 
-let
-  pyqt5_sip = buildPythonPackage rec {
-    pname = "PyQt5_sip";
-    version = "12.9.0";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0cmfxb7igahxy74qkq199l6zdxrr75bnxris42fww3ibgjflir6k";
-    };
-
-    # There is no test code and the check phase fails with:
-    # > error: could not create 'PyQt5/sip.cpython-38-x86_64-linux-gnu.so': No such file or directory
-    doCheck = false;
-  };
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "PyQt5";
   version = "5.15.4";
   format = "pyproject";
diff --git a/pkgs/development/python-modules/pyqt/sip.nix b/pkgs/development/python-modules/pyqt/sip.nix
new file mode 100644
index 00000000000..aa29d9ad9d3
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt/sip.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pyqt5-sip";
+  version = "12.9.1";
+
+  src = fetchPypi {
+    pname = "PyQt5_sip";
+    inherit version;
+    sha256 = "LyTymbRMURwjeWqvu7WBv96/eNCQVle3zuIUG0mCAw4=";
+  };
+
+  # There is no test code and the check phase fails with:
+  # > error: could not create 'PyQt5/sip.cpython-38-x86_64-linux-gnu.so': No such file or directory
+  doCheck = false;
+  pythonImportsCheck = ["PyQt5.sip"];
+
+  meta = with lib; {
+    description = "Python bindings for Qt5";
+    homepage    = "https://www.riverbankcomputing.com/software/sip/";
+    license     = licenses.gpl3Only;
+    platforms   = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ sander ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix
index 38dd2a8c5a3..c1aa5d56040 100644
--- a/pkgs/development/python-modules/pyquil/default.nix
+++ b/pkgs/development/python-modules/pyquil/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , importlib-metadata
 , ipython
 , lark
@@ -23,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pyquil";
-  version = "3.0.1";
+  version = "3.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,17 +31,9 @@ buildPythonPackage rec {
     owner = "rigetti";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OU7/LjcpCxvqlcfdlm5ll4f0DYXf0yxNprM8Muu2wyg=";
+    sha256 = "sha256-ejfzxCf2NucK/hfzswHu3h4DPPZQY8vkMAQ51XDRWKU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "pyquil-pr-1404-unpin-qcs-api-client-version-pyproject.patch";
-      url = "https://github.com/rigetti/pyquil/commit/2e35a4fdf65262fdf39c5091aeddfa3f3564925a.patch";
-      sha256 = "sha256-KGDNU2wpzsuifQSbbkoMwaFXspHW6zyIJ5GRZbw+lUY=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
@@ -97,7 +88,9 @@ buildPythonPackage rec {
     "test_classical"
   ];
 
-  pythonImportsCheck = [ "pyquil" ];
+  pythonImportsCheck = [
+    "pyquil"
+  ];
 
   meta = with lib; {
     description = "Python library for creating Quantum Instruction Language (Quil) programs";
diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix
index 91dabf40e93..e82aa3a2e8e 100644
--- a/pkgs/development/python-modules/pywizlight/default.nix
+++ b/pkgs/development/python-modules/pywizlight/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pywizlight";
-  version = "0.5.8";
+  version = "0.5.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sbidy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8VDneIfZ2o96fOdSRxDbbGg6rEsqdNTyfT7amnEYvBI=";
+    sha256 = "sha256-MBnO6k1nHKvLImLqGFiikIC03ThylwXb7Xehy5HjS0s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
index 2798ff3153d..ba892f2228b 100644
--- a/pkgs/development/python-modules/rokuecp/default.nix
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.13.2";
+  version = "0.14.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = version;
-    hash = "sha256-TWjONAGUwcCaWiaCxgR1xV1R+Ouy7FvMUewZa3z1mBc=";
+    hash = "sha256-B8tcYcBtgPkT6REDC7vhHmfO/MjMRQgR3PkF0pfjbyk=";
   };
 
   nativeBuildInputs = [
@@ -56,6 +56,8 @@ buildPythonPackage rec {
   disabledTests = [
     # https://github.com/ctalkington/python-rokuecp/issues/249
     "test_resolve_hostname"
+    # Assertion issue
+    "test_guess_stream_format"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/scp/default.nix b/pkgs/development/python-modules/scp/default.nix
index e62581057d0..61baf3724e1 100644
--- a/pkgs/development/python-modules/scp/default.nix
+++ b/pkgs/development/python-modules/scp/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scp";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "713f117413bbd616a1a7da8f07db9adcd835ce73d8585fb469ea5b5785f92e4d";
+    sha256 = "sha256-LQNJpUAIHdJGyBQeRWmfP4Y/LVOswISr0H0+OHox5cc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yalesmartalarmclient/default.nix b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
index e9a8ae0323d..1a8d561d5de 100644
--- a/pkgs/development/python-modules/yalesmartalarmclient/default.nix
+++ b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
@@ -3,17 +3,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "yalesmartalarmclient";
-  version = "0.3.7";
+  version = "0.3.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "domwillcode";
     repo = "yale-smart-alarm-client";
     rev = "v${version}";
-    sha256 = "sha256-LcHXw4rZhQ942EhiGrRTf3MpT7G5OFSX8QbpxVjvTTo=";
+    sha256 = "sha256-CWL1uvmUGLaa2Ho0Ka4wTWstebhe1nQr9R821mweE60=";
   };
 
   propagatedBuildInputs = [
@@ -24,7 +28,9 @@ buildPythonPackage rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "yalesmartalarmclient" ];
+  pythonImportsCheck = [
+    "yalesmartalarmclient"
+  ];
 
   meta = with lib; {
     description = "Python module to interface with Yale Smart Alarm Systems";
diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix
new file mode 100644
index 00000000000..06fc4d2e90e
--- /dev/null
+++ b/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, clang
+, cmake
+, fetchFromGitHub
+, llvmPackages
+, rustPlatform
+, testVersion
+}:
+
+let
+  pname = "amazon-qldb-shell";
+  version = "2.0.0";
+  package = rustPlatform.buildRustPackage {
+    inherit pname version;
+
+    src = fetchFromGitHub {
+      owner = "awslabs";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "sha256-Pnm1HxEjjNKpS3tTymtOXxUF7EEnWM+7WBsqeaG8seA=";
+    };
+
+    nativeBuildInputs = [ clang cmake ];
+    buildInputs = [ llvmPackages.libclang ];
+
+    cargoSha256 = "sha256-EUqGSKcGnhrdLn8ystaLkkR31RjEvjW6vRzKPMK77e8=";
+
+    LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+
+    passthru.tests.version = testVersion { inherit package; };
+
+    meta = with lib; {
+      description = "An interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)";
+      homepage = "https://github.com/awslabs/amazon-qldb-shell";
+      license = licenses.asl20;
+      maintainers = [ maintainers.terlar ];
+    };
+  };
+in
+package
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index cd370d25c60..335974f012e 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.842";
+  version = "2.0.853";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-99rybwhhOSDDlZrCDZbXT2ug/7slTqPSyOUaW2S5DC8=";
+    hash = "sha256-qD6P3ppxckqiCB6wiypdVQtY+b3PN3dhuAQP5REDq3U=";
   };
 
   nativeBuildInputs = with py.pkgs; [
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index 33dc9267eab..8bf2ed7c04e 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.7.5";
+  version = "2.8.0";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-qTLpvb0yPB0+hR0Kkb7d3APlwdkkn6uNM0A80nPmjB4=";
+    sha256 = "sha256-IcYD9o6rv1ti4IvTEEJ5iV1OdJP7cHN0vetrvabxeas=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/bingo/default.nix b/pkgs/development/tools/bingo/default.nix
new file mode 100644
index 00000000000..8fe1dbaa4be
--- /dev/null
+++ b/pkgs/development/tools/bingo/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildGoModule, fetchFromGitHub, testVersion, bingo }:
+
+buildGoModule rec {
+  pname = "bingo";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "bwplotka";
+    repo = "bingo";
+    rev = "v${version}";
+    sha256 = "sha256-4D8YaA/AH1gIp5iwD7WEAdBl73sqwHpfOe7bnxVcRcw=";
+  };
+
+  vendorSha256 = "sha256-xrz9FpwZd+FboVVTWSqGHRguGwrwE9cSFEEtulzbfDQ=";
+
+  patches = [
+    # Do not execute `go` command when invoking `bingo version`.
+    ./version_go.patch
+  ];
+
+  postPatch = ''
+    rm get_e2e_test.go get_e2e_utils_test.go
+  '';
+
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testVersion {
+    package = bingo;
+    command = "bingo version";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "Like `go get` but for Go tools! CI Automating versioning of Go binaries in a nested, isolated Go modules.";
+    homepage = "https://github.com/bwplotka/bingo";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
+}
diff --git a/pkgs/development/tools/bingo/version_go.patch b/pkgs/development/tools/bingo/version_go.patch
new file mode 100644
index 00000000000..2898326a054
--- /dev/null
+++ b/pkgs/development/tools/bingo/version_go.patch
@@ -0,0 +1,17 @@
+diff --git a/main.go b/main.go
+index 5600f7e..662ed1b 100644
+--- a/main.go
++++ b/main.go
+@@ -201,10 +201,8 @@ func main() {
+ 			return pkgs.PrintTab(target, os.Stdout)
+ 		}
+ 	case "version":
+-		cmdFunc = func(ctx context.Context, r *runner.Runner) error {
+-			_, err := fmt.Fprintln(os.Stdout, version.Version)
+-			return err
+-		}
++		_, _ = fmt.Fprintln(os.Stdout, version.Version)
++		return
+ 	default:
+ 		exitOnUsageError(flags.Usage, "No such command", flags.Arg(0))
+ 	}
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index b94330d658c..e8da9733ae9 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -96,9 +96,9 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_7 = gen {
-    version = "7.3.3";
-    nativeVersion = "0.22-milestone-21";
-    sha256 = "00h3z0vxc4hv31sc71gb88r8yabyqgz304wpr0bxhbx2d14f11mm";
+    version = "7.4";
+    nativeVersion = "0.22-milestone-23";
+    sha256 = "0d56bgd2m64pzmycjk29hwdlhbpn1kkm7fjik1sibn6vslw71hlc";
     defaultJava = jdk17;
   };
 
diff --git a/pkgs/development/tools/build-managers/gradle/update.sh b/pkgs/development/tools/build-managers/gradle/update.sh
index 03c914bbdaf..0d6b78a6652 100755
--- a/pkgs/development/tools/build-managers/gradle/update.sh
+++ b/pkgs/development/tools/build-managers/gradle/update.sh
@@ -35,9 +35,13 @@ do
 
     f="gradle-${v}-spec.nix"
 
-    if [ -f "$f" ]
+    if [[ -n "$1" && "$1" != "$v" ]]
     then
-        echo "$v SKIP"
+        echo "$v SKIP (nomatch)"
+        continue
+    elif [ "$1" == "" ] && [ -f "$f" ]
+    then
+        echo "$v SKIP (exists)"
         continue
     fi
 
@@ -45,12 +49,18 @@ do
     read -d "\n" gradle_hash gradle_path < <(nix-prefetch-url --print-path $url)
 
     # Prefix and suffix for "native-platform" dependency.
-    gradle_native_prefix="gradle-$v/lib/native-native-"
+    gradle_native_prefix="gradle-$v/lib/native-platform-"
     gradle_native_suffix=".jar"
-    gradle_native=$(zipinfo -1 "$gradle_path" "$gradle_native_prefix*$gradle_native_suffix" | head -n1)
+    tmp=$(mktemp)
+    zipinfo -1 "$gradle_path" "$gradle_native_prefix*$gradle_native_suffix" > $tmp
+    gradle_native=$(cat $tmp | head -n1)
     gradle_native=${gradle_native#"$gradle_native_prefix"}
     gradle_native=${gradle_native%"$gradle_native_suffix"}
 
+    # Supported architectures
+    #grep -Pho "(linux|osx)-\w+" $tmp | sort | uniq
+    rm -f $tmp
+
     echo -e "{\\n  version = \"$v\";\\n  nativeVersion = \"$gradle_native\";\\n  sha256 = \"$gradle_hash\";\\n}" > $f
 
     echo "$v DONE"
diff --git a/pkgs/development/tools/circup/default.nix b/pkgs/development/tools/circup/default.nix
new file mode 100644
index 00000000000..d0e727d0af2
--- /dev/null
+++ b/pkgs/development/tools/circup/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "circup";
+  version = "1.0.3";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "adafruit";
+    repo = pname;
+    rev = version;
+    hash = "sha256-1UNruZgA7Z0G1t3GLffiA/p+gjPYBPpdn5QqQk6D/o0=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    click
+    findimports
+    requests
+    semver
+    setuptools
+    update_checker
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  postBuild = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  pythonImportsCheck = [
+    " circup "
+  ];
+
+  meta = with lib; {
+    description = "CircuitPython library updater";
+    homepage = "https://github.com/adafruit/circup";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
index 31174ea7a1a..91ce1bb0871 100644
--- a/pkgs/development/tools/ddosify/default.nix
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QLJB2WcnguknEMdgwJzltp++mJCL4cFOWU568aTk0sc=";
+    sha256 = "sha256-urls47jS9Vu64PC/Ie+UTDfg17krs+UegqKub1QaYK4=";
   };
 
   vendorSha256 = "sha256-lbo9P2UN9TmUAqyhFdbOHWokoAogVQZihpcOlhmumxU=";
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 3cd71e03e3c..5b63f290226 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-drBKpK3iHr+0gfoMHe4stxMbAG6WnA4P0uUoYKq2UCI=";
+    sha256 = "sha256-H+gIN3I0qC2UeBow2N6KjECFiroeZACvrS3vo8+H6jY=";
   };
 
-  vendorSha256 = "sha256-FtbSA1YM0/bgKd0ATDG4rqXAmZHPAKNTHGyxeWuvAMo=";
+  vendorSha256 = "sha256-6lzusbfedDJESJIxsTVGoRnjdtPnMSDdL2OjXIFFL04=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 2b07543b986..df55b51a0ad 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -73,43 +73,43 @@ rec {
     headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
   };
 
-  electron_14 = mkElectron "14.2.5" {
-    armv7l-linux = "d6f7e2fe6088f57ecd455035e0815c20dd1d84b4cbf669e5fa355b96f36eaf2e";
-    aarch64-linux = "c8a1a7c5c04462bbe6e148587a72b002ab4bb90aecb9686546b22580c0f9fa52";
-    x86_64-linux = "5820ea6c9cfe02096a75df43cab7cdfe5947d6d90207e98c563bd50c400f8110";
-    i686-linux = "8099fc3b137e80c5e65493dea2cf3dfb923e86693f3b082429f6fd949560f540";
-    x86_64-darwin = "258eb29426a5f275c49284be6818f856ffc29d04fa9cef6fafcdcd207092281d";
-    aarch64-darwin = "38a19828c1d7ff5fb49c5db5a706482f4afbae9fecaedaf9ebea0a5765bf952d";
-    headers = "172h9ba1s531y3s751inwsia6kr39412yivqkpdc58jmn47nmgb8";
+  electron_14 = mkElectron "14.2.6" {
+    armv7l-linux = "fd115652f491fff6a28bf39dc41e3c7f1b638e7dcc7856c33b6a97c7763ea9a3";
+    aarch64-linux = "530df3030aeb2c0f67ba4bc210c0f0fe77670001d2ba30ad6858f74952528df2";
+    x86_64-linux = "c3f91ced7e429079d43c182f47cea1eceef17ab65c390e15f9c6af56e58ed3d9";
+    i686-linux = "d66881d0747c99618c500b46e044eb4e97442400624fbcf9a6af114743e6e8db";
+    x86_64-darwin = "15db43c17a33bf9e31f66f5025e0810dfbd2b237f7645eda51409de7930cc9d1";
+    aarch64-darwin = "a5f7b8cc5f6dfc7561368d2f09745967bb553a29a22ef74af8f795225483338a";
+    headers = "0rxbij6qvi0xzcmbxf3fm1snvakaxp9c512z9ni36y98sgg4s3l8";
   };
 
-  electron_15 = mkElectron "15.3.6" {
-    armv7l-linux = "4c105be3dc38ea8899f9fe58c05dfbf20e0d43e9b35ca815c43329d17b714d36";
-    aarch64-linux = "3d06de32f02e38039c3c9deb418e3b9dbcda30f387f27e54fb1f1be068b80989";
-    x86_64-linux = "5a9a3e37e92ad67d2a4ebb5ac85cb817d682fe2ca0b37b924d7f40085d246cc9";
-    i686-linux = "32ff47793c8123fa6220ff9e7c524e3b89c0411e94bdb4d9391038cc58449b5f";
-    x86_64-darwin = "faff636a6deedc3b7a3c900aef187baaeec2b83ccc405c56e3ea18d68894b82c";
-    aarch64-darwin = "ae7350a7daa6eb2d21fa001c38217bc46a3894f843962c5cca192b837cc9d81c";
-    headers = "1mbffk26kdn1id809sdg1kdhrf285zm9ls40b5zaflcljvqg3i2x";
+  electron_15 = mkElectron "15.3.7" {
+    armv7l-linux = "1cc5ce2ab6d795271f54e67a78eec607c0a14761ee1177078a157abad7aa61e6";
+    aarch64-linux = "caf7146c738207b78ea63e95fa055f36829bb360e2d81fce10513fae238f2750";
+    x86_64-linux = "e424dded1ac545634128bfb5c6195807aa96b7761be95f52ed760886f42874cc";
+    i686-linux = "9f1898f9c96672076a87ca559dd11788964347fd17316f0c24f75c9c53985ce5";
+    x86_64-darwin = "282f8737fdc73a3ddc82f56b4affc9f6fefec1b233e532e08d206344b657cd8a";
+    aarch64-darwin = "d64e12c680d60b535fea7de4322504db04a83e63e8557d8e9b3677a334911752";
+    headers = "0nfk75r72p5dgz0rdyqfqjmlwn2wlgn7h93a1v5ghjpwn1rp89m7";
   };
 
-  electron_16 = mkElectron "16.0.8" {
-    armv7l-linux = "be3a598d5f7c677c11831b78a8a82d95132ea760bb643e526426b91fdf27aff7";
-    aarch64-linux = "465cd93d69ea2e3273339d48bef58e7359b692da5535bff5882e803c22535ec5";
-    x86_64-linux = "25767a94d4b0927616ed5008889cd65bb073c7005209671b34045f91d698c857";
-    i686-linux = "1cedf35f501ea1512fe9ae5cae47a72e093b6eb7297f76b726551e4a33a593a5";
-    x86_64-darwin = "a3c5e5368165304fc9392e3a5b59480965cf0f91f7d889257e6a622f48051cbf";
-    aarch64-darwin = "dc8414d7b9a967bda530c83a81720519931aebf541cfaed142ee2042c16e683a";
-    headers = "042gz036dzwbvvxvgbgkdb5nq7p8a7vcan6c35l7imgv1hd4g5v4";
+  electron_16 = mkElectron "16.0.9" {
+    armv7l-linux = "7071f18230f5d4bbf84d3f1955056f2a6952e5487dfdecb51708e419c0b1a594";
+    aarch64-linux = "a7873d1cb2b632c9c48a6942bf4a436463c07cc488f4b0b4575e0e4a496c357d";
+    x86_64-linux = "06d57bc1e59ebe046d5731d64eb67c41e793731e67aefbf33f4e3c23139285d4";
+    i686-linux = "8603545bdaec512380050ce6f9f1ef283514b960c8d6c8682eaa6563d93705b2";
+    x86_64-darwin = "d092af5e5fddb295e9ebb9b639006deec125b1f6b30896d22e98b84e5a74af40";
+    aarch64-darwin = "62fd4d033fd0ad62d1c13ac219bd68e76b1625c305097c7aa2ab799f45c9e879";
+    headers = "0d0jkjjfq32j09bjlpmx1hvi20rh8yfkfm7hfcv3xs831physbj5";
   };
 
-  electron_17 = mkElectron "17.0.0" {
-    armv7l-linux = "29b31c5e77d4d6d9e1a4340fdf08c28ae6698ea9e20d636cec8a59dc758815ef";
-    aarch64-linux = "e7bf2ec09b8a7018ba417fc670a15594fb8f3e930626485f2423e9a89e2dcbd0";
-    x86_64-linux = "dc74e28719a79f05dd741cda8c22c2bb164dec178c6d560af085910b37cf000b";
-    i686-linux = "6f6fe5fa0452e871abe82dbd25d7cf92ab7011995b3b2b15d04d8691ddc9e9de";
-    x86_64-darwin = "c35d81af3a3f156059a53436d7874a46770cbf6e4e5087f7caee269e66abb636";
-    aarch64-darwin = "7dc5eabc7e582a031d5bd079eeadc9582f5605446085b4cbd1dc7e7c9e978c45";
-    headers = "1i3sx1xy62i4f68zbsz1a7jgqw7shx0653w9fyvcdly2nraxldil";
+  electron_17 = mkElectron "17.0.1" {
+    armv7l-linux = "0867f74427152c3b4110e11c9ce38e351531554868f62665b064f3d1dae5fd00";
+    aarch64-linux = "7715f7eaaa287f83b945f491c2ca1eb0befed93725d81c85d06f8584db3a6cc4";
+    x86_64-linux = "de789f548d6cc2ddff8db53b3bbfaac5631e90f14506935d2d7fafedf82e5adf";
+    i686-linux = "4e81ce43552f22e271527d5f7ab84db6dda61c0922f8b6350e44fa52967f2dd9";
+    x86_64-darwin = "d270858938e2f0e68479d91384e6f4d01be1d4e22b305dc2023ecd1a5e113d17";
+    aarch64-darwin = "aecf14a88ede956e93fee5b48b773ad4d8d6605424c9d69a45950b673c89f8ca";
+    headers = "1c3fl9fxmhkhvm825vmyxm8dm89xfy4iwqrb4ifmv5cz9dh9b9a8";
   };
 }
diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix
index 715c237f494..f0e125245ef 100644
--- a/pkgs/development/tools/frugal/default.nix
+++ b/pkgs/development/tools/frugal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "frugal";
-  version = "3.14.13";
+  version = "3.14.14";
 
   src = fetchFromGitHub {
     owner = "Workiva";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-apX4MFzeR7+5gWauw5HXPK0c7N4uTSqkE2vqnYB5LJs=";
+    sha256 = "sha256-1ie/pkg0pv8bJphQ8PXceRd2WALYaVxBAW1O/s4kKHA=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-4Ak+mh9ege38iO1QyxvGkYvRyU11QjphfLrit1qfu58=";
+  vendorSha256 = "sha256-vWqj2fRtaDextDstIb5GrdRn4nxQpCfjegYiVbPILuM=";
 
   meta = with lib; {
     description = "Thrift improved";
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index e0d8149c40d..6719d710392 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-/VJ1r1t/V2YkZGJUrJR3S6NPVP6EADIH9E6jmki8QRI=";
+    sha256 = "sha256-q+m1NDl9zd6ueyBTzbzlvHIQyoIul5dAfUQ6UK4wlrc=";
   };
   vendorSha256 = "sha256-kMQ60HdsorZU27qoOY52DpwFwP+Br2bp8mRx+ZwnQlI=";
 
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 21ab6ddf188..73fdb3dff8f 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.43.2";
+  version = "0.44.0";
 
   src = fetchurl {
     url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
-    sha256 = "sha256-HXTkYwN6U8xyxgFnj69nLSpbDCqWUWeSuqlZbquRD6o=";
+    sha256 = "1l2pmvqw8rjl2xmsdp31j8015clshab6p81i3i05h40rjjz57mvr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/mani/default.nix b/pkgs/development/tools/mani/default.nix
index 1615c798286..079e4bf6fed 100644
--- a/pkgs/development/tools/mani/default.nix
+++ b/pkgs/development/tools/mani/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mani";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "alajmo";
     repo = "mani";
     rev = "v${version}";
-    sha256 = "sha256-9SvjgXQADDNyv8O9KKE3gKXu67Nz5LepayUXSbWwEoY=";
+    sha256 = "sha256-EkoDyVDK+DmwK45qBPwyHegQGsK9B5SQ0zVf1lBYbPE=";
   };
 
-  vendorSha256 = "sha256-cuAZN08A2nND9d4c9w+kTqiMB9yaJ49Q0aT/V0J9FRw=";
+  vendorSha256 = "sha256-NnXQAf8m2cGLvwSOzQWXffiG1zyVqDPQnGAeqe7EUHY=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
diff --git a/pkgs/development/tools/mask/default.nix b/pkgs/development/tools/mask/default.nix
index 25ab4ceab5f..ed1b80787c4 100644
--- a/pkgs/development/tools/mask/default.nix
+++ b/pkgs/development/tools/mask/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mask";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "jakedeichert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gsfs837nzh71df6p6klcsgxp471c8hq14xqd62q5bsv7jg9dygc";
+    sha256 = "sha256-qRN9M/DxkxcF1/dmYqmf3qB8yHzuaN3LRENy1ehgg0c=";
   };
 
-  cargoSha256 = "1h4sasqdl3rli0v6lizdci0vvr2fvbyhllddxwv8vx8r7w9ry963";
+  cargoSha256 = "sha256-7ts63n9aGtaK8INBh11TShOQCVpV+82VADmNbKURv+g=";
 
   # tests require mask to be installed
   doCheck = false;
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index 5eec86d0247..c66c2a5bfd8 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -19,11 +19,11 @@ let
   }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
 in stdenv.mkDerivation rec {
   pname = "php-blackfire";
-  version = "1.72.0";
+  version = "1.74.0";
 
   src = fetchurl {
     url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
-    sha256 = "FczlRevMn3VGCW+mtIqjGMNZKjsqzCGW3DQLQG7dJ8c=";
+    sha256 = "79uOQmTovGbY0NLpc3m/xFULS899u2XdR16qd8L4FLw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/nix-build-uncached/default.nix b/pkgs/development/tools/misc/nix-build-uncached/default.nix
index 7886c7c450a..bda19f75ff0 100644
--- a/pkgs/development/tools/misc/nix-build-uncached/default.nix
+++ b/pkgs/development/tools/misc/nix-build-uncached/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nix-build-uncached";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nix-build-uncached";
     rev = "v${version}";
-    sha256 = "1v9xyv0hhvfw61k4pbgzrlgy7igl619cangi40fkh7gdvs01dxz4";
+    sha256 = "sha256-9oc5zoOlwV02cY3ek+qYLgZaFQk4dPE9xgF8mAePGBI=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/misc/semver-tool/default.nix b/pkgs/development/tools/misc/semver-tool/default.nix
index 0cfbd0680ba..407185a474b 100644
--- a/pkgs/development/tools/misc/semver-tool/default.nix
+++ b/pkgs/development/tools/misc/semver-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "semver-tool";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "fsaintjacques";
     repo = pname;
     rev = version;
-    sha256 = "sha256-coy/g4nEvSN+0/aqK2r3EEIaoUcnsZhzX66H1qsK9ac=";
+    sha256 = "sha256-LqZTHFiis4BYL1bnJoeuW56wf8+o38Ygs++CV9CKNhM=";
   };
 
   dontBuild = true; # otherwise we try to 'make' which fails.
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/fsaintjacques/semver-tool";
     description = "semver bash implementation";
-    license = licenses.gpl3Plus;
+    license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = [ maintainers.qyliss ];
   };
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
index f3ec2dabc92..dd3d9cf6faa 100644
--- a/pkgs/development/tools/nwjs/default.nix
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, buildEnv, makeWrapper
 
 , xorg, alsa-lib, at-spi2-core, dbus, glib, gtk3, atk, pango, freetype
-, fontconfig , gdk-pixbuf, cairo, mesa, nss, nspr, gconf, expat, systemd
+, fontconfig , gdk-pixbuf, cairo, mesa, nss, nspr, expat, systemd
 , libcap, libdrm, libxkbcommon
 , libnotify
 , ffmpeg, libxcb, cups
@@ -18,7 +18,7 @@ let
     paths = [
       xorg.libX11 xorg.libXrender glib gtk3 atk at-spi2-core pango cairo gdk-pixbuf
       freetype fontconfig xorg.libXcomposite alsa-lib xorg.libXdamage
-      xorg.libXext xorg.libXfixes mesa nss nspr gconf expat dbus
+      xorg.libXext xorg.libXfixes mesa nss nspr expat dbus
       xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr
       xorg.libXScrnSaver xorg.libxshmfence cups
       libcap libdrm libnotify
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index 23bd877a698..cc18a6af227 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.12.0";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+AWkzv6SI/d3p1ljopSyLg2qi1hv6PsynmVG7+lUSTw=";
+    sha256 = "sha256-zgiJDmpjmm2rzi12XAT+bHpiOKwi1k6xd9fvPGwFNXQ=";
   };
 
-  vendorSha256 = "sha256-jYBkC0IA2xbRa+56CW/5EWG8sYg3eRuFdLpOFSinuuw=";
+  vendorSha256 = "sha256-kilFwOSIToURJFqfa1/PtdUA21ieJzL9vgsXbYNbht0=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index c23b352dece..8e000cd0fc2 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, transfig, tex, ghostscript, colm
+{ lib, stdenv, fetchurl, fig2dev, tex, ghostscript, colm
 , build-manual ? false
 }:
 
@@ -13,7 +13,7 @@ let
         inherit sha256;
       };
 
-      buildInputs = lib.optional build-manual [ transfig ghostscript tex ];
+      buildInputs = lib.optional build-manual [ fig2dev ghostscript tex ];
 
       preConfigure = lib.optionalString build-manual ''
         sed -i "s/build_manual=no/build_manual=yes/g" DIST
diff --git a/pkgs/development/tools/quick-lint-js/default.nix b/pkgs/development/tools/quick-lint-js/default.nix
new file mode 100644
index 00000000000..f0b66467c63
--- /dev/null
+++ b/pkgs/development/tools/quick-lint-js/default.nix
@@ -0,0 +1,24 @@
+{ cmake, fetchFromGitHub, lib, ninja, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "quick-lint-js";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "quick-lint";
+    repo = "quick-lint-js";
+    rev = version;
+    sha256 = "sha256-F21eli4HdLw3RComvocwBrcGfruIjO23E6+7a4+6vbs=";
+  };
+
+  nativeBuildInputs = [ cmake ninja ];
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Find bugs in Javascript programs";
+    homepage = "https://quick-lint-js.com";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ratsclub ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/regclient/default.nix b/pkgs/development/tools/regclient/default.nix
index a5c6335162a..f54e6ca26a8 100644
--- a/pkgs/development/tools/regclient/default.nix
+++ b/pkgs/development/tools/regclient/default.nix
@@ -4,16 +4,16 @@ let bins = [ "regbot" "regctl" "regsync" ]; in
 
 buildGoModule rec {
   pname = "regclient";
-  version = "0.3.8";
+  version = "0.3.10";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "regclient";
     repo = "regclient";
     rev = tag;
-    sha256 = "14w0g24sgphgib33sdvrvwk86p7km2pasb5fmr3p48i7sc71ja3h";
+    sha256 = "sha256-3nYVhKHNz0V0j6JlZ5Dm5TFWA2kmUhshNVUym/QWSyM=";
   };
-  vendorSha256 = "sha256-9sRjP7lxMRdt9D9ElIX+mbYIvCaknWMgDyYl+1/q0/g=";
+  vendorSha256 = "sha256-rj4sQ8Ci2KMayJNXn+KVihOiZehk233l48Ps0yjOOE4=";
 
   outputs = [ "out" ] ++ bins;
 
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 7aa45ba6457..78e7fa7b4c8 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -11,19 +11,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4VwDpm61OhMvlbiuA7WFup0JwvLvoS615Pr7f7z0kh4=";
+    sha256 = "sha256-QpYwH9ZmD/muCGtL+9wzz4UKRyHWaga7vrjNjKz4uVQ=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-yiKfVUj3skXF3wk+IzsNucXcopfGm7mYHZsupi/KzZw=";
+  cargoSha256 = "sha256-DFGCjA0AENYDs5EnQ3WDkbCEw14ndjOh7qx2ZFgNGH0=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index c47cddea586..a75488a229d 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper
 , cairo, fontconfig, freetype, gdk-pixbuf, glib
-, glibc, gtk2, libX11, nspr, nss, pango, gconf
+, glibc, gtk2, libX11, nspr, nss, pango
 , libxcb, libXi, libXrender, libXext, dbus
 , testVersion, chromedriver
 }:
@@ -30,9 +30,9 @@ let
   libs = lib.makeLibraryPath [
     stdenv.cc.cc.lib
     cairo fontconfig freetype
-    gdk-pixbuf glib gtk2 gconf
+    gdk-pixbuf glib gtk2
     libX11 nspr nss pango libXrender
-    gconf libxcb libXext libXi
+    libxcb libXext libXi
     dbus
   ];
 
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 5ec2ff7ac45..213a8da8ce0 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-SXwIwBlajzcXJaB90aesPk6BTRUNLRXtx4FPuM7pcyU=";
+    sha256 = "sha256-L3dHkF7yKnwXpXxCEswwA0TxVfjTzc89l0rpT7EYpIU=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index b6f6dd2abb6..9ce8a9494dd 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-XFx8M9cQ7uXm4LS983FOZ6hz3zffLahhwrBjytbwEWk=";
+    sha256 = "sha256-dQ+FLKf+zNrUabrXWvdYqpNXzS+j92zQcaZXPTxxB/E=";
   };
 
-  cargoSha256 = "sha256-ngWvbNx41K3PfGbzJfH8uBUl0cuI/Abj6EbX8YANk6Q=";
+  cargoSha256 = "sha256-ud2Hb8EoOiPyzp7qPUeQi8FZ49RXbrDsk8ZEBI6lPtk=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index cf3c17823dc..ad0e2c998e6 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -12,7 +12,7 @@ in appimageTools.wrapType2 rec {
   inherit name src;
 
   extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
-    alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
+    alsa-lib cups libcap fontconfig freetype pango
     cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
     libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
 
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index 33565ecf8a2..aadc0f58dfa 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.19.1";
+  version = "4.20.1";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-kIXMBXKcM9EHECJiegnjeFnccF68hmL/7I/QnePJdIw=";
+    sha256 = "sha256-3UOKcm8RzCa7eSUJsUKBJkKTNi4B3GMY+EOOEk4t2So=";
   };
 
   vendorSha256 = "sha256-samz70Dybu/Xf9+ftgIKgd2pyQcXw6Ybs/0oJN47IFE=";
diff --git a/pkgs/development/web/bloomrpc/default.nix b/pkgs/development/web/bloomrpc/default.nix
index 94a5c3de37a..1c9ed7c2e10 100644
--- a/pkgs/development/web/bloomrpc/default.nix
+++ b/pkgs/development/web/bloomrpc/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, appimageTools }:
+{ lib, fetchurl, gsettings-desktop-schemas, gtk3, appimageTools }:
 
 let
   pname = "bloomrpc";
@@ -13,9 +13,15 @@ let
   appimageContents = appimageTools.extractType2 {
     inherit pname src version;
   };
-in appimageTools.wrapType2 {
+in
+appimageTools.wrapType2 {
   inherit pname src version;
 
+  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 = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
 
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index 6885e988715..9343a2eab48 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -2,7 +2,6 @@
 , autoPatchelfHook
 , callPackage
 , fetchzip
-, gnome2
 , gtk2
 , gtk3
 , lib
@@ -38,7 +37,6 @@ stdenv.mkDerivation rec {
     nss
     gtk2
     alsa-lib
-    gnome2.GConf
     gtk3
     mesa # for libgbm
   ];
diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix
index 041ceed5288..2abdabc2331 100644
--- a/pkgs/development/web/insomnia/default.nix
+++ b/pkgs/development/web/insomnia/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, makeWrapper, fetchurl, dpkg, alsa-lib, atk, cairo, cups, dbus, expat
-, fontconfig, freetype, gdk-pixbuf, glib, gnome2, pango, mesa, nspr, nss, gtk3
+, fontconfig, freetype, gdk-pixbuf, glib, pango, mesa, nspr, nss, gtk3
 , at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
 , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
@@ -38,7 +38,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     pango
     gtk3
     gsettings-desktop-schemas
diff --git a/pkgs/games/cl-wordle/default.nix b/pkgs/games/cl-wordle/default.nix
index 6426c058c37..1ad3487c3fe 100644
--- a/pkgs/games/cl-wordle/default.nix
+++ b/pkgs/games/cl-wordle/default.nix
@@ -2,16 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cl-wordle";
-  version = "0.2.0";
+  version = "0.4.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-M2ljFrfIOyM1Slwsk7ZJ+PhJIVSUvFcFck2Q2e9nOwc=";
+    sha256 = "sha256-z2XpXgOviBRcberwpxQ4ml1T04k5kMhG7wA0PAYWENg=";
   };
 
-  cargoSha256 = "sha256-bB6MzpJc8QS2+8GSS8RbSF5QcJyRT8FkmChpf1x2i/E=";
-
-  patches = [ ./rust-1-57.diff ];
+  cargoSha256 = "sha256-C7UMkhgez2CtddftARlwN1TjZ1N26NnZfpRiX1KkMEA=";
 
   meta = with lib; {
     description = "Wordle TUI in Rust";
diff --git a/pkgs/games/cl-wordle/rust-1-57.diff b/pkgs/games/cl-wordle/rust-1-57.diff
deleted file mode 100644
index b4c5721d850..00000000000
--- a/pkgs/games/cl-wordle/rust-1-57.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/state.rs b/src/state.rs
-index 5fac0a3..41cbde4 100644
---- a/src/state.rs
-+++ b/src/state.rs
-@@ -74,7 +74,7 @@ impl State {
-             'X'
-         };
- 
--        write!(w, "{score}/6",)?;
-+        write!(w, "{:?}/6", score)?;
-         for Guess(_, m) in self.guesses() {
-             write!(w, "\n{}", m)?;
-         }
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix
index 7f0f5088176..1663e17b14d 100644
--- a/pkgs/games/ddnet/default.nix
+++ b/pkgs/games/ddnet/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddnet";
-  version = "15.8.1";
+  version = "15.9.1";
 
   src = fetchFromGitHub {
     owner = "ddnet";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZxLaGAKBACR65CRCjt3NPSjMNm7GQkESxF6sLv3q4lQ=";
+    sha256 = "sha256-QGtXI4Dbua5LBXSvB17tnSTGEvCCoopvg1XKBuDIEoQ=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
diff --git a/pkgs/games/rpg-cli/default.nix b/pkgs/games/rpg-cli/default.nix
index 8128a67ebee..cad3b539d9a 100644
--- a/pkgs/games/rpg-cli/default.nix
+++ b/pkgs/games/rpg-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rpg-cli";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "facundoolano";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ih+1qO/VHkRp766WDe09xXL/pkby+sURopy7m5wRn4Y=";
+    sha256 = "sha256-rhG/EK68PWvQYoZdjhk0w7oNmh/QiTaAt4/WgEkgxEA=";
   };
 
-  cargoSha256 = "sha256-Au7Nlpl4XOSG8rW0DaHFDqBr1kUY5Emyw6ff0htPc+I=";
+  cargoSha256 = "sha256-YXQohmDmkClziaLkL2N4cGURZ0tewyt7BuNY4hS+a4w=";
 
   # tests assume the authors macbook, and thus fail
   doCheck = false;
diff --git a/pkgs/games/vassal/default.nix b/pkgs/games/vassal/default.nix
index 1ff9f9d36d1..905d51438b6 100644
--- a/pkgs/games/vassal/default.nix
+++ b/pkgs/games/vassal/default.nix
@@ -2,16 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "VASSAL";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchzip {
     url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
-    sha256 = "sha256-WUEpYxzNcH9kJRn4nROoaeXTe1+D4/0VRqTwc7ac1hc=";
+    sha256 = "sha256-wnaT0+r599/RboeUfpCZTNd/M2kaCsckI9F+7r7leEE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/share/vassal $out/doc
 
     cp CHANGES LICENSE README.md $out
@@ -21,6 +23,8 @@ stdenv.mkDerivation rec {
     makeWrapper ${jre}/bin/java $out/bin/vassal \
       --add-flags "-Duser.dir=$out -cp $out/share/vassal/Vengine.jar \
       VASSAL.launch.ModuleManager"
+
+    runHook postInstall
   '';
 
   # Don't move doc to share/, VASSAL expects it to be in the root
@@ -28,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
       description = "A free, open-source boardgame engine";
-      homepage = "http://www.vassalengine.org/";
+      homepage = "https://vassalengine.org/";
       license = licenses.lgpl21Only;
       maintainers = with maintainers; [ tvestelind ];
       platforms = platforms.unix;
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index 934b357e692..a7ee870a74a 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -83,6 +83,7 @@ python3Packages.buildPythonApplication {
     dbus-python
   ] ++ lib.optionals withQt5 [
     pyqt5
+    pyqt5_sip
     enum-compat
   ];
 
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 72a2f8a71bc..4fb11482944 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -11686,6 +11686,18 @@ final: prev:
     meta.homepage = "https://github.com/gcmt/wildfire.vim/";
   };
 
+  winshift-nvim = buildVimPluginFrom2Nix {
+    pname = "winshift.vim";
+    version = "2021-11-15";
+    src = fetchFromGitHub {
+      owner = "sindrets";
+      repo = "winshift.vim";
+      rev = "aaa04b97640165eb0877bfc04943f4282887470b";
+      sha256 = "g5v/qd1FNg7mMZif7Liga3BAnZV7Mi7hkqnCUEFk52U=";
+    };
+    meta.homepage = "https://github.com/sindrets/winshift.nvim";
+  };
+
   wmgraphviz-vim = buildVimPluginFrom2Nix {
     pname = "wmgraphviz.vim";
     version = "2018-04-26";
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 547c59ee2cb..5e54d5577cb 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -756,6 +756,7 @@ simnalamburt/vim-mundo
 simrat39/rust-tools.nvim
 simrat39/symbols-outline.nvim
 sindrets/diffview.nvim
+sindrets/winshift.nvim
 SirVer/ultisnips
 sjl/gundo.vim
 sjl/splice.vim
diff --git a/pkgs/misc/vscode-extensions/update_installed_exts.sh b/pkgs/misc/vscode-extensions/update_installed_exts.sh
index 5af747605f5..44cf506b3ab 100755
--- a/pkgs/misc/vscode-extensions/update_installed_exts.sh
+++ b/pkgs/misc/vscode-extensions/update_installed_exts.sh
@@ -40,7 +40,7 @@ function get_vsixpkg() {
     URL="https://$1.gallery.vsassets.io/_apis/public/gallery/publisher/$1/extension/$2/latest/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage"
 
     # Quietly but delicately curl down the file, blowing up at the first sign of trouble.
-    curl --silent --show-error --fail -X GET -o "$EXTTMP/$N.zip" "$URL"
+    curl --silent --show-error --retry 3 --fail -X GET -o "$EXTTMP/$N.zip" "$URL"
     # Unpack the file we need to stdout then pull out the version
     VER=$(jq -r '.version' <(unzip -qc "$EXTTMP/$N.zip" "extension/package.json"))
     # Calculate the SHA
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
index d712855e321..32fcb856d26 100644
--- a/pkgs/servers/gemini/agate/default.nix
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
+{ lib, stdenv, nixosTests, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
@@ -23,6 +23,8 @@ rustPlatform.buildRustPackage rec {
     runHook postInstallCheck
   '';
 
+  passthru.tests = { inherit (nixosTests) agate; };
+
   meta = with lib; {
     homepage = "https://github.com/mbrubeck/agate";
     changelog = "https://github.com/mbrubeck/agate/blob/master/CHANGELOG.md";
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 5f607c63f1b..bdf0ed345bb 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.2.6";
+  version = "2022.2.8";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 3d446f1f274..7116aedcdf4 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -15,6 +15,9 @@
 # Additional packages to add to propagatedBuildInputs
 , extraPackages ? ps: []
 
+# Write out info about included extraComponents and extraPackages
+, writeText
+
 # Override Python packages using
 # self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); }
 # Applied after defaultOverrides
@@ -130,8 +133,12 @@ let
   # Ensure that we are using a consistent package set
   extraBuildInputs = extraPackages python.pkgs;
 
+  # Create info about included packages and components
+  extraComponentsFile = writeText "home-assistant-components" (lib.concatStringsSep "\n" extraComponents);
+  extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
+
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.2.6";
+  hassVersion = "2022.2.8";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -149,7 +156,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-UUiYp1YP+ak/2MncnGB0kE9+l2zQAyGjfD5srb5ArSI=";
+    hash = "sha256-BzBlAKI1u8DqsfmivCVaK3fhYzgEmqlVkRMI17VRu0w=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -158,7 +165,6 @@ in python.pkgs.buildPythonApplication rec {
       src = ./patches/ffmpeg-path.patch;
       ffmpeg = "${lib.getBin ffmpeg}/bin/ffmpeg";
     })
-    ./patches/tests-ignore-OSErrors-in-hass-fixture.patch
   ];
 
   postPatch = let
@@ -284,6 +290,11 @@ in python.pkgs.buildPythonApplication rec {
     export PATH=${inetutils}/bin:$PATH
   '';
 
+  postInstall = ''
+    cp -v ${extraComponentsFile} $out/extra_components
+    cp -v ${extraPackagesFile} $out/extra_packages
+  '';
+
   passthru = {
     inherit
       availableComponents
diff --git a/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch b/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch
deleted file mode 100644
index add0ea1d552..00000000000
--- a/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3e3f5c37252a33ea1e71c39f2ca0f13940c261ad Mon Sep 17 00:00:00 2001
-From: Martin Weinelt <hexa@darmstadt.ccc.de>
-Date: Sat, 17 Jul 2021 16:11:23 +0200
-Subject: [PATCH] tests: ignore OSErrors in hass fixture
-
-The nix sandbox will cause OSErrors due to limitations imposed on
-network interaction. This change makes it so we forgive these cases.
----
- tests/conftest.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 1f5ffc80d0..b284727a0f 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -168,6 +168,8 @@ def hass(loop, load_registries, hass_storage, request):
-             continue
-         if isinstance(ex, ServiceNotFound):
-             continue
-+        if isinstance(ex, OSError):
-+            continue
-         raise ex
- 
- 
--- 
-2.32.0
-
diff --git a/pkgs/servers/http/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index 9e40bb648ea..9cdc0c58ee4 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -11,24 +11,25 @@
 , systemd
 , tcp_wrappers
 , zlib
+, c-ares
 }:
 
 stdenv.mkDerivation rec {
   pname = "apt-cacher-ng";
-  version = "3.6.3";
+  version = "3.7.4";
 
   src = fetchurl {
-    url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
-    sha256 = "sha256-P4ArWpxjOjBi9EiDp/ord17GfUOFwpiTKGvSEuZljGA=";
+    url = "https://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
+    sha256 = "0pwsj9rf6a6q7cnfbpcrfq2gjcy7sylqzqqr49g2zi39lrrh8533";
   };
 
   nativeBuildInputs = [ cmake doxygen pkg-config ];
-  buildInputs = [ bzip2 fuse libevent xz openssl systemd tcp_wrappers zlib ];
+  buildInputs = [ bzip2 fuse libevent xz openssl systemd tcp_wrappers zlib c-ares ];
 
   meta = with lib; {
-    description = "A caching proxy specialized for linux distribution files";
+    description = "A caching proxy specialized for Linux distribution files";
     homepage = "https://www.unix-ag.uni-kl.de/~bloch/acng/";
-    license = licenses.gpl2;
+    license = licenses.bsdOriginal;
     platforms = platforms.linux;
     maintainers = [ maintainers.makefu ];
   };
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index fe2a9e0b163..77ae99a9297 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -10,7 +10,7 @@
 , storePathAsBuildHash ? false }:
 
 let
-  version = "6.3.2";
+  version = "6.3.3";
 
   goPackagePath = "github.com/mattermost/mattermost-server";
 
@@ -22,7 +22,7 @@ let
       owner = "mattermost";
       repo = "mattermost-server";
       rev = "v${version}";
-      sha256 = "+6bLkzqlcty8X+mbNkZnHzC8tK8EJwmWAYz3jZ/6q2w=";
+      sha256 = "OSN8Bscgv7rPfKIfZ3ZnegdgsygFpSM7/vGWojj0P3k=";
     };
 
     ldflags = [
@@ -65,7 +65,7 @@ let
 
     src = fetchurl {
       url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-      sha256 = "dxgoYFgW+KKtfNr+1pr7bA9K79gCXpKebTIWDhneuv0=";
+      sha256 = "Og9DUGyE4cWYF7EQP/8szIrWM1Ldqnpqc+HW+L7XApo=";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index ca91d4eb12b..824e90b4869 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.12";
+  version = "1.6.14";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "sha256-8pGjX4Lvl1btHZUoee9fS+hw+TK9/LKrYTVmCav4I0Y=";
+    sha256 = "sha256-VNY3QsaIbc3E4Mh/RDmikwqHbNnyv6AdaZsMa60XB7M=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 931e5f7ffea..25053e83794 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -9,6 +9,24 @@
 , mkYarnPackage
 , nixosTests
 , fetchpatch
+, enableAWS ? true
+, enableAzure ? true
+, enableConsul ? true
+, enableDigitalOcean ? true
+, enableEureka ? true
+, enableGCE ? true
+, enableHetzner ? true
+, enableKubernetes ? true
+, enableLinode ? true
+, enableMarathon ? true
+, enableMoby ? true
+, enableOpenstack ? true
+, enablePuppetDB ? true
+, enableScaleway ? true
+, enableTriton ? true
+, enableUyuni ? true
+, enableXDS ? true
+, enableZookeeper ? true
 }:
 
 let
@@ -92,6 +110,44 @@ buildGoModule rec {
     # webui-codemirror
     ln -s ${codemirror}/dist web/ui/module/codemirror-promql/dist
     ln -s ${codemirror}/lib web/ui/module/codemirror-promql/lib
+
+    # Disable some service discovery to shrink binaries.
+    ${lib.optionalString (!enableAWS)
+      "sed -i -e '/register aws/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableAzure)
+      "sed -i -e '/register azure/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableConsul)
+      "sed -i -e '/register consul/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableDigitalOcean)
+      "sed -i -e '/register digitalocean/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableEureka)
+      "sed -i -e '/register eureka/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableGCE)
+      "sed -i -e '/register gce/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableHetzner)
+      "sed -i -e '/register hetzner/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableKubernetes)
+      "sed -i -e '/register kubernetes/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableLinode)
+      "sed -i -e '/register linode/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableMarathon)
+      "sed -i -e '/register marathon/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableMoby)
+      "sed -i -e '/register moby/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableOpenstack)
+      "sed -i -e '/register openstack/d' discovery/install/install.go"}
+    ${lib.optionalString (!enablePuppetDB)
+      "sed -i -e '/register puppetdb/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableScaleway)
+      "sed -i -e '/register scaleway/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableTriton)
+      "sed -i -e '/register triton/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableUyuni)
+      "sed -i -e '/register uyuni/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableXDS)
+      "sed -i -e '/register xds/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableZookeeper)
+      "sed -i -e '/register zookeeper/d' discovery/install/install.go"}
   '';
 
   tags = [ "builtinassets" ];
diff --git a/pkgs/servers/mycorrhiza/default.nix b/pkgs/servers/mycorrhiza/default.nix
index 8036d966d72..16e15a8dd2a 100644
--- a/pkgs/servers/mycorrhiza/default.nix
+++ b/pkgs/servers/mycorrhiza/default.nix
@@ -4,16 +4,16 @@
 
 buildGoModule rec {
   pname = "mycorrhiza";
-  version = "1.7.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "bouncepaw";
     repo = "mycorrhiza";
     rev = "v${version}";
-    sha256 = "1dd18n9lq4wxz7kn1szavigw9098r7rcwz9j53q92mx100fa42q6";
+    sha256 = "sha256-81Ok/0cDkFqKEAwWtpxM3InMfu0R9rZJzQ41AhWuVuo=";
   };
 
-  vendorSha256 = "1s7n0lk3cr4lkay3plvlqfpx2gh03n2afb43gv9lmwljbry9zbss";
+  vendorSha256 = "sha256-9FMxj3AkbKyUMZWj1S0myoKem4mupOHPIfxNHjYk8mU=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/nats-server/default.nix b/pkgs/servers/nats-server/default.nix
index 226294e5f42..695480a05c9 100644
--- a/pkgs/servers/nats-server/default.nix
+++ b/pkgs/servers/nats-server/default.nix
@@ -1,21 +1,23 @@
-{  buildGoPackage, fetchFromGitHub, lib  }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
-with lib;
-
-buildGoPackage rec {
+buildGoModule rec {
   pname   = "nats-server";
-  version = "2.7.0";
-
-  goPackagePath = "github.com/nats-io/${pname}";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "sha256-LQ817nZrFkF1zdj2m2SQK58BqDbUPSnncSWR+Woi+Ao=";
+    sha256 = "0w4hjz1x6zwcxhnd1y3874agyn8nsdra4fky6kc2rrfikjcw003y";
   };
 
-  meta = {
+  vendorSha256 = "1gvvjwx1g8mhcqi3ssb3k5ylkz0afpmnf6h2zfny9rc4dk2cp2dy";
+
+  doCheck = false;
+
+  passthru.tests.nats = nixosTests.nats;
+
+  meta = with lib; {
     description = "High-Performance server for NATS";
     license = licenses.asl20;
     maintainers = with maintainers; [ swdunlop derekcollison ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index a530a58e900..735bfdeafb1 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -46,18 +46,18 @@ in {
   '';
 
   nextcloud21 = generic {
-    version = "21.0.8";
-    sha256 = "00c37wp6fsnpm40bbhk6r6xycacfa5zk7arzc3i4xmhm89cyvm6z";
+    version = "21.0.9";
+    sha256 = "sha256-p6bvgTXmmjGN3TRQpG88f3YPksh0QzWG9j9KnEjcrqE=";
   };
 
   nextcloud22 = generic {
-    version = "22.2.4";
-    sha256 = "0vnf2j1hz0d7lxby73r2mq2rjm72nq55xajzm8sipj6wlbys15zl";
+    version = "22.2.5";
+    sha256 = "sha256-gb5N0u5tu4/nI2xIpjXwm2hiSDCrBhIDyN6gKGOsdS8=";
   };
 
   nextcloud23 = generic {
-    version = "23.0.1";
-    sha256 = "047pnkp49rf0a9gl03dwkkdgzmdsf88m79mzq04bwmgkb3a3qxay";
+    version = "23.0.2";
+    sha256 = "sha256-ngJGLTjqq2RX/KgHe9Rv54w6qtRC6RpuEuMvp9UbxO4=";
   };
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
diff --git a/pkgs/servers/nosql/eventstore/create-deps.sh b/pkgs/servers/nosql/eventstore/create-deps.sh
index 8001fea4d26..afeee592de3 100755
--- a/pkgs/servers/nosql/eventstore/create-deps.sh
+++ b/pkgs/servers/nosql/eventstore/create-deps.sh
@@ -8,7 +8,7 @@ set -euo pipefail
 #       this script is inspired:
 #       - pkgs/servers/nosql/eventstore/create-deps.sh
 #       - pkgs/development/dotnet-modules/python-language-server/create_deps.sh
-#       - pkgs/misc/emulators/ryujinx/updater.sh
+#       - pkgs/applications/emulators/ryujinx/updater.sh
 
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index fb07bc39154..1b8b1eb1108 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -10,6 +10,7 @@
 , bzip2, lz4, lzo, snappy, xz, zlib, zstd
 , cracklib, judy, libevent, libxml2
 , linux-pam, numactl, pmdk
+, fmt_8
 , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq
 , withStorageRocks ? true
 }:
@@ -173,7 +174,8 @@ in stdenv.mkDerivation (common // {
     ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ]
     ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev
     ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv
-    ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ];
+    ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ]
+    ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ];
 
   patches = common.patches;
 
@@ -235,17 +237,27 @@ in stdenv.mkDerivation (common // {
 in {
   mariadb_104 = mariadbPackage {
     # Supported until 2024-06-18
-    version = "10.4.22";
-    sha256 = "000ca1hdnj2jg051cjgdd2ralgwgh2p8nwb1x6b85202xdpc7ga4";
+    version = "10.4.24";
+    sha256 = "0ipqilri8isn0mfvwg8imwf36zm3jsw0wf2yx905c2bznd8mb5zy";
   };
   mariadb_105 = mariadbPackage {
     # Supported until 2025-06-24
-    version = "10.5.13";
-    sha256 = "0n0w1pyypv6wsknaqyykj3lc9zv6smji4q5jcf90w4rid330iw0n";
+    version = "10.5.15";
+    sha256 = "0nfvyxb157qsbl0d1i5gfzr2hb1nm0iv58f7qcbk5kkhz0vyv049";
   };
   mariadb_106 = mariadbPackage {
     # Supported until 2026-07
-    version = "10.6.5";
-    sha256 = "13qaqb2h6kysfdi3h1l9zbb2qlpjgxb1n8mxnj5jm96r50209gp0";
+    version = "10.6.7";
+    sha256 = "1idjnkjfkjvyr6r899xbiwq9wwbs84cm85mbc725yxjshqghzvkm";
+  };
+  mariadb_107 = mariadbPackage {
+    # Supported until 2023-02
+    version = "10.7.3";
+    sha256 = "1m2wa67vvdm61ap8spl18b9vqkmsnq4rfd0248l17jf9zwcnja6s";
+  };
+  mariadb_108 = mariadbPackage {
+    # Supported until 2023-05
+    version = "10.8.2";
+    sha256 = "0v4mms3mihylnqlc0ifvwzykah6lkdd39lmxbv5vnhbsh7wggq0l";
   };
 }
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 5a79dcd7d2c..d124664dd7b 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.10";
+  version = "26.4.11";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    sha256 = "sha256-v3fKadoHCAKHZGPjuh/uLnmAaaPESrax73GEI/mH39g=";
+    sha256 = "sha256-zAS/YCUNSgkjehUXJpa+FyPC6zHnx3Nmlx0m7hbuZo0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/web-apps/matomo/change-path-geoip2.patch b/pkgs/servers/web-apps/matomo/change-path-geoip2.patch
new file mode 100644
index 00000000000..c8840db42e7
--- /dev/null
+++ b/pkgs/servers/web-apps/matomo/change-path-geoip2.patch
@@ -0,0 +1,10 @@
+--- a/plugins/GeoIp2/config/config.php
++++ b/plugins/GeoIp2/config/config.php
+@@ -1,5 +1,5 @@
+ <?php
+ 
+ return [
+-    'path.geoip2' => DI\string('{path.root}/misc/'),
++    'path.geoip2' => PIWIK_USER_PATH . '/misc/',
+ ];
+\ Pas de fin de ligne à la fin du fichier
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index ad8dc85f70f..aa371223cf0 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -32,14 +32,19 @@ let
 
         nativeBuildInputs = [ makeWrapper ];
 
-        # make-localhost-default-database-server.patch:
-        #   This changes the default value of the database server field
-        #   from 127.0.0.1 to localhost.
-        #   unix socket authentication only works with localhost,
-        #   but password-based SQL authentication works with both.
-        # TODO: is upstream interested in this?
-        # -> discussion at https://github.com/matomo-org/matomo/issues/12646
-        patches = [ ./make-localhost-default-database-host.patch ];
+        patches = [
+          # This changes the default value of the database server field
+          # from 127.0.0.1 to localhost.
+          # unix socket authentication only works with localhost,
+          # but password-based SQL authentication works with both.
+          # TODO: is upstream interested in this?
+          # -> discussion at https://github.com/matomo-org/matomo/issues/12646
+          ./make-localhost-default-database-host.patch
+
+          # This changes the default config for path.geoip2 so that it doesn't point
+          # to the nix store.
+          ./change-path-geoip2.patch
+        ];
 
         # this bootstrap.php adds support for getting PIWIK_USER_PATH
         # from an environment variable. Point it to a mutable location
@@ -73,6 +78,7 @@ let
           "misc/composer/build-xhprof.sh"
           "misc/composer/clean-xhprof.sh"
           "misc/cron/archive.sh"
+          "plugins/GeoIp2/config/config.php"
           "plugins/Installation/FormDatabaseSetup.php"
           "vendor/pear/archive_tar/sync-php4"
           "vendor/szymach/c-pchart/coverage.sh"
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 1e60f430586..5d0ed06b5ae 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -5,6 +5,7 @@
 , withDBI ? true
 # use withExtraLibs to add additional dependencies of community modules
 , withExtraLibs ? [ ]
+, withExtraLuaPackages ? _: [ ]
 , withOnlyInstalledCommunityModules ? [ ]
 , withCommunityModules ? [ ] }:
 
@@ -17,6 +18,7 @@ let
     ]
     ++ lib.optional withLibevent p.luaevent
     ++ lib.optional withDBI p.luadbi
+    ++ withExtraLuaPackages p
   );
 in
 stdenv.mkDerivation rec {
@@ -63,23 +65,26 @@ stdenv.mkDerivation rec {
     make -C tools/migration
   '';
 
+  luaEnvPath = lua.pkgs.lib.genLuaPathAbsStr luaEnv;
+  luaEnvCPath = lua.pkgs.lib.genLuaCPathAbsStr luaEnv;
+
   # the wrapping should go away once lua hook is fixed
   postInstall = ''
       ${concatMapStringsSep "\n" (module: ''
         cp -r $communityModules/mod_${module} $out/lib/prosody/modules/
       '') (lib.lists.unique(nixosModuleDeps ++ withCommunityModules ++ withOnlyInstalledCommunityModules))}
       wrapProgram $out/bin/prosody \
-        --prefix LUA_PATH ';' "$LUA_PATH" \
-        --prefix LUA_CPATH ';' "$LUA_CPATH"
+        --set LUA_PATH "$luaEnvPath" \
+        --set LUA_CPATH "$luaEnvCPath"
       wrapProgram $out/bin/prosodyctl \
         --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
-        --prefix LUA_PATH ';' "$LUA_PATH" \
-        --prefix LUA_CPATH ';' "$LUA_CPATH"
+        --set LUA_PATH "$luaEnvPath" \
+        --set LUA_CPATH "$luaEnvCPath"
 
       make -C tools/migration install
       wrapProgram $out/bin/prosody-migrator \
-        --prefix LUA_PATH ';' "$LUA_PATH" \
-        --prefix LUA_CPATH ';' "$LUA_CPATH"
+        --set LUA_PATH "$luaEnvPath" \
+        --set LUA_CPATH "$luaEnvCPath"
     '';
 
   passthru = {
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index 4fc092330e3..6d8ea1a9de9 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2021-11-12";
+  version = "unstable-2022-02-10";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "190500bf1de6a89416e2a74470d3b5cceab102ba";
-    sha256 = "1dipsy0s67fr47ig5559bcp1h5yn8rdjshhs8zsq7j8plvvh99qb";
+    rev = "e8145d541a35d8a03df49fbbeefa50c4a0076bbf";
+    sha256 = "h/3XP/BiNnUgQI29gEBl6RFee77WDhFyvsnTi1eRbKg=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 330722898ce..656b9ee6006 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -43,11 +43,11 @@ let
   '';
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "4.3.1";
+  version = "4.3.2";
 
   src = fetchurl {
     url = "https://xpra.org/src/${pname}-${version}.tar.xz";
-    hash = "sha256-v0Abn0oYcl1I4H9GLN1pV9hk9tTE+Wlv2gPTtEE6t6k=";
+    hash = "sha256-CIHVpxZ2qC7Ct5Kmc6dxEzxH9s+63/sI07f9SbCh4a4=";
   };
 
   patches = [
diff --git a/pkgs/tools/archivers/tarlz/default.nix b/pkgs/tools/archivers/tarlz/default.nix
index 1e1842d2907..7f41a05a9a8 100644
--- a/pkgs/tools/archivers/tarlz/default.nix
+++ b/pkgs/tools/archivers/tarlz/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tarlz";
-  version = "0.21";
+  version = "0.22";
   outputs = [ "out" "man" "info" ];
 
   nativeBuildInputs = [ lzip texinfo ];
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${pname}/${pname}-${version}.tar.lz";
-    sha256 = "sha256-D5chEt0/Emo5TVoEEHaVzLu55gPnsZM2e9FxRgfgrfQ=";
+    sha256 = "sha256-/M9yJvoktV0ybKsT926jSb7ERsWo33GkbTQwmaBQkdw=";
   };
 
   enableParallelBuilding = true;
   makeFlags = [ "CXX:=$(CXX)" ];
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     homepage = "https://www.nongnu.org/lzip/${pname}.html";
diff --git a/pkgs/tools/compression/lziprecover/default.nix b/pkgs/tools/compression/lziprecover/default.nix
index 0d8a700e162..e322a190590 100644
--- a/pkgs/tools/compression/lziprecover/default.nix
+++ b/pkgs/tools/compression/lziprecover/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lziprecover";
-  version = "1.22";
+  version = "1.23";
 
   src = fetchurl {
     url = "mirror://savannah/lzip/lziprecover/${pname}-${version}.tar.gz";
-    sha256 = "sha256-/ZWKCXX3cpxE87eE5WaJH3NsPcaDdNvSFJ7mkqFtCGI=";
+    sha256 = "sha256-8pgEF38G3VHD+lJhWuGYp2ACts6Nlhw1dVRsN0D0tXI=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/graphics/transfig/default.nix b/pkgs/tools/graphics/transfig/default.nix
deleted file mode 100644
index 617ecbf90ee..00000000000
--- a/pkgs/tools/graphics/transfig/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv, fetchurl, zlib, libjpeg, libpng, imake, gccmakedep }:
-
-stdenv.mkDerivation rec {
-  pname = "transfig";
-  version = "3.2.4";
-
-  src = fetchurl {
-    url = "ftp://ftp.tex.ac.uk/pub/archive/graphics/transfig/transfig.${version}.tar.gz";
-    sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
-  };
-
-  nativeBuildInputs = [ imake gccmakedep ];
-  buildInputs = [ zlib libjpeg libpng ];
-
-  patches = [
-    ./patch-fig2dev-dev-Imakefile.patch
-    ./patch-fig2dev-Imakefile.patch
-    ./patch-transfig-Imakefile.patch
-    ./patch-fig2dev-fig2dev.h.patch
-    ./patch-fig2dev-dev-gensvg.c.patch
-  ];
-
-  patchPhase = ''
-    runHook prePatch
-
-    configureImakefiles() {
-        local sedcmd=$1
-
-        sed "$sedcmd" fig2dev/Imakefile > tmpsed
-        cp tmpsed fig2dev/Imakefile
-
-        sed "$sedcmd" fig2dev/dev/Imakefile > tmpsed
-        cp tmpsed fig2dev/dev/Imakefile
-
-        sed "$sedcmd" transfig/Imakefile > tmpsed
-        cp tmpsed transfig/Imakefile
-    }
-
-    for i in $patches; do
-        header "applying patch $i" 3
-        patch -p0 < $i
-        stopNest
-    done
-
-    configureImakefiles "s:__PREFIX_PNG:${libpng}:"
-    configureImakefiles "s:__PREFIX:$out:"
-
-    runHook postPatch
-  '';
-
-  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
-
-  preInstall = ''
-    mkdir -p $out
-    mkdir -p $out/lib
-  '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch
deleted file mode 100644
index 9c1895b1519..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- fig2dev/Imakefile.orig	Thu Mar 25 22:39:10 2004
-+++ fig2dev/Imakefile	Thu Mar 25 22:41:01 2004
-@@ -16,17 +16,23 @@
- XCOMM party to do so, with the only requirement being that this copyright 
- XCOMM notice remain intact.
- 
-+BINDIR = __PREFIX/bin
-+DESTDIR = __DESTROOT
-+MKDIRHIER = mkdirhier
-+MANDIR = __PREFIX/share/man/$(MANSUFFIX)
-+INSTALLFLAGS = -c
-+
- XCOMM ******
- XCOMM You should point XFIGLIBDIR to the same directory you did when you compiled
- XCOMM and installed xfig.
- 
--XFIGLIBDIR =	/usr/local/lib/X11/xfig
-+XFIGLIBDIR =	__PREFIX/lib/xfig
- 
- XCOMM ******
- XCOMM If your system has the strerror() function (doesn't have sys_errlist) then
- XCOMM comment out NEED_STRERROR with an XCOMM comment.
- 
--NEED_STRERROR = -DNEED_STRERROR
-+XCOMM NEED_STRERROR = -DNEED_STRERROR
- 
- XCOMM The following probably only applies to Windows 9x/NT:
- XCOMM If your system can open files in text and binary modes and has the
-@@ -39,7 +45,7 @@
- XCOMM inline functions. With the "INLINE" keyword, you should notice that
- XCOMM the display will be a bit faster in complex figures
- 
--XCOMM USEINLINE = -DUSE_INLINE
-+USEINLINE = -DUSE_INLINE
- 
- XCOMM ****************
- XCOMM Change RGB if necessary, to point to your rgb.txt color database
-@@ -60,8 +66,8 @@
- XCOMM are in different places
- 
- #ifdef USEPNG
--PNGLIBDIR = $(USRLIBDIR)
--PNGINC = -I/usr/include/X11
-+PNGLIBDIR = __PREFIX_PNG/lib
-+PNGINC = -I__PREFIX_PNG/include
- #endif
- 
- XCOMM ****************
-@@ -73,7 +79,7 @@
- XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h)
- XCOMM
- 
--XCOMM #define USEXPM
-+XCOMM #define USEXPM
- 
- #ifdef USEXPM
- XPMLIBDIR = $(USRLIBDIR)
-@@ -126,7 +132,7 @@
- 
- #ifdef I18N
- I18N_DEFS = -DI18N 
--FIG2DEV_LIBDIR = /usr/local/lib/fig2dev
-+FIG2DEV_LIBDIR = __PREFIX/lib/fig2dev
- I18N_DEV_DEFS = $(I18N_DEFS) -DFIG2DEV_LIBDIR=\\\"$(FIG2DEV_LIBDIR)\\\"
- 
- install::
-@@ -177,7 +183,7 @@
- 
- IMAKE_DEFINES = $(DUSEPNG) $(DUSEXPM)
- 
--DEVDEFINES = $(DUSEPNG) $(DUSEXPM) $(XPMINC) $(DDNFSS) $(DDA4) \
-+DEVDEFINES = $(DUSEPNG) $(DUSEXPM) $(PNGINC) $(XPMINC) $(DDNFSS) $(DDA4) \
- 		$(DDLATEX2E_GRAPHICS) $(DDEPSFIG) $(DDIBMGEC) $(DDDVIPS) $(I18N_DEV_DEFS)
- 
- #define IHaveSubdirs
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch
deleted file mode 100644
index 87f01f70d30..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- fig2dev/dev/Imakefile.orig	Thu Mar 25 22:47:18 2004
-+++ fig2dev/dev/Imakefile	Thu Mar 25 22:47:51 2004
-@@ -18,6 +18,12 @@
- XCOMM party to do so, with the only requirement being that this copyright 
- XCOMM notice remain intact.
- 
-+BINDIR = __PREFIX/bin
-+USRLIBDIR = __PREFIX/lib
-+DESTDIR = __DESTROOT
-+MKDIRHIER = mkdirhier
-+MANDIR = __PREFIX/share/man/$(MANSUFFIX)
-+
- INCLUDES = -I.. -I../..
- 
- #ifdef USE_PNG
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch
deleted file mode 100644
index 5bd05c97be8..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- fig2dev/dev/gensvg.c.orig	Wed Jul 23 16:39:14 2003
-+++ fig2dev/dev/gensvg.c	Wed Jul 23 16:39:52 2003
-@@ -692,16 +692,14 @@
-     if (t->angle != 0) {
- 	fprintf (tfp, "<g transform=\"translate(%d,%d) rotate(%d)\" >\n",
- 		 (int) (t->base_x * mag), (int) (t->base_y * mag), degrees (t->angle));
--	fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\"  font-family=\"%s\" 
--		 font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
-+	fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\"  font-family=\"%s\" font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- 		 rgbColorVal (t->color), family[(int) ceil ((t->font + 1) / 4)],
- 		 (t->font % 2 == 0 ? "normal" : "italic"),
- 		 (t->font % 4 < 2 ? "normal" : "bold"), (int) (ceil (t->size * 12 * mag)),
- 		 anchor[t->type]);
-     }
-     else
--	fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\"  font-family=\"%s\" 
--		 font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
-+	fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\"  font-family=\"%s\" font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- 		 (int) (t->base_x * mag), (int) (t->base_y * mag), rgbColorVal (t->color),
- 		 family[(int) ceil ((t->font + 1) / 4)],
- 		 (t->font % 2 == 0 ? "normal" : "italic"),
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch
deleted file mode 100644
index 3f330c164e7..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- fig2dev/fig2dev.h.orig	Thu Dec 19 07:45:28 2002
-+++ fig2dev/fig2dev.h	Tue Jan  7 20:08:45 2003
-@@ -22,7 +22,6 @@
- #include <sys/file.h>
- #include <signal.h>
- #include <string.h>
--#include <varargs.h>
- #include <pwd.h>
- #include <errno.h>
- #include <time.h>
-@@ -210,7 +209,7 @@
- #endif /* MAXPATHLEN */
- #endif /* PATH_MAX */
- 
--#if ( !defined(__NetBSD__) && !defined(__DARWIN__))
-+#if ( !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__DARWIN__))
- extern int		sys_nerr, errno;
- #endif
- 
diff --git a/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch b/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch
deleted file mode 100644
index 4639658dccd..00000000000
--- a/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- transfig/Imakefile.orig	Thu Mar 25 22:10:42 2004
-+++ transfig/Imakefile	Thu Mar 25 22:14:04 2004
-@@ -14,11 +14,18 @@
- XCOMM party to do so, with the only requirement being that this copyright 
- XCOMM notice remain intact.
- 
-+BINDIR = __PREFIX/bin
-+USRLIBDIR = __PREFIX/lib
-+DESTDIR = __DESTROOT
-+MKDIRHIER = mkdirhier
-+MANDIR = __PREFIX/share/man/$(MANSUFFIX)
-+INSTALLFLAGS = -c
-+
- XCOMM Uncomment the USELATEX2E flag in the transfig/Imakefile file to use the
- XCOMM \\usepackage{} command for LaTeX2e. 
- XCOMM The default is to use \\documentstyle{} for LaTeX209.
- 
--XCOMM USELATEX2E = -DLATEX2E
-+USELATEX2E = -DLATEX2E
- 
- XCOMM ******* DON'T CHANGE ANYTHIN BELOW THIS POINT *******
- 
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index e17580d9c00..b75df56e432 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -83,6 +83,8 @@ stdenv.mkDerivation rec {
     wrapQtApp "$out/bin/zbarcam-qt"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Bar code reader";
     longDescription = ''
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
new file mode 100644
index 00000000000..82664c3700e
--- /dev/null
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -0,0 +1,157 @@
+{ lib
+, python3
+, pkgconfig
+, wrapGAppsHook
+, gettext
+, gtk3
+, glib
+, dbus
+, gobject-introspection
+, xmodmap
+, pygobject3
+, setuptools
+, evdev
+, pydantic
+, pydbus
+, psutil
+, fetchFromGitHub
+, buildPythonApplication
+, procps
+, gtksourceview4
+  # Change the default log level to debug for easier debugging of package issues
+, withDebugLogLevel ? false
+  # Xmodmap is an optional dependency
+  # If you use Xmodmap to set keyboard mappings (or your DE does)
+  # it is required to correctly map keys
+, withXmodmap ? true
+  # Version and rev and hash are package arguments to allow overriding
+  # while ensuring the values in prePatch and src match
+  # https://discourse.nixos.org/t/avoid-rec-expresions-in-nixpkgs/8293/7
+  # The names are prefixed with input_remapper to avoid potential
+  # collisions with package names
+, input_remapper_version ? "unstable-2022-02-09"
+, input_remapper_src_rev ? "55227e0b5a28d21d7333c6c8ea1c691e56fd35c4"
+, input_remapper_src_hash ? "sha256-kzGlEaYN/JfAgbI0aMLr5mwObYOL43X7QU/ihDEBQFg="
+}:
+
+let
+  maybeXmodmap = lib.optional withXmodmap xmodmap;
+in
+buildPythonApplication {
+  pname = "input-remapper";
+  version = input_remapper_version;
+
+  src = fetchFromGitHub {
+    rev = input_remapper_src_rev;
+    owner = "sezanzeb";
+    repo = "input-remapper";
+    hash = input_remapper_src_hash;
+  };
+
+  # Fixes error
+  # Couldn’t recognize the image file format for file "*.svg"
+  # at startup, see https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  prePatch = ''
+    # set revision for --version output
+    echo "COMMIT_HASH = '${input_remapper_src_rev}'" > inputremapper/commit_hash.py
+
+    # fix FHS paths
+    substituteInPlace inputremapper/configs/data.py \
+      --replace "/usr/share/input-remapper"  "$out/usr/share/input-remapper"
+  '' + (lib.optionalString (withDebugLogLevel) ''
+    # if debugging
+    substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)"  "logger.setLevel(logging.DEBUG)"
+  '');
+
+  doCheck = true;
+  checkInputs = [
+    psutil
+  ];
+  pythonImportsCheck = [
+    "evdev"
+    "inputremapper"
+  ];
+
+  # Custom test script, can't use plain pytest / pytestCheckHook
+  # We only run tests in the unit folder, integration tests require UI
+  # To allow tests which access the system and session DBUS to run, we start a dbus session
+  # and bind it to both the system and session buses
+  installCheckPhase = ''
+    echo "<busconfig>
+      <type>session</type>
+      <listen>unix:tmpdir=$TMPDIR</listen>
+      <listen>unix:path=/build/system_bus_socket</listen>
+      <standard_session_servicedirs/>
+      <policy context=\"default\">
+        <!-- Allow everything to be sent -->
+        <allow send_destination=\"*\" eavesdrop=\"true\"/>
+        <!-- Allow everything to be received -->
+        <allow eavesdrop=\"true\"/>
+        <!-- Allow anyone to own anything -->
+        <allow own=\"*\"/>
+      </policy>
+    </busconfig>" > dbus.cfg
+    PATH=${lib.makeBinPath ([ dbus procps ] ++ maybeXmodmap)}:$PATH \
+      USER="$(id -u -n)" \
+      DBUS_SYSTEM_BUS_ADDRESS=unix:path=/build/system_bus_socket \
+      ${dbus}/bin/dbus-run-session --config-file dbus.cfg \
+      python tests/test.py --start-dir unit
+  '';
+
+  # Nixpkgs 15.9.4.3. When using wrapGAppsHook with special derivers you can end up with double wrapped binaries.
+  dontWrapGApps = true;
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      --prefix PATH : "${lib.makeBinPath maybeXmodmap}"
+    )
+  '';
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gettext # needed to build translations
+    gtk3
+    glib
+    gobject-introspection
+    pygobject3
+  ] ++ maybeXmodmap;
+
+  propagatedBuildInputs = [
+    setuptools # needs pkg_resources
+    pygobject3
+    evdev
+    pkgconfig
+    pydantic
+    pydbus
+    gtksourceview4
+  ];
+
+  postInstall = ''
+    sed -r "s#RUN\+\=\"/bin/input-remapper-control#RUN\+\=\"$out/bin/input-remapper-control#g" -i data/99-input-remapper.rules
+    sed -r "s#ExecStart\=/usr/bin/input-remapper-service#ExecStart\=$out/bin/input-remapper-service#g" -i data/input-remapper.service
+
+    chmod +x data/*.desktop
+
+    install -D -t $out/share/applications/ data/*.desktop
+    install -D -t $out/share/polkit-1/actions/ data/input-remapper.policy
+    install -D data/99-input-remapper.rules $out/etc/udev/rules.d/99-input-remapper.rules
+    install -D data/input-remapper.service $out/lib/systemd/system/input-remapper.service
+    install -D data/input-remapper.policy $out/share/polkit-1/actions/input-remapper.policy
+    install -D data/inputremapper.Control.conf $out/etc/dbus-1/system.d/inputremapper.Control.conf
+    install -D -t $out/usr/share/input-remapper/ data/*
+
+    # Only install input-remapper prefixed binaries, we don't care about deprecated key-mapper ones
+    install -m755 -D -t $out/bin/ bin/input-remapper*
+  '';
+
+  meta = with lib; {
+    description = "An easy to use tool to change the mapping of your input device buttons";
+    homepage = "https://github.com/sezanzeb/input-remapper";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ LunNova ];
+    mainProgram = "input-remapper-gtk";
+  };
+}
diff --git a/pkgs/tools/misc/fpp/default.nix b/pkgs/tools/misc/fpp/default.nix
index 6c2abbf6c64..ff514ceafb2 100644
--- a/pkgs/tools/misc/fpp/default.nix
+++ b/pkgs/tools/misc/fpp/default.nix
@@ -1,16 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, python3 }:
+{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "fpp";
-  version = "0.9.2";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "PathPicker";
     rev = version;
-    sha256 = "08p2xlz045fqyb0aj9pwwf2s5nb4b02i8zj81732q59yx5c6lrlv";
+    sha256 = "sha256-4BkdGvG/RyF3JBnd/X5r5nboEHG4aqahcYHDunMv2zU=";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
   postPatch = ''
     substituteInPlace fpp --replace 'PYTHONCMD="python3"' 'PYTHONCMD="${python3.interpreter}"'
   '';
@@ -19,6 +21,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/fpp $out/bin
     cp -r fpp src $out/share/fpp
     ln -s $out/share/fpp/fpp $out/bin/fpp
+    installManPage debian/usr/share/man/man1/fpp.1
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index cd75c0a3bc0..5528bb2f97c 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -14,7 +14,6 @@ fontconfig,
 freetype,
 gdk-pixbuf,
 glib,
-gnome2,
 gtk3,
 lib,
 libdrm,
@@ -50,7 +49,6 @@ let
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libdrm
     libnotify
diff --git a/pkgs/tools/misc/opencbm/default.nix b/pkgs/tools/misc/opencbm/default.nix
index 2512747e74a..434b3d421de 100644
--- a/pkgs/tools/misc/opencbm/default.nix
+++ b/pkgs/tools/misc/opencbm/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencbm";
-  version = "0.4.99.103";
+  version = "0.4.99.104";
 
   src = fetchFromGitHub {
     owner = "OpenCBM";
     repo = "OpenCBM";
     rev = "v${version}";
-    sha256 = "06844yfgcbbwrp3iz5k8zd1zjawzbpvl131lgmkwz6d542c2k4k9";
+    sha256 = "sha256-5lj5F79Gbhrvi9dxKGobdyDyBLGcptAtxx9SANhLrKw=";
   };
 
   makefile = "LINUX/Makefile";
@@ -45,7 +45,8 @@ stdenv.mkDerivation rec {
       disk copier included. Successor of cbm4linux. Also supports the XU1541
       and the XUM1541 devices (a.k.a. "ZoomFloppy").
     '';
-    license = licenses.gpl2;
+    homepage = "https://spiro.trikaliotis.net/opencbm";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.sander ];
   };
diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix
new file mode 100644
index 00000000000..d5a4c0e4298
--- /dev/null
+++ b/pkgs/tools/misc/phrase-cli/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "phrase-cli";
+  version = "2.4.4";
+
+  src = fetchFromGitHub {
+    owner = "phrase";
+    repo = "phrase-cli";
+    rev = version;
+    sha256 = "0xlfcj0jd6x4ynzg6d0p3wlmfq660w3zm13nzx04jfcjnks9sqvl";
+  };
+
+  vendorSha256 = "1ablrs3prw011bpad8vn87y3c81q44mps873nhj278hlkz6im34g";
+
+  postInstall = ''
+    ln -s $out/bin/phrase-cli $out/bin/phrase
+  '';
+
+  meta = with lib; {
+    homepage = "http://docs.phraseapp.com";
+    description = "PhraseApp API v2 Command Line Client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ juboba ];
+  };
+}
diff --git a/pkgs/tools/misc/plocate/dbfile.patch b/pkgs/tools/misc/plocate/dbfile.patch
deleted file mode 100644
index 4e0278ae286..00000000000
--- a/pkgs/tools/misc/plocate/dbfile.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit 26e7bf8bcb2823819c87115e07932c0d2ba88170 (HEAD -> configurable-dbfile-path)
-Author: Eirik Nygaard <eirik@ngrd.no>
-Date:   Sun Jan 23 12:05:01 2022 +0100
-
-    Make entire path for plocate database configurable
-
-diff --git a/meson.build b/meson.build
-index 435cd0a..8dc2393 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2,8 +2,7 @@ project('plocate', 'cpp', default_options: ['buildtype=debugoptimized','cpp_std=
-
- add_project_arguments('-DGROUPNAME="' + get_option('locategroup') + '"', language: 'cpp')
- add_project_arguments('-DUPDATEDB_CONF="/etc/updatedb.conf"', language: 'cpp')
--dbdir = join_paths(get_option('sharedstatedir'), 'plocate')
--dbfile = join_paths(dbdir, 'plocate.db')
-+dbfile = join_paths(get_option('sharedstatedir'), get_option('dbpath'))
- add_project_arguments('-DDBFILE="' + dbfile + '"', language: 'cpp')
- add_project_arguments('-DPACKAGE_NAME="plocate"', language: 'cpp')
- add_project_arguments('-DPACKAGE_VERSION="' + meson.project_version() + '"', language: 'cpp')
-diff --git a/meson_options.txt b/meson_options.txt
-index 8ac13c5..a9f3358 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -3,3 +3,4 @@ option('install_systemd', type: 'boolean', value: true, description: 'Install sy
- option('systemunitdir', type: 'string', description: 'Where to install systemd units to (default: autodetect)')
- option('locategroup', type: 'string', value: 'plocate', description: 'Group that the install script will use for the .db file')
- option('updatedb_progname', type: 'string', value: 'updatedb', description: 'Binary name of updatedb')
-+option('dbpath', type: 'string', value: 'plocate/plocate.db', description: 'Path to plocate database relative to "sharedstatedir"')
diff --git a/pkgs/tools/misc/plocate/default.nix b/pkgs/tools/misc/plocate/default.nix
index ff10019ed90..f4504a73637 100644
--- a/pkgs/tools/misc/plocate/default.nix
+++ b/pkgs/tools/misc/plocate/default.nix
@@ -11,18 +11,17 @@
 }:
 let
   dbfile = lib.attrByPath [ "locate" "dbfile" ] "/var/cache/locatedb" config;
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "plocate";
-  version = "1.1.14";
+  version = "1.1.15";
 
   src = fetchgit {
     url = "https://git.sesse.net/plocate";
     rev = version;
-    sha256 = "sha256-SgvCy03H5aKolbkI1dg/0G5VwT3TdSGenn2h9H4gfTY=";
+    sha256 = "sha256-r8/LivQhJkMTE8ejznr+eGplXFrQl4xwCgXOwbR4wlw=";
   };
 
-  patches = [ ./dbfile.patch ];
-
   postPatch = ''
     sed -i meson.build \
       -e '/mkdir\.sh/d'
diff --git a/pkgs/tools/misc/rates/default.nix b/pkgs/tools/misc/rates/default.nix
index 8ead57a07eb..6db1675fe02 100644
--- a/pkgs/tools/misc/rates/default.nix
+++ b/pkgs/tools/misc/rates/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rates";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "lunush";
     repo = pname;
     rev = version;
-    sha256 = "077qxs4kwfprsai07dninkhmj3ihnghdxan98iv8gmsl3pijbgwh";
+    sha256 = "sha256-ivJ6rD4+EYeMg6nOWzf3lp521+7NTBq5vCn7648q0T8=";
   };
 
-  cargoSha256 = "041sskiq152iywwqd8p7aqsqzbj359zl7ilnp8ahzdqprz3slk1w";
+  cargoSha256 = "sha256-dsWAxYFB096SZN5tfzEMokdQ8qw1aR/6Hmjtkdw1L8E=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index 0f3dd4e24f6..412995b710f 100644
--- a/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -10,15 +10,15 @@ let
 
 in buildGoModule rec {
   pname = "datadog-agent";
-  version = "7.33.0";
+  version = "7.33.1";
 
   src = fetchFromGitHub {
     inherit owner repo;
     rev = version;
-    sha256 = "sha256-8QwXJrhuONdmM0oneGip4BhYkfuaNoYQn+MjlIpCk98=";
+    sha256 = "sha256-H8apgLdm90/gVsqcCSc3gymgUUP2AWcNPgV9394UUeQ=";
   };
 
-  vendorSha256 = "sha256-3caBX+Z1SbX0u5yfh/218HH2jEvKV1IM6fd3HkYHTGk=";
+  vendorSha256 = "sha256-qIm9ZIQTNmKUtTMBsGzH0t4MrIAvksea9t7p5cC6ykk=";
 
   subPackages = [
     "cmd/agent"
diff --git a/pkgs/tools/networking/mqttui/default.nix b/pkgs/tools/networking/mqttui/default.nix
index 52c481e3c7e..1d350ee4403 100644
--- a/pkgs/tools/networking/mqttui/default.nix
+++ b/pkgs/tools/networking/mqttui/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mqttui";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "EdJoPaTo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ScB0zJXyk8bPEDCxdymMqNmlhe/skNHr6IRmJpme+qQ=";
+    sha256 = "sha256-Uts9hKhnFNYdQhxeUoTOehCcfgqQwStSoGWixgY3dPU=";
   };
 
-  cargoSha256 = "sha256-736UYTCs4d1DcpHWl5AejEaW+SYzlgElozC3t/RU41g=";
+  cargoSha256 = "sha256-YxXniyuQEM+vrCbflqCLlnXpH3ClAd9O496SFVKRvBs=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index de8b3d69960..80e37782154 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ofono";
-  version = "1.33";
+  version = "1.34";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/ofono/ofono.git";
     rev = version;
-    sha256 = "sha256-UTFP69yv1epVrqBoRKCRcR2WiKBG01sLTzrsh/Nude4=";
+    sha256 = "sha256-mqltc+/RmQO8awP+J7p9fCVhNsEYA3SgxeV5Gkr1srg=";
   };
 
   patches = [
@@ -58,8 +58,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Infrastructure for building mobile telephony (GSM/UMTS) applications";
-    homepage = "https://01.org/ofono";
-    license = licenses.gpl2;
+    homepage = "https://git.kernel.org/pub/scm/network/ofono/ofono.git";
+    changelog = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/plain/ChangeLog?h=${version}";
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix
index b88275731b3..0c791bbf80f 100644
--- a/pkgs/tools/package-management/cargo-release/default.nix
+++ b/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.20.1";
+  version = "0.20.2";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-Sh+nAeFd163nr8h3jBJbfDiMt+8+6bi/B1OOVVGMTXo=";
+    sha256 = "sha256-KWLZdFpRwtdP17x71IU2MGFwd1SNnTRcgTUoW1p5Px4=";
   };
 
-  cargoSha256 = "sha256-QPp/vO4ZBvxbBtXbvU1ZRLPXOmzMCaJ1/mtuTpL6UYw=";
+  cargoSha256 = "sha256-CTaEWANx3s7YCm8pqGWuvGqR362YtVjmbnc9V3kC8pI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index 49dc002133d..30206fab0eb 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -1,14 +1,18 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jn28IusHgHHFFrvqZLIvbqCFMhMQ5K/gqC4hVQLffY0=";
+    sha256 = "sha256-RXEeJZeC6hA6DetZnUNWFtNZEy4HJpxviL8pySBLfts=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -22,9 +26,12 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-05/xFjgiqbXy7Y2LTGHcXtvusGgfZ/TwLQHaO8rIjvc=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  vendorSha256 = "sha256-2T2fw1nOycP1LxUuMSmz1ke2bg4yox/tIAveXCNJG9Y=";
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
index 89e07936481..2386bb90d1a 100644
--- a/pkgs/tools/security/haveged/default.nix
+++ b/pkgs/tools/security/haveged/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "haveged";
-  version = "1.9.15";
+  version = "1.9.17";
 
   src = fetchFromGitHub {
     owner = "jirka-h";
     repo = "haveged";
     rev = "v${version}";
-    sha256 = "sha256-bU+/lRx0RAqHheNQ9CWT/V0oZnZd0W9EHhhX3RRIZ/0=";
+    sha256 = "sha256-uVl+TZVMsf+9aRATQndYMK4l4JfOBvstd1O2nTHyMYU=";
   };
 
   strictDeps = true;
@@ -34,8 +34,10 @@ stdenv.mkDerivation rec {
       the barriers to using haveged for other tasks.
     '';
     homepage = "https://github.com/jirka-h/haveged";
-    license = licenses.gpl3;
+    changelog = "https://raw.githubusercontent.com/jirka-h/haveged/v${version}/ChangeLog";
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ domenkozar ];
     platforms = platforms.unix;
+    badPlatforms = platforms.darwin; # fails to build since v1.9.15
   };
 }
diff --git a/pkgs/tools/security/solo2-cli/default.nix b/pkgs/tools/security/solo2-cli/default.nix
index e3518799504..eaa2bc659a5 100644
--- a/pkgs/tools/security/solo2-cli/default.nix
+++ b/pkgs/tools/security/solo2-cli/default.nix
@@ -32,6 +32,7 @@ rustPlatform.buildRustPackage rec {
     ++ lib.optionals stdenv.isDarwin [ PCSC IOKit CoreFoundation AppKit ];
 
   postInstall = ''
+    install -D 70-solo2.rules $out/lib/udev/rules.d/70-solo2.rules
     installShellCompletion target/*/release/solo2.{bash,fish,zsh}
   '';
 
diff --git a/pkgs/tools/system/btop/default.nix b/pkgs/tools/system/btop/default.nix
index 80c0fea6c3e..c7db9e363f9 100644
--- a/pkgs/tools/system/btop/default.nix
+++ b/pkgs/tools/system/btop/default.nix
@@ -8,8 +8,8 @@
 
 stdenv.mkDerivation rec {
   pname = "btop";
-  version = "1.2.2";
-  hash = "sha256-MXPfqxpEIJUbWyT6Ni/wnkNQ234fzrAPdIrisw8gytw=";
+  version = "1.2.3";
+  hash = "sha256-vH167BL2ekWwxIhQWXkgJxl8z77S8SkmHVclW6XGc+8=";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 8a797e8ab13..79f829ffdfb 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -16,14 +16,14 @@ with lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.33.0";
+  version = "1.33.1";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "sha256-/1rLcfWbrg8gq5AnoSD5cBusc0WGJBc+i/sLyLwM/eY=";
+    sha256 = "sha256-4rx8EHtOSd/lHcSHZCtiXkjJjL7B175cVGvFOZ9Bzi8=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 364d3c6edc4..9d56e2e4c19 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "colordiff";
-  version = "1.0.19";
+  version = "1.0.20";
 
   src = fetchFromGitHub {
     owner = "daveewart";
     repo = "colordiff";
     rev = "v${version}";
-    sha256 = "1v7s1yn0qvn08iwm5js8mxn442392qyr7s9ij506byfd497ag7qk";
+    sha256 = "sha256-+TtVnUX88LMd8zmhLsKTyR9JlgR7IkUB18PF3LRgPB0=";
   };
 
   nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m xmlto ];
diff --git a/pkgs/tools/text/csview/default.nix b/pkgs/tools/text/csview/default.nix
index c0b9c43436f..41ddcfac50a 100644
--- a/pkgs/tools/text/csview/default.nix
+++ b/pkgs/tools/text/csview/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "csview";
-  version = "0.3.12";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1j3u9r5TjdewAyzuCwCkXl/A2yI9L/AS5QGRpz30N7U=";
+    sha256 = "sha256-tllwFUC+Si3PsYPmiO86D3PNdInuIxxhZW5dAuU4K14=";
   };
 
-  cargoSha256 = "sha256-Z+LnWXvVfZa8Mtr9LrieqCBGxaQE1vj1joSttYM5Xhs=";
+  cargoSha256 = "sha256-j9CwldmxjWYVuiWfAHIV0kr5k/p1BFWHzZiVrv8m7uI=";
 
   meta = with lib; {
     description = "A high performance csv viewer with cjk/emoji support";
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index fdf05fe2001..f6dcd72d7bf 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchFromGitea
 , rustPlatform
 , pkg-config
 , asciidoctor
@@ -12,20 +12,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.25.1";
+  version = "0.26.1";
 
-  src = fetchFromGitHub {
-    owner = "lunaryorn";
-    repo = pname;
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "flausch";
+    repo = "mdcat";
     rev = "mdcat-${version}";
-    sha256 = "sha256-deG2VjyjFs0LFeTXfPYy3zzjj0rpVjxE0DhkpD5PzSQ=";
+    sha256 = "sha256-vB49EwQltonR9Uw8RRMZTPR4WkcylnIqiE0/8+t2R1Q=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-bPGSdXooBZMye3yj00f3rWIiW4wfg2B4meH44hpkXTY=";
+  cargoSha256 = "sha256-v52ob5l5HiiZZmo88D9/ldFi0170/BuPzgKIt9ctSgU=";
 
   checkInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
@@ -50,7 +51,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "cat for markdown";
     homepage = "https://github.com/lunaryorn/mdcat";
-    license = with licenses; [ asl20 ];
+    license = with licenses; [ mpl20 ];
     maintainers = with maintainers; [ davidtwco SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix
index fd801527e11..192b5424e9a 100644
--- a/pkgs/tools/typesetting/pdftk/default.nix
+++ b/pkgs/tools/typesetting/pdftk/default.nix
@@ -32,7 +32,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0qx1axqr0h5zbn2z9bnb1d0rbs0vajw4p8szw34nicngnn213g7k";
+    outputHash = "sha256-IlHuvFfkqM3O+3PPVBqUJzQXJELKGKHrmI1tdxsBpSk=";
   };
 
   # Point to our local deps repo
diff --git a/pkgs/tools/typesetting/skribilo/default.nix b/pkgs/tools/typesetting/skribilo/default.nix
index e80c4326651..85031f90084 100644
--- a/pkgs/tools/typesetting/skribilo/default.nix
+++ b/pkgs/tools/typesetting/skribilo/default.nix
@@ -10,7 +10,7 @@
 , makeWrapper
 , pkg-config
 , ploticus
-, transfig
+, fig2dev
 , enableEmacs ? false, emacs
 , enableLout ? true, lout
 , enableTex ? true, tex
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec{
     guile-reader
     imagemagick
     ploticus
-    transfig
+    fig2dev
   ]
   ++ optional enableEmacs emacs
   ++ optional enableLout lout
diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix
index dbd4fed1474..99ef9a8a71a 100644
--- a/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, python3, libxslt, texlive
-, enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null
+, enableAllFeatures ? false, imagemagick, fig2dev, inkscape, fontconfig, ghostscript
 
 , tex ? texlive.combine { # satisfy all packages that ./configure mentions
     inherit (texlive) scheme-basic epstopdf anysize appendix changebar
@@ -13,13 +13,6 @@
 # NOTE: enableAllFeatures just purifies the expression, it doesn't actually
 # enable any extra features.
 
-assert enableAllFeatures ->
-  imagemagick != null &&
-  transfig != null &&
-  inkscape != null &&
-  fontconfig != null &&
-  ghostscript != null;
-
 stdenv.mkDerivation rec {
   pname = "dblatex";
   version = "0.3.12";
@@ -30,7 +23,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ python3 libxslt tex ]
-    ++ lib.optionals enableAllFeatures [ imagemagick transfig ];
+    ++ lib.optionals enableAllFeatures [ imagemagick fig2dev ];
 
   # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have
   # that yet. In Ubuntu, texindy is a part of the xindy package.
@@ -49,7 +42,7 @@ stdenv.mkDerivation rec {
             -e 's|"fc-match"|"${fontconfig.bin}/bin/fc-match"|g' \
             -e 's|"fc-list"|"${fontconfig.bin}/bin/fc-list"|g' \
             -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \
-            -e 's|cmd = "fig2dev|cmd = "${transfig}/bin/fig2dev|g' \
+            -e 's|cmd = "fig2dev|cmd = "${fig2dev}/bin/fig2dev|g' \
             -e 's|cmd = \["ps2pdf|cmd = ["${ghostscript}/bin/ps2pdf|g' \
             -e 's|cmd = "convert|cmd = "${imagemagick.out}/bin/convert|g' \
             -i "$file"
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index e5e2cc5637c..afce83f9c5e 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -475,6 +475,7 @@ mapAliases ({
 
   iana_etc = iana-etc; # Added 2017-03-08
   iasl = throw "iasl has been removed, use acpica-tools instead"; # Added 2021-08-08
+  icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream."; # Added 2022-02-15
   icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
   icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
   idea = jetbrains; # Added 2017-04-03
@@ -1188,6 +1189,7 @@ mapAliases ({
   torch-repl = throw "torch-repl has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
   torchPackages = throw "torchPackages has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
   trang = jing-trang; # Added 2018-04-25
+  transfig = fig2dev; # Added 2022-02-15
   transmission-remote-cli = "transmission-remote-cli has been removed, as the upstream project has been abandoned. Please use tremc instead"; # Added 2020-10-14
   transmission_gtk = transmission-gtk; # Added 2018-01-06
   transmission_remote_gtk = transmission-remote-gtk; # Added 2018-01-06
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fceee93faf1..5af9bd04191 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -216,6 +216,8 @@ with pkgs;
 
   beyond-identity = callPackage ../tools/security/beyond-identity {};
 
+  bingo = callPackage ../development/tools/bingo {};
+
   breakpad = callPackage ../development/misc/breakpad { };
 
   buf = callPackage ../development/tools/buf { };
@@ -253,11 +255,11 @@ with pkgs;
 
   catatonit = callPackage ../applications/virtualization/catatonit { };
 
-  cen64 = callPackage ../misc/emulators/cen64 { };
+  cen64 = callPackage ../applications/emulators/cen64 { };
 
   btdu = callPackage ../tools/misc/btdu { };
 
-  uxn = callPackage ../misc/emulators/uxn { };
+  uxn = callPackage ../applications/emulators/uxn { };
 
   cereal = callPackage ../development/libraries/cereal { };
 
@@ -375,7 +377,7 @@ with pkgs;
 
   protoc-gen-twirp_typescript = callPackage ../development/tools/protoc-gen-twirp_typescript { };
 
-  proton-caller = callPackage ../misc/emulators/proton-caller { };
+  proton-caller = callPackage ../applications/emulators/proton-caller { };
 
   ptags = callPackage ../development/tools/misc/ptags { };
 
@@ -1258,6 +1260,8 @@ with pkgs;
 
   amazon-ecs-cli = callPackage ../tools/virtualization/amazon-ecs-cli { };
 
+  amazon-qldb-shell = callPackage ../development/tools/amazon-qldb-shell { };
+
   amber = callPackage ../tools/text/amber {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -2309,7 +2313,7 @@ with pkgs;
 
   boca = callPackage ../development/libraries/boca { };
 
-  bochs = callPackage ../applications/virtualization/bochs {
+  bochs = callPackage ../applications/emulators/bochs {
     wxGTK = wxGTK30;
   };
 
@@ -2365,9 +2369,9 @@ with pkgs;
   breakpointHook = assert stdenv.isLinux;
     makeSetupHook { } ../build-support/setup-hooks/breakpoint-hook.sh;
 
-  py65 = python3Packages.callPackage ../misc/emulators/py65 { };
+  py65 = python3Packages.callPackage ../applications/emulators/py65 { };
 
-  simh = callPackage ../misc/emulators/simh { };
+  simh = callPackage ../applications/emulators/simh { };
 
   btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { };
 
@@ -2492,19 +2496,19 @@ with pkgs;
 
   cde = callPackage ../tools/package-management/cde { };
 
-  cdemu-daemon = callPackage ../misc/emulators/cdemu/daemon.nix { };
+  cdemu-daemon = callPackage ../applications/emulators/cdemu/daemon.nix { };
 
-  cdemu-client = callPackage ../misc/emulators/cdemu/client.nix { };
+  cdemu-client = callPackage ../applications/emulators/cdemu/client.nix { };
 
   ceres-solver = callPackage ../development/libraries/ceres-solver {
     gflags = null; # only required for examples/tests
   };
 
-  craftos-pc = callPackage ../misc/emulators/craftos-pc { };
+  craftos-pc = callPackage ../applications/emulators/craftos-pc { };
 
-  gcdemu = callPackage ../misc/emulators/cdemu/gui.nix { };
+  gcdemu = callPackage ../applications/emulators/cdemu/gui.nix { };
 
-  image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
+  image-analyzer = callPackage ../applications/emulators/cdemu/analyzer.nix { };
 
   cbor-diag = callPackage ../development/tools/cbor-diag { };
 
@@ -2872,9 +2876,9 @@ with pkgs;
 
   djv = callPackage ../applications/graphics/djv { };
 
-  dlx = callPackage ../misc/emulators/dlx { };
+  dlx = callPackage ../applications/emulators/dlx { };
 
-  dgen-sdl = callPackage ../misc/emulators/dgen-sdl { };
+  dgen-sdl = callPackage ../applications/emulators/dgen-sdl { };
 
   dnschef = python3Packages.callPackage ../tools/networking/dnschef { };
 
@@ -3669,7 +3673,7 @@ with pkgs;
 
   ropgadget = with python3Packages; toPythonApplication ropgadget;
 
-  ryujinx = callPackage ../misc/emulators/ryujinx { };
+  ryujinx = callPackage ../applications/emulators/ryujinx { };
 
   scour = with python3Packages; toPythonApplication scour;
 
@@ -3691,7 +3695,7 @@ with pkgs;
 
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
-  simplenes = callPackage ../misc/emulators/simplenes { };
+  simplenes = callPackage ../applications/emulators/simplenes { };
 
   snippetpixie = callPackage ../tools/text/snippetpixie { };
 
@@ -4157,7 +4161,7 @@ with pkgs;
     citrix_workspace_21_12_0
   ;
 
-  citra = libsForQt5.callPackage ../misc/emulators/citra { };
+  citra = libsForQt5.callPackage ../applications/emulators/citra { };
 
   cmigemo = callPackage ../tools/text/cmigemo { };
 
@@ -4348,6 +4352,8 @@ with pkgs;
     inherit (pkgs.darwin.apple_sdk.frameworks) PCSC;
   };
 
+  artim-dark = callPackage ../data/themes/artim-dark {};
+
   bore = callPackage ../tools/networking/bore {
     inherit (darwin) Libsystem;
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
@@ -4384,6 +4390,8 @@ with pkgs;
 
   checkmate = callPackage ../development/tools/checkmate { };
 
+  circup = callPackage ../development/tools/circup { };
+
   civetweb = callPackage ../development/libraries/civetweb { };
 
   ckb-next = libsForQt5.callPackage ../tools/misc/ckb-next { };
@@ -4781,11 +4789,11 @@ with pkgs;
 
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
-  dolphin-emu = callPackage ../misc/emulators/dolphin-emu { };
-  dolphin-emu-beta = qt5.callPackage ../misc/emulators/dolphin-emu/master.nix {
+  dolphin-emu = callPackage ../applications/emulators/dolphin-emu { };
+  dolphin-emu-beta = qt5.callPackage ../applications/emulators/dolphin-emu/master.nix {
     inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
   };
-  dolphin-emu-primehack = qt5.callPackage ../misc/emulators/dolphin-emu/primehack.nix {
+  dolphin-emu-primehack = qt5.callPackage ../applications/emulators/dolphin-emu/primehack.nix {
     inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
   };
 
@@ -5163,7 +5171,7 @@ with pkgs;
 
   epstool = callPackage ../tools/graphics/epstool { };
 
-  epsxe = callPackage ../misc/emulators/epsxe { };
+  epsxe = callPackage ../applications/emulators/epsxe { };
 
   escrotum = callPackage ../tools/graphics/escrotum { };
 
@@ -5383,7 +5391,7 @@ with pkgs;
 
   fio = callPackage ../tools/system/fio { };
 
-  firebird-emu = libsForQt5.callPackage ../misc/emulators/firebird-emu { };
+  firebird-emu = libsForQt5.callPackage ../applications/emulators/firebird-emu { };
 
   flamerobin = callPackage ../applications/misc/flamerobin { };
 
@@ -6633,6 +6641,8 @@ with pkgs;
 
   innoextract = callPackage ../tools/archivers/innoextract { };
 
+  input-remapper = python3Packages.callPackage ../tools/inputmethods/input-remapper { };
+
   input-utils = callPackage ../os-specific/linux/input-utils { };
 
   inql = callPackage ../tools/security/inql { };
@@ -7353,7 +7363,7 @@ with pkgs;
     nodejs = nodejs-14_x;
   };
 
-  np2kai = callPackage ../misc/emulators/np2kai { };
+  np2kai = callPackage ../applications/emulators/np2kai { };
 
   openipmi = callPackage ../tools/system/openipmi { };
 
@@ -7784,11 +7794,11 @@ with pkgs;
 
   mdp = callPackage ../applications/misc/mdp { };
 
-  mednafen = callPackage ../misc/emulators/mednafen { };
+  mednafen = callPackage ../applications/emulators/mednafen { };
 
-  mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { };
+  mednafen-server = callPackage ../applications/emulators/mednafen/server.nix { };
 
-  mednaffe = callPackage ../misc/emulators/mednaffe { };
+  mednaffe = callPackage ../applications/emulators/mednaffe { };
 
   megacli = callPackage ../tools/misc/megacli { };
 
@@ -7804,7 +7814,7 @@ with pkgs;
 
   mfoc = callPackage ../tools/security/mfoc { };
 
-  mgba = libsForQt5.callPackage ../misc/emulators/mgba { };
+  mgba = libsForQt5.callPackage ../applications/emulators/mgba { };
 
   microdnf = callPackage ../tools/package-management/microdnf { };
 
@@ -8024,7 +8034,7 @@ with pkgs;
 
   nerdfonts = callPackage ../data/fonts/nerdfonts { };
 
-  nestopia = callPackage ../misc/emulators/nestopia { };
+  nestopia = callPackage ../applications/emulators/nestopia { };
 
   netatalk = callPackage ../tools/filesystems/netatalk { };
 
@@ -9264,7 +9274,7 @@ with pkgs;
 
   repseek = callPackage ../applications/science/biology/repseek { };
 
-  reicast = callPackage ../misc/emulators/reicast { };
+  reicast = callPackage ../applications/emulators/reicast { };
 
   reredirect = callPackage ../tools/misc/reredirect { };
 
@@ -9450,7 +9460,7 @@ with pkgs;
 
   rubocop = rubyPackages.rubocop;
 
-  ruffle = callPackage ../misc/emulators/ruffle { };
+  ruffle = callPackage ../applications/emulators/ruffle { };
 
   runningx = callPackage ../tools/X11/runningx { };
 
@@ -10302,7 +10312,7 @@ with pkgs;
 
   tiledb = callPackage ../development/libraries/tiledb { };
 
-  tilem = callPackage ../misc/emulators/tilem { };
+  tilem = callPackage ../applications/emulators/tilem { };
 
   timemachine = callPackage ../applications/audio/timemachine { };
 
@@ -10326,9 +10336,9 @@ with pkgs;
 
   tinycbor = callPackage ../development/libraries/tinycbor { };
 
-  tiny8086 = callPackage ../applications/virtualization/tiny8086 { };
+  tiny8086 = callPackage ../applications/emulators/tiny8086 { };
 
-  tinyemu = callPackage ../applications/virtualization/tinyemu { };
+  tinyemu = callPackage ../applications/emulators/tinyemu { };
 
   tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { };
 
@@ -10954,10 +10964,6 @@ with pkgs;
 
   ts = callPackage ../tools/system/ts { };
 
-  transfig = callPackage ../tools/graphics/transfig {
-    libpng = libpng12;
-  };
-
   ttmkfdir = callPackage ../tools/misc/ttmkfdir { };
 
   ttwatch = callPackage ../tools/misc/ttwatch { };
@@ -11877,9 +11883,7 @@ with pkgs;
 
   elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix;
 
-  elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  });
+  elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
 
   apache-flex-sdk = callPackage ../development/compilers/apache-flex-sdk { };
 
@@ -14103,7 +14107,7 @@ with pkgs;
   mspdebug = callPackage ../development/misc/msp430/mspdebug.nix { };
 
   vc4-newlib = callPackage ../development/misc/vc4/newlib.nix {};
-  resim = callPackage ../misc/emulators/resim {};
+  resim = callPackage ../applications/emulators/resim {};
 
   or1k-newlib = callPackage ../development/misc/or1k/newlib.nix {};
 
@@ -14525,7 +14529,7 @@ with pkgs;
 
   checkstyle = callPackage ../development/tools/analysis/checkstyle { };
 
-  chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome2.GConf; };
+  chromedriver = callPackage ../development/tools/selenium/chromedriver { };
 
   chromium-xorg-conf = callPackage ../os-specific/linux/chromium-xorg-conf { };
 
@@ -15258,12 +15262,9 @@ with pkgs;
     jre_headless = jre8_headless;
   };
 
-  nwjs = callPackage ../development/tools/nwjs {
-    gconf = gnome2.GConf;
-  };
+  nwjs = callPackage ../development/tools/nwjs { };
 
   nwjs-sdk = callPackage ../development/tools/nwjs {
-    gconf = gnome2.GConf;
     sdk = true;
   };
 
@@ -15912,11 +15913,7 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
-  aprutil = callPackage ../development/libraries/apr-util {
-    db = if stdenv.isFreeBSD then db4 else db;
-    # XXX: only the db_185 interface was available through
-    #      apr with db58 on freebsd (nov 2015), for unknown reasons
-  };
+  aprutil = callPackage ../development/libraries/apr-util { };
 
   aravis = callPackage ../development/libraries/aravis {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad;
@@ -16397,7 +16394,7 @@ with pkgs;
 
   duckdb = callPackage ../development/libraries/duckdb {};
 
-  duckstation = libsForQt5.callPackage ../misc/emulators/duckstation {};
+  duckstation = libsForQt5.callPackage ../applications/emulators/duckstation {};
 
   easyloggingpp = callPackage ../development/libraries/easyloggingpp {};
 
@@ -18336,7 +18333,7 @@ with pkgs;
     hdf5 = hdf5_1_10;
   };
 
-  libmirage = callPackage ../misc/emulators/cdemu/libmirage.nix { };
+  libmirage = callPackage ../applications/emulators/cdemu/libmirage.nix { };
 
   libmkv = callPackage ../development/libraries/libmkv { };
 
@@ -21063,6 +21060,7 @@ with pkgs;
     # _compat can probably be removed on next minor version after 0.10.0
     lua = lua5_2_compat;
     withExtraLibs = [];
+    withExtraLuaPackages = _: [];
   };
 
   prosody-filer = callPackage ../servers/xmpp/prosody-filer { };
@@ -21536,6 +21534,8 @@ with pkgs;
     mariadb_104
     mariadb_105
     mariadb_106
+    mariadb_107
+    mariadb_108
   ;
   mariadb = mariadb_106;
 
@@ -22947,6 +22947,8 @@ with pkgs;
 
   qemu_test = lowPrio (qemu.override { hostCpuOnly = true; nixosTestRunner = true; });
 
+  quick-lint-js = callPackage ../development/tools/quick-lint-js { };
+
   linux-firmware = callPackage ../os-specific/linux/firmware/linux-firmware { };
 
   qmk-udev-rules = callPackage ../os-specific/linux/qmk-udev-rules { };
@@ -23935,6 +23937,8 @@ with pkgs;
 
   penna = callPackage ../data/fonts/penna { };
 
+  pitch-black = callPackage ../data/themes/pitch-black {};
+
   plano-theme = callPackage ../data/themes/plano { };
 
   plata-theme = callPackage ../data/themes/plata {
@@ -24053,7 +24057,7 @@ with pkgs;
 
   poppler_data = callPackage ../data/misc/poppler-data { };
 
-  qmc2 = libsForQt514.callPackage ../misc/emulators/qmc2 { };
+  qmc2 = libsForQt514.callPackage ../applications/emulators/qmc2 { };
 
   quattrocento = callPackage ../data/fonts/quattrocento {};
 
@@ -24160,7 +24164,7 @@ with pkgs;
     fonts = [ "Terminus" ];
   };
 
-  termtekst = callPackage ../misc/emulators/termtekst { };
+  termtekst = callPackage ../applications/emulators/termtekst { };
 
   tex-gyre = callPackages ../data/fonts/tex-gyre { };
 
@@ -25127,7 +25131,7 @@ with pkgs;
 
   dwm-status = callPackage ../applications/window-managers/dwm/dwm-status.nix { };
 
-  dynamips = callPackage ../applications/virtualization/dynamips { };
+  dynamips = callPackage ../applications/emulators/dynamips { };
 
   exploitdb = callPackage ../tools/security/exploitdb { };
 
@@ -25951,6 +25955,8 @@ with pkgs;
 
   jmusicbot = callPackage ../applications/audio/jmusicbot { };
 
+  lemonade = callPackage ../applications/misc/lemonade { };
+
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
   librespot = callPackage ../applications/audio/librespot {
@@ -26081,7 +26087,7 @@ with pkgs;
 
   googleearth-pro = libsForQt5.callPackage ../applications/misc/googleearth-pro { };
 
-  google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; };
+  google-chrome = callPackage ../applications/networking/browsers/google-chrome { };
 
   google-chrome-beta = google-chrome.override { chromium = chromiumBeta; channel = "beta"; };
 
@@ -26169,7 +26175,7 @@ with pkgs;
 
   herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
 
-  hercules = callPackage ../applications/virtualization/hercules { };
+  hercules = callPackage ../applications/emulators/hercules { };
 
   hexchat = callPackage ../applications/networking/irc/hexchat { };
 
@@ -26334,7 +26340,7 @@ with pkgs;
   srain = callPackage ../applications/networking/irc/srain { };
 
   super-productivity = callPackage ../applications/office/super-productivity {
-    electron = electron_13;
+    electron = electron_17;
   };
 
   wlroots = wlroots_0_15;
@@ -26449,8 +26455,6 @@ with pkgs;
 
   icewm = callPackage ../applications/window-managers/icewm {};
 
-  icecat-bin = callPackage ../applications/networking/browsers/icecat-bin { };
-
   icon-library = callPackage ../applications/graphics/icon-library { };
 
   id3v2 = callPackage ../applications/audio/id3v2 { };
@@ -26711,7 +26715,7 @@ with pkgs;
 
   kdevelop = libsForQt5.callPackage ../applications/editors/kdevelop5/wrapper.nix { };
 
-  kega-fusion = pkgsi686Linux.callPackage ../misc/emulators/kega-fusion { };
+  kega-fusion = pkgsi686Linux.callPackage ../applications/emulators/kega-fusion { };
 
   kepubify = callPackage ../tools/misc/kepubify { };
 
@@ -26883,7 +26887,7 @@ with pkgs;
 
   kvirc = libsForQt514.callPackage ../applications/networking/irc/kvirc { };
 
-  lambda-delta = callPackage ../misc/emulators/lambda-delta { };
+  lambda-delta = callPackage ../applications/emulators/lambda-delta { };
 
   lame = callPackage ../development/libraries/lame { };
 
@@ -27016,7 +27020,7 @@ with pkgs;
 
   lighttable = callPackage ../applications/editors/lighttable {};
 
-  libdsk = callPackage ../misc/emulators/libdsk { };
+  libdsk = callPackage ../applications/emulators/libdsk { };
 
   liblinphone = callPackage ../development/libraries/liblinphone { };
 
@@ -27201,7 +27205,7 @@ with pkgs;
 
   melmatcheq.lv2 = callPackage ../applications/audio/melmatcheq.lv2 { };
 
-  melonDS = libsForQt5.callPackage ../misc/emulators/melonDS { };
+  melonDS = libsForQt5.callPackage ../applications/emulators/melonDS { };
 
   meme-image-generator = callPackage ../applications/graphics/meme-image-generator { };
 
@@ -27847,7 +27851,7 @@ with pkgs;
 
   obconf = callPackage ../tools/X11/obconf { };
 
-  oberon-risc-emu = callPackage ../misc/emulators/oberon-risc-emu { };
+  oberon-risc-emu = callPackage ../applications/emulators/oberon-risc-emu { };
 
   obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {};
   obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {});
@@ -27998,9 +28002,9 @@ with pkgs;
 
   pcloud = callPackage ../applications/networking/pcloud { };
 
-  pcsxr = callPackage ../misc/emulators/pcsxr { };
+  pcsxr = callPackage ../applications/emulators/pcsxr { };
 
-  pcsx2 = callPackage ../misc/emulators/pcsx2 {
+  pcsx2 = callPackage ../applications/emulators/pcsx2 {
     wxGTK = wxGTK30-gtk3;
   };
 
@@ -28064,6 +28068,8 @@ with pkgs;
 
   phrasendrescher = callPackage ../tools/security/phrasendrescher { };
 
+  phrase-cli = callPackage ../tools/misc/phrase-cli { };
+
   phraseapp-client = callPackage ../tools/misc/phraseapp-client { };
 
   phwmon = callPackage ../applications/misc/phwmon { };
@@ -28528,7 +28534,7 @@ with pkgs;
 
   rootlesskit = callPackage ../tools/virtualization/rootlesskit {};
 
-  rpcs3 = libsForQt5.callPackage ../misc/emulators/rpcs3 { };
+  rpcs3 = libsForQt5.callPackage ../applications/emulators/rpcs3 { };
 
   rsclock = callPackage ../applications/misc/rsclock { };
 
@@ -28569,7 +28575,7 @@ with pkgs;
 
   sacc = callPackage ../applications/networking/gopher/sacc { };
 
-  sameboy = callPackage ../misc/emulators/sameboy { };
+  sameboy = callPackage ../applications/emulators/sameboy { };
 
   sayonara = libsForQt514.callPackage ../applications/audio/sayonara { };
 
@@ -28679,6 +28685,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
 
+  sptlrx = callPackage ../applications/audio/sptlrx { };
+
   squishyball = callPackage ../applications/audio/squishyball {
     ncurses = ncurses5;
   };
@@ -28697,7 +28705,7 @@ with pkgs;
     curses = ncurses;
   };
 
-  stella = callPackage ../misc/emulators/stella { };
+  stella = callPackage ../applications/emulators/stella { };
 
   linuxstopmotion = libsForQt5.callPackage ../applications/video/linuxstopmotion { };
 
@@ -29815,7 +29823,7 @@ with pkgs;
   kodi-cli = callPackage ../tools/misc/kodi-cli { };
 
   kodi-retroarch-advanced-launchers =
-    callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix { };
+    callPackage ../applications/emulators/retroarch/kodi-advanced-launchers.nix { };
 
   xca = libsForQt5.callPackage ../applications/misc/xca { };
 
@@ -31654,6 +31662,8 @@ with pkgs;
 
   plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { };
 
+  plasma-theme-switcher = libsForQt5.callPackage ../applications/misc/plasma-theme-switcher {};
+
   plasma-pass = libsForQt5.callPackage ../tools/security/plasma-pass { };
 
   inherit (callPackages ../applications/misc/redshift {
@@ -32261,7 +32271,7 @@ with pkgs;
 
   crypto-org-wallet = callPackage ../applications/blockchains/crypto-org-wallet { };
 
-  caprice32 = callPackage ../misc/emulators/caprice32 { };
+  caprice32 = callPackage ../applications/emulators/caprice32 { };
 
   cubicle = callPackage ../applications/science/logic/cubicle {
     ocamlPackages = ocaml-ng.ocamlPackages_4_05;
@@ -32285,6 +32295,8 @@ with pkgs;
 
   eprover-ho = callPackage ../applications/science/logic/eprover { enableHO = true; };
 
+  formula = callPackage ../applications/science/logic/formula { };
+
   gappa = callPackage ../applications/science/logic/gappa { };
 
   gfan = callPackage ../applications/science/math/gfan {};
@@ -32772,11 +32784,11 @@ with pkgs;
 
   antimicrox = libsForQt5.callPackage ../tools/misc/antimicrox { };
 
-  ares = callPackage ../misc/emulators/ares { };
+  ares = callPackage ../applications/emulators/ares { };
 
-  atari800 = callPackage ../misc/emulators/atari800 { };
+  atari800 = callPackage ../applications/emulators/atari800 { };
 
-  ataripp = callPackage ../misc/emulators/atari++ { };
+  ataripp = callPackage ../applications/emulators/atari++ { };
 
   atlantis = callPackage ../applications/networking/cluster/atlantis { };
 
@@ -32790,7 +32802,7 @@ with pkgs;
     swt = swt_jdk8;
   };
 
-  attract-mode = callPackage ../misc/emulators/attract-mode { };
+  attract-mode = callPackage ../applications/emulators/attract-mode { };
 
   autotiling = python3Packages.callPackage ../misc/autotiling { };
 
@@ -32812,7 +32824,7 @@ with pkgs;
 
   calaos_installer = libsForQt5.callPackage ../misc/calaos/installer {};
 
-  ccemux = callPackage ../misc/emulators/ccemux { };
+  ccemux = callPackage ../applications/emulators/ccemux { };
 
   click = callPackage ../applications/networking/cluster/click { };
 
@@ -32890,13 +32902,13 @@ with pkgs;
 
   cnijfilter2 = callPackage ../misc/cups/drivers/cnijfilter2 { };
 
-  darcnes = callPackage ../misc/emulators/darcnes { };
+  darcnes = callPackage ../applications/emulators/darcnes { };
 
   darling-dmg = callPackage ../tools/filesystems/darling-dmg { };
 
   depotdownloader = callPackage ../tools/misc/depotdownloader { };
 
-  desmume = callPackage ../misc/emulators/desmume { };
+  desmume = callPackage ../applications/emulators/desmume { };
 
   dbacl = callPackage ../tools/misc/dbacl { };
 
@@ -32912,11 +32924,11 @@ with pkgs;
 
   dell-530cdn = callPackage ../misc/drivers/dell-530cdn {};
 
-  dosbox = callPackage ../misc/emulators/dosbox { };
+  dosbox = callPackage ../applications/emulators/dosbox { };
 
-  dosbox-staging = callPackage ../misc/emulators/dosbox-staging { };
+  dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };
 
-  emu2 = callPackage ../misc/emulators/emu2 { };
+  emu2 = callPackage ../applications/emulators/emu2 { };
 
   apt = callPackage ../tools/package-management/apt { };
 
@@ -32928,7 +32940,7 @@ with pkgs;
 
   ecdsatool = callPackage ../tools/security/ecdsatool { };
 
-  emulationstation = callPackage ../misc/emulators/emulationstation { };
+  emulationstation = callPackage ../applications/emulators/emulationstation { };
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
@@ -32938,7 +32950,7 @@ with pkgs;
 
   glee = callPackage ../tools/graphics/glee { };
 
-  fakenes = callPackage ../misc/emulators/fakenes { };
+  fakenes = callPackage ../applications/emulators/fakenes { };
 
   faust = res.faust2;
 
@@ -32972,7 +32984,7 @@ with pkgs;
 
   faustStk = callPackage ../applications/audio/faustStk  { };
 
-  fceux = libsForQt5.callPackage ../misc/emulators/fceux { };
+  fceux = libsForQt5.callPackage ../applications/emulators/fceux { };
 
   flockit = callPackage ../tools/backup/flockit { };
 
@@ -32988,7 +33000,7 @@ with pkgs;
 
   foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
 
-  fuse-emulator = callPackage ../misc/emulators/fuse-emulator {};
+  fuse-emulator = callPackage ../applications/emulators/fuse-emulator {};
 
   gajim = callPackage ../applications/networking/instant-messengers/gajim {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-libav;
@@ -32997,7 +33009,7 @@ with pkgs;
 
   gammu = callPackage ../applications/misc/gammu { };
 
-  gensgs = pkgsi686Linux.callPackage ../misc/emulators/gens-gs { };
+  gensgs = pkgsi686Linux.callPackage ../applications/emulators/gens-gs { };
 
   ghostscript = callPackage ../misc/ghostscript { };
 
@@ -33023,9 +33035,9 @@ with pkgs;
 
   gummi = callPackage ../applications/misc/gummi { };
 
-  gxemul = callPackage ../misc/emulators/gxemul { };
+  gxemul = callPackage ../applications/emulators/gxemul { };
 
-  hatari = callPackage ../misc/emulators/hatari { };
+  hatari = callPackage ../applications/emulators/hatari { };
 
   hck = callPackage ../tools/text/hck {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
@@ -33136,7 +33148,7 @@ with pkgs;
 
   loop = callPackage ../tools/misc/loop { };
 
-  maiko = callPackage ../misc/emulators/maiko { inherit (xorg) libX11; };
+  maiko = callPackage ../applications/emulators/maiko { inherit (xorg) libX11; };
 
   mailcore2 = callPackage ../development/libraries/mailcore2 {
     icu = icu58;
@@ -33144,7 +33156,7 @@ with pkgs;
 
   mamba = callPackage ../applications/audio/mamba { };
 
-  mame = libsForQt514.callPackage ../misc/emulators/mame {
+  mame = libsForQt514.callPackage ../applications/emulators/mame {
     inherit (darwin.apple_sdk.frameworks) CoreAudioKit ForceFeedback;
   };
 
@@ -33164,7 +33176,7 @@ with pkgs;
 
   morph = callPackage ../tools/package-management/morph { };
 
-  mupen64plus = callPackage ../misc/emulators/mupen64plus { };
+  mupen64plus = callPackage ../applications/emulators/mupen64plus { };
 
   muse = libsForQt5.callPackage ../applications/audio/muse { };
 
@@ -33501,7 +33513,7 @@ with pkgs;
 
   OSCAR = qt5.callPackage ../applications/misc/OSCAR { };
 
-  pcem = callPackage ../misc/emulators/pcem { };
+  pcem = callPackage ../applications/emulators/pcem { };
 
   pgmanage = callPackage ../applications/misc/pgmanage { };
 
@@ -33531,13 +33543,13 @@ with pkgs;
 
   pounce = callPackage ../servers/pounce { };
 
-  ppsspp = libsForQt5.callPackage ../misc/emulators/ppsspp { };
+  ppsspp = libsForQt5.callPackage ../applications/emulators/ppsspp { };
 
   pt = callPackage ../applications/misc/pt { };
 
   protocol = python3Packages.callPackage ../applications/networking/protocol { };
 
-  punes = libsForQt5.callPackage ../misc/emulators/punes { };
+  punes = libsForQt5.callPackage ../applications/emulators/punes { };
 
   pykms = callPackage ../tools/networking/pykms { };
 
@@ -33547,11 +33559,11 @@ with pkgs;
 
   pwntools = with python3Packages; toPythonApplication pwntools;
 
-  uae = callPackage ../misc/emulators/uae { };
+  uae = callPackage ../applications/emulators/uae { };
 
-  fsuae = callPackage ../misc/emulators/fs-uae { };
+  fsuae = callPackage ../applications/emulators/fs-uae { };
 
-  fsuae-launcher = callPackage ../misc/emulators/fs-uae/launcher.nix { };
+  fsuae-launcher = callPackage ../applications/emulators/fs-uae/launcher.nix { };
 
   putty = callPackage ../applications/networking/remote/putty {
     gtk2 = gtk2-x11;
@@ -33577,12 +33589,12 @@ with pkgs;
 
   renderizer = callPackage ../development/tools/renderizer {};
 
-  retroarchBare = callPackage ../misc/emulators/retroarch {
+  retroarchBare = callPackage ../applications/emulators/retroarch {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) AppKit Foundation;
   };
 
-  wrapRetroArch = { retroarch }: callPackage ../misc/emulators/retroarch/wrapper.nix {
+  wrapRetroArch = { retroarch }: callPackage ../applications/emulators/retroarch/wrapper.nix {
     inherit retroarch;
   };
 
@@ -33595,11 +33607,11 @@ with pkgs;
       (builtins.attrValues libretro);
   };
 
-  libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix {
+  libretro = recurseIntoAttrs (callPackage ../applications/emulators/retroarch/cores.nix {
     retroarch = retroarchBare;
   });
 
-  retrofe = callPackage ../misc/emulators/retrofe { };
+  retrofe = callPackage ../applications/emulators/retrofe { };
 
   rfc-bibtex = python3Packages.callPackage ../development/python-modules/rfc-bibtex { };
 
@@ -33908,11 +33920,11 @@ with pkgs;
 
   vazir-fonts = callPackage ../data/fonts/vazir-fonts { };
 
-  vbam = callPackage ../misc/emulators/vbam { };
+  vbam = callPackage ../applications/emulators/vbam { };
 
   vgmstream = callPackage ../applications/audio/vgmstream { };
 
-  vice = callPackage ../misc/emulators/vice { };
+  vice = callPackage ../applications/emulators/vice { };
 
   viddy = callPackage ../tools/misc/viddy { };
 
@@ -34012,7 +34024,7 @@ with pkgs;
     wineRelease = "wayland";
   });
 
-  winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
+  winetricks = callPackage ../applications/emulators/wine/winetricks.nix {
     inherit (gnome) zenity;
   };
 
@@ -34102,7 +34114,7 @@ with pkgs;
 
   yabai = callPackage ../os-specific/darwin/yabai { };
 
-  yabause = libsForQt5.callPackage ../misc/emulators/yabause {
+  yabause = libsForQt5.callPackage ../applications/emulators/yabause {
     freeglut = null;
     openal = null;
   };
@@ -34125,11 +34137,11 @@ with pkgs;
 
   yaxg = callPackage ../tools/graphics/yaxg {};
 
-  yuzu-mainline = import ../misc/emulators/yuzu {
+  yuzu-mainline = import ../applications/emulators/yuzu {
     branch = "mainline";
     inherit libsForQt5 fetchFromGitHub;
   };
-  yuzu-ea = import ../misc/emulators/yuzu {
+  yuzu-ea = import ../applications/emulators/yuzu {
     branch = "early-access";
     inherit libsForQt5 fetchFromGitHub;
   };
@@ -34152,34 +34164,34 @@ with pkgs;
 
   zoneminder = callPackage ../servers/zoneminder { };
 
-  zsnes = pkgsi686Linux.callPackage ../misc/emulators/zsnes { };
+  zsnes = pkgsi686Linux.callPackage ../applications/emulators/zsnes { };
 
   xcp = callPackage ../tools/misc/xcp { };
 
-  xcpc = callPackage ../misc/emulators/xcpc { };
+  xcpc = callPackage ../applications/emulators/xcpc { };
 
   zxcvbn-c = callPackage ../development/libraries/zxcvbn-c { };
 
   zxing-cpp = callPackage ../development/libraries/zxing-cpp { };
 
-  snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
+  snes9x-gtk = callPackage ../applications/emulators/snes9x-gtk { };
 
-  openmsx = callPackage ../misc/emulators/openmsx {
+  openmsx = callPackage ../applications/emulators/openmsx {
     python = python3;
   };
 
-  higan = callPackage ../misc/emulators/higan { };
+  higan = callPackage ../applications/emulators/higan { };
 
-  bsnes-hd = callPackage ../misc/emulators/bsnes-hd {
+  bsnes-hd = callPackage ../applications/emulators/bsnes-hd {
     inherit (gnome2) gtksourceview;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL;
   };
 
-  yapesdl = callPackage ../misc/emulators/yapesdl { };
+  yapesdl = callPackage ../applications/emulators/yapesdl { };
 
-  x16-emulator = callPackage ../misc/emulators/commanderx16/emulator.nix { };
-  x16-rom = callPackage ../misc/emulators/commanderx16/rom.nix { };
-  x16-run = (callPackage ../misc/emulators/commanderx16/run.nix { }) {
+  x16-emulator = callPackage ../applications/emulators/commanderx16/emulator.nix { };
+  x16-rom = callPackage ../applications/emulators/commanderx16/rom.nix { };
+  x16-run = (callPackage ../applications/emulators/commanderx16/run.nix { }) {
     emulator = x16-emulator;
     rom = x16-rom;
   };
@@ -34539,7 +34551,7 @@ with pkgs;
 
   xsos = callPackage ../os-specific/linux/xsos { };
 
-  zesarux = callPackage ../misc/emulators/zesarux { };
+  zesarux = callPackage ../applications/emulators/zesarux { };
 
   zk = callPackage ../applications/office/zk {};
 
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 70445745377..c1a29b60306 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -96,9 +96,7 @@ let
       topology = callPackage ../development/coq-modules/topology {};
       Velisarios = callPackage ../development/coq-modules/Velisarios {};
       Verdi = callPackage ../development/coq-modules/Verdi {};
-      VST = callPackage ../development/coq-modules/VST {
-        compcert = self.compcert.override { version = "3.9"; };
-      };
+      VST = callPackage ../development/coq-modules/VST {};
       zorns-lemma = callPackage ../development/coq-modules/zorns-lemma {};
       filterPackages = doesFilter: if doesFilter then filterCoqPackages self else self;
     };
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 3e38ce116a4..65a81e82a09 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -438,7 +438,7 @@ in {
     veikk-linux-driver = callPackage ../os-specific/linux/veikk-linux-driver { };
     vendor-reset = callPackage ../os-specific/linux/vendor-reset { };
 
-    vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
+    vhba = callPackage ../applications/emulators/cdemu/vhba.nix { };
 
     virtualbox = callPackage ../os-specific/linux/virtualbox {
       virtualbox = pkgs.virtualboxHardened;
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 85a7f7b1988..23a714597ee 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -9944,6 +9944,21 @@ let
     };
   };
 
+  HashStoredIterator = buildPerlModule {
+    pname = "Hash-StoredIterator";
+    version = "0.008";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Hash-StoredIterator-0.008.tar.gz";
+      sha256 = "b9cbc4dcd8233e8d1d7f1481ddb79a4a5f9db7180cb3ef02b4bcbee05e65ea0c";
+    };
+    buildInputs = [ Test2Suite ];
+    perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
+    meta = {
+      description = "Functions for accessing a hashes internal iterator";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   HashUtilFieldHashCompat = buildPerlPackage {
     pname = "Hash-Util-FieldHash-Compat";
     version = "0.11";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a26676621da..8feee2e0123 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -380,6 +380,8 @@ in {
 
   aiopvpc = callPackage ../development/python-modules/aiopvpc { };
 
+  aiopyarr = callPackage ../development/python-modules/aiopyarr { };
+
   aiopylgtv = callPackage ../development/python-modules/aiopylgtv { };
 
   aiorecollect = callPackage ../development/python-modules/aiorecollect { };
@@ -760,6 +762,8 @@ in {
 
   aurorapy = callPackage ../development/python-modules/aurorapy { };
 
+  autarco = callPackage ../development/python-modules/autarco { };
+
   auth0-python = callPackage ../development/python-modules/auth0-python { };
 
   authcaptureproxy = callPackage ../development/python-modules/authcaptureproxy { };
@@ -2533,6 +2537,8 @@ in {
 
   einops = callPackage ../development/python-modules/einops { };
 
+  eiswarnung = callPackage ../development/python-modules/eiswarnung { };
+
   elgato = callPackage ../development/python-modules/elgato { };
 
   elkm1-lib = callPackage ../development/python-modules/elkm1-lib { };
@@ -2839,6 +2845,8 @@ in {
 
   finalfusion = callPackage ../development/python-modules/finalfusion { };
 
+  findimports = callPackage ../development/python-modules/findimports { };
+
   fingerprints = callPackage ../development/python-modules/fingerprints { };
 
   finitude = callPackage ../development/python-modules/finitude { };
@@ -5382,6 +5390,8 @@ in {
 
   nestedtext = callPackage ../development/python-modules/nestedtext { };
 
+  net2grid = callPackage ../development/python-modules/net2grid { };
+
   netaddr = callPackage ../development/python-modules/netaddr { };
 
   netcdf4 = callPackage ../development/python-modules/netcdf4 { };
@@ -7361,6 +7371,8 @@ in {
 
   pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { };
 
+  pyqt5_sip = callPackage ../development/python-modules/pyqt/sip.nix { };
+
   pyqt5_with_qtmultimedia = self.pyqt5.override {
     withMultimedia = true;
   };
diff --git a/pkgs/top-level/wine-packages.nix b/pkgs/top-level/wine-packages.nix
index 4f993bdf082..62a2278bd4f 100644
--- a/pkgs/top-level/wine-packages.nix
+++ b/pkgs/top-level/wine-packages.nix
@@ -1,8 +1,8 @@
 { stdenv, config, callPackage, wineBuild }:
 
 rec {
-  fonts = callPackage ../misc/emulators/wine/fonts.nix {};
-  minimal = callPackage ../misc/emulators/wine {
+  fonts = callPackage ../applications/emulators/wine/fonts.nix {};
+  minimal = callPackage ../applications/emulators/wine {
     wineRelease = config.wine.release or "stable";
     inherit wineBuild;
   };