about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS3
-rw-r--r--doc/builders/special/darwin-builder.section.md12
-rw-r--r--doc/contributing/quick-start.chapter.md2
-rw-r--r--doc/doc-support/default.nix1
-rw-r--r--doc/doc-support/lib-function-docs.nix6
-rw-r--r--doc/doc-support/lib-function-locations.nix16
-rw-r--r--doc/languages-frameworks/python.section.md16
-rw-r--r--lib/default.nix8
-rw-r--r--lib/modules.nix18
-rw-r--r--lib/options.nix7
-rw-r--r--lib/path/README.md196
-rw-r--r--lib/path/default.nix218
-rw-r--r--lib/path/tests/default.nix34
-rw-r--r--lib/path/tests/generate.awk64
-rw-r--r--lib/path/tests/prop.nix60
-rwxr-xr-xlib/path/tests/prop.sh179
-rw-r--r--lib/path/tests/unit.nix125
-rw-r--r--lib/systems/inspect.nix1
-rw-r--r--lib/tests/release.nix3
-rw-r--r--maintainers/maintainer-list.nix12
-rw-r--r--nixos/doc/manual/development/option-declarations.section.md4
-rw-r--r--nixos/doc/manual/from_md/development/option-declarations.section.xml12
-rw-r--r--nixos/doc/manual/from_md/installation/upgrading.chapter.xml4
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2305.section.xml16
-rw-r--r--nixos/doc/manual/installation/upgrading.chapter.md4
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md4
-rw-r--r--nixos/lib/make-options-doc/mergeJSON.py9
-rw-r--r--nixos/modules/config/users-groups.nix4
-rw-r--r--nixos/modules/misc/documentation.nix2
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/profiles/macos-builder.nix10
-rw-r--r--nixos/modules/programs/_1password-gui.nix2
-rw-r--r--nixos/modules/programs/_1password.nix2
-rw-r--r--nixos/modules/programs/flashrom.nix2
-rw-r--r--nixos/modules/programs/gnupg.nix2
-rw-r--r--nixos/modules/programs/iay.nix37
-rw-r--r--nixos/modules/programs/skim.nix4
-rw-r--r--nixos/modules/programs/streamdeck-ui.nix2
-rw-r--r--nixos/modules/rename.nix2
-rw-r--r--nixos/modules/services/continuous-integration/gitlab-runner.nix90
-rw-r--r--nixos/modules/services/databases/dgraph.nix2
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/jack.conf.json25
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json15
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json8
-rw-r--r--nixos/modules/services/mail/listmonk.nix2
-rw-r--r--nixos/modules/services/misc/input-remapper.nix2
-rw-r--r--nixos/modules/services/misc/paperless.nix21
-rw-r--r--nixos/modules/services/misc/polaris.nix2
-rw-r--r--nixos/modules/services/monitoring/apcupsd.nix17
-rw-r--r--nixos/modules/services/monitoring/parsedmarc.md1
-rw-r--r--nixos/modules/services/monitoring/parsedmarc.nix46
-rw-r--r--nixos/modules/services/monitoring/parsedmarc.xml7
-rw-r--r--nixos/modules/services/networking/ntp/chrony.nix56
-rw-r--r--nixos/modules/services/networking/openconnect.nix2
-rw-r--r--nixos/modules/services/networking/radicale.nix2
-rw-r--r--nixos/modules/services/networking/shellhub-agent.nix2
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix4
-rw-r--r--nixos/modules/services/networking/vdirsyncer.nix2
-rw-r--r--nixos/modules/services/networking/webhook.nix2
-rw-r--r--nixos/modules/services/torrent/transmission.nix6
-rw-r--r--nixos/modules/services/web-apps/snipe-it.nix5
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/cinnamon.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix11
-rw-r--r--nixos/modules/services/x11/picom.nix2
-rw-r--r--nixos/modules/services/x11/window-managers/i3.nix3
-rw-r--r--nixos/modules/services/x11/window-managers/katriawm.nix4
-rw-r--r--nixos/modules/services/x11/window-managers/qtile.nix2
-rw-r--r--nixos/modules/system/boot/systemd/initrd.nix2
-rw-r--r--nixos/modules/virtualisation/podman/default.nix47
-rw-r--r--nixos/modules/virtualisation/podman/dnsname.nix36
-rw-r--r--nixos/modules/virtualisation/waydroid.nix6
-rw-r--r--nixos/tests/all-tests.nix2
-rw-r--r--nixos/tests/apcupsd.nix41
-rw-r--r--nixos/tests/paperless.nix4
-rw-r--r--nixos/tests/parsedmarc/default.nix1
-rw-r--r--nixos/tests/podman/default.nix25
-rw-r--r--nixos/tests/podman/dnsname.nix42
-rw-r--r--nixos/tests/wordpress.nix33
-rw-r--r--pkgs/applications/audio/cmt/default.nix4
-rw-r--r--pkgs/applications/audio/ocenaudio/default.nix4
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix4
-rw-r--r--pkgs/applications/audio/spek/default.nix13
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix6
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix2
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/editors/neovim/default.nix27
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix37
-rw-r--r--pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix2
-rwxr-xr-xpkgs/applications/editors/vim/plugins/nvim-treesitter/update.py5
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix8
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names3
-rw-r--r--pkgs/applications/emulators/melonDS/default.nix24
-rw-r--r--pkgs/applications/emulators/wibo/default.nix6
-rw-r--r--pkgs/applications/gis/qgis/unwrapped-ltr.nix10
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix10
-rw-r--r--pkgs/applications/gis/saga/default.nix4
-rw-r--r--pkgs/applications/graphics/eyedropper/default.nix8
-rw-r--r--pkgs/applications/graphics/qview/default.nix10
-rw-r--r--pkgs/applications/misc/electrum/default.nix6
-rw-r--r--pkgs/applications/misc/grip/default.nix4
-rw-r--r--pkgs/applications/misc/josm/default.nix6
-rw-r--r--pkgs/applications/misc/librecad/default.nix49
-rw-r--r--pkgs/applications/misc/limesctl/default.nix6
-rw-r--r--pkgs/applications/misc/remarkable/rmapi/default.nix4
-rw-r--r--pkgs/applications/misc/solaar/default.nix4
-rw-r--r--pkgs/applications/misc/termpdf.py/default.nix21
-rw-r--r--pkgs/applications/misc/todoist/default.nix8
-rw-r--r--pkgs/applications/misc/yubioath-flutter/default.nix67
-rw-r--r--pkgs/applications/misc/yubioath-flutter/helper.nix2
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json6
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix2
-rw-r--r--pkgs/applications/networking/cluster/crc/default.nix29
-rwxr-xr-xpkgs/applications/networking/cluster/crc/update.sh12
-rw-r--r--pkgs/applications/networking/cluster/dnsname-cni/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/karmor/default.nix36
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json34
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/keet/default.nix32
-rw-r--r--pkgs/applications/networking/instant-messengers/qq/default.nix37
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/libcoap/default.nix4
-rw-r--r--pkgs/applications/networking/msmtp/default.nix1
-rw-r--r--pkgs/applications/networking/n8n/default.nix8
-rw-r--r--pkgs/applications/networking/n8n/fix-permissions.diff28
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix2094
-rw-r--r--pkgs/applications/networking/netmaker/default.nix39
-rw-r--r--pkgs/applications/networking/protonmail-bridge/default.nix6
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix51
-rw-r--r--pkgs/applications/networking/remote/xrdp/default.nix14
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix10
-rw-r--r--pkgs/applications/networking/syncthing/default.nix6
-rw-r--r--pkgs/applications/office/ledger/default.nix7
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix2
-rw-r--r--pkgs/applications/radio/ax25-apps/default.nix33
-rw-r--r--pkgs/applications/science/biology/igv/default.nix4
-rw-r--r--pkgs/applications/science/electronics/dataexplorer/default.nix4
-rw-r--r--pkgs/applications/version-management/deepgit/default.nix86
-rw-r--r--pkgs/applications/version-management/gh/default.nix12
-rw-r--r--pkgs/applications/video/haruna/default.nix4
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mpv/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix70
-rw-r--r--pkgs/applications/virtualization/nixpacks/default.nix6
-rw-r--r--pkgs/applications/virtualization/podman/default.nix2
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix6
-rw-r--r--pkgs/applications/window-managers/i3/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/gaps.nix29
-rw-r--r--pkgs/applications/window-managers/picom/picom-next.nix9
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/noto-fonts/default.nix197
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix4
-rw-r--r--pkgs/development/compilers/blueprint/default.nix33
-rw-r--r--pkgs/development/compilers/emscripten/default.nix8
-rw-r--r--pkgs/development/compilers/gcc-arm-embedded/12/default.nix52
-rw-r--r--pkgs/development/compilers/gcc/12/default.nix40
-rw-r--r--pkgs/development/compilers/ghc/8.10.7.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.8.4.nix4
-rw-r--r--pkgs/development/compilers/ghc/9.0.2.nix3
-rw-r--r--pkgs/development/compilers/ghc/9.2.4.nix3
-rw-r--r--pkgs/development/compilers/ghc/9.2.5.nix3
-rw-r--r--pkgs/development/compilers/ghc/9.4.2.nix3
-rw-r--r--pkgs/development/compilers/ghc/9.4.3.nix3
-rw-r--r--pkgs/development/compilers/ghc/9.4.4.nix3
-rw-r--r--pkgs/development/compilers/ghc/common-hadrian.nix42
-rw-r--r--pkgs/development/compilers/ghc/head.nix6
-rw-r--r--pkgs/development/compilers/go/1.20.nix4
-rw-r--r--pkgs/development/compilers/ispc/default.nix7
-rw-r--r--pkgs/development/compilers/julia/1.8.nix2
-rw-r--r--pkgs/development/compilers/llvm/8/lldb/default.nix17
-rw-r--r--pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch30
-rw-r--r--pkgs/development/compilers/llvm/9/lldb/default.nix23
-rw-r--r--pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch17
-rw-r--r--pkgs/development/compilers/openjdk/19.nix4
-rw-r--r--pkgs/development/compilers/osl/default.nix2
-rw-r--r--pkgs/development/compilers/sbcl/2.x.nix4
-rw-r--r--pkgs/development/compilers/temurin-bin/jdk-linux-base.nix4
-rw-r--r--pkgs/development/compilers/tinycc/default.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix50
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml10
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml123
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml17
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix6
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1644
-rw-r--r--pkgs/development/haskell-modules/patches/hevm-update-deps.patch129
-rw-r--r--pkgs/development/haskell-modules/patches/recursion-schemes-128.patch24
-rw-r--r--pkgs/development/interpreters/chibi/default.nix3
-rw-r--r--pkgs/development/interpreters/luajit/default.nix7
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix10
-rw-r--r--pkgs/development/interpreters/ruby/default.nix2
-rw-r--r--pkgs/development/libraries/ada/spark2014/default.nix7
-rw-r--r--pkgs/development/libraries/afflib/default.nix4
-rw-r--r--pkgs/development/libraries/cegui/default.nix9
-rw-r--r--pkgs/development/libraries/gtksourceview/5.x.nix8
-rw-r--r--pkgs/development/libraries/jxrlib/default.nix28
-rw-r--r--pkgs/development/libraries/libbluray/default.nix18
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix1
-rw-r--r--pkgs/development/libraries/libmilter/darwin.patch24
-rw-r--r--pkgs/development/libraries/libmilter/default.nix6
-rw-r--r--pkgs/development/libraries/libmilter/glibc-2.30.patch44
-rw-r--r--pkgs/development/libraries/liboil/default.nix4
-rw-r--r--pkgs/development/libraries/libpg_query/default.nix4
-rw-r--r--pkgs/development/libraries/libucontext/default.nix23
-rw-r--r--pkgs/development/libraries/lime/default.nix4
-rw-r--r--pkgs/development/libraries/mpdecimal/default.nix47
-rw-r--r--pkgs/development/libraries/nss/generic.nix6
-rw-r--r--pkgs/development/libraries/nv-codec-headers/11_x.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix126
-rw-r--r--pkgs/development/libraries/openfec/default.nix3
-rw-r--r--pkgs/development/libraries/openvdb/default.nix16
-rw-r--r--pkgs/development/libraries/tkrzw/default.nix3
-rw-r--r--pkgs/development/mobile/maestro/default.nix5
-rw-r--r--pkgs/development/nim-packages/base32/default.nix18
-rw-r--r--pkgs/development/nim-packages/cbor/default.nix21
-rw-r--r--pkgs/development/nim-packages/nimSHA2/default.nix18
-rw-r--r--pkgs/development/nim-packages/npeg/default.nix18
-rw-r--r--pkgs/development/nim-packages/taps/default.nix19
-rw-r--r--pkgs/development/nim-packages/tkrzw/default.nix21
-rw-r--r--pkgs/development/ocaml-modules/base64/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/fileutils/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/inotify/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/mrmime/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/piaf/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/wodan/default.nix41
-rw-r--r--pkgs/development/ocaml-modules/wodan/irmin.nix25
-rw-r--r--pkgs/development/ocaml-modules/wodan/unix.nix31
-rw-r--r--pkgs/development/ocaml-modules/xml-light/default.nix3
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--pkgs/development/python-modules/adguardhome/default.nix16
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioaladdinconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-lint/default.nix9
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/async-upnp-client/default.nix4
-rw-r--r--pkgs/development/python-modules/bincopy/default.nix4
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/cachecontrol/default.nix2
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/django/4.nix4
-rw-r--r--pkgs/development/python-modules/geniushub-client/default.nix39
-rw-r--r--pkgs/development/python-modules/ghrepo-stats/default.nix12
-rw-r--r--pkgs/development/python-modules/govee-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/gym/default.nix2
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/meross-iot/default.nix4
-rw-r--r--pkgs/development/python-modules/mitmproxy/default.nix8
-rw-r--r--pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--pkgs/development/python-modules/odp-amsterdam/default.nix (renamed from pkgs/development/python-modules/garages-amsterdam/default.nix)22
-rw-r--r--pkgs/development/python-modules/osc-lib/default.nix1
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pyatmo/default.nix5
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyisy/default.nix4
-rw-r--r--pkgs/development/python-modules/pykaleidescape/default.nix51
-rw-r--r--pkgs/development/python-modules/pynina/default.nix4
-rw-r--r--pkgs/development/python-modules/pypck/default.nix7
-rw-r--r--pkgs/development/python-modules/pyswitchbee/default.nix4
-rw-r--r--pkgs/development/python-modules/pyswitchbot/default.nix10
-rw-r--r--pkgs/development/python-modules/pytest-unordered/default.nix23
-rw-r--r--pkgs/development/python-modules/python-arango/default.nix16
-rw-r--r--pkgs/development/python-modules/python-fsutil/default.nix4
-rw-r--r--pkgs/development/python-modules/python-ipmi/default.nix4
-rw-r--r--pkgs/development/python-modules/pytibber/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/qtawesome/default.nix5
-rw-r--r--pkgs/development/python-modules/quadprog/default.nix54
-rw-r--r--pkgs/development/python-modules/radicale_infcloud/default.nix2
-rw-r--r--pkgs/development/python-modules/reolink-aio/default.nix67
-rw-r--r--pkgs/development/python-modules/reolink/default.nix5
-rw-r--r--pkgs/development/python-modules/roonapi/default.nix4
-rw-r--r--pkgs/development/python-modules/skodaconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/socialscan/default.nix7
-rw-r--r--pkgs/development/python-modules/torch/default.nix2
-rw-r--r--pkgs/development/python-modules/tubeup/default.nix25
-rw-r--r--pkgs/development/python-modules/vallox-websocket-api/default.nix12
-rw-r--r--pkgs/development/python-modules/whois/default.nix4
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix18
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/analysis/hotspot/default.nix13
-rw-r--r--pkgs/development/tools/build-managers/tup/default.nix17
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/cli.nix12
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/common.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json3
-rw-r--r--pkgs/development/tools/database/apgdiff/default.nix2
-rw-r--r--pkgs/development/tools/database/timescaledb-tune/default.nix6
-rw-r--r--pkgs/development/tools/esbuild/default.nix6
-rw-r--r--pkgs/development/tools/haskell/vaultenv/default.nix10
-rw-r--r--pkgs/development/tools/language-servers/millet/default.nix12
-rw-r--r--pkgs/development/tools/misc/loccount/default.nix30
-rw-r--r--pkgs/development/tools/misc/ptags/default.nix6
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix4
-rw-r--r--pkgs/development/tools/ruff/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-nextest/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-tauri/default.nix8
-rw-r--r--pkgs/development/tools/sq/default.nix6
-rw-r--r--pkgs/development/tools/zsv/default.nix4
-rw-r--r--pkgs/games/itch/default.nix2
-rw-r--r--pkgs/games/r2mod_cli/default.nix6
-rw-r--r--pkgs/games/rare/default.nix6
-rw-r--r--pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix3
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix2
-rw-r--r--pkgs/os-specific/darwin/yabai/default.nix45
-rw-r--r--pkgs/os-specific/linux/eudev/default.nix2
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix15
-rw-r--r--pkgs/os-specific/linux/waydroid/default.nix8
-rw-r--r--pkgs/servers/apcupsd/default.nix3
-rw-r--r--pkgs/servers/bazarr/default.nix4
-rw-r--r--pkgs/servers/clickhouse/default.nix4
-rw-r--r--pkgs/servers/gonic/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix42
-rw-r--r--pkgs/servers/home-assistant/default.nix34
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py2
-rw-r--r--pkgs/servers/home-assistant/tests.nix1
-rw-r--r--pkgs/servers/libreddit/default.nix16
-rw-r--r--pkgs/servers/mautrix-googlechat/default.nix72
-rw-r--r--pkgs/servers/monitoring/vmagent/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix15
-rw-r--r--pkgs/servers/onlyoffice-documentserver/default.nix2
-rw-r--r--pkgs/servers/radicale/2.x.nix2
-rw-r--r--pkgs/servers/routinator/default.nix6
-rw-r--r--pkgs/servers/samba/4.x.nix29
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_ivm.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgrouting.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix4
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix39
-rw-r--r--pkgs/servers/web-apps/wordpress/generic.nix36
-rw-r--r--pkgs/servers/web-apps/wordpress/packages/default.nix4
-rwxr-xr-xpkgs/servers/web-apps/wordpress/packages/generate.sh8
-rw-r--r--pkgs/servers/web-apps/wordpress/packages/languages.json12
-rw-r--r--pkgs/servers/web-apps/wordpress/packages/plugins.json118
-rw-r--r--pkgs/servers/web-apps/wordpress/packages/themes.json16
-rw-r--r--pkgs/servers/web-apps/wordpress/packages/thirdparty.nix8
-rw-r--r--pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json1
-rw-r--r--pkgs/shells/hilbish/default.nix8
-rw-r--r--pkgs/stdenv/generic/check-meta.nix6
-rw-r--r--pkgs/stdenv/linux/default.nix91
-rw-r--r--pkgs/tools/X11/xpra/default.nix1
-rw-r--r--pkgs/tools/admin/pulumi/default.nix2
-rw-r--r--pkgs/tools/admin/qovery-cli/default.nix4
-rw-r--r--pkgs/tools/audio/vgmtools/default.nix6
-rw-r--r--pkgs/tools/filesystems/gcsfuse/default.nix23
-rw-r--r--pkgs/tools/filesystems/httm/default.nix6
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix35
-rw-r--r--pkgs/tools/misc/broot/default.nix14
-rw-r--r--pkgs/tools/misc/debian-devscripts/default.nix6
-rw-r--r--pkgs/tools/misc/iay/default.nix5
-rw-r--r--pkgs/tools/misc/nurl/default.nix9
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix4
-rw-r--r--pkgs/tools/networking/aardvark-dns/default.nix3
-rw-r--r--pkgs/tools/networking/chrony/default.nix33
-rw-r--r--pkgs/tools/networking/chrony/makefile.patch23
-rw-r--r--pkgs/tools/networking/filegive/default.nix18
-rw-r--r--pkgs/tools/networking/filegive/deps.nix12
-rw-r--r--pkgs/tools/networking/iwgtk/default.nix8
-rw-r--r--pkgs/tools/networking/netavark/default.nix3
-rw-r--r--pkgs/tools/networking/nfdump/default.nix43
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix19
-rw-r--r--pkgs/tools/networking/sing-box/default.nix6
-rw-r--r--pkgs/tools/networking/smokeping/default.nix18
-rw-r--r--pkgs/tools/networking/v2ray/default.nix6
-rw-r--r--pkgs/tools/networking/wireproxy/default.nix31
-rw-r--r--pkgs/tools/nix/nixdoc/default.nix10
-rw-r--r--pkgs/tools/package-management/licensee/Gemfile.lock14
-rw-r--r--pkgs/tools/package-management/licensee/gemset.nix24
-rw-r--r--pkgs/tools/security/expliot/default.nix3
-rw-r--r--pkgs/tools/security/gnupg/23.nix3
-rw-r--r--pkgs/tools/security/libacr38u/default.nix6
-rw-r--r--pkgs/tools/security/mitmproxy2swagger/default.nix4
-rw-r--r--pkgs/tools/security/pass/extensions/checkup.nix4
-rw-r--r--pkgs/tools/security/trufflehog/default.nix60
-rw-r--r--pkgs/tools/system/gdu/default.nix11
-rw-r--r--pkgs/tools/text/frawk/default.nix8
-rw-r--r--pkgs/tools/text/miller/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix54
-rw-r--r--pkgs/top-level/haskell-packages.nix6
-rw-r--r--pkgs/top-level/nim-packages.nix16
-rw-r--r--pkgs/top-level/ocaml-packages.nix6
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix10
-rw-r--r--pkgs/top-level/release-cross.nix2
398 files changed, 5896 insertions, 4353 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index be881b7f55482..a4a653b175e3b 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -28,6 +28,7 @@
 /lib/cli.nix                @edolstra @nbp @Profpatsch
 /lib/debug.nix              @edolstra @nbp @Profpatsch
 /lib/asserts.nix            @edolstra @nbp @Profpatsch
+/lib/path.*                 @infinisil @fricklerhandwerk
 
 # Nixpkgs Internals
 /default.nix                                     @nbp
@@ -106,7 +107,7 @@
 /pkgs/top-level/python-packages.nix                         @FRidh @jonringer
 /pkgs/development/interpreters/python                       @FRidh
 /pkgs/development/python-modules                            @FRidh @jonringer
-/doc/languages-frameworks/python.section.md                 @FRidh
+/doc/languages-frameworks/python.section.md                 @FRidh @mweinelt
 /pkgs/development/tools/poetry2nix                          @adisbladis
 /pkgs/development/interpreters/python/hooks                 @FRidh @jonringer
 
diff --git a/doc/builders/special/darwin-builder.section.md b/doc/builders/special/darwin-builder.section.md
index af9de5751b2c1..3913b692498d0 100644
--- a/doc/builders/special/darwin-builder.section.md
+++ b/doc/builders/special/darwin-builder.section.md
@@ -28,19 +28,21 @@ Password:
 ```
 
 … so that it can install a private key used to `ssh` into the build server.
-After that the script will launch the virtual machine:
+After that the script will launch the virtual machine and automatically log you
+in as the `builder` user:
 
 ```
 <<< Welcome to NixOS 22.11.20220901.1bd8d11 (aarch64) - ttyAMA0 >>>
 
 Run 'nixos-help' for the NixOS manual.
 
-nixos login:
+nixos login: builder (automatic login)
+
+
+[builder@nixos:~]$
 ```
 
-> Note: When you need to stop the VM, type `Ctrl`-`a` + `c` to open the `qemu`
-> prompt and then type `system_powerdown` followed by `Enter`, or run `shutdown now`
-> as the `builder` user (e.g. `ssh -i keys/builder_ed25519 builder@localhost shutdown now`)
+> Note: When you need to stop the VM, run `shutdown now` as the `builder` user.
 
 To delegate builds to the remote builder, add the following options to your
 `nix.conf` file:
diff --git a/doc/contributing/quick-start.chapter.md b/doc/contributing/quick-start.chapter.md
index 96b30d3822c16..e6bb5f2b0b607 100644
--- a/doc/contributing/quick-start.chapter.md
+++ b/doc/contributing/quick-start.chapter.md
@@ -34,7 +34,7 @@ To add a package to Nixpkgs:
 
    - Apache HTTPD: [`pkgs/servers/http/apache-httpd/2.4.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/http/apache-httpd/2.4.nix). A bunch of optional features, variable substitutions in the configure flags, a post-install hook, and miscellaneous hackery.
 
-   - Thunderbird: [`pkgs/applications/networking/mailreaders/thunderbird/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/mailreaders/thunderbird/default.nix). Lots of dependencies.
+   - buildMozillaMach: [`pkgs/applications/networking/browser/firefox/common.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/networking/browsers/firefox/common.nix). A reusable build function for Firefox, Thunderbird and Librewolf.
 
    - JDiskReport, a Java utility: [`pkgs/tools/misc/jdiskreport/default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/jdiskreport/default.nix). Nixpkgs doesn’t have a decent `stdenv` for Java yet so this is pretty ad-hoc.
 
diff --git a/doc/doc-support/default.nix b/doc/doc-support/default.nix
index ec180064c35d8..e9cb96e37fdd5 100644
--- a/doc/doc-support/default.nix
+++ b/doc/doc-support/default.nix
@@ -12,6 +12,7 @@ let
     { name = "lists"; description = "list manipulation functions"; }
     { name = "debug"; description = "debugging functions"; }
     { name = "options"; description = "NixOS / nixpkgs option handling"; }
+    { name = "path"; description = "path functions"; }
     { name = "filesystem"; description = "filesystem functions"; }
     { name = "sources"; description = "source filtering functions"; }
     { name = "cli"; description = "command-line serialization functions"; }
diff --git a/doc/doc-support/lib-function-docs.nix b/doc/doc-support/lib-function-docs.nix
index d6fa08aa96205..cf218fa704017 100644
--- a/doc/doc-support/lib-function-docs.nix
+++ b/doc/doc-support/lib-function-docs.nix
@@ -10,7 +10,11 @@ with pkgs; stdenv.mkDerivation {
   installPhase = ''
     function docgen {
       # TODO: wrap lib.$1 in <literal>, make nixdoc not escape it
-      nixdoc -c "$1" -d "lib.$1: $2" -f "$1.nix" > "$out/$1.xml"
+      if [[ -e "../lib/$1.nix" ]]; then
+        nixdoc -c "$1" -d "lib.$1: $2" -f "$1.nix" > "$out/$1.xml"
+      else
+        nixdoc -c "$1" -d "lib.$1: $2" -f "$1/default.nix" > "$out/$1.xml"
+      fi
       echo "<xi:include href='$1.xml' />" >> "$out/index.xml"
     }
 
diff --git a/doc/doc-support/lib-function-locations.nix b/doc/doc-support/lib-function-locations.nix
index ae1123c63ad30..3ede09ba50f58 100644
--- a/doc/doc-support/lib-function-locations.nix
+++ b/doc/doc-support/lib-function-locations.nix
@@ -2,19 +2,21 @@
 let
   revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.revision or "master");
 
-  libDefPos = set:
-    builtins.map
-      (name: {
-        name = name;
+  libDefPos = prefix: set:
+    builtins.concatMap
+      (name: [{
+        name = builtins.concatStringsSep "." (prefix ++ [name]);
         location = builtins.unsafeGetAttrPos name set;
-      })
-      (builtins.attrNames set);
+      }] ++ nixpkgsLib.optionals
+        (builtins.length prefix == 0 && builtins.isAttrs set.${name})
+        (libDefPos (prefix ++ [name]) set.${name})
+      ) (builtins.attrNames set);
 
   libset = toplib:
     builtins.map
       (subsetname: {
         subsetname = subsetname;
-        functions = libDefPos toplib.${subsetname};
+        functions = libDefPos [] toplib.${subsetname};
       })
       (builtins.map (x: x.name) libsets);
 
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index ab5ba42895859..2f15d0f0468a4 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -570,7 +570,13 @@ test run would be:
 
 ```
   checkInputs = [ pytest ];
-  checkPhase = "pytest";
+  checkPhase = ''
+    runHook preCheck
+
+    pytest
+
+    runHook postCheck
+  '';
 ```
 
 However, many repositories' test suites do not translate well to nix's build
@@ -582,7 +588,11 @@ To filter tests using pytest, one can do the following:
   checkInputs = [ pytest ];
   # avoid tests which need additional data or touch network
   checkPhase = ''
+    runHook preCheck
+
     pytest tests/ --ignore=tests/integration -k 'not download and not update'
+
+    runHook postCheck
   '';
 ```
 
@@ -1408,7 +1418,11 @@ example of such a situation is when `py.test` is used.
     # assumes the tests are located in tests
     checkInputs = [ pytest ];
     checkPhase = ''
+      runHook preCheck
+
       py.test -k 'not function_name and not other_function' tests
+
+      runHook postCheck
     '';
   }
   ```
diff --git a/lib/default.nix b/lib/default.nix
index f0f136adbc41b..5d003d472f434 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -27,7 +27,6 @@ let
     maintainers = import ../maintainers/maintainer-list.nix;
     teams = callLibs ../maintainers/team-list.nix;
     meta = callLibs ./meta.nix;
-    sources = callLibs ./sources.nix;
     versions = callLibs ./versions.nix;
 
     # module system
@@ -53,7 +52,9 @@ let
     fetchers = callLibs ./fetchers.nix;
 
     # Eval-time filesystem handling
+    path = callLibs ./path;
     filesystem = callLibs ./filesystem.nix;
+    sources = callLibs ./sources.nix;
 
     # back-compat aliases
     platforms = self.systems.doubles;
@@ -130,14 +131,15 @@ let
       mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule
       mkRenamedOptionModule mkRenamedOptionModuleWith
       mkMergedOptionModule mkChangedOptionModule
-      mkAliasOptionModule mkDerivedConfig doRename;
+      mkAliasOptionModule mkDerivedConfig doRename
+      mkAliasOptionModuleMD;
     inherit (self.options) isOption mkEnableOption mkSinkUndeclaredOptions
       mergeDefaultOption mergeOneOption mergeEqualOption mergeUniqueOption
       getValues getFiles
       optionAttrSetToDocList optionAttrSetToDocList'
       scrubOptionValue literalExpression literalExample literalDocBook
       showOption showOptionWithDefLocs showFiles
-      unknownModule mkOption mkPackageOption
+      unknownModule mkOption mkPackageOption mkPackageOptionMD
       mdDoc literalMD;
     inherit (self.types) isType setType defaultTypeMerge defaultFunctor
       isOptionType mkOptionType;
diff --git a/lib/modules.nix b/lib/modules.nix
index caabfee5710e8..c304d5b9afd32 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -157,6 +157,11 @@ rec {
             ${if prefix == []
               then null  # unset => visible
               else "internal"} = true;
+            # TODO: hidden during the markdown transition to not expose downstream
+            # users of the docs infra to markdown if they're not ready for it.
+            # we don't make this visible conditionally because it can impact
+            # performance (https://github.com/NixOS/nixpkgs/pull/208407#issuecomment-1368246192)
+            visible = false;
             # TODO: Change the type of this option to a submodule with a
             # freeformType, so that individual arguments can be documented
             # separately
@@ -1108,6 +1113,15 @@ rec {
     visible = true;
     warn = false;
     use = id;
+    wrapDescription = lib.id;
+  };
+
+  /* Transitional version of mkAliasOptionModule that uses MD docs. */
+  mkAliasOptionModuleMD = from: to: doRename {
+    inherit from to;
+    visible = true;
+    warn = false;
+    use = id;
   };
 
   /* mkDerivedConfig : Option a -> (a -> Definition b) -> Definition b
@@ -1130,7 +1144,7 @@ rec {
       (opt.highestPrio or defaultOverridePriority)
       (f opt.value);
 
-  doRename = { from, to, visible, warn, use, withPriority ? true }:
+  doRename = { from, to, visible, warn, use, withPriority ? true, wrapDescription ? lib.mdDoc }:
     { config, options, ... }:
     let
       fromOpt = getAttrFromPath from options;
@@ -1141,7 +1155,7 @@ rec {
     {
       options = setAttrByPath from (mkOption {
         inherit visible;
-        description = lib.mdDoc "Alias of {option}`${showOption to}`.";
+        description = wrapDescription "Alias of {option}`${showOption to}`.";
         apply = x: use (toOf config);
       } // optionalAttrs (toType != null) {
         type = toType;
diff --git a/lib/options.nix b/lib/options.nix
index 9425e803c0565..ce66bfb9d5d9f 100644
--- a/lib/options.nix
+++ b/lib/options.nix
@@ -136,7 +136,7 @@ rec {
       let default' = if !isList default then [ default ] else default;
       in mkOption {
         type = lib.types.package;
-        description = lib.mdDoc "The ${name} package to use.";
+        description = "The ${name} package to use.";
         default = attrByPath default'
           (throw "${concatStringsSep "." default'} cannot be found in pkgs") pkgs;
         defaultText = literalExpression ("pkgs." + concatStringsSep "." default');
@@ -144,6 +144,11 @@ rec {
           (if isList example then "pkgs." + concatStringsSep "." example else example);
       };
 
+  /* Like mkPackageOption, but emit an mdDoc description instead of DocBook. */
+  mkPackageOptionMD = args: name: extra:
+    let option = mkPackageOption args name extra;
+    in option // { description = lib.mdDoc option.description; };
+
   /* This option accepts anything, but it does not produce any result.
 
      This is useful for sharing a module across different module sets
diff --git a/lib/path/README.md b/lib/path/README.md
new file mode 100644
index 0000000000000..87e552d120d77
--- /dev/null
+++ b/lib/path/README.md
@@ -0,0 +1,196 @@
+# Path library
+
+This document explains why the `lib.path` library is designed the way it is.
+
+The purpose of this library is to process [filesystem paths]. It does not read files from the filesystem.
+It exists to support the native Nix [path value type] with extra functionality.
+
+[filesystem paths]: https://en.m.wikipedia.org/wiki/Path_(computing)
+[path value type]: https://nixos.org/manual/nix/stable/language/values.html#type-path
+
+As an extension of the path value type, it inherits the same intended use cases and limitations:
+- Only use paths to access files at evaluation time, such as the local project source.
+- Paths cannot point to derivations, so they are unfit to represent dependencies.
+- A path implicitly imports the referenced files into the Nix store when interpolated to a string. Therefore paths are not suitable to access files at build- or run-time, as you risk importing the path from the evaluation system instead.
+
+Overall, this library works with two types of paths:
+- Absolute paths are represented with the Nix [path value type]. Nix automatically normalises these paths.
+- Subpaths are represented with the [string value type] since path value types don't support relative paths. This library normalises these paths as safely as possible. Absolute paths in strings are not supported.
+
+  A subpath refers to a specific file or directory within an absolute base directory.
+  It is a stricter form of a relative path, notably [without support for `..` components][parents] since those could escape the base directory.
+
+[string value type]: https://nixos.org/manual/nix/stable/language/values.html#type-string
+
+This library is designed to be as safe and intuitive as possible, throwing errors when operations are attempted that would produce surprising results, and giving the expected result otherwise.
+
+This library is designed to work well as a dependency for the `lib.filesystem` and `lib.sources` library components. Contrary to these library components, `lib.path` does not read any paths from the filesystem.
+
+This library makes only these assumptions about paths and no others:
+- `dirOf path` returns the path to the parent directory of `path`, unless `path` is the filesystem root, in which case `path` is returned.
+  - There can be multiple filesystem roots: `p == dirOf p` and `q == dirOf q` does not imply `p == q`.
+    - While there's only a single filesystem root in stable Nix, the [lazy trees feature](https://github.com/NixOS/nix/pull/6530) introduces [additional filesystem roots](https://github.com/NixOS/nix/pull/6530#discussion_r1041442173).
+- `path + ("/" + string)` returns the path to the `string` subdirectory in `path`.
+  - If `string` contains no `/` characters, then `dirOf (path + ("/" + string)) == path`.
+  - If `string` contains no `/` characters, then `baseNameOf (path + ("/" + string)) == string`.
+- `path1 == path2` returns `true` only if `path1` points to the same filesystem path as `path2`.
+
+Notably we do not make the assumption that we can turn paths into strings using `toString path`.
+
+## Design decisions
+
+Each subsection here contains a decision along with arguments and counter-arguments for (+) and against (-) that decision.
+
+### Leading dots for relative paths
+[leading-dots]: #leading-dots-for-relative-paths
+
+Observing: Since subpaths are a form of relative paths, they can have a leading `./` to indicate it being a relative path, this is generally not necessary for tools though.
+
+Considering: Paths should be as explicit, consistent and unambiguous as possible.
+
+Decision: Returned subpaths should always have a leading `./`.
+
+<details>
+<summary>Arguments</summary>
+
+- (+) In shells, just running `foo` as a command wouldn't execute the file `foo`, whereas `./foo` would execute the file. In contrast, `foo/bar` does execute that file without the need for `./`. This can lead to confusion about when a `./` needs to be prefixed. If a `./` is always included, this becomes a non-issue. This effectively then means that paths don't overlap with command names.
+- (+) Prepending with `./` makes the subpaths always valid as relative Nix path expressions.
+- (+) Using paths in command line arguments could give problems if not escaped properly, e.g. if a path was `--version`. This is not a problem with `./--version`. This effectively then means that paths don't overlap with GNU-style command line options.
+- (-) `./` is not required to resolve relative paths, resolution always has an implicit `./` as prefix.
+- (-) It's less noisy without the `./`, e.g. in error messages.
+  - (+) But similarly, it could be confusing whether something was even a path.
+    e.g. `foo` could be anything, but `./foo` is more clearly a path.
+- (+) Makes it more uniform with absolute paths (those always start with `/`).
+  - (-) That is not relevant for practical purposes.
+- (+) `find` also outputs results with `./`.
+  - (-) But only if you give it an argument of `.`. If you give it the argument `some-directory`, it won't prefix that.
+- (-) `realpath --relative-to` doesn't prefix relative paths with `./`.
+  - (+) There is no need to return the same result as `realpath`.
+
+</details>
+
+### Representation of the current directory
+[curdir]: #representation-of-the-current-directory
+
+Observing: The subpath that produces the base directory can be represented with `.` or `./` or `./.`.
+
+Considering: Paths should be as consistent and unambiguous as possible.
+
+Decision: It should be `./.`.
+
+<details>
+<summary>Arguments</summary>
+
+- (+) `./` would be inconsistent with [the decision to not persist trailing slashes][trailing-slashes].
+- (-) `.` is how `realpath` normalises paths.
+- (+) `.` can be interpreted as a shell command (it's a builtin for sourcing files in `bash` and `zsh`).
+- (+) `.` would be the only path without a `/`. It could not be used as a Nix path expression, since those require at least one `/` to be parsed as such.
+- (-) `./.` is rather long.
+  - (-) We don't require users to type this though, as it's only output by the library.
+    As inputs all three variants are supported for subpaths (and we can't do anything about absolute paths)
+- (-) `builtins.dirOf "foo" == "."`, so `.` would be consistent with that.
+- (+) `./.` is consistent with the [decision to have leading `./`][leading-dots].
+- (+) `./.` is a valid Nix path expression, although this property does not hold for every relative path or subpath.
+
+</details>
+
+### Subpath representation
+[relrepr]: #subpath-representation
+
+Observing: Subpaths such as `foo/bar` can be represented in various ways:
+- string: `"foo/bar"`
+- list with all the components: `[ "foo" "bar" ]`
+- attribute set: `{ type = "relative-path"; components = [ "foo" "bar" ]; }`
+
+Considering: Paths should be as safe to use as possible. We should generate string outputs in the library and not encourage users to do that themselves.
+
+Decision: Paths are represented as strings.
+
+<details>
+<summary>Arguments</summary>
+
+- (+) It's simpler for the users of the library. One doesn't have to convert a path a string before it can be used.
+  - (+) Naively converting the list representation to a string with `concatStringsSep "/"` would break for `[]`, requiring library users to be more careful.
+- (+) It doesn't encourage people to do their own path processing and instead use the library.
+  With a list representation it would seem easy to just use `lib.lists.init` to get the parent directory, but then it breaks for `.`, which would be represented as `[ ]`.
+- (+) `+` is convenient and doesn't work on lists and attribute sets.
+  - (-) Shouldn't use `+` anyways, we export safer functions for path manipulation.
+
+</details>
+
+### Parent directory
+[parents]: #parent-directory
+
+Observing: Relative paths can have `..` components, which refer to the parent directory.
+
+Considering: Paths should be as safe and unambiguous as possible.
+
+Decision: `..` path components in string paths are not supported, neither as inputs nor as outputs. Hence, string paths are called subpaths, rather than relative paths.
+
+<details>
+<summary>Arguments</summary>
+
+- (+) If we wanted relative paths to behave according to the "physical" interpretation (as a directory tree with relations between nodes), it would require resolving symlinks, since e.g. `foo/..` would not be the same as `.` if `foo` is a symlink.
+  - (-) The "logical" interpretation is also valid (treating paths as a sequence of names), and is used by some software. It is simpler, and not using symlinks at all is safer.
+  - (+) Mixing both models can lead to surprises.
+  - (+) We can't resolve symlinks without filesystem access.
+  - (+) Nix also doesn't support reading symlinks at evaluation time.
+  - (-) We could just not handle such cases, e.g. `equals "foo" "foo/bar/.. == false`. The paths are different, we don't need to check whether the paths point to the same thing.
+    - (+) Assume we said `relativeTo /foo /bar == "../bar"`. If this is used like `/bar/../foo` in the end, and `bar` turns out to be a symlink to somewhere else, this won't be accurate.
+      - (-) We could decide to not support such ambiguous operations, or mark them as such, e.g. the normal `relativeTo` will error on such a case, but there could be `extendedRelativeTo` supporting that.
+- (-) `..` are a part of paths, a path library should therefore support it.
+  - (+) If we can convincingly argue that all such use cases are better done e.g. with runtime tools, the library not supporting it can nudge people towards using those.
+- (-) We could allow "..", but only in the prefix.
+  - (+) Then we'd have to throw an error for doing `append /some/path "../foo"`, making it non-composable.
+  - (+) The same is for returning paths with `..`: `relativeTo /foo /bar => "../bar"` would produce a non-composable path.
+- (+) We argue that `..` is not needed at the Nix evaluation level, since we'd always start evaluation from the project root and don't go up from there.
+  - (+) `..` is supported in Nix paths, turning them into absolute paths.
+    - (-) This is ambiguous in the presence of symlinks.
+- (+) If you need `..` for building or runtime, you can use build-/run-time tooling to create those (e.g. `realpath` with `--relative-to`), or use absolute paths instead.
+  This also gives you the ability to correctly handle symlinks.
+
+</details>
+
+### Trailing slashes
+[trailing-slashes]: #trailing-slashes
+
+Observing: Subpaths can contain trailing slashes, like `foo/`, indicating that the path points to a directory and not a file.
+
+Considering: Paths should be as consistent as possible, there should only be a single normalisation for the same path.
+
+Decision: All functions remove trailing slashes in their results.
+
+<details>
+<summary>Arguments</summary>
+
+- (+) It allows normalisations to be unique, in that there's only a single normalisation for the same path. If trailing slashes were preserved, both `foo/bar` and `foo/bar/` would be valid but different normalisations for the same path.
+- Comparison to other frameworks to figure out the least surprising behavior:
+  - (+) Nix itself doesn't support trailing slashes when parsing and doesn't preserve them when appending paths.
+  - (-) [Rust's std::path](https://doc.rust-lang.org/std/path/index.html) does preserve them during [construction](https://doc.rust-lang.org/std/path/struct.Path.html#method.new).
+    - (+) Doesn't preserve them when returning individual [components](https://doc.rust-lang.org/std/path/struct.Path.html#method.components).
+    - (+) Doesn't preserve them when [canonicalizing](https://doc.rust-lang.org/std/path/struct.Path.html#method.canonicalize).
+  - (+) [Python 3's pathlib](https://docs.python.org/3/library/pathlib.html#module-pathlib) doesn't preserve them during [construction](https://docs.python.org/3/library/pathlib.html#pathlib.PurePath).
+    - Notably it represents the individual components as a list internally.
+  - (-) [Haskell's filepath](https://hackage.haskell.org/package/filepath-1.4.100.0) has [explicit support](https://hackage.haskell.org/package/filepath-1.4.100.0/docs/System-FilePath.html#g:6) for handling trailing slashes.
+    - (-) Does preserve them for [normalisation](https://hackage.haskell.org/package/filepath-1.4.100.0/docs/System-FilePath.html#v:normalise).
+  - (-) [NodeJS's Path library](https://nodejs.org/api/path.html) preserves trailing slashes for [normalisation](https://nodejs.org/api/path.html#pathnormalizepath).
+    - (+) For [parsing a path](https://nodejs.org/api/path.html#pathparsepath) into its significant elements, trailing slashes are not preserved.
+- (+) Nix's builtin function `dirOf` gives an unexpected result for paths with trailing slashes: `dirOf "foo/bar/" == "foo/bar"`.
+  Inconsistently, `baseNameOf` works correctly though: `baseNameOf "foo/bar/" == "bar"`.
+  - (-) We are writing a path library to improve handling of paths though, so we shouldn't use these functions and discourage their use.
+- (-) Unexpected result when normalising intermediate paths, like `relative.normalise ("foo" + "/") + "bar" == "foobar"`.
+  - (+) This is not a practical use case though.
+  - (+) Don't use `+` to append paths, this library has a `join` function for that.
+    - (-) Users might use `+` out of habit though.
+- (+) The `realpath` command also removes trailing slashes.
+- (+) Even with a trailing slash, the path is the same, it's only an indication that it's a directory.
+
+</details>
+
+## Other implementations and references
+
+- [Rust](https://doc.rust-lang.org/std/path/struct.Path.html)
+- [Python](https://docs.python.org/3/library/pathlib.html)
+- [Haskell](https://hackage.haskell.org/package/filepath-1.4.100.0/docs/System-FilePath.html)
+- [Nodejs](https://nodejs.org/api/path.html)
+- [POSIX.1-2017](https://pubs.opengroup.org/onlinepubs/9699919799/nframe.html)
diff --git a/lib/path/default.nix b/lib/path/default.nix
new file mode 100644
index 0000000000000..96a9244407bf5
--- /dev/null
+++ b/lib/path/default.nix
@@ -0,0 +1,218 @@
+# Functions for working with paths, see ./path.md
+{ lib }:
+let
+
+  inherit (builtins)
+    isString
+    split
+    match
+    ;
+
+  inherit (lib.lists)
+    length
+    head
+    last
+    genList
+    elemAt
+    ;
+
+  inherit (lib.strings)
+    concatStringsSep
+    substring
+    ;
+
+  inherit (lib.asserts)
+    assertMsg
+    ;
+
+  # Return the reason why a subpath is invalid, or `null` if it's valid
+  subpathInvalidReason = value:
+    if ! isString value then
+      "The given value is of type ${builtins.typeOf value}, but a string was expected"
+    else if value == "" then
+      "The given string is empty"
+    else if substring 0 1 value == "/" then
+      "The given string \"${value}\" starts with a `/`, representing an absolute path"
+    # We don't support ".." components, see ./path.md#parent-directory
+    else if match "(.*/)?\\.\\.(/.*)?" value != null then
+      "The given string \"${value}\" contains a `..` component, which is not allowed in subpaths"
+    else null;
+
+  # Split and normalise a relative path string into its components.
+  # Error for ".." components and doesn't include "." components
+  splitRelPath = path:
+    let
+      # Split the string into its parts using regex for efficiency. This regex
+      # matches patterns like "/", "/./", "/././", with arbitrarily many "/"s
+      # together. These are the main special cases:
+      # - Leading "./" gets split into a leading "." part
+      # - Trailing "/." or "/" get split into a trailing "." or ""
+      #   part respectively
+      #
+      # These are the only cases where "." and "" parts can occur
+      parts = split "/+(\\./+)*" path;
+
+      # `split` creates a list of 2 * k + 1 elements, containing the k +
+      # 1 parts, interleaved with k matches where k is the number of
+      # (non-overlapping) matches. This calculation here gets the number of parts
+      # back from the list length
+      # floor( (2 * k + 1) / 2 ) + 1 == floor( k + 1/2 ) + 1 == k + 1
+      partCount = length parts / 2 + 1;
+
+      # To assemble the final list of components we want to:
+      # - Skip a potential leading ".", normalising "./foo" to "foo"
+      # - Skip a potential trailing "." or "", normalising "foo/" and "foo/." to
+      #   "foo". See ./path.md#trailing-slashes
+      skipStart = if head parts == "." then 1 else 0;
+      skipEnd = if last parts == "." || last parts == "" then 1 else 0;
+
+      # We can now know the length of the result by removing the number of
+      # skipped parts from the total number
+      componentCount = partCount - skipEnd - skipStart;
+
+    in
+      # Special case of a single "." path component. Such a case leaves a
+      # componentCount of -1 due to the skipStart/skipEnd not verifying that
+      # they don't refer to the same character
+      if path == "." then []
+
+      # Generate the result list directly. This is more efficient than a
+      # combination of `filter`, `init` and `tail`, because here we don't
+      # allocate any intermediate lists
+      else genList (index:
+        # To get to the element we need to add the number of parts we skip and
+        # multiply by two due to the interleaved layout of `parts`
+        elemAt parts ((skipStart + index) * 2)
+      ) componentCount;
+
+  # Join relative path components together
+  joinRelPath = components:
+    # Always return relative paths with `./` as a prefix (./path.md#leading-dots-for-relative-paths)
+    "./" +
+    # An empty string is not a valid relative path, so we need to return a `.` when we have no components
+    (if components == [] then "." else concatStringsSep "/" components);
+
+in /* No rec! Add dependencies on this file at the top. */ {
+
+
+  /* Whether a value is a valid subpath string.
+
+  - The value is a string
+
+  - The string is not empty
+
+  - The string doesn't start with a `/`
+
+  - The string doesn't contain any `..` path components
+
+  Type:
+    subpath.isValid :: String -> Bool
+
+  Example:
+    # Not a string
+    subpath.isValid null
+    => false
+
+    # Empty string
+    subpath.isValid ""
+    => false
+
+    # Absolute path
+    subpath.isValid "/foo"
+    => false
+
+    # Contains a `..` path component
+    subpath.isValid "../foo"
+    => false
+
+    # Valid subpath
+    subpath.isValid "foo/bar"
+    => true
+
+    # Doesn't need to be normalised
+    subpath.isValid "./foo//bar/"
+    => true
+  */
+  subpath.isValid = value:
+    subpathInvalidReason value == null;
+
+
+  /* Normalise a subpath. Throw an error if the subpath isn't valid, see
+  `lib.path.subpath.isValid`
+
+  - Limit repeating `/` to a single one
+
+  - Remove redundant `.` components
+
+  - Remove trailing `/` and `/.`
+
+  - Add leading `./`
+
+  Laws:
+
+  - (Idempotency) Normalising multiple times gives the same result:
+
+        subpath.normalise (subpath.normalise p) == subpath.normalise p
+
+  - (Uniqueness) There's only a single normalisation for the paths that lead to the same file system node:
+
+        subpath.normalise p != subpath.normalise q -> $(realpath ${p}) != $(realpath ${q})
+
+  - Don't change the result when appended to a Nix path value:
+
+        base + ("/" + p) == base + ("/" + subpath.normalise p)
+
+  - Don't change the path according to `realpath`:
+
+        $(realpath ${p}) == $(realpath ${subpath.normalise p})
+
+  - Only error on invalid subpaths:
+
+        builtins.tryEval (subpath.normalise p)).success == subpath.isValid p
+
+  Type:
+    subpath.normalise :: String -> String
+
+  Example:
+    # limit repeating `/` to a single one
+    subpath.normalise "foo//bar"
+    => "./foo/bar"
+
+    # remove redundant `.` components
+    subpath.normalise "foo/./bar"
+    => "./foo/bar"
+
+    # add leading `./`
+    subpath.normalise "foo/bar"
+    => "./foo/bar"
+
+    # remove trailing `/`
+    subpath.normalise "foo/bar/"
+    => "./foo/bar"
+
+    # remove trailing `/.`
+    subpath.normalise "foo/bar/."
+    => "./foo/bar"
+
+    # Return the current directory as `./.`
+    subpath.normalise "."
+    => "./."
+
+    # error on `..` path components
+    subpath.normalise "foo/../bar"
+    => <error>
+
+    # error on empty string
+    subpath.normalise ""
+    => <error>
+
+    # error on absolute path
+    subpath.normalise "/foo"
+    => <error>
+  */
+  subpath.normalise = path:
+    assert assertMsg (subpathInvalidReason path == null)
+      "lib.path.subpath.normalise: Argument is not a valid subpath string: ${subpathInvalidReason path}";
+    joinRelPath (splitRelPath path);
+
+}
diff --git a/lib/path/tests/default.nix b/lib/path/tests/default.nix
new file mode 100644
index 0000000000000..9a31e42828f48
--- /dev/null
+++ b/lib/path/tests/default.nix
@@ -0,0 +1,34 @@
+{
+  nixpkgs ? ../../..,
+  system ? builtins.currentSystem,
+  pkgs ? import nixpkgs {
+    config = {};
+    overlays = [];
+    inherit system;
+  },
+  libpath ? ../..,
+  # Random seed
+  seed ? null,
+}:
+pkgs.runCommand "lib-path-tests" {
+  nativeBuildInputs = with pkgs; [
+    nix
+    jq
+    bc
+  ];
+} ''
+  # Needed to make Nix evaluation work
+  export NIX_STATE_DIR=$(mktemp -d)
+
+  cp -r ${libpath} lib
+  export TEST_LIB=$PWD/lib
+
+  echo "Running unit tests lib/path/tests/unit.nix"
+  nix-instantiate --eval lib/path/tests/unit.nix \
+    --argstr libpath "$TEST_LIB"
+
+  echo "Running property tests lib/path/tests/prop.sh"
+  bash lib/path/tests/prop.sh ${toString seed}
+
+  touch $out
+''
diff --git a/lib/path/tests/generate.awk b/lib/path/tests/generate.awk
new file mode 100644
index 0000000000000..811dd0c46d332
--- /dev/null
+++ b/lib/path/tests/generate.awk
@@ -0,0 +1,64 @@
+# Generate random path-like strings, separated by null characters.
+#
+# Invocation:
+#
+#     awk -f ./generate.awk -v <variable>=<value> | tr '\0' '\n'
+#
+# Customizable variables (all default to 0):
+# - seed: Deterministic random seed to use for generation
+# - count: Number of paths to generate
+# - extradotweight: Give extra weight to dots being generated
+# - extraslashweight: Give extra weight to slashes being generated
+# - extranullweight: Give extra weight to null being generated, making paths shorter
+BEGIN {
+  # Random seed, passed explicitly for reproducibility
+  srand(seed)
+
+  # Don't include special characters below 32
+  minascii = 32
+  # Don't include DEL at 128
+  maxascii = 127
+  upperascii = maxascii - minascii
+
+  # add extra weight for ., in addition to the one weight from the ascii range
+  upperdot = upperascii + extradotweight
+
+  # add extra weight for /, in addition to the one weight from the ascii range
+  upperslash = upperdot + extraslashweight
+
+  # add extra weight for null, indicating the end of the string
+  # Must be at least 1 to have strings end at all
+  total = upperslash + 1 + extranullweight
+
+  # new=1 indicates that it's a new string
+  new=1
+  while (count > 0) {
+
+    # Random integer between [0, total)
+    value = int(rand() * total)
+
+    if (value < upperascii) {
+      # Ascii range
+      printf("%c", value + minascii)
+      new=0
+
+    } else if (value < upperdot) {
+      # Dot range
+      printf "."
+      new=0
+
+    } else if (value < upperslash) {
+      # If it's the start of a new path, only generate a / in 10% of cases
+      # This is always an invalid subpath, which is not a very interesting case
+      if (new && rand() > 0.1) continue
+      printf "/"
+
+    } else {
+      # Do not generate empty strings
+      if (new) continue
+      printf "\x00"
+      count--
+      new=1
+    }
+  }
+}
diff --git a/lib/path/tests/prop.nix b/lib/path/tests/prop.nix
new file mode 100644
index 0000000000000..67e5c1e9d61c7
--- /dev/null
+++ b/lib/path/tests/prop.nix
@@ -0,0 +1,60 @@
+# Given a list of path-like strings, check some properties of the path library
+# using those paths and return a list of attribute sets of the following form:
+#
+#     { <string> = <lib.path.subpath.normalise string>; }
+#
+# If `normalise` fails to evaluate, the attribute value is set to `""`.
+# If not, the resulting value is normalised again and an appropriate attribute set added to the output list.
+{
+  # The path to the nixpkgs lib to use
+  libpath,
+  # A flat directory containing files with randomly-generated
+  # path-like values
+  dir,
+}:
+let
+  lib = import libpath;
+
+  # read each file into a string
+  strings = map (name:
+    builtins.readFile (dir + "/${name}")
+  ) (builtins.attrNames (builtins.readDir dir));
+
+  inherit (lib.path.subpath) normalise isValid;
+  inherit (lib.asserts) assertMsg;
+
+  normaliseAndCheck = str:
+    let
+      originalValid = isValid str;
+
+      tryOnce = builtins.tryEval (normalise str);
+      tryTwice = builtins.tryEval (normalise tryOnce.value);
+
+      absConcatOrig = /. + ("/" + str);
+      absConcatNormalised = /. + ("/" + tryOnce.value);
+    in
+      # Check the lib.path.subpath.normalise property to only error on invalid subpaths
+      assert assertMsg
+        (originalValid -> tryOnce.success)
+        "Even though string \"${str}\" is valid as a subpath, the normalisation for it failed";
+      assert assertMsg
+        (! originalValid -> ! tryOnce.success)
+        "Even though string \"${str}\" is invalid as a subpath, the normalisation for it succeeded";
+
+      # Check normalisation idempotency
+      assert assertMsg
+        (originalValid -> tryTwice.success)
+        "For valid subpath \"${str}\", the normalisation \"${tryOnce.value}\" was not a valid subpath";
+      assert assertMsg
+        (originalValid -> tryOnce.value == tryTwice.value)
+        "For valid subpath \"${str}\", normalising it once gives \"${tryOnce.value}\" but normalising it twice gives a different result: \"${tryTwice.value}\"";
+
+      # Check that normalisation doesn't change a string when appended to an absolute Nix path value
+      assert assertMsg
+        (originalValid -> absConcatOrig == absConcatNormalised)
+        "For valid subpath \"${str}\", appending to an absolute Nix path value gives \"${absConcatOrig}\", but appending the normalised result \"${tryOnce.value}\" gives a different value \"${absConcatNormalised}\"";
+
+      # Return an empty string when failed
+      if tryOnce.success then tryOnce.value else "";
+
+in lib.genAttrs strings normaliseAndCheck
diff --git a/lib/path/tests/prop.sh b/lib/path/tests/prop.sh
new file mode 100755
index 0000000000000..c956e55bbfa05
--- /dev/null
+++ b/lib/path/tests/prop.sh
@@ -0,0 +1,179 @@
+#!/usr/bin/env bash
+
+# Property tests for the `lib.path` library
+#
+# It generates random path-like strings and runs the functions on
+# them, checking that the expected laws of the functions hold
+
+set -euo pipefail
+shopt -s inherit_errexit
+
+# https://stackoverflow.com/a/246128
+SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
+
+if test -z "${TEST_LIB:-}"; then
+    TEST_LIB=$SCRIPT_DIR/../..
+fi
+
+tmp="$(mktemp -d)"
+clean_up() {
+    rm -rf "$tmp"
+}
+trap clean_up EXIT
+mkdir -p "$tmp/work"
+cd "$tmp/work"
+
+# Defaulting to a random seed but the first argument can override this
+seed=${1:-$RANDOM}
+echo >&2 "Using seed $seed, use \`lib/path/tests/prop.sh $seed\` to reproduce this result"
+
+# The number of random paths to generate. This specific number was chosen to
+# be fast enough while still generating enough variety to detect bugs.
+count=500
+
+debug=0
+# debug=1 # print some extra info
+# debug=2 # print generated values
+
+# Fine tuning parameters to balance the number of generated invalid paths
+# to the variance in generated paths.
+extradotweight=64   # Larger value: more dots
+extraslashweight=64 # Larger value: more slashes
+extranullweight=16  # Larger value: shorter strings
+
+die() {
+    echo >&2 "test case failed: " "$@"
+    exit 1
+}
+
+if [[ "$debug" -ge 1 ]]; then
+    echo >&2 "Generating $count random path-like strings"
+fi
+
+# Read stream of null-terminated strings entry-by-entry into bash,
+# write it to a file and the `strings` array.
+declare -a strings=()
+mkdir -p "$tmp/strings"
+while IFS= read -r -d $'\0' str; do
+    echo -n "$str" > "$tmp/strings/${#strings[@]}"
+    strings+=("$str")
+done < <(awk \
+    -f "$SCRIPT_DIR"/generate.awk \
+    -v seed="$seed" \
+    -v count="$count" \
+    -v extradotweight="$extradotweight" \
+    -v extraslashweight="$extraslashweight" \
+    -v extranullweight="$extranullweight")
+
+if [[ "$debug" -ge 1 ]]; then
+    echo >&2 "Trying to normalise the generated path-like strings with Nix"
+fi
+
+# Precalculate all normalisations with a single Nix call. Calling Nix for each
+# string individually would take way too long
+nix-instantiate --eval --strict --json \
+    --argstr libpath "$TEST_LIB" \
+    --argstr dir "$tmp/strings" \
+    "$SCRIPT_DIR"/prop.nix \
+    >"$tmp/result.json"
+
+# Uses some jq magic to turn the resulting attribute set into an associative
+# bash array assignment
+declare -A normalised_result="($(jq '
+    to_entries
+    | map("[\(.key | @sh)]=\(.value | @sh)")
+    | join(" \n")' -r < "$tmp/result.json"))"
+
+# Looks up a normalisation result for a string
+# Checks that the normalisation is only failing iff it's an invalid subpath
+# For valid subpaths, returns 0 and prints the normalisation result
+# For invalid subpaths, returns 1
+normalise() {
+    local str=$1
+    # Uses the same check for validity as in the library implementation
+    if [[ "$str" == "" || "$str" == /* || "$str" =~ ^(.*/)?\.\.(/.*)?$ ]]; then
+        valid=
+    else
+        valid=1
+    fi
+
+    normalised=${normalised_result[$str]}
+    # An empty string indicates failure, this is encoded in ./prop.nix
+    if [[ -n "$normalised" ]]; then
+        if [[ -n "$valid" ]]; then
+            echo "$normalised"
+        else
+            die "For invalid subpath \"$str\", lib.path.subpath.normalise returned this result: \"$normalised\""
+        fi
+    else
+        if [[ -n "$valid" ]]; then
+            die "For valid subpath \"$str\", lib.path.subpath.normalise failed"
+        else
+            if [[ "$debug" -ge 2 ]]; then
+                echo >&2 "String \"$str\" is not a valid subpath"
+            fi
+            # Invalid and it correctly failed, we let the caller continue if they catch the exit code
+            return 1
+        fi
+    fi
+}
+
+# Intermediate result populated by test_idempotency_realpath
+# and used in test_normalise_uniqueness
+#
+# Contains a mapping from a normalised subpath to the realpath result it represents
+declare -A norm_to_real
+
+test_idempotency_realpath() {
+    if [[ "$debug" -ge 1 ]]; then
+        echo >&2 "Checking idempotency of each result and making sure the realpath result isn't changed"
+    fi
+
+    # Count invalid subpaths to display stats
+    invalid=0
+    for str in "${strings[@]}"; do
+        if ! result=$(normalise "$str"); then
+            ((invalid++)) || true
+            continue
+        fi
+
+        # Check the law that it doesn't change the result of a realpath
+        mkdir -p -- "$str" "$result"
+        real_orig=$(realpath -- "$str")
+        real_norm=$(realpath -- "$result")
+
+        if [[ "$real_orig" != "$real_norm" ]]; then
+            die "realpath of the original string \"$str\" (\"$real_orig\") is not the same as realpath of the normalisation \"$result\" (\"$real_norm\")"
+        fi
+
+        if [[ "$debug" -ge 2 ]]; then
+            echo >&2 "String \"$str\" gets normalised to \"$result\" and file path \"$real_orig\""
+        fi
+        norm_to_real["$result"]="$real_orig"
+    done
+    if [[ "$debug" -ge 1 ]]; then
+        echo >&2 "$(bc <<< "scale=1; 100 / $count * $invalid")% of the total $count generated strings were invalid subpath strings, and were therefore ignored"
+    fi
+}
+
+test_normalise_uniqueness() {
+    if [[ "$debug" -ge 1 ]]; then
+        echo >&2 "Checking for the uniqueness law"
+    fi
+
+    for norm_p in "${!norm_to_real[@]}"; do
+        real_p=${norm_to_real["$norm_p"]}
+        for norm_q in "${!norm_to_real[@]}"; do
+            real_q=${norm_to_real["$norm_q"]}
+            # Checks normalisation uniqueness law for each pair of values
+            if [[ "$norm_p" != "$norm_q" && "$real_p" == "$real_q" ]]; then
+                die "Normalisations \"$norm_p\" and \"$norm_q\" are different, but the realpath of them is the same: \"$real_p\""
+            fi
+        done
+    done
+}
+
+test_idempotency_realpath
+test_normalise_uniqueness
+
+echo >&2 tests ok
diff --git a/lib/path/tests/unit.nix b/lib/path/tests/unit.nix
new file mode 100644
index 0000000000000..eccf3b7b1c33b
--- /dev/null
+++ b/lib/path/tests/unit.nix
@@ -0,0 +1,125 @@
+# Unit tests for lib.path functions. Use `nix-build` in this directory to
+# run these
+{ libpath }:
+let
+  lib = import libpath;
+  inherit (lib.path) subpath;
+
+  cases = lib.runTests {
+    testSubpathIsValidExample1 = {
+      expr = subpath.isValid null;
+      expected = false;
+    };
+    testSubpathIsValidExample2 = {
+      expr = subpath.isValid "";
+      expected = false;
+    };
+    testSubpathIsValidExample3 = {
+      expr = subpath.isValid "/foo";
+      expected = false;
+    };
+    testSubpathIsValidExample4 = {
+      expr = subpath.isValid "../foo";
+      expected = false;
+    };
+    testSubpathIsValidExample5 = {
+      expr = subpath.isValid "foo/bar";
+      expected = true;
+    };
+    testSubpathIsValidExample6 = {
+      expr = subpath.isValid "./foo//bar/";
+      expected = true;
+    };
+    testSubpathIsValidTwoDotsEnd = {
+      expr = subpath.isValid "foo/..";
+      expected = false;
+    };
+    testSubpathIsValidTwoDotsMiddle = {
+      expr = subpath.isValid "foo/../bar";
+      expected = false;
+    };
+    testSubpathIsValidTwoDotsPrefix = {
+      expr = subpath.isValid "..foo";
+      expected = true;
+    };
+    testSubpathIsValidTwoDotsSuffix = {
+      expr = subpath.isValid "foo..";
+      expected = true;
+    };
+    testSubpathIsValidTwoDotsPrefixComponent = {
+      expr = subpath.isValid "foo/..bar/baz";
+      expected = true;
+    };
+    testSubpathIsValidTwoDotsSuffixComponent = {
+      expr = subpath.isValid "foo/bar../baz";
+      expected = true;
+    };
+    testSubpathIsValidThreeDots = {
+      expr = subpath.isValid "...";
+      expected = true;
+    };
+    testSubpathIsValidFourDots = {
+      expr = subpath.isValid "....";
+      expected = true;
+    };
+    testSubpathIsValidThreeDotsComponent = {
+      expr = subpath.isValid "foo/.../bar";
+      expected = true;
+    };
+    testSubpathIsValidFourDotsComponent = {
+      expr = subpath.isValid "foo/..../bar";
+      expected = true;
+    };
+
+    testSubpathNormaliseExample1 = {
+      expr = subpath.normalise "foo//bar";
+      expected = "./foo/bar";
+    };
+    testSubpathNormaliseExample2 = {
+      expr = subpath.normalise "foo/./bar";
+      expected = "./foo/bar";
+    };
+    testSubpathNormaliseExample3 = {
+      expr = subpath.normalise "foo/bar";
+      expected = "./foo/bar";
+    };
+    testSubpathNormaliseExample4 = {
+      expr = subpath.normalise "foo/bar/";
+      expected = "./foo/bar";
+    };
+    testSubpathNormaliseExample5 = {
+      expr = subpath.normalise "foo/bar/.";
+      expected = "./foo/bar";
+    };
+    testSubpathNormaliseExample6 = {
+      expr = subpath.normalise ".";
+      expected = "./.";
+    };
+    testSubpathNormaliseExample7 = {
+      expr = (builtins.tryEval (subpath.normalise "foo/../bar")).success;
+      expected = false;
+    };
+    testSubpathNormaliseExample8 = {
+      expr = (builtins.tryEval (subpath.normalise "")).success;
+      expected = false;
+    };
+    testSubpathNormaliseExample9 = {
+      expr = (builtins.tryEval (subpath.normalise "/foo")).success;
+      expected = false;
+    };
+    testSubpathNormaliseIsValidDots = {
+      expr = subpath.normalise "./foo/.bar/.../baz...qux";
+      expected = "./foo/.bar/.../baz...qux";
+    };
+    testSubpathNormaliseWrongType = {
+      expr = (builtins.tryEval (subpath.normalise null)).success;
+      expected = false;
+    };
+    testSubpathNormaliseTwoDots = {
+      expr = (builtins.tryEval (subpath.normalise "..")).success;
+      expected = false;
+    };
+  };
+in
+  if cases == [] then "Unit tests successful"
+  else throw "Path unit tests failed: ${lib.generators.toPretty {} cases}"
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 4e0bb8e672e9a..53d84118bd30d 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -48,6 +48,7 @@ rec {
 
     is32bit        = { cpu = { bits = 32; }; };
     is64bit        = { cpu = { bits = 64; }; };
+    isILP32        = map (a: { abi = { abi = a; }; }) [ "n32" "ilp32" "x32" ];
     isBigEndian    = { cpu = { significantByte = significantBytes.bigEndian; }; };
     isLittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; };
 
diff --git a/lib/tests/release.nix b/lib/tests/release.nix
index b93a4236f91e1..f67892ab962f2 100644
--- a/lib/tests/release.nix
+++ b/lib/tests/release.nix
@@ -15,6 +15,9 @@ pkgs.runCommand "nixpkgs-lib-tests" {
       inherit pkgs;
       lib = import ../.;
     })
+    (import ../path/tests {
+      inherit pkgs;
+    })
   ];
 } ''
     datadir="${pkgs.nix}/share"
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index f384f68358209..805d54832a44e 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -121,6 +121,12 @@
     githubId = 7414843;
     name = "Nicholas von Klitzing";
   };
+  _3JlOy-PYCCKUi = {
+    name = "3JlOy-PYCCKUi";
+    email = "3jl0y_pycckui@riseup.net";
+    github = "3JlOy-PYCCKUi";
+    githubId = 46464602;
+  };
   _360ied = {
     name = "Brian Zhu";
     email = "therealbarryplayer@gmail.com";
@@ -4552,6 +4558,12 @@
     githubId = 225893;
     name = "James Cook";
   };
+  farcaller = {
+    name = "Vladimir Pouzanov";
+    email = "farcaller@gmail.com";
+    github = "farcaller";
+    githubId = 693;
+  };
   fare = {
     email = "fahree@gmail.com";
     github = "fare";
diff --git a/nixos/doc/manual/development/option-declarations.section.md b/nixos/doc/manual/development/option-declarations.section.md
index f89aae5730682..aa747f47c9c81 100644
--- a/nixos/doc/manual/development/option-declarations.section.md
+++ b/nixos/doc/manual/development/option-declarations.section.md
@@ -88,7 +88,7 @@ lib.mkOption {
 }
 ```
 
-### `mkPackageOption` {#sec-option-declarations-util-mkPackageOption}
+### `mkPackageOption`, `mkPackageOptionMD` {#sec-option-declarations-util-mkPackageOption}
 
 Usage:
 
@@ -106,6 +106,8 @@ The second argument is the name of the option, used in the description "The \<na
 
 You can omit the default path if the name of the option is also attribute path in nixpkgs.
 
+During the transition to CommonMark documentation `mkPackageOption` creates an option with a DocBook description attribute, once the transition is completed it will create a CommonMark description instead. `mkPackageOptionMD` always creates an option with a CommonMark description attribute and will be removed some time after the transition is completed.
+
 ::: {#ex-options-declarations-util-mkPackageOption .title}
 Examples:
 
diff --git a/nixos/doc/manual/from_md/development/option-declarations.section.xml b/nixos/doc/manual/from_md/development/option-declarations.section.xml
index 2e6a12d530953..cc4893939c280 100644
--- a/nixos/doc/manual/from_md/development/option-declarations.section.xml
+++ b/nixos/doc/manual/from_md/development/option-declarations.section.xml
@@ -138,7 +138,8 @@ lib.mkOption {
 }
 </programlisting>
       <section xml:id="sec-option-declarations-util-mkPackageOption">
-        <title><literal>mkPackageOption</literal></title>
+        <title><literal>mkPackageOption</literal>,
+        <literal>mkPackageOptionMD</literal></title>
         <para>
           Usage:
         </para>
@@ -172,6 +173,15 @@ mkPackageOption pkgs &quot;name&quot; { default = [ &quot;path&quot; &quot;in&qu
           You can omit the default path if the name of the option is
           also attribute path in nixpkgs.
         </para>
+        <para>
+          During the transition to CommonMark documentation
+          <literal>mkPackageOption</literal> creates an option with a
+          DocBook description attribute, once the transition is
+          completed it will create a CommonMark description instead.
+          <literal>mkPackageOptionMD</literal> always creates an option
+          with a CommonMark description attribute and will be removed
+          some time after the transition is completed.
+        </para>
         <anchor xml:id="ex-options-declarations-util-mkPackageOption" />
         <para>
           Examples:
diff --git a/nixos/doc/manual/from_md/installation/upgrading.chapter.xml b/nixos/doc/manual/from_md/installation/upgrading.chapter.xml
index 9f4cfaf36b628..99882784b46fc 100644
--- a/nixos/doc/manual/from_md/installation/upgrading.chapter.xml
+++ b/nixos/doc/manual/from_md/installation/upgrading.chapter.xml
@@ -12,7 +12,7 @@
     <listitem>
       <para>
         <emphasis>Stable channels</emphasis>, such as
-        <link xlink:href="https://nixos.org/channels/nixos-22.05"><literal>nixos-22.11</literal></link>.
+        <link xlink:href="https://nixos.org/channels/nixos-22.11"><literal>nixos-22.11</literal></link>.
         These only get conservative bug fixes and package upgrades. For
         instance, a channel update may cause the Linux kernel on your
         system to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix),
@@ -33,7 +33,7 @@
     <listitem>
       <para>
         <emphasis>Small channels</emphasis>, such as
-        <link xlink:href="https://nixos.org/channels/nixos-22.05-small"><literal>nixos-22.11-small</literal></link>
+        <link xlink:href="https://nixos.org/channels/nixos-22.11-small"><literal>nixos-22.11-small</literal></link>
         or
         <link xlink:href="https://nixos.org/channels/nixos-unstable-small"><literal>nixos-unstable-small</literal></link>.
         These are identical to the stable and unstable channels
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index ea3be31a20606..12e4d490300ec 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -117,6 +117,15 @@
       </listitem>
       <listitem>
         <para>
+          <literal>podman</literal> now uses the
+          <literal>netavark</literal> network stack. Users will need to
+          delete all of their local containers, images, volumes, etc, by
+          running <literal>podman system reset --force</literal> once
+          before upgrading their systems.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The EC2 image module no longer fetches instance metadata in
           stage-1. This results in a significantly smaller initramfs,
           since network drivers no longer need to be included, and
@@ -341,6 +350,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.chronyd</literal> is now started with
+          additional systemd sandbox/hardening options for better
+          security.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The module <literal>services.headscale</literal> was
           refactored to be compliant with
           <link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
diff --git a/nixos/doc/manual/installation/upgrading.chapter.md b/nixos/doc/manual/installation/upgrading.chapter.md
index 249bcd97cec84..26b6b8cc23ef1 100644
--- a/nixos/doc/manual/installation/upgrading.chapter.md
+++ b/nixos/doc/manual/installation/upgrading.chapter.md
@@ -6,7 +6,7 @@ expressions and associated binaries. The NixOS channels are updated
 automatically from NixOS's Git repository after certain tests have
 passed and all packages have been built. These channels are:
 
--   *Stable channels*, such as [`nixos-22.11`](https://nixos.org/channels/nixos-22.05).
+-   *Stable channels*, such as [`nixos-22.11`](https://nixos.org/channels/nixos-22.11).
     These only get conservative bug fixes and package upgrades. For
     instance, a channel update may cause the Linux kernel on your system
     to be upgraded from 4.19.34 to 4.19.38 (a minor bug fix), but not
@@ -19,7 +19,7 @@ passed and all packages have been built. These channels are:
     radical changes between channel updates. It's not recommended for
     production systems.
 
--   *Small channels*, such as [`nixos-22.11-small`](https://nixos.org/channels/nixos-22.05-small)
+-   *Small channels*, such as [`nixos-22.11-small`](https://nixos.org/channels/nixos-22.11-small)
     or [`nixos-unstable-small`](https://nixos.org/channels/nixos-unstable-small).
     These are identical to the stable and unstable channels described above,
     except that they contain fewer binary packages. This means they get updated
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index df0ec622e56e7..07ee346c2c872 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -40,6 +40,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `borgbackup` module now has an option for inhibiting system sleep while backups are running, defaulting to off (not inhibiting sleep), available as [`services.borgbackup.jobs.<name>.inhibitsSleep`](#opt-services.borgbackup.jobs._name_.inhibitsSleep).
 
+- `podman` now uses the `netavark` network stack. Users will need to delete all of their local containers, images, volumes, etc, by running `podman system reset --force` once before upgrading their systems.
+
 - The EC2 image module no longer fetches instance metadata in stage-1. This results in a significantly smaller initramfs, since network drivers no longer need to be included, and faster boots, since metadata fetching can happen in parallel with startup of other services.
   This breaks services which rely on metadata being present by the time stage-2 is entered. Anything which reads EC2 metadata from `/etc/ec2-metadata` should now have an `after` dependency on `fetch-ec2-metadata.service`
 
@@ -94,6 +96,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
   And backup your data.
 
+- `services.chronyd` is now started with additional systemd sandbox/hardening options for better security.
+
 - The module `services.headscale` was refactored to be compliant with [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md). To be precise, this means that the following things have changed:
 
   - Most settings has been migrated under [services.headscale.settings](#opt-services.headscale.settings) which is an attribute-set that
diff --git a/nixos/lib/make-options-doc/mergeJSON.py b/nixos/lib/make-options-doc/mergeJSON.py
index 750cd24fc653d..7b14af40c313b 100644
--- a/nixos/lib/make-options-doc/mergeJSON.py
+++ b/nixos/lib/make-options-doc/mergeJSON.py
@@ -306,14 +306,17 @@ if hasDocBookErrors:
     print("Explanation: The documentation contains descriptions, examples, or defaults written in DocBook. " +
         "NixOS is in the process of migrating from DocBook to Markdown, and " +
         "DocBook is disallowed for in-tree modules. To change your contribution to "+
-        "use Markdown, apply mdDoc and literalMD. For example:\n" +
+        "use Markdown, apply mdDoc and literalMD and use the *MD variants of option creation " +
+        "functions where they are available. For example:\n" +
         "\n" +
         "  example.foo = mkOption {\n" +
         "    description = lib.mdDoc ''your description'';\n" +
         "    defaultText = lib.literalMD ''your description of default'';\n" +
-        "  }\n" +
+        "  };\n" +
         "\n" +
-        "  example.enable = mkEnableOption (lib.mdDoc ''your thing'');",
+        "  example.enable = mkEnableOption (lib.mdDoc ''your thing'');\n" +
+        "  example.package = mkPackageOptionMD pkgs \"your-package\" {};\n" +
+        "  imports = [ (mkAliasOptionModuleMD [ \"example\" \"args\" ] [ \"example\" \"settings\" ]) ];",
         file = sys.stderr)
 
 if hasErrors:
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 19319b9309cd1..76092e738ebd4 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -444,8 +444,8 @@ let
 
 in {
   imports = [
-    (mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
-    (mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
+    (mkAliasOptionModuleMD [ "users" "extraUsers" ] [ "users" "users" ])
+    (mkAliasOptionModuleMD [ "users" "extraGroups" ] [ "users" "groups" ])
     (mkRenamedOptionModule ["security" "initialRootPassword"] ["users" "users" "root" "initialHashedPassword"])
   ];
 
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
index 64a8f7846b463..e44a9899772f1 100644
--- a/nixos/modules/misc/documentation.nix
+++ b/nixos/modules/misc/documentation.nix
@@ -50,7 +50,7 @@ let
           (name: value:
             let
               wholeName = "${namePrefix}.${name}";
-              guard = lib.warn "Attempt to evaluate package ${wholeName} in option documentation; this is not supported and will eventually be an error. Use `mkPackageOption` or `literalExpression` instead.";
+              guard = lib.warn "Attempt to evaluate package ${wholeName} in option documentation; this is not supported and will eventually be an error. Use `mkPackageOption{,MD}` or `literalExpression` instead.";
             in if isAttrs value then
               scrubDerivations wholeName value
               // optionalAttrs (isDerivation value) {
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 41b953dc34733..b2e80b10fc243 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -179,6 +179,7 @@
   ./programs/haguichi.nix
   ./programs/hamster.nix
   ./programs/htop.nix
+  ./programs/iay.nix
   ./programs/iftop.nix
   ./programs/i3lock.nix
   ./programs/iotop.nix
diff --git a/nixos/modules/profiles/macos-builder.nix b/nixos/modules/profiles/macos-builder.nix
index fddf19ad12517..4a5359582bce0 100644
--- a/nixos/modules/profiles/macos-builder.nix
+++ b/nixos/modules/profiles/macos-builder.nix
@@ -59,10 +59,14 @@ in
     trusted-users = [ "root" user ];
   };
 
-  services.openssh = {
-    enable = true;
+  services = {
+    getty.autologinUser = user;
 
-    authorizedKeysFiles = [ "${keysDirectory}/%u_${keyType}.pub" ];
+    openssh = {
+      enable = true;
+
+      authorizedKeysFiles = [ "${keysDirectory}/%u_${keyType}.pub" ];
+    };
   };
 
   system.build.macos-builder-installer =
diff --git a/nixos/modules/programs/_1password-gui.nix b/nixos/modules/programs/_1password-gui.nix
index 83ef6037fb5a3..27c0d34a2eedf 100644
--- a/nixos/modules/programs/_1password-gui.nix
+++ b/nixos/modules/programs/_1password-gui.nix
@@ -27,7 +27,7 @@ in
         '';
       };
 
-      package = mkPackageOption pkgs "1Password GUI" {
+      package = mkPackageOptionMD pkgs "1Password GUI" {
         default = [ "_1password-gui" ];
       };
     };
diff --git a/nixos/modules/programs/_1password.nix b/nixos/modules/programs/_1password.nix
index 91246150755d5..8537484c7e67d 100644
--- a/nixos/modules/programs/_1password.nix
+++ b/nixos/modules/programs/_1password.nix
@@ -18,7 +18,7 @@ in
     programs._1password = {
       enable = mkEnableOption (lib.mdDoc "the 1Password CLI tool");
 
-      package = mkPackageOption pkgs "1Password CLI" {
+      package = mkPackageOptionMD pkgs "1Password CLI" {
         default = [ "_1password" ];
       };
     };
diff --git a/nixos/modules/programs/flashrom.nix b/nixos/modules/programs/flashrom.nix
index ff495558c9e04..294b208a37208 100644
--- a/nixos/modules/programs/flashrom.nix
+++ b/nixos/modules/programs/flashrom.nix
@@ -16,7 +16,7 @@ in
         group.
       '';
     };
-    package = mkPackageOption pkgs "flashrom" { };
+    package = mkPackageOptionMD pkgs "flashrom" { };
   };
 
   config = mkIf cfg.enable {
diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix
index 828f24f99111d..cb8d0ecff4cb8 100644
--- a/nixos/modules/programs/gnupg.nix
+++ b/nixos/modules/programs/gnupg.nix
@@ -135,7 +135,7 @@ in
       # The SSH agent protocol doesn't have support for changing TTYs; however we
       # can simulate this with the `exec` feature of openssh (see ssh_config(5))
       # that hooks a command to the shell currently running the ssh program.
-      Match host * exec "${cfg.package}/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1"
+      Match host * exec "${pkgs.runtimeShell} -c '${cfg.package}/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1'"
     '';
 
     environment.extraInit = mkIf cfg.agent.enableSSHSupport ''
diff --git a/nixos/modules/programs/iay.nix b/nixos/modules/programs/iay.nix
new file mode 100644
index 0000000000000..1fa00e43795ad
--- /dev/null
+++ b/nixos/modules/programs/iay.nix
@@ -0,0 +1,37 @@
+{ config, lib, pkgs, ... }:
+
+let
+  cfg = config.programs.iay;
+  inherit (lib) mkEnableOption mkIf mkOption mkPackageOption optionalString types;
+in {
+  options.programs.iay = {
+    enable = mkEnableOption (lib.mdDoc "iay");
+    package = mkPackageOption pkgs "iay" {};
+
+    minimalPrompt = mkOption {
+      type = types.bool;
+      default = false;
+      description = lib.mdDoc "Use minimal one-liner prompt.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    programs.bash.promptInit = ''
+      if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
+        PS1='$(iay ${optionalString cfg.minimalPrompt "-m"})'
+      fi
+    '';
+
+    programs.zsh.promptInit = ''
+      if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
+        autoload -Uz add-zsh-hook
+        _iay_prompt() {
+          PROMPT="$(iay -z ${optionalString cfg.minimalPrompt "-m"})"
+        }
+        add-zsh-hook precmd _iay_prompt
+      fi
+    '';
+  };
+
+  meta.maintainers = pkgs.iay.meta.maintainers;
+}
diff --git a/nixos/modules/programs/skim.nix b/nixos/modules/programs/skim.nix
index 57a5d68ec3d5a..8dadf322606e2 100644
--- a/nixos/modules/programs/skim.nix
+++ b/nixos/modules/programs/skim.nix
@@ -1,6 +1,6 @@
 { pkgs, config, lib, ... }:
 let
-  inherit (lib) mdDoc mkEnableOption mkPackageOption optional optionalString;
+  inherit (lib) mdDoc mkEnableOption mkPackageOptionMD optional optionalString;
   cfg = config.programs.skim;
 in
 {
@@ -8,7 +8,7 @@ in
     programs.skim = {
       fuzzyCompletion = mkEnableOption (mdDoc "fuzzy completion with skim");
       keybindings = mkEnableOption (mdDoc "skim keybindings");
-      package = mkPackageOption pkgs "skim" {};
+      package = mkPackageOptionMD pkgs "skim" {};
     };
   };
 
diff --git a/nixos/modules/programs/streamdeck-ui.nix b/nixos/modules/programs/streamdeck-ui.nix
index 113d1d49e151a..4c055029e39b9 100644
--- a/nixos/modules/programs/streamdeck-ui.nix
+++ b/nixos/modules/programs/streamdeck-ui.nix
@@ -15,7 +15,7 @@ in
       description = lib.mdDoc "Whether streamdeck-ui should be started automatically.";
     };
 
-    package = mkPackageOption pkgs "streamdeck-ui" {
+    package = mkPackageOptionMD pkgs "streamdeck-ui" {
       default = [ "streamdeck-ui" ];
     };
 
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index aef42d0f4db10..d88baac7a5d4d 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -14,7 +14,7 @@ with lib;
 
     # This alias module can't be where _module.check is defined because it would
     # be added to submodules as well there
-    (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
+    (mkAliasOptionModuleMD [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
 
     # Completely removed modules
     (mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix
index 7b1c4da862606..d18c4cff04057 100644
--- a/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -4,24 +4,41 @@ with lib;
 let
   cfg = config.services.gitlab-runner;
   hasDocker = config.virtualisation.docker.enable;
+
+  /* The whole logic of this module is to diff the hashes of the desired vs existing runners
+  The hash is recorded in the runner's name because we can't do better yet
+  See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29350 for more details
+  */
+  genRunnerName = service: let
+      hash = substring 0 12 (hashString "md5" (unsafeDiscardStringContext (toJSON service)));
+    in if service ? description
+    then "${hash} ${service.description}"
+    else "${name}_${config.networking.hostName}_${hash}";
+
   hashedServices = mapAttrs'
-    (name: service: nameValuePair
-      "${name}_${config.networking.hostName}_${
-        substring 0 12
-        (hashString "md5" (unsafeDiscardStringContext (toJSON service)))}"
-      service)
-    cfg.services;
-  configPath = "$HOME/.gitlab-runner/config.toml";
-  configureScript = pkgs.writeShellScriptBin "gitlab-runner-configure" (
-    if (cfg.configFile != null) then ''
-      mkdir -p $(dirname ${configPath})
+    (name: service: nameValuePair (genRunnerName service) service) cfg.services;
+  configPath = ''"$HOME"/.gitlab-runner/config.toml'';
+  configureScript = pkgs.writeShellApplication {
+    name = "gitlab-runner-configure";
+    runtimeInputs = with pkgs; [
+        bash
+        gawk
+        jq
+        moreutils
+        remarshal
+        util-linux
+        cfg.package
+        perl
+        python3
+    ];
+    text = if (cfg.configFile != null) then ''
       cp ${cfg.configFile} ${configPath}
       # make config file readable by service
       chown -R --reference=$HOME $(dirname ${configPath})
     '' else ''
       export CONFIG_FILE=${configPath}
 
-      mkdir -p $(dirname ${configPath})
+      mkdir -p "$(dirname "${configPath}")"
       touch ${configPath}
 
       # update global options
@@ -34,22 +51,43 @@ let
       # remove no longer existing services
       gitlab-runner verify --delete
 
-      # current and desired state
-      NEEDED_SERVICES=$(echo ${concatStringsSep " " (attrNames hashedServices)} | tr " " "\n")
-      REGISTERED_SERVICES=$(gitlab-runner list 2>&1 | grep 'Executor' | awk '{ print $1 }')
+      ${toShellVar "NEEDED_SERVICES" (lib.mapAttrs (name: value: 1) hashedServices)}
+
+      declare -A REGISTERED_SERVICES
+
+      while IFS="," read -r name token;
+      do
+        REGISTERED_SERVICES["$name"]="$token"
+      done < <(gitlab-runner --log-format json list 2>&1 | grep Token  | jq -r '.msg +"," + .Token')
+
+      echo "NEEDED_SERVICES: " "''${!NEEDED_SERVICES[@]}"
+      echo "REGISTERED_SERVICES:" "''${!REGISTERED_SERVICES[@]}"
 
       # difference between current and desired state
-      NEW_SERVICES=$(grep -vxF -f <(echo "$REGISTERED_SERVICES") <(echo "$NEEDED_SERVICES") || true)
-      OLD_SERVICES=$(grep -vxF -f <(echo "$NEEDED_SERVICES") <(echo "$REGISTERED_SERVICES") || true)
+      declare -A NEW_SERVICES
+      for name in "''${!NEEDED_SERVICES[@]}"; do
+        if [ ! -v 'REGISTERED_SERVICES[$name]' ]; then
+          NEW_SERVICES[$name]=1
+        fi
+      done
+
+      declare -A OLD_SERVICES
+      # shellcheck disable=SC2034
+      for name in "''${!REGISTERED_SERVICES[@]}"; do
+        if [ ! -v 'NEEDED_SERVICES[$name]' ]; then
+          OLD_SERVICES[$name]=1
+        fi
+      done
 
       # register new services
       ${concatStringsSep "\n" (mapAttrsToList (name: service: ''
-        if echo "$NEW_SERVICES" | grep -xq "${name}"; then
+        # TODO so here we should mention NEW_SERVICES
+        if [ -v 'NEW_SERVICES["${name}"]' ] ; then
           bash -c ${escapeShellArg (concatStringsSep " \\\n " ([
             "set -a && source ${service.registrationConfigFile} &&"
             "gitlab-runner register"
             "--non-interactive"
-            (if service.description != null then "--description \"${service.description}\"" else "--name '${name}'")
+            "--name '${name}'"
             "--executor ${service.executor}"
             "--limit ${toString service.limit}"
             "--request-concurrency ${toString service.requestConcurrency}"
@@ -92,22 +130,26 @@ let
         fi
       '') hashedServices)}
 
+      # check key is in array https://stackoverflow.com/questions/30353951/how-to-check-if-dictionary-contains-a-key-in-bash
+
+      echo "NEW_SERVICES: ''${NEW_SERVICES[*]}"
+      echo "OLD_SERVICES: ''${OLD_SERVICES[*]}"
       # unregister old services
-      for NAME in $(echo "$OLD_SERVICES")
+      for NAME in "''${!OLD_SERVICES[@]}"
       do
-        [ ! -z "$NAME" ] && gitlab-runner unregister \
+        [ -n "$NAME" ] && gitlab-runner unregister \
           --name "$NAME" && sleep 1
       done
 
       # make config file readable by service
-      chown -R --reference=$HOME $(dirname ${configPath})
-    '');
+      chown -R --reference="$HOME" "$(dirname ${configPath})"
+    '';
+  };
   startScript = pkgs.writeShellScriptBin "gitlab-runner-start" ''
     export CONFIG_FILE=${configPath}
     exec gitlab-runner run --working-directory $HOME
   '';
-in
-{
+in {
   options.services.gitlab-runner = {
     enable = mkEnableOption (lib.mdDoc "Gitlab Runner");
     configFile = mkOption {
diff --git a/nixos/modules/services/databases/dgraph.nix b/nixos/modules/services/databases/dgraph.nix
index 5726851a43f95..887164fa5b943 100644
--- a/nixos/modules/services/databases/dgraph.nix
+++ b/nixos/modules/services/databases/dgraph.nix
@@ -55,7 +55,7 @@ in
     services.dgraph = {
       enable = mkEnableOption (lib.mdDoc "Dgraph native GraphQL database with a graph backend");
 
-      package = lib.mkPackageOption pkgs "dgraph" { };
+      package = lib.mkPackageOptionMD pkgs "dgraph" { };
 
       settings = mkOption {
         type = settingsFormat.type;
diff --git a/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json b/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
index 128178bfa027f..4a173f7322972 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/jack.conf.json
@@ -33,6 +33,31 @@
       "actions": {
         "update-props": {}
       }
+    },
+    {
+      "matches": [
+        {
+          "application.process.binary": "jack_bufsize"
+        }
+      ],
+      "actions": {
+        "update-props": {
+          "jack.global-buffer-size": true
+        }
+      }
+    },
+    {
+      "matches": [
+        {
+          "application.process.binary": "qsynth"
+        }
+      ],
+      "actions": {
+        "update-props": {
+          "node.pause-on-idle": false,
+          "node.passive": true
+        }
+      }
     }
   ]
 }
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
index 114afbfb0ea46..b1a864853325c 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
@@ -32,10 +32,12 @@
       "args": {}
     }
   ],
-  "context.exec": [
+  "context.exec": [],
+  "pulse.cmd": [
     {
-      "path": "pactl",
-      "args": "load-module module-always-sink"
+      "cmd": "load-module",
+      "args": "module-always-sink",
+      "flags": []
     }
   ],
   "stream.properties": {},
@@ -89,13 +91,14 @@
     {
       "matches": [
         {
-          "application.name": "~speech-dispatcher*"
+          "application.name": "~speech-dispatcher.*"
         }
       ],
       "actions": {
         "update-props": {
-          "pulse.min.req": "1024/48000",
-          "pulse.min.quantum": "1024/48000"
+          "pulse.min.req": "512/48000",
+          "pulse.min.quantum": "512/48000",
+          "pulse.idle.timeout": 5
         }
       }
     }
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
index bf3b2d660827a..53fc103d22144 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire.conf.json
@@ -70,6 +70,14 @@
     },
     {
       "name": "libpipewire-module-session-manager"
+    },
+    {
+      "name": "libpipewire-module-x11-bell",
+      "args": {},
+      "flags": [
+        "ifexists",
+        "nofail"
+      ]
     }
   ],
   "context.objects": [
diff --git a/nixos/modules/services/mail/listmonk.nix b/nixos/modules/services/mail/listmonk.nix
index 8b636bd5b1ff6..251362fdd89d3 100644
--- a/nixos/modules/services/mail/listmonk.nix
+++ b/nixos/modules/services/mail/listmonk.nix
@@ -128,7 +128,7 @@ in {
           '';
         };
       };
-      package = mkPackageOption pkgs "listmonk" {};
+      package = mkPackageOptionMD pkgs "listmonk" {};
       settings = mkOption {
         type = types.submodule { freeformType = tomlFormat.type; };
         description = lib.mdDoc ''
diff --git a/nixos/modules/services/misc/input-remapper.nix b/nixos/modules/services/misc/input-remapper.nix
index 51e1abdc98a08..6353966f5c3ff 100644
--- a/nixos/modules/services/misc/input-remapper.nix
+++ b/nixos/modules/services/misc/input-remapper.nix
@@ -7,7 +7,7 @@ let cfg = config.services.input-remapper; in
   options = {
     services.input-remapper = {
       enable = mkEnableOption (lib.mdDoc "input-remapper, an easy to use tool to change the mapping of your input device buttons.");
-      package = options.mkPackageOption pkgs "input-remapper" { };
+      package = mkPackageOptionMD pkgs "input-remapper" { };
       enableUdevRules = mkEnableOption (lib.mdDoc "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140");
       serviceWantedBy = mkOption {
         default = [ "graphical.target" ];
diff --git a/nixos/modules/services/misc/paperless.nix b/nixos/modules/services/misc/paperless.nix
index 33a8394dff2d2..1dddd147ac095 100644
--- a/nixos/modules/services/misc/paperless.nix
+++ b/nixos/modules/services/misc/paperless.nix
@@ -212,14 +212,14 @@ in
 
     systemd.services.paperless-scheduler = {
       description = "Paperless Celery Beat";
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ];
       serviceConfig = defaultServiceConfig // {
         User = cfg.user;
         ExecStart = "${pkg}/bin/celery --app paperless beat --loglevel INFO";
         Restart = "on-failure";
       };
       environment = env;
-      wantedBy = [ "multi-user.target" ];
-      wants = [ "paperless-consumer.service" "paperless-web.service" "paperless-task-queue.service" ];
 
       preStart = ''
         ln -sf ${manage} ${cfg.dataDir}/paperless-manage
@@ -248,6 +248,7 @@ in
 
     systemd.services.paperless-task-queue = {
       description = "Paperless Celery Workers";
+      after = [ "paperless-scheduler.service" ];
       serviceConfig = defaultServiceConfig // {
         User = cfg.user;
         ExecStart = "${pkg}/bin/celery --app paperless worker --loglevel INFO";
@@ -275,20 +276,24 @@ in
 
     systemd.services.paperless-consumer = {
       description = "Paperless document consumer";
+      # Bind to `paperless-scheduler` so that the consumer never runs
+      # during migrations
+      bindsTo = [ "paperless-scheduler.service" ];
+      after = [ "paperless-scheduler.service" ];
       serviceConfig = defaultServiceConfig // {
         User = cfg.user;
         ExecStart = "${pkg}/bin/paperless-ngx document_consumer";
         Restart = "on-failure";
       };
       environment = env;
-      # Bind to `paperless-scheduler` so that the consumer never runs
-      # during migrations
-      bindsTo = [ "paperless-scheduler.service" ];
-      after = [ "paperless-scheduler.service" ];
     };
 
     systemd.services.paperless-web = {
       description = "Paperless web server";
+      # Bind to `paperless-scheduler` so that the web server never runs
+      # during migrations
+      bindsTo = [ "paperless-scheduler.service" ];
+      after = [ "paperless-scheduler.service" ];
       serviceConfig = defaultServiceConfig // {
         User = cfg.user;
         ExecStart = ''
@@ -312,10 +317,6 @@ in
       # Allow the web interface to access the private /tmp directory of the server.
       # This is required to support uploading files via the web interface.
       unitConfig.JoinsNamespaceOf = "paperless-task-queue.service";
-      # Bind to `paperless-scheduler` so that the web server never runs
-      # during migrations
-      bindsTo = [ "paperless-scheduler.service" ];
-      after = [ "paperless-scheduler.service" ];
     };
 
     users = optionalAttrs (cfg.user == defaultUser) {
diff --git a/nixos/modules/services/misc/polaris.nix b/nixos/modules/services/misc/polaris.nix
index 83da486083b42..70f097f028406 100644
--- a/nixos/modules/services/misc/polaris.nix
+++ b/nixos/modules/services/misc/polaris.nix
@@ -13,7 +13,7 @@ in
     services.polaris = {
       enable = mkEnableOption (lib.mdDoc "Polaris Music Server");
 
-      package = mkPackageOption pkgs "polaris" { };
+      package = mkPackageOptionMD pkgs "polaris" { };
 
       user = mkOption {
         type = types.str;
diff --git a/nixos/modules/services/monitoring/apcupsd.nix b/nixos/modules/services/monitoring/apcupsd.nix
index d4216b44cdc8c..666479c78a84d 100644
--- a/nixos/modules/services/monitoring/apcupsd.nix
+++ b/nixos/modules/services/monitoring/apcupsd.nix
@@ -62,6 +62,21 @@ let
 
   );
 
+  # Ensure the CLI uses our generated configFile
+  wrappedBinaries = pkgs.runCommandLocal "apcupsd-wrapped-binaries"
+    { nativeBuildInputs = [ pkgs.makeWrapper ]; }
+    ''
+      for p in "${lib.getBin pkgs.apcupsd}/bin/"*; do
+          bname=$(basename "$p")
+          makeWrapper "$p" "$out/bin/$bname" --add-flags "-f ${configFile}"
+      done
+    '';
+
+  apcupsdWrapped = pkgs.symlinkJoin {
+    name = "apcupsd-wrapped";
+    # Put wrappers first so they "win"
+    paths = [ wrappedBinaries pkgs.apcupsd ];
+  };
 in
 
 {
@@ -138,7 +153,7 @@ in
     } ];
 
     # Give users access to the "apcaccess" tool
-    environment.systemPackages = [ pkgs.apcupsd ];
+    environment.systemPackages = [ apcupsdWrapped ];
 
     # NOTE 1: apcupsd runs as root because it needs permission to run
     # "shutdown"
diff --git a/nixos/modules/services/monitoring/parsedmarc.md b/nixos/modules/services/monitoring/parsedmarc.md
index d93134a4cc767..5a17f79da5d46 100644
--- a/nixos/modules/services/monitoring/parsedmarc.md
+++ b/nixos/modules/services/monitoring/parsedmarc.md
@@ -17,7 +17,6 @@ services.parsedmarc = {
     host = "imap.example.com";
     user = "alice@example.com";
     password = "/path/to/imap_password_file";
-    watch = true;
   };
   provision.geoIp = false; # Not recommended!
 };
diff --git a/nixos/modules/services/monitoring/parsedmarc.nix b/nixos/modules/services/monitoring/parsedmarc.nix
index 3540d91fc9f37..40c76b804559c 100644
--- a/nixos/modules/services/monitoring/parsedmarc.nix
+++ b/nixos/modules/services/monitoring/parsedmarc.nix
@@ -123,7 +123,10 @@ in
             host = "imap.example.com";
             user = "alice@example.com";
             password = { _secret = "/run/keys/imap_password" };
+          };
+          mailbox = {
             watch = true;
+            batch_size = 30;
           };
           splunk_hec = {
             url = "https://splunkhec.example.com";
@@ -170,6 +173,24 @@ in
             };
           };
 
+          mailbox = {
+            watch = lib.mkOption {
+              type = lib.types.bool;
+              default = true;
+              description = lib.mdDoc ''
+                Use the IMAP IDLE command to process messages as they arrive.
+              '';
+            };
+
+            delete = lib.mkOption {
+              type = lib.types.bool;
+              default = false;
+              description = lib.mdDoc ''
+                Delete messages after processing them, instead of archiving them.
+              '';
+            };
+          };
+
           imap = {
             host = lib.mkOption {
               type = lib.types.str;
@@ -216,22 +237,6 @@ in
               '';
               apply = x: if isAttrs x || x == null then x else { _secret = x; };
             };
-
-            watch = lib.mkOption {
-              type = lib.types.bool;
-              default = true;
-              description = lib.mdDoc ''
-                Use the IMAP IDLE command to process messages as they arrive.
-              '';
-            };
-
-            delete = lib.mkOption {
-              type = lib.types.bool;
-              default = false;
-              description = lib.mdDoc ''
-                Delete messages after processing them, instead of archiving them.
-              '';
-            };
           };
 
           smtp = {
@@ -360,6 +365,13 @@ in
 
   config = lib.mkIf cfg.enable {
 
+    warnings = let
+      deprecationWarning = optname: "Starting in 8.0.0, the `${optname}` option has been moved from the `services.parsedmarc.settings.imap`"
+        + "configuration section to the `services.parsedmarc.settings.mailbox` configuration section.";
+      hasImapOpt = lib.flip builtins.hasAttr cfg.settings.imap;
+      movedOptions = [ "reports_folder" "archive_folder" "watch" "delete" "test" "batch_size" ];
+    in builtins.map deprecationWarning (builtins.filter hasImapOpt movedOptions);
+
     services.elasticsearch.enable = lib.mkDefault cfg.provision.elasticsearch;
 
     services.geoipupdate = lib.mkIf cfg.provision.geoIp {
@@ -444,6 +456,8 @@ in
           ssl = false;
           user = cfg.provision.localMail.recipientName;
           password = "${pkgs.writeText "imap-password" "@imap-password@"}";
+        };
+        mailbox = {
           watch = true;
         };
       })
diff --git a/nixos/modules/services/monitoring/parsedmarc.xml b/nixos/modules/services/monitoring/parsedmarc.xml
index 7167b52d0357d..b6a4bcf8ff5a5 100644
--- a/nixos/modules/services/monitoring/parsedmarc.xml
+++ b/nixos/modules/services/monitoring/parsedmarc.xml
@@ -15,14 +15,13 @@
       email address and saves them to a local Elasticsearch instance
       looks like this:
     </para>
-    <programlisting language="bash">
+    <programlisting>
 services.parsedmarc = {
   enable = true;
   settings.imap = {
     host = &quot;imap.example.com&quot;;
     user = &quot;alice@example.com&quot;;
     password = &quot;/path/to/imap_password_file&quot;;
-    watch = true;
   };
   provision.geoIp = false; # Not recommended!
 };
@@ -45,7 +44,7 @@ services.parsedmarc = {
       email address that should be configured in the domain’s dmarc
       policy is <literal>dmarc@monitoring.example.com</literal>.
     </para>
-    <programlisting language="bash">
+    <programlisting>
 services.parsedmarc = {
   enable = true;
   provision = {
@@ -68,7 +67,7 @@ services.parsedmarc = {
       Elasticsearch instance is automatically added as a Grafana
       datasource, and the dashboard is added to Grafana as well.
     </para>
-    <programlisting language="bash">
+    <programlisting>
 services.parsedmarc = {
   enable = true;
   provision = {
diff --git a/nixos/modules/services/networking/ntp/chrony.nix b/nixos/modules/services/networking/ntp/chrony.nix
index 7e3bb565d10bf..dc180d4a4f954 100644
--- a/nixos/modules/services/networking/ntp/chrony.nix
+++ b/nixos/modules/services/networking/ntp/chrony.nix
@@ -147,9 +147,9 @@ in
     systemd.services.systemd-timedated.environment = { SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service"; };
 
     systemd.tmpfiles.rules = [
-      "d ${stateDir} 0755 chrony chrony - -"
-      "f ${driftFile} 0640 chrony chrony -"
-      "f ${keyFile} 0640 chrony chrony -"
+      "d ${stateDir} 0750 chrony chrony - -"
+      "f ${driftFile} 0640 chrony chrony - -"
+      "f ${keyFile} 0640 chrony chrony - -"
     ];
 
     systemd.services.chronyd =
@@ -164,15 +164,47 @@ in
         path = [ chronyPkg ];
 
         unitConfig.ConditionCapability = "CAP_SYS_TIME";
-        serviceConfig =
-          { Type = "simple";
-            ExecStart = "${chronyPkg}/bin/chronyd ${builtins.toString chronyFlags}";
-
-            ProtectHome = "yes";
-            ProtectSystem = "full";
-            PrivateTmp = "yes";
-          };
-
+        serviceConfig = {
+          Type = "simple";
+          ExecStart = "${chronyPkg}/bin/chronyd ${builtins.toString chronyFlags}";
+
+          # Proc filesystem
+          ProcSubset = "pid";
+          ProtectProc = "invisible";
+          # Access write directories
+          ReadWritePaths = [ "${stateDir}" ];
+          UMask = "0027";
+          # Capabilities
+          CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_DAC_OVERRIDE" "CAP_NET_BIND_SERVICE" "CAP_SETGID" "CAP_SETUID" "CAP_SYS_RESOURCE" "CAP_SYS_TIME" ];
+          # Device Access
+          DeviceAllow = [ "char-pps rw" "char-ptp rw" "char-rtc rw" ];
+          DevicePolicy = "closed";
+          # Security
+          NoNewPrivileges = true;
+          # Sandboxing
+          ProtectSystem = "full";
+          ProtectHome = true;
+          PrivateTmp = true;
+          PrivateDevices = true;
+          PrivateUsers = false;
+          ProtectHostname = true;
+          ProtectClock = false;
+          ProtectKernelTunables = true;
+          ProtectKernelModules = true;
+          ProtectKernelLogs = true;
+          ProtectControlGroups = true;
+          RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+          RestrictNamespaces = true;
+          LockPersonality = true;
+          MemoryDenyWriteExecute = true;
+          RestrictRealtime = true;
+          RestrictSUIDSGID = true;
+          RemoveIPC = true;
+          PrivateMounts = true;
+          # System Call Filtering
+          SystemCallArchitectures = "native";
+          SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "@clock" "@setuid" "capset" "chown" ];
+        };
       };
   };
 }
diff --git a/nixos/modules/services/networking/openconnect.nix b/nixos/modules/services/networking/openconnect.nix
index 4676b1733af68..5a02bd072257f 100644
--- a/nixos/modules/services/networking/openconnect.nix
+++ b/nixos/modules/services/networking/openconnect.nix
@@ -116,7 +116,7 @@ let
   };
 in {
   options.networking.openconnect = {
-    package = mkPackageOption pkgs "openconnect" { };
+    package = mkPackageOptionMD pkgs "openconnect" { };
 
     interfaces = mkOption {
       description = lib.mdDoc "OpenConnect interfaces.";
diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix
index 9ec507fe2ab6a..8e4789c7ca597 100644
--- a/nixos/modules/services/networking/radicale.nix
+++ b/nixos/modules/services/networking/radicale.nix
@@ -200,5 +200,5 @@ in {
     };
   };
 
-  meta.maintainers = with lib.maintainers; [ aneeshusa infinisil dotlambda ];
+  meta.maintainers = with lib.maintainers; [ infinisil dotlambda ];
 }
diff --git a/nixos/modules/services/networking/shellhub-agent.nix b/nixos/modules/services/networking/shellhub-agent.nix
index ad33c50f9d633..7cce23cb9c4e3 100644
--- a/nixos/modules/services/networking/shellhub-agent.nix
+++ b/nixos/modules/services/networking/shellhub-agent.nix
@@ -14,7 +14,7 @@ in
 
       enable = mkEnableOption (lib.mdDoc "ShellHub Agent daemon");
 
-      package = mkPackageOption pkgs "shellhub-agent" { };
+      package = mkPackageOptionMD pkgs "shellhub-agent" { };
 
       preferredHostname = mkOption {
         type = types.str;
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index af8200c7e2951..37d7518ab3c4e 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -79,8 +79,8 @@ in
 
 {
   imports = [
-    (mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
-    (mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
+    (mkAliasOptionModuleMD [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
+    (mkAliasOptionModuleMD [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
     (mkRenamedOptionModule [ "services" "openssh" "challengeResponseAuthentication" ] [ "services" "openssh" "kbdInteractiveAuthentication" ])
   ];
 
diff --git a/nixos/modules/services/networking/vdirsyncer.nix b/nixos/modules/services/networking/vdirsyncer.nix
index 6a069943434da..f9b880c763e3d 100644
--- a/nixos/modules/services/networking/vdirsyncer.nix
+++ b/nixos/modules/services/networking/vdirsyncer.nix
@@ -71,7 +71,7 @@ in
     services.vdirsyncer = {
       enable = mkEnableOption (mdDoc "vdirsyncer");
 
-      package = mkPackageOption pkgs "vdirsyncer" {};
+      package = mkPackageOptionMD pkgs "vdirsyncer" {};
 
       jobs = mkOption {
         description = mdDoc "vdirsyncer job configurations";
diff --git a/nixos/modules/services/networking/webhook.nix b/nixos/modules/services/networking/webhook.nix
index b020db6961c32..2a78491941cf9 100644
--- a/nixos/modules/services/networking/webhook.nix
+++ b/nixos/modules/services/networking/webhook.nix
@@ -36,7 +36,7 @@ in {
         which execute configured commands for any person or service that knows the URL
       '');
 
-      package = mkPackageOption pkgs "webhook" {};
+      package = mkPackageOptionMD pkgs "webhook" {};
       user = mkOption {
         type = types.str;
         default = defaultUser;
diff --git a/nixos/modules/services/torrent/transmission.nix b/nixos/modules/services/torrent/transmission.nix
index 4378233848338..752ab91fe6315 100644
--- a/nixos/modules/services/torrent/transmission.nix
+++ b/nixos/modules/services/torrent/transmission.nix
@@ -19,8 +19,8 @@ in
   imports = [
     (mkRenamedOptionModule ["services" "transmission" "port"]
                            ["services" "transmission" "settings" "rpc-port"])
-    (mkAliasOptionModule ["services" "transmission" "openFirewall"]
-                         ["services" "transmission" "openPeerPorts"])
+    (mkAliasOptionModuleMD ["services" "transmission" "openFirewall"]
+                           ["services" "transmission" "openPeerPorts"])
   ];
   options = {
     services.transmission = {
@@ -174,7 +174,7 @@ in
         };
       };
 
-      package = mkPackageOption pkgs "transmission" {};
+      package = mkPackageOptionMD pkgs "transmission" {};
 
       downloadDirPermissions = mkOption {
         type = with types; nullOr str;
diff --git a/nixos/modules/services/web-apps/snipe-it.nix b/nixos/modules/services/web-apps/snipe-it.nix
index 314a69a73a872..93b0aafab64bf 100644
--- a/nixos/modules/services/web-apps/snipe-it.nix
+++ b/nixos/modules/services/web-apps/snipe-it.nix
@@ -454,8 +454,9 @@ in {
 
           # A placeholder file for invalid barcodes
           invalid_barcode_location="${cfg.dataDir}/public/uploads/barcodes/invalid_barcode.gif"
-          [ ! -e "$invalid_barcode_location" ] \
-              && cp ${snipe-it}/share/snipe-it/invalid_barcode.gif "$invalid_barcode_location"
+          if [ ! -e "$invalid_barcode_location" ]; then
+              cp ${snipe-it}/share/snipe-it/invalid_barcode.gif "$invalid_barcode_location"
+          fi
         '';
     };
 
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 95e600ea79a5a..d31f3d5d4650b 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -571,7 +571,7 @@ in
         defaultText = literalExpression "pkgs.nginxStable";
         type = types.package;
         apply = p: p.override {
-          modules = p.modules ++ cfg.additionalModules;
+          modules = lib.unique (p.modules ++ cfg.additionalModules);
         };
         description = lib.mdDoc ''
           Nginx package to use. This defaults to the stable version. Note
diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
index 08c5625fc7ddd..df1b6f731a4e4 100644
--- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix
+++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix
@@ -180,6 +180,7 @@ in
         mint-themes
         mint-x-icons
         mint-y-icons
+        xapp # provides some xapp-* icons
       ] config.environment.cinnamon.excludePackages);
 
       xdg.mime.enable = true;
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 9fcb408c287d5..8270b64787f8f 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -32,7 +32,7 @@ let
   inherit (lib)
     getBin optionalString literalExpression
     mkRemovedOptionModule mkRenamedOptionModule
-    mkDefault mkIf mkMerge mkOption types;
+    mkDefault mkIf mkMerge mkOption mkPackageOptionMD types;
 
   ini = pkgs.formats.ini { };
 
@@ -198,6 +198,11 @@ in
       example = literalExpression "[ pkgs.plasma5Packages.oxygen ]";
     };
 
+    notoPackage = mkPackageOptionMD pkgs "Noto fonts" {
+      default = [ "noto-fonts" ];
+      example = "noto-fonts-lgc-plus";
+    };
+
     # Internally allows configuring kdeglobals globally
     kdeglobals = mkOption {
       internal = true;
@@ -401,7 +406,7 @@ in
       # Enable GTK applications to load SVG icons
       services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 
-      fonts.fonts = with pkgs; [ noto-fonts hack-font ];
+      fonts.fonts = with pkgs; [ cfg.notoPackage hack-font ];
       fonts.fontconfig.defaultFonts = {
         monospace = [ "Hack" "Noto Sans Mono" ];
         sansSerif = [ "Noto Sans" ];
@@ -545,7 +550,7 @@ in
         }
         {
           # The user interface breaks without pulse
-          assertion = config.hardware.pulseaudio.enable;
+          assertion = config.hardware.pulseaudio.enable || (config.services.pipewire.enable && config.services.pipewire.pulse.enable);
           message = "Plasma Mobile requires pulseaudio.";
         }
       ];
diff --git a/nixos/modules/services/x11/picom.nix b/nixos/modules/services/x11/picom.nix
index 4a0578de09cb5..1d6f3daa40225 100644
--- a/nixos/modules/services/x11/picom.nix
+++ b/nixos/modules/services/x11/picom.nix
@@ -41,7 +41,7 @@ let
 in {
 
   imports = [
-    (mkAliasOptionModule [ "services" "compton" ] [ "services" "picom" ])
+    (mkAliasOptionModuleMD [ "services" "compton" ] [ "services" "picom" ])
     (mkRemovedOptionModule [ "services" "picom" "refreshRate" ] ''
       This option corresponds to `refresh-rate`, which has been unused
       since picom v6 and was subsequently removed by upstream.
diff --git a/nixos/modules/services/x11/window-managers/i3.nix b/nixos/modules/services/x11/window-managers/i3.nix
index 64109e0c39fdd..5bb73cd0bfb17 100644
--- a/nixos/modules/services/x11/window-managers/i3.nix
+++ b/nixos/modules/services/x11/window-managers/i3.nix
@@ -31,7 +31,6 @@ in
       type        = types.package;
       default     = pkgs.i3;
       defaultText = literalExpression "pkgs.i3";
-      example     = literalExpression "pkgs.i3-gaps";
       description = lib.mdDoc ''
         i3 package to use.
       '';
@@ -73,6 +72,6 @@ in
 
   imports = [
     (mkRemovedOptionModule [ "services" "xserver" "windowManager" "i3-gaps" "enable" ]
-      "Use services.xserver.windowManager.i3.enable and set services.xserver.windowManager.i3.package to pkgs.i3-gaps to use i3-gaps.")
+      "i3-gaps was merged into i3. Use services.xserver.windowManager.i3.enable instead.")
   ];
 }
diff --git a/nixos/modules/services/x11/window-managers/katriawm.nix b/nixos/modules/services/x11/window-managers/katriawm.nix
index 106631792ff4e..9a3fd5f3ca44a 100644
--- a/nixos/modules/services/x11/window-managers/katriawm.nix
+++ b/nixos/modules/services/x11/window-managers/katriawm.nix
@@ -1,7 +1,7 @@
 { config, lib, pkgs, ... }:
 
 let
-  inherit (lib) mdDoc mkEnableOption mkIf mkPackageOption singleton;
+  inherit (lib) mdDoc mkEnableOption mkIf mkPackageOptionMD singleton;
   cfg = config.services.xserver.windowManager.katriawm;
 in
 {
@@ -9,7 +9,7 @@ in
   options = {
     services.xserver.windowManager.katriawm = {
       enable = mkEnableOption (mdDoc "katriawm");
-      package = mkPackageOption pkgs "katriawm" {};
+      package = mkPackageOptionMD pkgs "katriawm" {};
     };
   };
 
diff --git a/nixos/modules/services/x11/window-managers/qtile.nix b/nixos/modules/services/x11/window-managers/qtile.nix
index 523642591d947..fc27566d49ee6 100644
--- a/nixos/modules/services/x11/window-managers/qtile.nix
+++ b/nixos/modules/services/x11/window-managers/qtile.nix
@@ -10,7 +10,7 @@ in
   options.services.xserver.windowManager.qtile = {
     enable = mkEnableOption (lib.mdDoc "qtile");
 
-    package = mkPackageOption pkgs "qtile" { };
+    package = mkPackageOptionMD pkgs "qtile" { };
   };
 
   config = mkIf cfg.enable {
diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix
index 196f44ccd783c..d30f61146e189 100644
--- a/nixos/modules/system/boot/systemd/initrd.nix
+++ b/nixos/modules/system/boot/systemd/initrd.nix
@@ -142,7 +142,7 @@ in {
       '';
     };
 
-    package = (mkPackageOption pkgs "systemd" {
+    package = (mkPackageOptionMD pkgs "systemd" {
       default = "systemdStage1";
     }) // {
       visible = false;
diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix
index 13bbb4471ea5d..6c00fabaa1858 100644
--- a/nixos/modules/virtualisation/podman/default.nix
+++ b/nixos/modules/virtualisation/podman/default.nix
@@ -1,7 +1,6 @@
 { config, lib, pkgs, ... }:
 let
   cfg = config.virtualisation.podman;
-  toml = pkgs.formats.toml { };
   json = pkgs.formats.json { };
 
   inherit (lib) mkOption types;
@@ -27,24 +26,13 @@ let
     done
   '';
 
-  net-conflist = pkgs.runCommand "87-podman-bridge.conflist"
-    {
-      nativeBuildInputs = [ pkgs.jq ];
-      extraPlugins = builtins.toJSON cfg.defaultNetwork.extraPlugins;
-      jqScript = ''
-        . + { "plugins": (.plugins + $extraPlugins) }
-      '';
-    } ''
-    jq <${cfg.package}/etc/cni/net.d/87-podman-bridge.conflist \
-      --argjson extraPlugins "$extraPlugins" \
-      "$jqScript" \
-      >$out
-  '';
-
 in
 {
   imports = [
-    ./dnsname.nix
+    (lib.mkRemovedOptionModule [ "virtualisation" "podman" "defaultNetwork" "dnsname" ]
+      "Use virtualisation.podman.defaultNetwork.settings.dns_enabled instead.")
+    (lib.mkRemovedOptionModule [ "virtualisation" "podman" "defaultNetwork" "extraPlugins" ]
+      "Netavark isn't compatible with CNI plugins.")
     ./network-socket.nix
   ];
 
@@ -149,11 +137,11 @@ in
       '';
     };
 
-    defaultNetwork.extraPlugins = lib.mkOption {
-      type = types.listOf json.type;
-      default = [ ];
+    defaultNetwork.settings = lib.mkOption {
+      type = json.type;
+      default = { };
       description = lib.mdDoc ''
-        Extra CNI plugin configurations to add to podman's default network.
+        Settings for podman's default network.
       '';
     };
 
@@ -164,11 +152,26 @@ in
       environment.systemPackages = [ cfg.package ]
         ++ lib.optional cfg.dockerCompat dockerCompat;
 
-      environment.etc."cni/net.d/87-podman-bridge.conflist".source = net-conflist;
+      # https://github.com/containers/podman/blob/097cc6eb6dd8e598c0e8676d21267b4edb11e144/docs/tutorials/basic_networking.md#default-network
+      environment.etc."containers/networks/podman.json" = lib.mkIf (cfg.defaultNetwork.settings != { }) {
+        source = json.generate "podman.json" ({
+          dns_enabled = false;
+          driver = "bridge";
+          id = "0000000000000000000000000000000000000000000000000000000000000000";
+          internal = false;
+          ipam_options = { driver = "host-local"; };
+          ipv6_enabled = false;
+          name = "podman";
+          network_interface = "podman0";
+          subnets = [{ gateway = "10.88.0.1"; subnet = "10.88.0.0/16"; }];
+        } // cfg.defaultNetwork.settings);
+      };
 
       virtualisation.containers = {
         enable = true; # Enable common /etc/containers configuration
-        containersConf.settings = lib.optionalAttrs cfg.enableNvidia {
+        containersConf.settings = {
+          network.network_backend = "netavark";
+        } // lib.optionalAttrs cfg.enableNvidia {
           engine = {
             conmon_env_vars = [ "PATH=${lib.makeBinPath [ pkgs.nvidia-podman ]}" ];
             runtimes.nvidia = [ "${pkgs.nvidia-podman}/bin/nvidia-container-runtime" ];
diff --git a/nixos/modules/virtualisation/podman/dnsname.nix b/nixos/modules/virtualisation/podman/dnsname.nix
deleted file mode 100644
index 3e7d35ae1e44d..0000000000000
--- a/nixos/modules/virtualisation/podman/dnsname.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  inherit (lib)
-    mkOption
-    mkIf
-    types
-    ;
-
-  cfg = config.virtualisation.podman;
-
-in
-{
-  options = {
-    virtualisation.podman = {
-
-      defaultNetwork.dnsname.enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = lib.mdDoc ''
-          Enable DNS resolution in the default podman network.
-        '';
-      };
-
-    };
-  };
-
-  config = {
-    virtualisation.containers.containersConf.cniPlugins = mkIf cfg.defaultNetwork.dnsname.enable [ pkgs.dnsname-cni ];
-    virtualisation.podman.defaultNetwork.extraPlugins =
-      lib.optional cfg.defaultNetwork.dnsname.enable {
-        type = "dnsname";
-        domainName = "dns.podman";
-        capabilities.aliases = true;
-      };
-  };
-}
diff --git a/nixos/modules/virtualisation/waydroid.nix b/nixos/modules/virtualisation/waydroid.nix
index a2cfd806f322e..46e5f901015d9 100644
--- a/nixos/modules/virtualisation/waydroid.nix
+++ b/nixos/modules/virtualisation/waydroid.nix
@@ -56,12 +56,8 @@ in
 
       wantedBy = [ "multi-user.target" ];
 
-      unitConfig = {
-        ConditionPathExists = "/var/lib/waydroid/lxc/waydroid";
-      };
-
       serviceConfig = {
-        ExecStart = "${pkgs.waydroid}/bin/waydroid container start";
+        ExecStart = "${pkgs.waydroid}/bin/waydroid -w container start";
         ExecStop = "${pkgs.waydroid}/bin/waydroid container stop";
         ExecStopPost = "${pkgs.waydroid}/bin/waydroid session stop";
       };
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 75f01d888b218..83ad7c48a0892 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -78,6 +78,7 @@ in {
   allTerminfo = handleTest ./all-terminfo.nix {};
   alps = handleTest ./alps.nix {};
   amazon-init-shell = handleTest ./amazon-init-shell.nix {};
+  apcupsd = handleTest ./apcupsd.nix {};
   apfs = handleTest ./apfs.nix {};
   apparmor = handleTest ./apparmor.nix {};
   atd = handleTest ./atd.nix {};
@@ -527,7 +528,6 @@ in {
   plotinus = handleTest ./plotinus.nix {};
   podgrab = handleTest ./podgrab.nix {};
   podman = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/default.nix {};
-  podman-dnsname = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/dnsname.nix {};
   podman-tls-ghostunnel = handleTestOn ["aarch64-linux" "x86_64-linux"] ./podman/tls-ghostunnel.nix {};
   polaris = handleTest ./polaris.nix {};
   pomerium = handleTestOn ["x86_64-linux"] ./pomerium.nix {};
diff --git a/nixos/tests/apcupsd.nix b/nixos/tests/apcupsd.nix
new file mode 100644
index 0000000000000..287140f039d85
--- /dev/null
+++ b/nixos/tests/apcupsd.nix
@@ -0,0 +1,41 @@
+let
+  # arbitrary address
+  ipAddr = "192.168.42.42";
+in
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
+  name = "apcupsd";
+  meta.maintainers = with lib.maintainers; [ bjornfor ];
+
+  nodes = {
+    machine = {
+      services.apcupsd = {
+        enable = true;
+        configText = ''
+          UPSTYPE usb
+          BATTERYLEVEL 42
+          # Configure NISIP so that the only way apcaccess can work is to read
+          # this config.
+          NISIP ${ipAddr}
+        '';
+      };
+      networking.interfaces.eth1 = {
+        ipv4.addresses = [{
+          address = ipAddr;
+          prefixLength = 24;
+        }];
+      };
+    };
+  };
+
+  # Check that the service starts, that the CLI (apcaccess) works and that it
+  # uses the config (ipAddr) defined in the service config.
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("apcupsd.service")
+    machine.wait_for_open_port(3551, "${ipAddr}")
+    res = machine.succeed("apcaccess")
+    expect_line="MBATTCHG : 42 Percent"
+    assert "MBATTCHG : 42 Percent" in res, f"expected apcaccess output to contain '{expect_line}' but got '{res}'"
+    machine.shutdown()
+  '';
+})
diff --git a/nixos/tests/paperless.nix b/nixos/tests/paperless.nix
index b97834835c2c9..7f36de4c29b71 100644
--- a/nixos/tests/paperless.nix
+++ b/nixos/tests/paperless.nix
@@ -26,6 +26,10 @@ import ./make-test-python.nix ({ lib, ... }: {
         # Wait until server accepts connections
         machine.wait_until_succeeds("curl -fs localhost:28981")
 
+    # Required for consuming documents via the web interface
+    with subtest("Task-queue gets ready"):
+        machine.wait_for_unit("paperless-task-queue.service")
+
     with subtest("Add a document via the web interface"):
         machine.succeed(
             "convert -size 400x40 xc:white -font 'DejaVu-Sans' -pointsize 20 -fill black "
diff --git a/nixos/tests/parsedmarc/default.nix b/nixos/tests/parsedmarc/default.nix
index 50b977723e9c7..837cf9d7e6dce 100644
--- a/nixos/tests/parsedmarc/default.nix
+++ b/nixos/tests/parsedmarc/default.nix
@@ -155,7 +155,6 @@ in
                   ssl = true;
                   user = "alice";
                   password = "${pkgs.writeText "imap-password" "foobar"}";
-                  watch = true;
                 };
               };
 
diff --git a/nixos/tests/podman/default.nix b/nixos/tests/podman/default.nix
index 106ba2057d063..c2ea399d65af3 100644
--- a/nixos/tests/podman/default.nix
+++ b/nixos/tests/podman/default.nix
@@ -13,6 +13,13 @@ import ../make-test-python.nix (
           isNormalUser = true;
         };
       };
+      dns = { pkgs, ... }: {
+        virtualisation.podman.enable = true;
+
+        virtualisation.podman.defaultNetwork.settings.dns_enabled = true;
+
+        networking.firewall.allowedUDPPorts = [ 53 ];
+      };
       docker = { pkgs, ... }: {
         virtualisation.podman.enable = true;
 
@@ -43,6 +50,7 @@ import ../make-test-python.nix (
 
 
       podman.wait_for_unit("sockets.target")
+      dns.wait_for_unit("sockets.target")
       docker.wait_for_unit("sockets.target")
       start_all()
 
@@ -120,6 +128,23 @@ import ../make-test-python.nix (
           pid = podman.succeed("podman run --rm --init busybox readlink /proc/self").strip()
           assert pid == "2"
 
+      with subtest("aardvark-dns"):
+        dns.succeed("tar cv --files-from /dev/null | podman import - scratchimg")
+        dns.succeed(
+          "podman run -d --name=webserver -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin -w ${pkgs.writeTextDir "index.html" "<h1>Hi</h1>"} scratchimg ${pkgs.python3}/bin/python -m http.server 8000"
+        )
+        dns.succeed("podman ps | grep webserver")
+        dns.succeed("""
+          for i in `seq 0 120`; do
+            podman run --rm --name=client -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg ${pkgs.curl}/bin/curl http://webserver:8000 >/dev/console \
+              && exit 0
+            sleep 0.5
+          done
+          exit 1
+        """)
+        dns.succeed("podman stop webserver")
+        dns.succeed("podman rm webserver")
+
       with subtest("A podman member can use the docker cli"):
           docker.succeed(su_cmd("docker version"))
 
diff --git a/nixos/tests/podman/dnsname.nix b/nixos/tests/podman/dnsname.nix
deleted file mode 100644
index 3768ae79e0676..0000000000000
--- a/nixos/tests/podman/dnsname.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-import ../make-test-python.nix (
-  { pkgs, lib, ... }:
-  let
-    inherit (pkgs) writeTextDir python3 curl;
-    webroot = writeTextDir "index.html" "<h1>Hi</h1>";
-  in
-  {
-    name = "podman-dnsname";
-    meta = {
-      maintainers = with lib.maintainers; [ roberth ] ++ lib.teams.podman.members;
-    };
-
-    nodes = {
-      podman = { pkgs, ... }: {
-        virtualisation.podman.enable = true;
-        virtualisation.podman.defaultNetwork.dnsname.enable = true;
-      };
-    };
-
-    testScript = ''
-      podman.wait_for_unit("sockets.target")
-
-      with subtest("DNS works"): # also tests inter-container tcp routing
-        podman.succeed("tar cv --files-from /dev/null | podman import - scratchimg")
-        podman.succeed(
-          "podman run -d --name=webserver -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin -w ${webroot} scratchimg ${python3}/bin/python -m http.server 8000"
-        )
-        podman.succeed("podman ps | grep webserver")
-        podman.succeed("""
-          for i in `seq 0 120`; do
-            podman run --rm --name=client -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg ${curl}/bin/curl http://webserver:8000 >/dev/console \
-              && exit 0
-            sleep 0.5
-          done
-          exit 1
-        """)
-        podman.succeed("podman stop webserver")
-        podman.succeed("podman rm webserver")
-
-    '';
-  }
-)
diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix
index 416a20aa7fe81..6a460dbce3547 100644
--- a/nixos/tests/wordpress.nix
+++ b/nixos/tests/wordpress.nix
@@ -1,6 +1,6 @@
-import ./make-test-python.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 
-{
+rec {
   name = "wordpress";
   meta = with pkgs.lib.maintainers; {
     maintainers = [
@@ -10,17 +10,22 @@ import ./make-test-python.nix ({ pkgs, ... }:
     ];
   };
 
-  nodes = {
-    wp_httpd = { ... }: {
+  nodes = lib.foldl (a: version: let
+    package = pkgs."wordpress${version}";
+  in a // {
+    "wp${version}_httpd" = _: {
       services.httpd.adminAddr = "webmaster@site.local";
       services.httpd.logPerVirtualHost = true;
 
+      services.wordpress.webserver = "httpd";
       services.wordpress.sites = {
         "site1.local" = {
           database.tablePrefix = "site1_";
+          inherit package;
         };
         "site2.local" = {
           database.tablePrefix = "site2_";
+          inherit package;
         };
       };
 
@@ -28,14 +33,16 @@ import ./make-test-python.nix ({ pkgs, ... }:
       networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
     };
 
-    wp_nginx = { ... }: {
+    "wp${version}_nginx" = _: {
       services.wordpress.webserver = "nginx";
       services.wordpress.sites = {
         "site1.local" = {
           database.tablePrefix = "site1_";
+          inherit package;
         };
         "site2.local" = {
           database.tablePrefix = "site2_";
+          inherit package;
         };
       };
 
@@ -43,34 +50,38 @@ import ./make-test-python.nix ({ pkgs, ... }:
       networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
     };
 
-    wp_caddy = { ... }: {
+    "wp${version}_caddy" = _: {
       services.wordpress.webserver = "caddy";
       services.wordpress.sites = {
         "site1.local" = {
           database.tablePrefix = "site1_";
+          inherit package;
         };
         "site2.local" = {
           database.tablePrefix = "site2_";
+          inherit package;
         };
       };
 
       networking.firewall.allowedTCPPorts = [ 80 ];
       networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
     };
-  };
+  }) {} [
+    "6_1"
+  ];
 
   testScript = ''
     import re
 
     start_all()
 
-    wp_httpd.wait_for_unit("httpd")
-    wp_nginx.wait_for_unit("nginx")
-    wp_caddy.wait_for_unit("caddy")
+    ${lib.concatStrings (lib.mapAttrsToList (name: value: ''
+      ${name}.wait_for_unit("${(value null).services.wordpress.webserver}")
+    '') nodes)}
 
     site_names = ["site1.local", "site2.local"]
 
-    for machine in (wp_httpd, wp_nginx, wp_caddy):
+    for machine in (${lib.concatStringsSep ", " (builtins.attrNames nodes)}):
         for site_name in site_names:
             machine.wait_for_unit(f"phpfpm-wordpress-{site_name}")
 
diff --git a/pkgs/applications/audio/cmt/default.nix b/pkgs/applications/audio/cmt/default.nix
index 1062d897c6bde..bf7ed0ee37d4b 100644
--- a/pkgs/applications/audio/cmt/default.nix
+++ b/pkgs/applications/audio/cmt/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cmt";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchurl {
     url = "http://www.ladspa.org/download/cmt_${version}.tgz";
-    sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
+    sha256 = "sha256-qC+GNt4fSto4ahmaAXqc13Wkm0nnFrEejdP3I8k99so=";
   };
 
   buildInputs = [ ladspaH ];
diff --git a/pkgs/applications/audio/ocenaudio/default.nix b/pkgs/applications/audio/ocenaudio/default.nix
index 73bee279803bd..f40fb1413264d 100644
--- a/pkgs/applications/audio/ocenaudio/default.nix
+++ b/pkgs/applications/audio/ocenaudio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocenaudio";
-  version = "3.11.20";
+  version = "3.11.21";
 
   src = fetchurl {
     url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
-    sha256 = "sha256-ifzth9qd2YX9WeF6QeXSWkMqRyTGBxPyTm5tkanPiFQ=";
+    sha256 = "sha256-nItqx3g4W3s1phHe6F8EtOL4nwJQ0XnKB8Ujg71/Q3Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index dd0112d821620..0a82a4671db28 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rosegarden";
-  version = "20.12";
+  version = "22.12.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-iGaEr8WFipV4I00fhFGI2xMBFPf784IIxNXs2hUTHFs=";
+    sha256 = "sha256-fqeif37lxJeBcI+cYVpRkZuJImSlmeZO3yzSNzPZkgY=";
   };
 
   postPhase = ''
diff --git a/pkgs/applications/audio/spek/default.nix b/pkgs/applications/audio/spek/default.nix
index 74c53f96efdc1..0c1aa5fa0e2f2 100644
--- a/pkgs/applications/audio/spek/default.nix
+++ b/pkgs/applications/audio/spek/default.nix
@@ -1,22 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg, wxGTK30, gtk3, wrapGAppsHook }:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, intltool, pkg-config, ffmpeg, wxGTK32, gtk3, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "spek";
-  version = "unstable-2018-12-29";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "alexkay";
     repo = "spek";
-    rev = "f071c2956176ad53c7c8059e5c00e694ded31ded";
-    sha256 = "1l9gj9c1n92zlcjnyjyk211h83dk0idk644xnm5rs7q40p2zliy5";
+    rev = "v${version}";
+    sha256 = "sha256-JLQx5LlnVe1TT1KVO3/QSVRqYL+pAMCxoDWrnkUNmRU=";
   };
 
-  # needed for autoreconfHook
-  AUTOPOINT="intltoolize --automake --copy";
-
   nativeBuildInputs = [ autoreconfHook intltool pkg-config wrapGAppsHook ];
 
-  buildInputs = [ ffmpeg wxGTK30 gtk3 ];
+  buildInputs = [ ffmpeg wxGTK32 gtk3 ];
 
   meta = with lib; {
     description = "Analyse your audio files by showing their spectrogram";
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index bfeb8a7dab3a3..274b054955b75 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -9,16 +9,16 @@
 
 rustPackages.rustPlatform.buildRustPackage rec {
   pname = "spotifyd";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "Spotifyd";
     repo = "spotifyd";
     rev = "v${version}";
-    sha256 = "1liql2wp7cx0x4ha1578wx3m4byd295m4ph268s05yw2wrnr3v6c";
+    sha256 = "sha256-9zwHBDrdvE2R/cdrWgjsfHlm3wEZ9SB2VNcqezB/Op0=";
   };
 
-  cargoSha256 = "1plvqd55d1gj0ydimv3154pwgj2sh1fqx2182nw8akzdfmzg1150";
+  cargoSha256 = "sha256-fQm7imXpm5AcKdg0cU/Rf2mAeg2ebZKRisJZSnG0REI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index cd9ec2a80e774..d64376aae18d9 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, appimageTools, imagemagick, systemd }:
+{ lib, fetchurl, appimageTools, imagemagick }:
 
 let
   pname = "ledger-live-desktop";
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 596130337c7ad..1f5636dd41c34 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -10,13 +10,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.33";
+  version = "0.9.36";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-vAFGLcsbGuoaNtxtEIHSeX00nsULJROCEhaMv5IEcp4=";
+    sha256 = "sha256-HzQFlnn+SPasI0g0DYDCRoFCMVyxlUmEQAobvzRnAW4=";
 
     # the build process of polkadot requires a .git folder in order to determine
     # the git commit hash that is being built and add it to the version string.
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-SZUkgtI/4kA5iWzalmGo5KXRHXKgdeCo2SSCVF66p5E=";
+  cargoSha256 = "sha256-P31GW/1HiaZLF6e8Fq1YnH1ZLhiOhURm8st9a4KRlJU=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 8b59e5038762c..f9da81efb49ae 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv
+, fetchpatch
 , libuv, lua, ncurses, pkg-config
 , unibilium, gperf
 , libvterm-neovim
@@ -19,6 +20,16 @@ let
         nvim-client luv coxpcall busted luafilesystem penlight inspect
       ]
     ));
+  codegenLua =
+    if lua.pkgs.isLuaJIT
+      then
+        let deterministicLuajit =
+          lua.override {
+            deterministicStringIds = true;
+            self = deterministicLuajit;
+          };
+        in deterministicLuajit.withPackages(ps: [ ps.mpack ps.lpeg ])
+      else lua;
 
   pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]);
 in
@@ -38,6 +49,13 @@ in
       # necessary so that nix can handle `UpdateRemotePlugins` for the plugins
       # it installs. See https://github.com/neovim/neovim/issues/9413.
       ./system_rplugin_manifest.patch
+      # make the build reproducible, rebased version of
+      # https://github.com/neovim/neovim/pull/21586
+      (fetchpatch {
+        name = "neovim-build-make-generated-source-files-reproducible.patch";
+        url = "https://github.com/raboof/neovim/commit/485dd2af3efbfd174163583c46e0bb2a01ff04f1.patch";
+        hash = "sha256-9aRVK4lDkL/W4RVjeKptrZFY7rYYBx6/RGR4bQSbCsM=";
+      })
     ];
 
     dontFixCmake = true;
@@ -89,7 +107,7 @@ in
       substituteInPlace src/nvim/version.c --replace NVIM_VERSION_CFLAGS "";
     '';
     # check that the above patching actually works
-    disallowedReferences = [ stdenv.cc ];
+    disallowedReferences = [ stdenv.cc ] ++ lib.optional (lua != codegenLua) codegenLua;
 
     cmakeFlags = [
       # Don't use downloaded dependencies. At the end of the configurePhase one
@@ -101,7 +119,12 @@ in
     ++ lib.optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
     ;
 
-    preConfigure = lib.optionalString stdenv.isDarwin ''
+    preConfigure = lib.optionalString lua.pkgs.isLuaJIT ''
+      cmakeFlagsArray+=(
+        "-DLUAC_PRG=${codegenLua}/bin/luajit -b -s %s -"
+        "-DLUA_GEN_PRG=${codegenLua}/bin/luajit"
+      )
+    '' + lib.optionalString stdenv.isDarwin ''
       substituteInPlace src/nvim/CMakeLists.txt --replace "    util" ""
     '';
 
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 263c0428ff149..72f2dd526867b 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -4665,6 +4665,43 @@ final: prev:
     meta.homepage = "https://github.com/chentoast/marks.nvim/";
   };
 
+  mason-lspconfig-nvim = buildVimPluginFrom2Nix {
+    pname = "mason-lspconfig.nvim";
+    version = "2022-07-25";
+    src = fetchFromGitHub {
+      owner = "williamboman";
+      repo = "mason-lspconfig.nvim";
+      rev = "ad3b109cff22af979ab3d15564cd63dc3ae2f0f0";
+      sha256 = "0jvnc9zlr5cazdrhjm1v0bjkrz5lb2z8dzlkq59b433f52qv9zrf";
+    };
+    meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
+  };
+
+  mason-tool-installer-nvim = buildVimPluginFrom2Nix {
+    pname = "mason-tool-installer.nvim";
+    version = "2022-07-26";
+    src = fetchFromGitHub {
+      owner = "WhoIsSethDaniel";
+      repo = "mason-tool-installer.nvim";
+      rev = "6d9276655c09ef2358ddb105cac4a34cfa8853c0";
+      sha256 = "0j5k9fhjffkx3b5asnwxzj22fvncs69vs0rkx13ii3gdvwczbc5w";
+    };
+    meta.homepage = "https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim/";
+  };
+
+
+  mason-nvim = buildVimPluginFrom2Nix {
+    pname = "mason.nvim";
+    version = "2022-07-27";
+    src = fetchFromGitHub {
+      owner = "williamboman";
+      repo = "mason.nvim";
+      rev = "269ee222f76e705619da2c0130c0a06e76419b88";
+      sha256 = "1bngr68gfv33p989dqhz6xmhips7i2yjni96qgnqwhdjczfw865v";
+    };
+    meta.homepage = "https://github.com/williamboman/mason.nvim/";
+  };
+
   matchit-zip = buildVimPluginFrom2Nix {
     pname = "matchit.zip";
     version = "2010-10-18";
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
index c6c995700075b..59b5ac48ce9b0 100644
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix
@@ -1,6 +1,6 @@
 # generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
 
-{ buildGrammar, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchgit }:
+{ buildGrammar, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchgit, fetchhg, fetchsvn }:
 
 {
   ada = buildGrammar {
diff --git a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
index 6b297cd59157b..6963a82d46b64 100755
--- a/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
+++ b/pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
@@ -60,10 +60,9 @@ def generate_grammar(item):
 
 generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
 
-{ buildGrammar"""
+{ buildGrammar, """
 
-for fetcher in subprocess.check_output(["nurl", "-L"], text=True).splitlines():
-    generated_file += f", {fetcher}"
+generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True)
 
 generated_file += """ }:
 
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index e94ac82659d78..8d5f6bcd27d34 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -598,6 +598,14 @@ self: super: {
     '';
   });
 
+  mason-lspconfig-nvim = super.mason-lspconfig-nvim.overrideAttrs (old: {
+    dependencies = with self; [ mason-nvim nvim-lspconfig ];
+  });
+
+  mason-tool-installer-nvim = super.mason-tool-installer-nvim.overrideAttrs (old: {
+    dependencies = with self; [ mason-nvim ];
+  });
+
   meson = buildVimPluginFrom2Nix {
     inherit (meson) pname version src;
     preInstall = "cd data/syntax-highlighting/vim";
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index f729c240f5df7..4cfe4228ea9fd 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -391,6 +391,9 @@ https://github.com/rktjmp/lush.nvim/,,
 https://github.com/mkasa/lushtags/,,
 https://github.com/iamcco/markdown-preview.nvim/,,
 https://github.com/chentoast/marks.nvim/,,
+https://github.com/williamboman/mason-lspconfig.nvim/,HEAD,
+https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim/,HEAD,
+https://github.com/williamboman/mason.nvim/,HEAD,
 https://github.com/vim-scripts/matchit.zip/,,
 https://github.com/marko-cerovac/material.nvim/,,
 https://github.com/kaicataldo/material.vim/,HEAD,
diff --git a/pkgs/applications/emulators/melonDS/default.nix b/pkgs/applications/emulators/melonDS/default.nix
index 6e389b8daf640..d1573ba5967be 100644
--- a/pkgs/applications/emulators/melonDS/default.nix
+++ b/pkgs/applications/emulators/melonDS/default.nix
@@ -1,34 +1,44 @@
 { lib
 , fetchFromGitHub
-, mkDerivation
+, stdenv
 , cmake
-, libepoxy
+, extra-cmake-modules
 , libarchive
 , libpcap
 , libslirp
 , pkg-config
 , qtbase
+, qtmultimedia
 , SDL2
+, wayland
+, wrapQtAppsHook
 }:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "melonDS";
-  version = "0.9.4";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "Arisotura";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FSacau7DixU6R4eKNIYVRZiMb/GhijTzHbcGlZ6WG/I=";
+    sha256 = "sha256-n4Vkxb/7fr214PgB6VFNgH1tMDgTBS/UHUQ6V4uGkDA=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+    pkg-config
+    wrapQtAppsHook
+  ];
+
   buildInputs = [
-    libepoxy
     libarchive
     libslirp
     qtbase
+    qtmultimedia
     SDL2
+    wayland
   ];
 
   qtWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpcap ]}" ];
diff --git a/pkgs/applications/emulators/wibo/default.nix b/pkgs/applications/emulators/wibo/default.nix
index 69137cb8f0304..54a544fc60040 100644
--- a/pkgs/applications/emulators/wibo/default.nix
+++ b/pkgs/applications/emulators/wibo/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wibo";
-  version = "0.2.4";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "decompals";
     repo = "wibo";
     rev = version;
-    hash = "sha256-dpfKSiIWE9L5BLPH2t8RsUz7Ufkdo/5zn1dewaEgJl0=";
+    hash = "sha256-J5h/RpF+twb5fBjSDQMVB5SoTWWs8VD/EUuikuj73YA=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
       meta.license = lib.licenses.unfree;
     };
   in lib.optionalString doCheck ''
-    MWCIncludes=. ./wibo ${gc}/GC/2.7/mwcceppc.exe -c ../test/test.c
+    MWCIncludes=../test ./wibo ${gc}/GC/2.7/mwcceppc.exe -c ../test/test.c
     file test.o | grep "ELF 32-bit"
   '';
 
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index e11df27ab6c32..5e35e56fe5fe5 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -28,11 +28,12 @@
 , qtkeychain
 , qt3d
 , qscintilla
+, qtlocation
 , qtserialport
 , qtxmlpatterns
 , withGrass ? true
 , grass
-, withWebKit ? true
+, withWebKit ? false
 , qtwebkit
 , pdal
 , zstd
@@ -109,6 +110,7 @@ in mkDerivation rec {
     qca-qt5
     qtkeychain
     qscintilla
+    qtlocation
     qtserialport
     qtxmlpatterns
     qt3d
@@ -132,7 +134,11 @@ in mkDerivation rec {
     "-DWITH_3D=True"
     "-DWITH_PDAL=TRUE"
   ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
-    ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
+    ++ lib.optional withGrass (let
+        gmajor = lib.versions.major grass.version;
+        gminor = lib.versions.minor grass.version;
+      in "-DGRASS_PREFIX${gmajor}=${grass}/grass${gmajor}${gminor}"
+    );
 
   dontWrapGApps = true; # wrapper params passed below
 
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 9f445facb1673..929a40d6daab3 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -28,11 +28,12 @@
 , qtkeychain
 , qt3d
 , qscintilla
+, qtlocation
 , qtserialport
 , qtxmlpatterns
 , withGrass ? true
 , grass
-, withWebKit ? true
+, withWebKit ? false
 , qtwebkit
 , pdal
 , zstd
@@ -109,6 +110,7 @@ in mkDerivation rec {
     qca-qt5
     qtkeychain
     qscintilla
+    qtlocation
     qtserialport
     qtxmlpatterns
     qt3d
@@ -132,7 +134,11 @@ in mkDerivation rec {
     "-DWITH_3D=True"
     "-DWITH_PDAL=TRUE"
   ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
-    ++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
+    ++ lib.optional withGrass (let
+        gmajor = lib.versions.major grass.version;
+        gminor = lib.versions.minor grass.version;
+      in "-DGRASS_PREFIX${gmajor}=${grass}/grass${gmajor}${gminor}"
+    );
 
   dontWrapGApps = true; # wrapper params passed below
 
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index fc940cfce3018..59794b88a4fd3 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -31,11 +31,11 @@
 
 mkDerivation rec {
   pname = "saga";
-  version = "8.4.0";
+  version = "8.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/saga-gis/SAGA%20-%20${lib.versions.major version}/SAGA%20-%20${version}/saga-${version}.tar.gz";
-    sha256 = "sha256-v6DPwV20fcsznrEaFJk0/ewU4z3cTjzYYuLkyMwSLV0=";
+    sha256 = "sha256-JzSuu1wGfCkxIDcTbP5jpHtJNvl8eAP3jznXvwSPeY0=";
   };
 
   sourceRoot = "saga-${version}/saga-gis";
diff --git a/pkgs/applications/graphics/eyedropper/default.nix b/pkgs/applications/graphics/eyedropper/default.nix
index 32098c977044f..41999239af1ae 100644
--- a/pkgs/applications/graphics/eyedropper/default.nix
+++ b/pkgs/applications/graphics/eyedropper/default.nix
@@ -15,19 +15,19 @@
 
 stdenv.mkDerivation rec {
   pname = "eyedropper";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "FineFindus";
     repo = pname;
-    rev = version;
-    hash = "sha256-bOpwHaFOoUlh+yyC1go6BeFxfJhUmwZPi6kYAqCagEI=";
+    rev = "v${version}";
+    hash = "sha256-sDrMIryVFkjMGHbYvNDmKb1HyJNGb3Hd+muxUJKhogE=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-TkdOq+icU2zNbXzN6nbkXjL1o/Lfumqr/5S0pQaxY5Q=";
+    hash = "sha256-mztc44hHdqzR3WbG6tkCL38EfgBajRLlpMC8ElpXnlo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/qview/default.nix b/pkgs/applications/graphics/qview/default.nix
index 7f4f4cc1a9765..e5d148da8e6a5 100644
--- a/pkgs/applications/graphics/qview/default.nix
+++ b/pkgs/applications/graphics/qview/default.nix
@@ -3,33 +3,31 @@
 , fetchFromGitHub
 , qmake
 , qtbase
+, qttools
 , qtimageformats
 , qtsvg
 }:
 
 mkDerivation rec {
   pname = "qview";
-  version = "4.0";
+  version = "5.0";
 
   src = fetchFromGitHub {
     owner = "jurplel";
     repo = "qView";
     rev = version;
-    sha256 = "15n9cq7w3ckinnx38hvncxrbkv4qm4k51sal41q4y0pkvhmafhnr";
+    hash = "sha256-VQ0H9iPrrxO9e/kMo7yZ/zN5I2qDWBCAFacS9uGuZLI=";
   };
 
   nativeBuildInputs = [ qmake ];
 
   buildInputs = [
     qtbase
+    qttools
     qtimageformats
     qtsvg
   ];
 
-  patchPhase = ''
-    sed "s|/usr/|$out/|g" -i qView.pro
-  '';
-
   meta = with lib; {
     description = "Practical and minimal image viewer";
     homepage = "https://interversehq.com/qview/";
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index bab227aee779e..f4e6ad3feb3c9 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -20,7 +20,7 @@
 }:
 
 let
-  version = "4.3.2";
+  version = "4.3.3";
 
   libsecp256k1_name =
     if stdenv.isLinux then "libsecp256k1.so.0"
@@ -37,7 +37,7 @@ let
     owner = "spesmilo";
     repo = "electrum";
     rev = version;
-    sha256 = "sha256-z2/UamKmBq/5a0PTbHdAqGK617Lc8xRhHRpbCc7jeZo=";
+    sha256 = "sha256-40GfOKBTAi8RAsAVrG9rv1Jr5IqM+1yro6YYRsSULxw=";
 
     postFetch = ''
       mv $out ./all
@@ -53,7 +53,7 @@ python3.pkgs.buildPythonApplication {
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "sha256-vTZArTwbKcf6/vPQOvjubPecsg+h+QlZ6rdbl6qNfs0=";
+    sha256 = "sha256-NPXGfbEjT9l88ZnGbDcE3+oGxThTzW7YfesBzssGsbc=";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/misc/grip/default.nix b/pkgs/applications/misc/grip/default.nix
index 4461df09c2245..281f8dec22720 100644
--- a/pkgs/applications/misc/grip/default.nix
+++ b/pkgs/applications/misc/grip/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grip";
-  version = "4.2.3";
+  version = "4.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/grip/grip-${version}.tar.gz";
-    sha256 = "sha256-5Qgsf4+xs0ckhYJk2csKulXC3nWaLRAsQ15qaTkKkjw=";
+    sha256 = "sha256-lXu0mLLfcX8K1EmoFH0vp2cHluyRwhTL0/bW5Ax36mI=";
   };
 
   nativeBuildInputs = [ pkg-config libtool ];
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 2efe9ec440e1c..9890ea9ad8db6 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,15 +3,15 @@
 }:
 let
   pname = "josm";
-  version = "18621";
+  version = "18622";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      hash = "sha256-RZiYHDqowk0oG/rQVcsoYpZvL4wNmegZD2EHlsQggw8=";
+      hash = "sha256-AtV7Lj+z1GOCEl8xUaumYcN848pMsLIfMGmBXved6WU=";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
-      hash = "sha256-Sf5mgxWjq240U1tUByBS6FFb0Tpj/QP7yHl+wvTIfng=";
+      hash = "sha256-q3Kr0YWe6Jm6wO6h7fMANKLCWKfU0zDpBZjRH662eSg=";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix
index 54ed6c10f42a7..566730c12222a 100644
--- a/pkgs/applications/misc/librecad/default.nix
+++ b/pkgs/applications/misc/librecad/default.nix
@@ -1,7 +1,6 @@
 { lib
 , boost
 , fetchFromGitHub
-, fetchpatch
 , installShellFiles
 , mkDerivation
 , muparser
@@ -15,38 +14,42 @@
 
 mkDerivation rec {
   pname = "librecad";
-  version = "2.2.0-rc2";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "LibreCAD";
     repo = "LibreCAD";
     rev = version;
-    sha256 = "sha256-RNg7ioMriH4A7V65+4mh8NhsUHs/8IbTt38nVkYilCE=";
+    sha256 = "sha256-horKTegmvcMg4m5NbZ4nzy4J6Ac/6+E5OkiZl0v6TBc=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/LibreCAD/LibreCAD/pull/1465/commits/4edcbe72679f95cb60979c77a348c1522a20b0f4.patch";
-      sha256 = "sha256-P0G2O5sL7Ip860ByxFQ87TfV/lq06wCQnzPxADGqFPs=";
-      name = "CVE-2021-45342.patch";
-    })
+  buildInputs = [
+    boost
+    muparser
+    qtbase
+    qtsvg
+  ];
+
+  nativeBuildInputs = [
+    installShellFiles
+    pkg-config
+    qmake
+    qttools
+  ];
+
+  qmakeFlags = [
+    "MUPARSER_DIR=${muparser}"
+    "BOOST_DIR=${boost.dev}"
   ];
 
   postPatch = ''
     substituteInPlace scripts/postprocess-unix.sh \
       --replace /bin/sh ${runtimeShell}
 
-    substituteInPlace librecad/src/lib/engine/rs_system.cpp \
-      --replace /usr/share $out/share
-
     substituteInPlace librecad/src/main/qc_applicationwindow.cpp \
       --replace __DATE__ 0
   '';
 
-  qmakeFlags = [
-    "MUPARSER_DIR=${muparser}"
-    "BOOST_DIR=${boost.dev}"
-  ];
 
   installPhase = ''
     runHook preInstall
@@ -65,20 +68,6 @@ mkDerivation rec {
     runHook postInstall
   '';
 
-  buildInputs = [
-    boost
-    muparser
-    qtbase
-    qtsvg
-  ];
-
-  nativeBuildInputs = [
-    installShellFiles
-    pkg-config
-    qmake
-    qttools
-  ];
-
   meta = with lib; {
     description = "2D CAD package based on Qt";
     homepage = "https://librecad.org";
diff --git a/pkgs/applications/misc/limesctl/default.nix b/pkgs/applications/misc/limesctl/default.nix
index 5ac3e9938fc3e..a40b253d4ba09 100644
--- a/pkgs/applications/misc/limesctl/default.nix
+++ b/pkgs/applications/misc/limesctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "limesctl";
-  version = "3.1.1";
+  version = "3.1.3";
 
   src = fetchFromGitHub {
     owner = "sapcc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/CYZMuW5/YoZszTOaQZLRhJdZAGGMY+s7vMK01hyMvg=";
+    sha256 = "sha256-fi36jsQr/Mn1FyOlle/WSpREQgZU6+h4IJzd3ZfItvI=";
   };
 
-  vendorSha256 = "sha256-BwhbvCUOOp5ZeY/22kIZ58e+iPH0pVgiNOyoD6O2zPo=";
+  vendorSha256 = "sha256-gcIPASIk4Zq8y+KppYNRkf/9guCsYv9XskFANrqOCts=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/misc/remarkable/rmapi/default.nix b/pkgs/applications/misc/remarkable/rmapi/default.nix
index 2a3fbb4470110..2da548619b140 100644
--- a/pkgs/applications/misc/remarkable/rmapi/default.nix
+++ b/pkgs/applications/misc/remarkable/rmapi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "rmapi";
-  version = "0.0.23";
+  version = "0.0.25";
 
   src = fetchFromGitHub {
     owner = "juruen";
     repo = "rmapi";
     rev = "v${version}";
-    sha256 = "sha256-x6J3lQqSiqROLFB+S6nY/ONSluc7ffqJcK93bQpsjIs=";
+    sha256 = "sha256-7pwCd9tey7w5B8UgsMLHegPqmmY1prLM+Sk9o42X9lY=";
   };
 
   vendorSha256 = "sha256-Id2RaiSxthyR6egDQz2zulbSZ4STRTaA3yQIr6Mx9kg=";
diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix
index 6a40f13034e76..de787ca669d07 100644
--- a/pkgs/applications/misc/solaar/default.nix
+++ b/pkgs/applications/misc/solaar/default.nix
@@ -14,13 +14,13 @@
 # instead of adding this to `services.udev.packages` on NixOS,
 python3Packages.buildPythonApplication rec {
   pname = "solaar";
-  version = "1.1.5";
+  version = "1.1.8";
 
   src = fetchFromGitHub {
     owner = "pwr-Solaar";
     repo = "Solaar";
     rev = "refs/tags/${version}";
-    hash = "sha256-wqSDSLzm2RYV7XZPX0GQDR+TUgj4hLJ9FpVP3DYN7To=";
+    hash = "sha256-2LD1vMmQvibcnAgBwjfSBJysTnUGptGzPHfi/7tZ0hg=";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/termpdf.py/default.nix b/pkgs/applications/misc/termpdf.py/default.nix
index 4ccddcd70071c..e51f7633e013a 100644
--- a/pkgs/applications/misc/termpdf.py/default.nix
+++ b/pkgs/applications/misc/termpdf.py/default.nix
@@ -1,26 +1,15 @@
-{ lib
-, buildPythonApplication
-, fetchFromGitHub
-, bibtool
-, pybtex
-, pymupdf
-, pynvim
-, pyperclip
-, roman
-, pdfrw
-, pagelabels
-, setuptools
-}:
+{ lib, buildPythonApplication, fetchFromGitHub, bibtool, pybtex, pymupdf, pynvim
+, pyperclip, roman, pdfrw, pagelabels, setuptools }:
 
 buildPythonApplication {
   pname = "termpdf.py";
-  version = "2019-10-03";
+  version = "2022-03-28";
 
   src = fetchFromGitHub {
     owner = "dsanson";
     repo = "termpdf.py";
-    rev = "4f3bdf4b5a00801631f2498f2c38c81e0a588ae2";
-    sha256 = "05gbj2fqzqndq1mx6g9asa7i6z8a9jdjrvilfwx8lg23cs356m6m";
+    rev = "e7bd0824cb7d340b8dba7d862e696dba9cb5e5e2";
+    sha256 = "HLQZBaDoZFVBs4JfJcwhrLx8pxdEI56/iTpUjT5pBhk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/misc/todoist/default.nix b/pkgs/applications/misc/todoist/default.nix
index 28222e0e12879..f28797b88e570 100644
--- a/pkgs/applications/misc/todoist/default.nix
+++ b/pkgs/applications/misc/todoist/default.nix
@@ -2,23 +2,19 @@
 
 buildGoModule rec {
   pname = "todoist";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "sachaos";
     repo = "todoist";
     rev = "v${version}";
-    sha256 = "sha256-lnx02fFzf8oaJ9T7MV+Gx4EpA4h7TVJK91o9+GU/Yvs=";
+    sha256 = "sha256-46wNacsK2kGHaq2MgcW4ELI2TIY+4leraGQwU4V7sVo=";
   };
 
   vendorSha256 = "sha256-ly+OcRo8tGeNX4FnqNVaqjPx/A1FALOnScxs04lIOiU=";
 
   doCheck = false;
 
-  postPatch = ''
-    substituteInPlace main.go --replace '0.15.0' '${version}'
-  '';
-
   meta = {
     homepage = "https://github.com/sachaos/todoist";
     description = "Todoist CLI Client";
diff --git a/pkgs/applications/misc/yubioath-flutter/default.nix b/pkgs/applications/misc/yubioath-flutter/default.nix
index d858605e9044b..6b58dd1caf5db 100644
--- a/pkgs/applications/misc/yubioath-flutter/default.nix
+++ b/pkgs/applications/misc/yubioath-flutter/default.nix
@@ -4,54 +4,81 @@
 , fetchFromGitHub
 , stdenv
 , pcre2
+, gnome
+, makeWrapper
 }:
-
 let
   vendorHashes = {
     x86_64-linux = "sha256-BwhWA8N0S55XkljDKPNkDhsj0QSpmJJ5MwEnrPjymS8=";
     aarch64-linux = "sha256-T1aGz3+2Sls+rkUVDUo39Ky2igg+dxGSUaf3qpV7ovQ=";
   };
-
+in
+flutter.mkFlutterApp rec {
+  pname = "yubioath-flutter";
   version = "6.0.2";
+
   src = fetchFromGitHub {
     owner = "Yubico";
     repo = "yubioath-flutter";
     rev = version;
     sha256 = "13nh5qpq02c6azfdh4cbzhlrq0hs9is45q5z5cnxg84hrx26hd4k";
   };
-  meta = with lib; {
-    description = "Yubico Authenticator for Desktop";
-    homepage = "https://github.com/Yubico/yubioath-flutter";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ lukegb ];
-    platforms = builtins.attrNames vendorHashes;
-  };
-
-  helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
-in
-flutter.mkFlutterApp rec {
-  pname = "yubioath-flutter";
-  inherit src version meta;
 
-  passthru.helper = helper;
+  passthru.helper = python3.pkgs.callPackage ./helper.nix { inherit src version meta; };
 
-  vendorHash = vendorHashes."${stdenv.system}";
+  vendorHash = vendorHashes.${stdenv.system};
 
   postPatch = ''
     substituteInPlace linux/CMakeLists.txt \
-      --replace "../build/linux/helper" "${helper}/libexec/helper"
+      --replace "../build/linux/helper" "${passthru.helper}/libexec/helper"
   '';
 
   preInstall = ''
     # Make sure we have permission to delete things CMake has copied in to our build directory from elsewhere.
-    chmod -R +w build/
+    chmod -R +w build
   '';
+
   postInstall = ''
     # Swap the authenticator-helper symlink with the correct symlink.
-    ln -fs "${helper}/bin/authenticator-helper" "$out/app/helper/authenticator-helper"
+    ln -fs "${passthru.helper}/bin/authenticator-helper" "$out/app/helper/authenticator-helper"
+
+    # Move the icon.
+    mkdir $out/share/icons
+    mv $out/app/linux_support/com.yubico.yubioath.png $out/share/icons
+
+    # Cleanup.
+    rm -rf \
+      "$out/app/README.adoc" \
+      "$out/app/desktop_integration.sh" \
+      "$out/app/linux_support" \
+      $out/bin/* # We will repopulate this directory later.
+
+    # Symlink binary.
+    ln -sf "$out/app/authenticator" "$out/bin/yubioath-flutter"
+
+    # Needed for QR scanning to work.
+    wrapProgram "$out/bin/yubioath-flutter" \
+      --prefix PATH : ${lib.makeBinPath [ gnome.gnome-screenshot ]}
+
+    # Set the correct path to the binary in desktop file.
+    substituteInPlace "$out/share/applications/com.yubico.authenticator.desktop" \
+      --replace "@EXEC_PATH/authenticator" "$out/bin/yubioath-flutter" \
+      --replace "@EXEC_PATH/linux_support/com.yubico.yubioath.png" "$out/share/icons/com.yubico.yubioath.png"
   '';
 
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
   buildInputs = [
     pcre2
   ];
+
+  meta = with lib; {
+    description = "Yubico Authenticator for Desktop";
+    homepage = "https://github.com/Yubico/yubioath-flutter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lukegb ];
+    platforms = builtins.attrNames vendorHashes;
+  };
 }
diff --git a/pkgs/applications/misc/yubioath-flutter/helper.nix b/pkgs/applications/misc/yubioath-flutter/helper.nix
index a37ae01990ab2..12e5f52d6b2e7 100644
--- a/pkgs/applications/misc/yubioath-flutter/helper.nix
+++ b/pkgs/applications/misc/yubioath-flutter/helper.nix
@@ -12,7 +12,7 @@
 , meta
 }:
 
-buildPythonApplication rec {
+buildPythonApplication {
   pname = "yubioath-flutter-helper";
   inherit src version meta;
 
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 68a35cf768773..dc171a99bcdbd 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -90,11 +90,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.46.133";
+  version = "1.46.144";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "sha256-362XVFFsVWR/H0mcn1XQh3tsemksEnqR5quOIwf2QQE=";
+    sha256 = "sha256-RivuyMPrqBXeTENrH4wApqHglPAZHVXMd863Wlh+EHY=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 7e13b02619ce9..daf40e3aadfdb 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -19,9 +19,9 @@
     }
   },
   "beta": {
-    "version": "109.0.5414.46",
-    "sha256": "17wzll9024c80fhgxi33ix1rpmqh9sbpx6qvw9cvhdlmhn0b5017",
-    "sha256bin64": "199n8a7pjnhbgkm2dwh9hq7pzf39x932bh6b056jqp032d5c00ns",
+    "version": "109.0.5414.74",
+    "sha256": "0pcfaj3n3rjk4va9g0ajlsv1719kdhqcnjdd4piinqxb4qy27vgd",
+    "sha256bin64": "1ihjjf8x5080p9bizhqrrr0rcjf0l1nps9xq9naa2f48y5zfshkd",
     "deps": {
       "gn": {
         "version": "2022-11-10",
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index aad583c675c01..bc39dbcd5e400 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -38,7 +38,7 @@ buildGoModule rec {
     "plugins/meta/vrf"
   ];
 
-  passthru.tests = { inherit (nixosTests) cri-o podman; };
+  passthru.tests = { inherit (nixosTests) cri-o; };
 
   meta = with lib; {
     description = "Some standard networking plugins, maintained by the CNI team";
diff --git a/pkgs/applications/networking/cluster/crc/default.nix b/pkgs/applications/networking/cluster/crc/default.nix
index 9710156f11507..825b203393730 100644
--- a/pkgs/applications/networking/cluster/crc/default.nix
+++ b/pkgs/applications/networking/cluster/crc/default.nix
@@ -10,20 +10,22 @@
 }:
 
 let
-  openShiftVersion = "4.10.22";
-  podmanVersion = "4.1.0";
+  openShiftVersion = "4.11.13";
+  okdVersion = "4.11.0-0.okd-2022-11-05-030711";
+  podmanVersion = "4.2.0";
   writeKey = "cvpHsNcmGCJqVzf6YxrSnVlwFSAZaYtp";
 in
 buildGoModule rec {
-  version = "2.6.0";
+  version = "2.11.0";
   pname = "crc";
-  gitCommit = "6b954d40ec3280ca63e825805503d4414a3ff55b";
+  gitCommit = "a5f90a25abcacd4aa334490f0d204329abeaa691";
+  modRoot = "cmd/crc";
 
   src = fetchFromGitHub {
-    owner = "code-ready";
+    owner = "crc-org";
     repo = "crc";
     rev = "v${version}";
-    sha256 = "sha256-4EaonL+7/zPEbuM12jQFx8wLR62iLYZ3LkHAibdGQZc=";
+    sha256 = "sha256-0e62mQ01pt0kClrEx4ss2T8BN1+0aQiCFPyDg5agbTU";
   };
 
   vendorSha256 = null;
@@ -41,21 +43,18 @@ buildGoModule rec {
   tags = [ "containers_image_openpgp" ];
 
   ldflags = [
-    "-X github.com/code-ready/crc/pkg/crc/version.crcVersion=${version}"
-    "-X github.com/code-ready/crc/pkg/crc/version.bundleVersion=${openShiftVersion}"
-    "-X github.com/code-ready/crc/pkg/crc/version.podmanVersion=${podmanVersion}"
-    "-X github.com/code-ready/crc/pkg/crc/version.commitSha=${gitCommit}"
-    "-X github.com/code-ready/crc/pkg/crc/segment.WriteKey=${writeKey}"
+    "-X github.com/crc-org/crc/pkg/crc/version.crcVersion=${version}"
+    "-X github.com/crc-org/crc/pkg/crc/version.ocpVersion=${openShiftVersion}"
+    "-X github.com/crc-org/crc/pkg/crc/version.okdVersion=${okdVersion}"
+    "-X github.com/crc-org/crc/pkg/crc/version.podmanVersion=${podmanVersion}"
+    "-X github.com/crc-org/crc/pkg/crc/version.commitSha=${builtins.substring 0 8 gitCommit}"
+    "-X github.com/crc-org/crc/pkg/crc/segment.WriteKey=${writeKey}"
   ];
 
   preBuild = ''
     export HOME=$(mktemp -d)
   '';
 
-  # tests are currently broken on aarch64-darwin
-  # https://github.com/code-ready/crc/issues/3237
-  doCheck = !(stdenv.isDarwin && stdenv.isAarch64);
-  checkFlags = [ "-args --crc-binary=$out/bin/crc" ];
 
   passthru.tests.version = testers.testVersion {
     package = crc;
diff --git a/pkgs/applications/networking/cluster/crc/update.sh b/pkgs/applications/networking/cluster/crc/update.sh
index 3ac34c168bacd..93503c6115c6f 100755
--- a/pkgs/applications/networking/cluster/crc/update.sh
+++ b/pkgs/applications/networking/cluster/crc/update.sh
@@ -14,7 +14,7 @@ cd ${NIXPKGS_CRC_FOLDER}
 
 LATEST_TAG_RAWFILE=${WORKDIR}/latest_tag.json
 curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
-    https://api.github.com/repos/code-ready/crc/releases >${LATEST_TAG_RAWFILE}
+    https://api.github.com/repos/crc-org/crc/releases  >${LATEST_TAG_RAWFILE}
 
 LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} |
     grep -v -e rc -e engine | tail -n +2 | head -n -1 | sed 's|[", ]||g' | sort -rV | head -n1)
@@ -22,15 +22,18 @@ LATEST_TAG_NAME=$(jq 'map(.tag_name)' ${LATEST_TAG_RAWFILE} |
 CRC_VERSION=$(echo ${LATEST_TAG_NAME} | sed 's/^v//')
 
 CRC_COMMIT=$(curl --silent ${GITHUB_TOKEN:+-u ":$GITHUB_TOKEN"} \
-    https://api.github.com/repos/code-ready/crc/tags |
+    https://api.github.com/repos/crc-org/crc/tags |
     jq -r "map(select(.name == \"${LATEST_TAG_NAME}\")) | .[0] | .commit.sha")
 
 FILE_MAKEFILE=${WORKDIR}/Makefile
-curl --silent https://raw.githubusercontent.com/code-ready/crc/${CRC_COMMIT}/Makefile >$FILE_MAKEFILE
+curl --silent https://raw.githubusercontent.com/crc-org/crc/${CRC_COMMIT}/Makefile >$FILE_MAKEFILE
 
 OPENSHIFT_VERSION=$(grep 'OPENSHIFT_VERSION' ${FILE_MAKEFILE} |
     head -n1 | awk '{print $3}')
 
+OKD_VERSION=$(grep 'OKD_VERSION' ${FILE_MAKEFILE} |
+    head -n1 | awk '{print $3}')
+
 PODMAN_VERSION=$(grep 'PODMAN_VERSION' ${FILE_MAKEFILE} |
     head -n1 | awk '{print $3}')
 
@@ -46,6 +49,9 @@ sed -i "s|gitCommit = \".*\"|gitCommit = \"${CRC_COMMIT:-}\"|" \
 sed -i "s|openShiftVersion = \".*\"|openShiftVersion = \"${OPENSHIFT_VERSION:-}\"|" \
     ${NIXPKGS_CRC_FOLDER}/default.nix
 
+sed -i "s|okdVersion = \".*\"|okdVersion = \"${OKD_VERSION:-}\"|" \
+    ${NIXPKGS_CRC_FOLDER}/default.nix
+
 sed -i "s|podmanVersion = \".*\"|podmanVersion = \"${PODMAN_VERSION:-}\"|" \
     ${NIXPKGS_CRC_FOLDER}/default.nix
 
diff --git a/pkgs/applications/networking/cluster/dnsname-cni/default.nix b/pkgs/applications/networking/cluster/dnsname-cni/default.nix
index a0bc37f2cdb84..3a543f40dd49c 100644
--- a/pkgs/applications/networking/cluster/dnsname-cni/default.nix
+++ b/pkgs/applications/networking/cluster/dnsname-cni/default.nix
@@ -3,7 +3,6 @@
   dnsmasq,
   fetchFromGitHub,
   lib,
-  nixosTests,
   makeWrapper,
 }:
 
@@ -28,10 +27,6 @@ buildGoModule rec {
 
   doCheck = false; # NOTE: requires root privileges
 
-  passthru.tests = {
-    inherit (nixosTests) podman-dnsname;
-  };
-
   meta = with lib; {
     description = "DNS name resolution for containers";
     homepage = "https://github.com/containers/dnsname";
diff --git a/pkgs/applications/networking/cluster/karmor/default.nix b/pkgs/applications/networking/cluster/karmor/default.nix
new file mode 100644
index 0000000000000..220d38c36f804
--- /dev/null
+++ b/pkgs/applications/networking/cluster/karmor/default.nix
@@ -0,0 +1,36 @@
+{ buildGoModule, fetchFromGitHub, installShellFiles, lib }:
+
+buildGoModule rec {
+  pname = "karmor";
+  version = "0.11.1";
+
+  src = fetchFromGitHub {
+    owner = "kubearmor";
+    repo = "kubearmor-client";
+    rev = "v${version}";
+    hash = "sha256-s1G5ZcXtjL9TxYpEUvnqiQXaY7OFUwCDXFongRM48Xk=";
+  };
+
+  vendorHash = "sha256-VvjcGiBxK2OVvIEc/ScwUT6zJZTccnXu/JfXKXc5WNY=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  # integration tests require network access
+  doCheck = false;
+
+  postInstall = ''
+    mv $out/bin/{kubearmor-client,karmor}
+    installShellCompletion --cmd karmor \
+      --bash <($out/bin/karmor completion bash) \
+      --fish <($out/bin/karmor completion fish) \
+      --zsh  <($out/bin/karmor completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "A client tool to help manage KubeArmor";
+    homepage = "https://kubearmor.io";
+    changelog = "https://github.com/kubearmor/kubearmor-client/releases/v${version}";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ urandom ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 598577c9d9c81..f44dd52f55bf6 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -48,11 +48,11 @@
     "vendorHash": "sha256-pz+h8vbdCEgNSH9AoPlIP7zprViAMawXk64SV0wnVPo="
   },
   "alicloud": {
-    "hash": "sha256-m5IZ6JiEbyAuNo2LiuuP05yApvoHypjFnGioWJ/4ETQ=",
+    "hash": "sha256-Ym3ZN4bRcLXyjnSvWxq/RNvjkfGdpyfkp4sH1D/Ll28=",
     "homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
     "owner": "aliyun",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.194.1",
+    "rev": "v1.195.0",
     "spdx": "MPL-2.0",
     "vendorHash": null
   },
@@ -149,11 +149,11 @@
   },
   "baiducloud": {
     "deleteVendor": true,
-    "hash": "sha256-MwpFSUhAZ6TjqWfsy7qazBtd1CrLbsAIDyRLonsDXiM=",
+    "hash": "sha256-g3+n0Q0Hl4yRaYK0snl4um5B5FS54Y6aMM7LeluPik4=",
     "homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
     "owner": "baidubce",
     "repo": "terraform-provider-baiducloud",
-    "rev": "v1.19.1",
+    "rev": "v1.19.2",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-3PLBs8LSE5JPtrhmdx+jQsnCrfZQQEUGA7wnf9M72yY="
   },
@@ -167,13 +167,13 @@
     "vendorHash": null
   },
   "bitbucket": {
-    "hash": "sha256-rE9kEMC/b3J5YjF94HBqUhorjcsMAx40jnxgsShNNUc=",
+    "hash": "sha256-xDUL9W6lQGMZPQBe4eghW9JcQeTUgm+3ND6erikVFMM=",
     "homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
     "owner": "DrFaust92",
     "repo": "terraform-provider-bitbucket",
-    "rev": "v2.27.0",
+    "rev": "v2.29.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-8/ZEO0cxseXqQHx+/wKjsM0T3l+tBdCTFZqNfjaTOpo="
+    "vendorHash": "sha256-foMmZbNPLww1MN4UZwuynBDgt2w40aMqVINRw//Q0d0="
   },
   "brightbox": {
     "hash": "sha256-ISK6cpE4DVrVzjC0N5BdyR3Z5LfF9qfg/ACTgDP+WqY=",
@@ -231,11 +231,11 @@
     "vendorHash": "sha256-Y5z0bRiNu1gOm7nIcQieLWll/sOSgBlKrJlqng2kizQ="
   },
   "cloudfoundry": {
-    "hash": "sha256-RIzAUhusyA+lMHkfsWk/27x3ZRGVcAzqgBaoI8erQSY=",
+    "hash": "sha256-/Zxj9cous0SjYxeDo+8/u61pqDwMGt/UsS/OC1oSR2U=",
     "homepage": "https://registry.terraform.io/providers/cloudfoundry-community/cloudfoundry",
     "owner": "cloudfoundry-community",
     "repo": "terraform-provider-cloudfoundry",
-    "rev": "v0.50.3",
+    "rev": "v0.50.4",
     "spdx": "MPL-2.0",
     "vendorHash": "sha256-mEWhLh4E3SI7xfmal1sJ5PdAYbYJrW/YFoBjTW9w4bA="
   },
@@ -424,11 +424,11 @@
     "vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk="
   },
   "github": {
-    "hash": "sha256-o7Sge0rCfP6Yueq+DP7siBsEinawgGe+nEu0/Olu8uQ=",
+    "hash": "sha256-foPj/zLJJx3mI1PpDwcThptT5EprEDfakUWRsjaa0nc=",
     "homepage": "https://registry.terraform.io/providers/integrations/github",
     "owner": "integrations",
     "repo": "terraform-provider-github",
-    "rev": "v5.12.0",
+    "rev": "v5.13.0",
     "spdx": "MIT",
     "vendorHash": null
   },
@@ -571,13 +571,13 @@
     "vendorHash": null
   },
   "ibm": {
-    "hash": "sha256-XWoEUHGTtQ0MFRs5NbW7nA9gvhrlqh78KNqA6M7s+yE=",
+    "hash": "sha256-DvJow7KDyv1wGBw0QIQQ4MoLgQIT8+Cf6fjc7w4W7Ds=",
     "homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
     "owner": "IBM-Cloud",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.48.0",
+    "rev": "v1.49.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-uzXtXpS2reCJK63vipri8nCyHRCLmQxakFuIoMyl95E="
+    "vendorHash": "sha256-Vt1AKXJ8KRoDESFvUeZPTjUFm7gwP/Uji4hyU16GhjY="
   },
   "icinga2": {
     "hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
@@ -1104,13 +1104,13 @@
     "vendorHash": null
   },
   "tfe": {
-    "hash": "sha256-y9v+13/u91tpRwyI/oLHsd7oUUj0OGFJkqzbk2z8MxU=",
+    "hash": "sha256-YhsAKyD3YYYWfxIHcAgMxdQc//0WQvXTsa+fVhSCG6U=",
     "homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
     "owner": "hashicorp",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.40.0",
+    "rev": "v0.41.0",
     "spdx": "MPL-2.0",
-    "vendorHash": "sha256-Z2pIUAe2Beq5Hi7HBxNenFEtAFhJFMPi3k2qiifN+Jg="
+    "vendorHash": "sha256-LgCS7W6mGGlX4vEhlPYL+Wo/urHv7aiopXWEBoEyL1c="
   },
   "thunder": {
     "hash": "sha256-fXvwBOIW3/76V3O9t25wff0oGViqSaSB2VgMdItXyn4=",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index fe105fa3b71ab..4865ca4901cb8 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -168,8 +168,8 @@ rec {
   mkTerraform = attrs: pluggable (generic attrs);
 
   terraform_1 = mkTerraform {
-    version = "1.3.6";
-    sha256 = "sha256-aETsvcHoHSwqWCAdn9JPJLcX1Wi1umUghSjkq37OYDU=";
+    version = "1.3.7";
+    sha256 = "sha256-z49DXJ9oYObJQWHPeuKvQ6jJtAheYuy0+QmvZ74ZbTQ";
     vendorSha256 = "sha256-fviukVGBkbxFs2fJpEp/tFMymXex7NRQdcGIIA9W88k=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = {
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 665af1cf2eadc..8782816b232a1 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -5,7 +5,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.5.13";
+  version = "3.5.16";
   format = "pyproject";
 
   # Fetch from GitHub in order to use `requirements.in`
@@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
     owner = "flexget";
     repo = "flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-0yO4prnYJkD7eiyrEOPHlDTsgGgRhQujsp8k2FsLYKI=";
+    hash = "sha256-9hcl7OZLi86hZHLotsN1QlPzQ1Ep5vJumAyZxSxxIE8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/keet/default.nix b/pkgs/applications/networking/instant-messengers/keet/default.nix
new file mode 100644
index 0000000000000..557078cd8b508
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/keet/default.nix
@@ -0,0 +1,32 @@
+{ lib, appimageTools, fetchurl }:
+
+let
+  pname = "keet";
+  version = "1.2.1";
+
+  src = fetchurl {
+    url = "https://keet.io/downloads/${version}/Keet.AppImage";
+    sha256 = "1f76ccfa16719a24f6d84b88e5ca49fab1c372de309ce74393461903c5c49d98";
+  };
+
+  appimageContents = appimageTools.extract { inherit pname version src; };
+in appimageTools.wrapType2 {
+  inherit src pname version;
+
+  extraInstallCommands = ''
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "Peer-to-Peer Chat";
+    homepage = "https://keet.io";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ extends ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/qq/default.nix b/pkgs/applications/networking/instant-messengers/qq/default.nix
index 6d1a2696a4c99..42b8a929a2130 100644
--- a/pkgs/applications/networking/instant-messengers/qq/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qq/default.nix
@@ -17,20 +17,18 @@
 , at-spi2-core
 , autoPatchelfHook
 , wrapGAppsHook
-, copyDesktopItems
-, makeDesktopItem
 }:
 
 let
-  version = "2.0.3-543";
+  version = "3.0.0-565";
   srcs = {
     x86_64-linux = fetchurl {
-      url = "https://dldir1.qq.com/qqfile/qq/QQNT/50eed662/QQ-v${version}_x64.deb";
-      sha256 = "sha256-O8zaVHt/oXserPVHe/r6pAFpWFeLDVsiaazgaX7kxu8=";
+      url = "https://dldir1.qq.com/qqfile/qq/QQNT/64bd2578/linuxqq_${version}_amd64.deb";
+      sha256 = "sha256-IfBbheVwg4b5PuLX9bzqSuTcElxNaV3tmbGd3v/NkCY=";
     };
     aarch64-linux = fetchurl {
-      url = "https://dldir1.qq.com/qqfile/qq/QQNT/50eed662/QQ-v${version}_arm64.deb";
-      sha256 = "sha256-01ZpcoSDc5b0MCKAMq16N4cXzbouHNckOGsv+Z4et7w=";
+      url = "https://dldir1.qq.com/qqfile/qq/QQNT/64bd2578/linuxqq_${version}_arm64.deb";
+      sha256 = "sha256-6IlAJdPknaQzOE48sdxb5QbB+ZF1xKstF3ARGHM30GY=";
     };
   };
   src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -44,7 +42,6 @@ stdenv.mkDerivation {
   nativeBuildInputs = [
     autoPatchelfHook
     wrapGAppsHook
-    copyDesktopItems
     dpkg
   ];
 
@@ -67,28 +64,18 @@ stdenv.mkDerivation {
 
   installPhase = ''
     runHook preInstall
-    mkdir -p "$out/share/icons/hicolor/0x0/apps"
-    cp usr/share/icons/hicolor/0x0/apps/qq.png $out/share/icons/hicolor/0x0/apps
 
-    mkdir -p "$out/opt"
-    cp -r "opt/"* $out/opt
+    mkdir -p $out/bin
+    cp -r opt $out/opt
+    cp -r usr/share $out/share
+    substituteInPlace $out/share/applications/qq.desktop \
+      --replace "/opt/QQ/qq" "$out/bin/qq" \
+      --replace "/usr/share" "$out/share"
+    ln -s $out/opt/QQ/qq $out/bin/qq
 
-    mkdir -p "$out/bin"
-    ln -s "$out/opt/QQ/qq" "$out/bin/qq"
     runHook postInstall
   '';
 
-  desktopItems = [
-    (makeDesktopItem {
-      desktopName = "Tencent QQ";
-      genericName = "A messaging app";
-      categories = [ "Network" ];
-      icon = "qq";
-      exec = "qq";
-      name = "qq";
-    })
-  ];
-
   meta = with lib; {
     homepage = "https://im.qq.com/linuxqq/";
     description = "Messaging app";
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index a4070a2aea3b5..97fb6dfc2e3ab 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 = "20221208";
+  version = "20221227-1";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-GSZy2zW9Ek9nP9zoBfvq3wLghEsaGqmC1f4cs+OVaFE=";
+    sha256 = "sha256-yOOKgB7MO9LW6qkr/JZOYtteQTW/Yms4CMAg4EIJGc8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/libcoap/default.nix b/pkgs/applications/networking/libcoap/default.nix
index ea4d27c6b412a..673b864630d47 100644
--- a/pkgs/applications/networking/libcoap/default.nix
+++ b/pkgs/applications/networking/libcoap/default.nix
@@ -4,13 +4,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "libcoap";
-  version = "4.3.0";
+  version = "4.3.1";
   src = fetchFromGitHub {
     repo = "libcoap";
     owner = "obgm";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "1l031ys833gch600g9g3lvbsr4nysx6glbbj4lwvx3ywl0jr6l9k";
+    sha256 = "sha256-4XcAo5StyYIfe9wD0cPHKFZalMcBAuiVV2qFZ126KT8=";
   };
   nativeBuildInputs = [
     automake
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index df5c1354562c2..904239960181c 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -128,4 +128,5 @@ symlinkJoin {
   name = "msmtp-${version}";
   inherit version meta;
   paths = [ binaries scripts ];
+  passthru = { inherit binaries scripts; };
 }
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index cdaf4286f93c5..4592d17d348fb 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -15,12 +15,16 @@ nodePackages.n8n.override {
     pkgs.postgresql
   ];
 
+  # Patch minified source with changes from https://github.com/n8n-io/n8n/pull/5052
+  preRebuild = ''
+    patch -p1 -i ${./fix-permissions.diff}
+  '' +
   # Oracle's official package on npm is binary only (WHY?!) and doesn't provide binaries for aarch64.
   # This can supposedly be fixed by building a custom copy of the module from source, but that's way
   # too much complexity for a setup no one would ever actually run.
   #
   # NB: If you _are_ actually running n8n on Oracle on aarch64, feel free to submit a patch.
-  preRebuild = lib.optionalString stdenv.isAarch64 ''
+  lib.optionalString stdenv.isAarch64 ''
     rm -rf node_modules/oracledb
   '';
 
@@ -32,7 +36,7 @@ nodePackages.n8n.override {
   };
 
   meta = with lib; {
-    description = "Free and open fair-code licensed node based Workflow Automation Tool";
+    description = "Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.";
     maintainers = with maintainers; [ freezeboy k900 ];
     license = {
       fullName = "Sustainable Use License";
diff --git a/pkgs/applications/networking/n8n/fix-permissions.diff b/pkgs/applications/networking/n8n/fix-permissions.diff
new file mode 100644
index 0000000000000..81a5a4ee6465d
--- /dev/null
+++ b/pkgs/applications/networking/n8n/fix-permissions.diff
@@ -0,0 +1,28 @@
+--- a/dist/LoadNodesAndCredentials.js
++++ b/dist/LoadNodesAndCredentials.js
+@@ -216,6 +216,7 @@
+         const { types } = loader;
+         this.types.nodes = this.types.nodes.concat(types.nodes);
+         this.types.credentials = this.types.credentials.concat(types.credentials);
++        let seen = new Set();
+         const iconPromises = Object.entries(types).flatMap(([typeName, typesArr]) => typesArr.map((type) => {
+             var _a;
+             if (!((_a = type.icon) === null || _a === void 0 ? void 0 : _a.startsWith('file:')))
+@@ -226,7 +227,16 @@
+             type.iconUrl = iconUrl;
+             const source = path_1.default.join(dir, icon);
+             const destination = path_1.default.join(constants_1.GENERATED_STATIC_DIR, iconUrl);
+-            return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => (0, promises_1.copyFile)(source, destination));
++            if (!seen.has(destination)) {
++                seen.add(destination);
++                return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => {
++                    await (0, promises_1.copyFile)(source, destination);
++                    await (0, promises_1.chmod)(destination, 0o644);
++                });
++            }
++            else {
++                return Promise.resolve();
++            }
+         }));
+         await Promise.all(iconPromises);
+         for (const nodeTypeName in loader.nodeTypes) {
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 6836e00c7e01b..c899957feddbc 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "@acuminous/bitsyntax-0.1.2" = {
+      name = "_at_acuminous_slash_bitsyntax";
+      packageName = "@acuminous/bitsyntax";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@acuminous/bitsyntax/-/bitsyntax-0.1.2.tgz";
+        sha512 = "29lUK80d1muEQqiUsSo+3A0yP6CdspgC95EnKBMi22Xlwt79i/En4Vr67+cXhU+cZjbti3TgGGC5wy1stIywVQ==";
+      };
+    };
     "@apidevtools/json-schema-ref-parser-9.0.9" = {
       name = "_at_apidevtools_slash_json-schema-ref-parser";
       packageName = "@apidevtools/json-schema-ref-parser";
@@ -40,13 +49,13 @@ let
         sha512 = "mZ1MSKhZBYoV8GAWceA+PEJFWV2VpdNSpxxcj1wjIAOi00ykRuIQChT99xlQGZWLY3/NApWhSImlFwsmCEs4vA==";
       };
     };
-    "@azure/core-http-2.2.7" = {
+    "@azure/core-http-2.3.1" = {
       name = "_at_azure_slash_core-http";
       packageName = "@azure/core-http";
-      version = "2.2.7";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.7.tgz";
-        sha512 = "TyGMeDm90mkRS8XzSQbSMD+TqnWL1XKGCh0x0QVGMD8COH2yU0q5SaHm/IBEBkzcq0u73NhS/p57T3KVSgUFqQ==";
+        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.3.1.tgz";
+        sha512 = "cur03BUwV0Tbv81bQBOLafFB02B6G++K6F2O3IMl8pSE2QlXm3cu11bfyBNlDUKi5U+xnB3GC63ae3athhkx6Q==";
       };
     };
     "@azure/core-http-compat-1.3.0" = {
@@ -67,22 +76,22 @@ let
         sha512 = "F65+rYkll1dpw3RGm8/SSiSj+/QkMeYDanzS/QKlM1dmuneVyXbO46C88V1MRHluLGdMP6qfD3vDRYALn0z0tQ==";
       };
     };
-    "@azure/core-paging-1.3.0" = {
+    "@azure/core-paging-1.4.0" = {
       name = "_at_azure_slash_core-paging";
       packageName = "@azure/core-paging";
-      version = "1.3.0";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.3.0.tgz";
-        sha512 = "H6Tg9eBm0brHqLy0OSAGzxIh1t4UL8eZVrSUMJ60Ra9cwq2pOskFqVpz2pYoHDsBY1jZ4V/P8LRGb5D5pmC6rg==";
+        url = "https://registry.npmjs.org/@azure/core-paging/-/core-paging-1.4.0.tgz";
+        sha512 = "tabFtZTg8D9XqZKEfNUOGh63SuYeOxmvH4GDcOJN+R1bZWZ1FZskctgY9Pmuwzhn+0Xvq9rmimK9hsvtLkeBsw==";
       };
     };
-    "@azure/core-rest-pipeline-1.9.2" = {
+    "@azure/core-rest-pipeline-1.10.0" = {
       name = "_at_azure_slash_core-rest-pipeline";
       packageName = "@azure/core-rest-pipeline";
-      version = "1.9.2";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.9.2.tgz";
-        sha512 = "8rXI6ircjenaLp+PkOFpo37tQ1PQfztZkfVj97BIF3RPxHAsoVSgkJtu3IK/bUEWcb7HzXSoyBe06M7ODRkRyw==";
+        url = "https://registry.npmjs.org/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.0.tgz";
+        sha512 = "m6c4iAalfaf6sytOOQhLKFprEHSkSjQuRgkW7MTMnAN+GENDDL4XZJp7WKFnq9VpKUE+ggq+rp5xX9GI93lumw==";
       };
     };
     "@azure/core-tracing-1.0.0-preview.13" = {
@@ -148,13 +157,13 @@ let
         sha512 = "dG76W7ElfLi+fbTjnZVGj+M9e0BIEJmRxU6fHaUQ12bZBe8EJKYb2GV50YWNaP2uJiVQ5+7nXEVj1VN1UQtaEw==";
       };
     };
-    "@azure/ms-rest-js-2.6.2" = {
+    "@azure/ms-rest-js-2.6.4" = {
       name = "_at_azure_slash_ms-rest-js";
       packageName = "@azure/ms-rest-js";
-      version = "2.6.2";
+      version = "2.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.2.tgz";
-        sha512 = "0/8rOxAoR9M3qKUdbGOIYtHtQkm4m5jdoDNdxTU0DkOr84KwyAdJuW/RfjJinGyig4h73DNF0rdCl6XowgCYcg==";
+        url = "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.6.4.tgz";
+        sha512 = "2sbOpGhlBfv9itWdF7Qlk0CmoQCARxe5unwjNOprU7OdgEgabQncZ35L5u1A+zgdkVtNYF9Eo6XAhXzTweIhag==";
       };
     };
     "@azure/ms-rest-nodeauth-3.1.1" = {
@@ -166,13 +175,13 @@ let
         sha512 = "UA/8dgLy3+ZiwJjAZHxL4MUB14fFQPkaAOZ94jsTW/Z6WmoOeny2+cLk0+dyIX/iH6qSrEWKwbStEeB970B9pA==";
       };
     };
-    "@azure/msal-browser-2.30.0" = {
+    "@azure/msal-browser-2.32.1" = {
       name = "_at_azure_slash_msal-browser";
       packageName = "@azure/msal-browser";
-      version = "2.30.0";
+      version = "2.32.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.30.0.tgz";
-        sha512 = "4Y9+rjJiTFP7KEmuq1btmIrBgk0ImNyKsXj6A6NHZALd1X0M6W7L7kxpH6F+d1tEkMv8bYnZdn7IcauXbL8Llw==";
+        url = "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.32.1.tgz";
+        sha512 = "2G3B12ZEIpiimi6/Yqq7KLk4ud1zZWoHvVd2kJ2VthN1HjMsZjdMUxeHkwMWaQ6RzO6mv9rZiuKmRX64xkXW9g==";
       };
     };
     "@azure/msal-common-7.6.0" = {
@@ -184,13 +193,22 @@ let
         sha512 = "XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==";
       };
     };
-    "@azure/msal-node-1.14.2" = {
+    "@azure/msal-common-9.0.1" = {
+      name = "_at_azure_slash_msal-common";
+      packageName = "@azure/msal-common";
+      version = "9.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.0.1.tgz";
+        sha512 = "eNNHIW/cwPTZDWs9KtYgb1X6gtQ+cC+FGX2YN+t4AUVsBdUbqlMTnUs6/c/VBxC2AAGIhgLREuNnO3F66AN2zQ==";
+      };
+    };
+    "@azure/msal-node-1.14.5" = {
       name = "_at_azure_slash_msal-node";
       packageName = "@azure/msal-node";
-      version = "1.14.2";
+      version = "1.14.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.2.tgz";
-        sha512 = "t3whVhhLdZVVeDEtUPD2Wqfa8BDi3EDMnpWp8dbuRW0GhUpikBfs4AQU0Fe6P9zS87n9LpmUTLrIcPEEuzkvfA==";
+        url = "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.5.tgz";
+        sha512 = "NcVdMfn8Z3ogN+9RjOSF7uwf2Gki5DEJl0BdDSL83KUAgVAobtkZi5W8EqxbJLrTO/ET0jv5DregrcR5qg2pEA==";
       };
     };
     "@azure/storage-blob-12.12.0" = {
@@ -202,85 +220,85 @@ let
         sha512 = "o/Mf6lkyYG/eBW4/hXB9864RxVNmAkcKHjsGR6Inlp5hupa3exjSyH2KjO3tLO//YGA+tS+17hM2bxRl9Sn16g==";
       };
     };
-    "@babel/parser-7.20.0" = {
+    "@babel/parser-7.20.7" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.20.0";
+      version = "7.20.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.20.0.tgz";
-        sha512 = "G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz";
+        sha512 = "T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==";
       };
     };
-    "@babel/runtime-7.20.0" = {
+    "@babel/runtime-7.20.7" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.20.0";
+      version = "7.20.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.0.tgz";
-        sha512 = "NDYdls71fTXoU8TZHfbBWg7DiZfNzClcKui/+kyi6ppD2L1qnWW3VV6CjtaBXSUGGhiTWJ6ereOIkUvenif66Q==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz";
+        sha512 = "UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==";
       };
     };
-    "@codemirror/autocomplete-6.3.0" = {
+    "@codemirror/autocomplete-6.4.0" = {
       name = "_at_codemirror_slash_autocomplete";
       packageName = "@codemirror/autocomplete";
-      version = "6.3.0";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.3.0.tgz";
-        sha512 = "4jEvh3AjJZTDKazd10J6ZsCIqaYxDMCeua5ouQxY8hlFIml+nr7le0SgBhT3SIytFBmdzPK3AUhXGuW3T79nVg==";
+        url = "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.0.tgz";
+        sha512 = "HLF2PnZAm1s4kGs30EiqKMgD7XsYaQ0XJnMR0rofEWQ5t5D60SfqpDIkIh1ze5tiEbyUWm8+VJ6W1/erVvBMIA==";
       };
     };
-    "@codemirror/commands-6.1.2" = {
+    "@codemirror/commands-6.1.3" = {
       name = "_at_codemirror_slash_commands";
       packageName = "@codemirror/commands";
-      version = "6.1.2";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.2.tgz";
-        sha512 = "sO3jdX1s0pam6lIdeSJLMN3DQ6mPEbM4yLvyKkdqtmd/UDwhXA5+AwFJ89rRXm6vTeOXBsE5cAmlos/t7MJdgg==";
+        url = "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.3.tgz";
+        sha512 = "wUw1+vb34Ultv0Q9m/OVB7yizGXgtoDbkI5f5ErM8bebwLyUYjicdhJTKhTvPTpgkv8dq/BK0lQ3K5pRf2DAJw==";
       };
     };
-    "@codemirror/lang-javascript-6.1.1" = {
+    "@codemirror/lang-javascript-6.1.2" = {
       name = "_at_codemirror_slash_lang-javascript";
       packageName = "@codemirror/lang-javascript";
-      version = "6.1.1";
+      version = "6.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.1.tgz";
-        sha512 = "F4+kiuC5d5dUSJmff96tJQwpEXs/tX/4bapMRnZWW6bHKK1Fx6MunTzopkCUWRa9bF87GPmb9m7Qtg7Yv8f3uQ==";
+        url = "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.2.tgz";
+        sha512 = "OcwLfZXdQ1OHrLiIcKCn7MqZ7nx205CMKlhe+vL88pe2ymhT9+2P+QhwkYGxMICj8TDHyp8HFKVwpiisUT7iEQ==";
       };
     };
-    "@codemirror/language-6.3.0" = {
+    "@codemirror/language-6.3.2" = {
       name = "_at_codemirror_slash_language";
       packageName = "@codemirror/language";
-      version = "6.3.0";
+      version = "6.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/language/-/language-6.3.0.tgz";
-        sha512 = "6jOE5DEt6sKD46SXhn3xPbBehn+l48ACcA6Uxs2k+E2YNH9XGF5WdGMTYr2DlggfK4h0QZBK6zEb5S7lkTriWA==";
+        url = "https://registry.npmjs.org/@codemirror/language/-/language-6.3.2.tgz";
+        sha512 = "g42uHhOcEMAXjmozGG+rdom5UsbyfMxQFh7AbkeoaNImddL6Xt4cQDL0+JxmG7+as18rUAvZaqzP/TjsciVIrA==";
       };
     };
-    "@codemirror/lint-6.0.0" = {
+    "@codemirror/lint-6.1.0" = {
       name = "_at_codemirror_slash_lint";
       packageName = "@codemirror/lint";
-      version = "6.0.0";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/lint/-/lint-6.0.0.tgz";
-        sha512 = "nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==";
+        url = "https://registry.npmjs.org/@codemirror/lint/-/lint-6.1.0.tgz";
+        sha512 = "mdvDQrjRmYPvQ3WrzF6Ewaao+NWERYtpthJvoQ3tK3t/44Ynhk8ZGjTSL9jMEv8CgSMogmt75X8ceOZRDSXHtQ==";
       };
     };
-    "@codemirror/state-6.1.2" = {
+    "@codemirror/state-6.2.0" = {
       name = "_at_codemirror_slash_state";
       packageName = "@codemirror/state";
-      version = "6.1.2";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/state/-/state-6.1.2.tgz";
-        sha512 = "Mxff85Hp5va+zuj+H748KbubXjrinX/k28lj43H14T2D0+4kuvEFIEIO7hCEcvBT8ubZyIelt9yGOjj2MWOEQA==";
+        url = "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz";
+        sha512 = "69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==";
       };
     };
-    "@codemirror/view-6.4.0" = {
+    "@codemirror/view-6.7.1" = {
       name = "_at_codemirror_slash_view";
       packageName = "@codemirror/view";
-      version = "6.4.0";
+      version = "6.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@codemirror/view/-/view-6.4.0.tgz";
-        sha512 = "Kv32b6Tn7QVwFbj/EDswTLSocjk5kgggF6zzBFAL4o4hZ/vmtFD155+EjH1pVlbfoDyVC2M6SedPsMrwYscgNg==";
+        url = "https://registry.npmjs.org/@codemirror/view/-/view-6.7.1.tgz";
+        sha512 = "kYtS+uqYw/q/0ytYxpkqE1JVuK5NsbmBklWYhwLFTKO9gVuTdh/kDEeZPKorbqHcJ+P+ucrhcsS1czVweOpT2g==";
       };
     };
     "@colors/colors-1.5.0" = {
@@ -346,13 +364,13 @@ let
         sha512 = "CA3MAZBTxVsF6SkfkHXDerkhcQs0QPofy43eFdbWJJkZiq3SfiaH1msOkac59rQaqto5EqWnASboY1dBuKen5w==";
       };
     };
-    "@fortawesome/fontawesome-common-types-6.2.0" = {
+    "@fortawesome/fontawesome-common-types-6.2.1" = {
       name = "_at_fortawesome_slash_fontawesome-common-types";
       packageName = "@fortawesome/fontawesome-common-types";
-      version = "6.2.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz";
-        sha512 = "rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg==";
+        url = "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.1.tgz";
+        sha512 = "Sz07mnQrTekFWLz5BMjOzHl/+NooTdW8F8kDQxjWwbpOJcnoSg4vUDng8d/WR1wOxM0O+CY9Zw0nR054riNYtQ==";
       };
     };
     "@fortawesome/fontawesome-svg-core-1.3.0" = {
@@ -364,13 +382,13 @@ let
         sha512 = "UIL6crBWhjTNQcONt96ExjUnKt1D68foe3xjEensLDclqQ6YagwCRYVQdrp/hW0ALRp/5Fv/VKw+MqTUWYYvPg==";
       };
     };
-    "@fortawesome/free-regular-svg-icons-6.2.0" = {
+    "@fortawesome/free-regular-svg-icons-6.2.1" = {
       name = "_at_fortawesome_slash_free-regular-svg-icons";
       packageName = "@fortawesome/free-regular-svg-icons";
-      version = "6.2.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.0.tgz";
-        sha512 = "M1dG+PAmkYMTL9BSUHFXY5oaHwBYfHCPhbJ8qj8JELsc9XCrUJ6eEHWip4q0tE+h9C0DVyFkwIM9t7QYyCpprQ==";
+        url = "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.2.1.tgz";
+        sha512 = "wiqcNDNom75x+pe88FclpKz7aOSqS2lOivZeicMV5KRwOAeypxEYWAK/0v+7r+LrEY30+qzh8r2XDaEHvoLsMA==";
       };
     };
     "@fortawesome/free-solid-svg-icons-5.15.4" = {
@@ -382,13 +400,13 @@ let
         sha512 = "JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==";
       };
     };
-    "@fortawesome/vue-fontawesome-2.0.8" = {
+    "@fortawesome/vue-fontawesome-2.0.9" = {
       name = "_at_fortawesome_slash_vue-fontawesome";
       packageName = "@fortawesome/vue-fontawesome";
-      version = "2.0.8";
+      version = "2.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.8.tgz";
-        sha512 = "SRmP0q9Ox4zq8ydDR/hrH+23TVU1bdwYVnugLVaAIwklOHbf56gx6JUGlwES7zjuNYqzKgl8e39iYf6ph8qSQw==";
+        url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.9.tgz";
+        sha512 = "tUmO92PFHbLOplitjHNBVGMJm6S57vp16tBXJVPKSI/6CfjrgLycqKxEpC6f7qsOqUdoXs5nIv4HLUfrOMHzuw==";
       };
     };
     "@gar/promisify-1.1.3" = {
@@ -454,40 +472,40 @@ let
         sha512 = "GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==";
       };
     };
-    "@lezer/common-1.0.1" = {
+    "@lezer/common-1.0.2" = {
       name = "_at_lezer_slash_common";
       packageName = "@lezer/common";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lezer/common/-/common-1.0.1.tgz";
-        sha512 = "8TR5++Q/F//tpDsLd5zkrvEX5xxeemafEaek7mUp7Y+bI8cKQXdSqhzTOBaOogETcMOVr0pT3BBPXp13477ciw==";
+        url = "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz";
+        sha512 = "SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng==";
       };
     };
-    "@lezer/highlight-1.1.2" = {
+    "@lezer/highlight-1.1.3" = {
       name = "_at_lezer_slash_highlight";
       packageName = "@lezer/highlight";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.2.tgz";
-        sha512 = "CAun1WR1glxG9ZdOokTZwXbcwB7PXkIEyZRUMFBVwSrhTcogWq634/ByNImrkUnQhjju6xsIaOBIxvcRJtplXQ==";
+        url = "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.3.tgz";
+        sha512 = "3vLKLPThO4td43lYRBygmMY18JN3CPh9w+XS2j8WC30vR4yZeFG4z1iFe4jXE43NtGqe//zHW5q8ENLlHvz9gw==";
       };
     };
-    "@lezer/javascript-1.0.2" = {
+    "@lezer/javascript-1.4.0" = {
       name = "_at_lezer_slash_javascript";
       packageName = "@lezer/javascript";
-      version = "1.0.2";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.0.2.tgz";
-        sha512 = "IjOVeIRhM8IuafWNnk+UzRz7p4/JSOKBNINLYLsdSGuJS9Ju7vFdc82AlTt0jgtV5D8eBZf4g0vK4d3ttBNz7A==";
+        url = "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.0.tgz";
+        sha512 = "MQ3oLJGEtpUgZ03LOLI60tDnjSkKO6h9hZSe31qJ1UQV+I9bpv3pwSnPUnX0+e+3E1PBVkox0GB2/MXkxg0M2w==";
       };
     };
-    "@lezer/lr-1.2.3" = {
+    "@lezer/lr-1.2.5" = {
       name = "_at_lezer_slash_lr";
       packageName = "@lezer/lr";
-      version = "1.2.3";
+      version = "1.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.3.tgz";
-        sha512 = "qpB7rBzH8f6Mzjv2AVZRahcm+2Cf7nbIH++uXbvVOL1yIRvVWQ3HAM/saeBLCyz/togB7LGo76qdJYL1uKQlqA==";
+        url = "https://registry.npmjs.org/@lezer/lr/-/lr-1.2.5.tgz";
+        sha512 = "f9319YG1A/3ysgUE3bqCHEd7g+3ZZ71MWlwEc42mpnLVYXgfJJgtu1XAyBB4Kz8FmqmnFe9caopDqKeMMMAU6g==";
       };
     };
     "@mapbox/node-pre-gyp-1.0.10" = {
@@ -499,6 +517,15 @@ let
         sha512 = "4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==";
       };
     };
+    "@n8n_io/license-sdk-1.8.0" = {
+      name = "_at_n8n_io_slash_license-sdk";
+      packageName = "@n8n_io/license-sdk";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@n8n_io/license-sdk/-/license-sdk-1.8.0.tgz";
+        sha512 = "dSBD6EHTu6kWWz1ILxtCcaQqVZu+p/8J0eQ2ntx7Jk8BYSvn5Hh4Oz5M81ut9Pz+2uak+GnIuI6KeYUe1QBXIQ==";
+      };
+    };
     "@n8n_io/riot-tmpl-1.0.1" = {
       name = "_at_n8n_io_slash_riot-tmpl";
       packageName = "@n8n_io/riot-tmpl";
@@ -553,31 +580,31 @@ let
         sha512 = "1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==";
       };
     };
-    "@oclif/command-1.8.18" = {
+    "@oclif/command-1.8.20" = {
       name = "_at_oclif_slash_command";
       packageName = "@oclif/command";
-      version = "1.8.18";
+      version = "1.8.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.18.tgz";
-        sha512 = "qTad+jtiriMMbkw6ArtcUY89cwLwmwDnD4KSGT+OQiZKYtegp3NUCM9JN8lfj/aKC+0kvSitJM4ULzbgiVTKQQ==";
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.20.tgz";
+        sha512 = "BHM9byujY0kf0PiRorIyp99K50cA3i6Hyro0+TPpFFx+4QM+PyQ5vMHO/TG5wkEP8tIivNRs24bF8QVyJru25g==";
       };
     };
-    "@oclif/config-1.18.5" = {
+    "@oclif/config-1.18.6" = {
       name = "_at_oclif_slash_config";
       packageName = "@oclif/config";
-      version = "1.18.5";
+      version = "1.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.5.tgz";
-        sha512 = "R6dBedaUVn5jtAh79aaRm7jezx4l3V7Im9NORlLmudz5BL1foMeuXEvnqm+bMiejyexVA+oi9mto6YKZPzo/5Q==";
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.6.tgz";
+        sha512 = "OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA==";
       };
     };
-    "@oclif/core-1.19.2" = {
+    "@oclif/core-1.23.0" = {
       name = "_at_oclif_slash_core";
       packageName = "@oclif/core";
-      version = "1.19.2";
+      version = "1.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/core/-/core-1.19.2.tgz";
-        sha512 = "n5ni/NNR6+I0IQXVGoLKdrdw6IS3WH/R/hw6WX8ERfLMZACrNSuJFD9EmBZkztyRkmiQ2L06ULazW5bJn5Shog==";
+        url = "https://registry.npmjs.org/@oclif/core/-/core-1.23.0.tgz";
+        sha512 = "LnQoRtyQLQCsEHQsY7Ju0Z+g84XIVTxtVWr9hq81Juzj0o2f4zaFZ3f39VfnXvxI4m+QmROaoUJvr417eSEuhg==";
       };
     };
     "@oclif/errors-1.3.6" = {
@@ -589,13 +616,13 @@ let
         sha512 = "fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==";
       };
     };
-    "@oclif/help-1.0.3" = {
+    "@oclif/help-1.0.4" = {
       name = "_at_oclif_slash_help";
       packageName = "@oclif/help";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/help/-/help-1.0.3.tgz";
-        sha512 = "AjjhSWFQkRb9rChEH+IRUmp0CxEacYpUbh+kQqtdCR9CDSsj2a3ibWjtMtJb4lFGAle6kVKfaal/juYe+6P5TQ==";
+        url = "https://registry.npmjs.org/@oclif/help/-/help-1.0.4.tgz";
+        sha512 = "w3xsdZj1af/dFN7oCmvAHbHRj6L0SOO5uGXEve0LLroAJSM3DeEpzgNMjxS5RTV2gVC4RmJ/rTqmp0SRaXGiTA==";
       };
     };
     "@oclif/linewrap-1.0.0" = {
@@ -607,31 +634,31 @@ let
         sha512 = "Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==";
       };
     };
-    "@oclif/parser-3.8.8" = {
+    "@oclif/parser-3.8.9" = {
       name = "_at_oclif_slash_parser";
       packageName = "@oclif/parser";
-      version = "3.8.8";
+      version = "3.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.8.tgz";
-        sha512 = "OgqQAtpyq1XFJG3dvLl9aqiO+F5pubkzt7AivUDkNoa6/hNgVZ79vvTO8sqo5XAAhOm/fcTSerZ35OTnTJb1ng==";
+        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.9.tgz";
+        sha512 = "1j/kThdse7yHQz6+c3v8RA1I3gD6+SGt2O7IAb/MAMoxqyBrFQDabQHH2UU4eVFGMLN7U91AiYJp11zJ9LcQAg==";
       };
     };
-    "@oclif/screen-3.0.2" = {
+    "@oclif/screen-3.0.3" = {
       name = "_at_oclif_slash_screen";
       packageName = "@oclif/screen";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.2.tgz";
-        sha512 = "S/SF/XYJeevwIgHFmVDAFRUvM3m+OjhvCAYMk78ZJQCYCQ5wS7j+LTt1ZEv2jpEEGg2tx/F6TYYWxddNAYHrFQ==";
+        url = "https://registry.npmjs.org/@oclif/screen/-/screen-3.0.3.tgz";
+        sha512 = "KX8gMYA9ujBPOd1HFsV9e0iEx7Uoj8AG/3YsW4TtWQTg4lJvr82qNm7o/cFQfYRIt+jw7Ew/4oL4A22zOT+IRA==";
       };
     };
-    "@opentelemetry/api-1.2.0" = {
+    "@opentelemetry/api-1.3.0" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.2.0.tgz";
-        sha512 = "0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==";
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.3.0.tgz";
+        sha512 = "YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ==";
       };
     };
     "@rudderstack/rudder-sdk-node-1.0.6" = {
@@ -643,13 +670,13 @@ let
         sha512 = "kJYCXv6fRFbQrAp3hMsgRCnAa7RUBdbiGLBT9PcpQURi0VwHmD7mk3Ja7U4HDnL0EHXYJpPyx3oSonkklmPJ9Q==";
       };
     };
-    "@sap/hana-client-2.14.22" = {
+    "@sap/hana-client-2.15.17" = {
       name = "_at_sap_slash_hana-client";
       packageName = "@sap/hana-client";
-      version = "2.14.22";
+      version = "2.15.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sap/hana-client/-/hana-client-2.14.22.tgz";
-        sha512 = "Do1VnybxssI5kAg/ti4GoEOhgU7p7R9T9/v9amzDNZMg7rC7C4LVno+x++ERTWv81pzSaSrYKkr2O/MP7OE1hA==";
+        url = "https://registry.npmjs.org/@sap/hana-client/-/hana-client-2.15.17.tgz";
+        sha512 = "uJV+noUGsr0ag8p9nDxIExpIcwHiQDUCPG4mSQWMgo56vxSAdcwKmie1z2OVdqRPO//AysNYhFAHzDiyNf5yqg==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -661,13 +688,58 @@ let
         sha512 = "ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==";
       };
     };
-    "@selderee/plugin-htmlparser2-0.6.0" = {
+    "@selderee/plugin-htmlparser2-0.10.0" = {
       name = "_at_selderee_slash_plugin-htmlparser2";
       packageName = "@selderee/plugin-htmlparser2";
-      version = "0.6.0";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz";
-        sha512 = "J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==";
+        url = "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.10.0.tgz";
+        sha512 = "gW69MEamZ4wk1OsOq1nG1jcyhXIQcnrsX5JwixVw/9xaiav8TCyjESAruu1Rz9yyInhgBXxkNwMeygKnN2uxNA==";
+      };
+    };
+    "@sentry/core-7.28.1" = {
+      name = "_at_sentry_slash_core";
+      packageName = "@sentry/core";
+      version = "7.28.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sentry/core/-/core-7.28.1.tgz";
+        sha512 = "7wvnuvn/mrAfcugWoCG/3pqDIrUgH5t+HisMJMGw0h9Tc33KqrmqMDCQVvjlrr2pWrw/vuUCFdm8CbUHJ832oQ==";
+      };
+    };
+    "@sentry/integrations-7.28.1" = {
+      name = "_at_sentry_slash_integrations";
+      packageName = "@sentry/integrations";
+      version = "7.28.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.28.1.tgz";
+        sha512 = "opeXVR1L9mZmZcpAs9kX+4JPY7pXhVupy17Sbz+43zd5CshYTveIcttGNPp+EPT3j7mMU+1TMAYZspKqJXtEBQ==";
+      };
+    };
+    "@sentry/node-7.28.1" = {
+      name = "_at_sentry_slash_node";
+      packageName = "@sentry/node";
+      version = "7.28.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sentry/node/-/node-7.28.1.tgz";
+        sha512 = "n7AbpJqZJjWPpKNGc55mP7AdQ+XSomS9MZJuZ+Xt2AU52aVwGPI4z9aHUJFSDGaMHHiu/toyPnoUES+XZf6/hw==";
+      };
+    };
+    "@sentry/types-7.28.1" = {
+      name = "_at_sentry_slash_types";
+      packageName = "@sentry/types";
+      version = "7.28.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sentry/types/-/types-7.28.1.tgz";
+        sha512 = "DvSplMVrVEmOzR2M161V5+B8Up3vR71xMqJOpWTzE9TqtFJRGPtqT/5OBsNJJw1+/j2ssMcnKwbEo9Q2EGeS6g==";
+      };
+    };
+    "@sentry/utils-7.28.1" = {
+      name = "_at_sentry_slash_utils";
+      packageName = "@sentry/utils";
+      version = "7.28.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.28.1.tgz";
+        sha512 = "75/jzLUO9HH09iC9TslNimGbxOP3jgn89P+q7uR+rp2fJfRExHVeKJZQdK0Ij4/SmE7TJ3Uh2r154N0INZEx1g==";
       };
     };
     "@servie/events-1.0.0" = {
@@ -760,13 +832,13 @@ let
         sha512 = "erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==";
       };
     };
-    "@types/express-4.17.14" = {
+    "@types/express-4.17.15" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.14";
+      version = "4.17.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz";
-        sha512 = "TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz";
+        sha512 = "Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==";
       };
     };
     "@types/express-jwt-0.0.42" = {
@@ -814,13 +886,13 @@ let
         sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
       };
     };
-    "@types/lodash-4.14.186" = {
+    "@types/lodash-4.14.191" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.186";
+      version = "4.14.191";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.186.tgz";
-        sha512 = "eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz";
+        sha512 = "BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==";
       };
     };
     "@types/mime-3.0.1" = {
@@ -850,13 +922,13 @@ let
         sha512 = "J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==";
       };
     };
-    "@types/node-18.11.7" = {
+    "@types/node-18.11.18" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.11.7";
+      version = "18.11.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.11.7.tgz";
-        sha512 = "LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz";
+        sha512 = "DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==";
       };
     };
     "@types/node-fetch-2.6.2" = {
@@ -886,13 +958,13 @@ let
         sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     };
-    "@types/readable-stream-2.3.14" = {
+    "@types/readable-stream-2.3.15" = {
       name = "_at_types_slash_readable-stream";
       packageName = "@types/readable-stream";
-      version = "2.3.14";
+      version = "2.3.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.14.tgz";
-        sha512 = "8jQ5Mp7bsDJEnW/69i6nAaQMoLwAVJVc7ZRAVTrdh/o6XueQsX38TEvKuYyoQj76/mg7WdlRfMrtl9pDLCJWsg==";
+        url = "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.15.tgz";
+        sha512 = "oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==";
       };
     };
     "@types/serve-static-1.15.0" = {
@@ -940,22 +1012,40 @@ let
         sha512 = "FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==";
       };
     };
-    "@vue/compiler-sfc-2.7.13" = {
+    "@vue/compiler-sfc-2.7.14" = {
       name = "_at_vue_slash_compiler-sfc";
       packageName = "@vue/compiler-sfc";
-      version = "2.7.13";
+      version = "2.7.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.13.tgz";
-        sha512 = "zzu2rLRZlgIU+OT3Atbr7Y6PG+LW4wVQpPfNRrGDH3dM9PsrcVfa+1pKb8bW467bGM3aDOvAnsYLWVpYIv3GRg==";
+        url = "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz";
+        sha512 = "aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==";
       };
     };
-    "@xmldom/xmldom-0.7.6" = {
+    "@vue/composition-api-1.7.1" = {
+      name = "_at_vue_slash_composition-api";
+      packageName = "@vue/composition-api";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/composition-api/-/composition-api-1.7.1.tgz";
+        sha512 = "xDWoEtxGXhH9Ku3ROYX/rzhcpt4v31hpPU5zF3UeVC/qxA3dChmqU8zvTUYoKh3j7rzpNsoFOwqsWG7XPMlaFA==";
+      };
+    };
+    "@vue/devtools-api-6.4.5" = {
+      name = "_at_vue_slash_devtools-api";
+      packageName = "@vue/devtools-api";
+      version = "6.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz";
+        sha512 = "JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==";
+      };
+    };
+    "@xmldom/xmldom-0.8.6" = {
       name = "_at_xmldom_slash_xmldom";
       packageName = "@xmldom/xmldom";
-      version = "0.7.6";
+      version = "0.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.6.tgz";
-        sha512 = "HHXP9hskkFQHy8QxxUXkS7946FFIhYVfGqsk0WLwllmexN9x/+R4UBLvurHEuyXRfVEObVR8APuQehykLviwSQ==";
+        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz";
+        sha512 = "uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg==";
       };
     };
     "a-sync-waterfall-1.0.1" = {
@@ -994,15 +1084,6 @@ let
         sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     };
-    "access-control-1.0.1" = {
-      name = "access-control";
-      packageName = "access-control";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/access-control/-/access-control-1.0.1.tgz";
-        sha512 = "H5aqjkogmFxfaOrfn/e42vyspHVXuJ8er63KuljJXpOyJ1ZO/U5CrHfO8BLKIy2w7mBM02L5quL0vbfQqrGQbA==";
-      };
-    };
     "acorn-8.8.1" = {
       name = "acorn";
       packageName = "acorn";
@@ -1021,13 +1102,13 @@ let
         sha512 = "k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==";
       };
     };
-    "adal-node-0.2.3" = {
+    "adal-node-0.2.4" = {
       name = "adal-node";
       packageName = "adal-node";
-      version = "0.2.3";
+      version = "0.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.2.3.tgz";
-        sha512 = "gMKr8RuYEYvsj7jyfCv/4BfKToQThz20SP71N3AtFn3ia3yAR8Qt2T3aVQhuJzunWs2b38ZsQV0qsZPdwZr7VQ==";
+        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.2.4.tgz";
+        sha512 = "zIcvbwQFKMUtKxxj8YMHeTT1o/TPXfVNsTXVgXD8sxwV6h4AFQgK77dRciGhuEF9/Sdm3UQPJVPc/6XxrccSeA==";
       };
     };
     "adler-32-1.2.0" = {
@@ -1084,13 +1165,13 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
-    "amqplib-0.8.0" = {
+    "amqplib-0.10.3" = {
       name = "amqplib";
       packageName = "amqplib";
-      version = "0.8.0";
+      version = "0.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/amqplib/-/amqplib-0.8.0.tgz";
-        sha512 = "icU+a4kkq4Y1PS4NNi+YPDMwdlbFcZ1EZTQT2nigW3fvOb6AOgUQ9+Mk4ue0Zu5cBg/XpDzB40oH10ysrk2dmA==";
+        url = "https://registry.npmjs.org/amqplib/-/amqplib-0.10.3.tgz";
+        sha512 = "UHmuSa7n8vVW/a5HGh2nFPqAEr8+cD4dEZ6u9GjP91nHfr1a54RyAKyra7Sb5NH7NBKOUlyQSMXIp0qAixKexw==";
       };
     };
     "ansi-escapes-3.2.0" = {
@@ -1147,13 +1228,13 @@ let
         sha512 = "7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==";
       };
     };
-    "anymatch-3.1.2" = {
+    "anymatch-3.1.3" = {
       name = "anymatch";
       packageName = "anymatch";
-      version = "3.1.2";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz";
-        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz";
+        sha512 = "KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==";
       };
     };
     "app-root-path-3.1.0" = {
@@ -1255,13 +1336,13 @@ let
         sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
       };
     };
-    "array.prototype.reduce-1.0.4" = {
+    "array.prototype.reduce-1.0.5" = {
       name = "array.prototype.reduce";
       packageName = "array.prototype.reduce";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz";
-        sha512 = "WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==";
+        url = "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz";
+        sha512 = "kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==";
       };
     };
     "asap-2.0.6" = {
@@ -1309,13 +1390,13 @@ let
         sha512 = "Y2LZPOWeZ6qehv698ZgOGGCZXBQShObWnGthTrIFlIQjuV1gg2B8QOhWFRExq/MR1VnPpIIe7P9vX2vElxv+Pg==";
       };
     };
-    "assert-options-0.7.0" = {
+    "assert-options-0.8.0" = {
       name = "assert-options";
       packageName = "assert-options";
-      version = "0.7.0";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/assert-options/-/assert-options-0.7.0.tgz";
-        sha512 = "7q9uNH/Dh8gFgpIIb9ja8PJEWA5AQy3xnBC8jtKs8K/gNVCr1K6kIvlm59HUyYgvM7oEDoLzGgPcGd9FqhtXEQ==";
+        url = "https://registry.npmjs.org/assert-options/-/assert-options-0.8.0.tgz";
+        sha512 = "qSELrEaEz4sGwTs4Qh+swQkjiHAysC4rot21+jzXU86dJzNG+FDqBzyS3ohSoTRf4ZLA3FSwxQdiuNl5NXUtvA==";
       };
     };
     "assert-plus-1.0.0" = {
@@ -1399,22 +1480,22 @@ let
         sha512 = "DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==";
       };
     };
-    "avsc-5.7.6" = {
+    "avsc-5.7.7" = {
       name = "avsc";
       packageName = "avsc";
-      version = "5.7.6";
+      version = "5.7.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/avsc/-/avsc-5.7.6.tgz";
-        sha512 = "jyn9tfd9J3h7pgJSk4qQ/1c1Tk5qiXrvmdCDON2UjcFplqRu/KpmKmpi+Ess8ZKmmqK12U4Y3VHrfwQs1xSMZA==";
+        url = "https://registry.npmjs.org/avsc/-/avsc-5.7.7.tgz";
+        sha512 = "9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==";
       };
     };
-    "aws-sdk-2.1242.0" = {
+    "aws-sdk-2.1283.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1242.0";
+      version = "2.1283.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1242.0.tgz";
-        sha512 = "qVpaMafIHw3Mn3Mo7zTY4Xq8lHkTxIRQJFV5ronsi4lTLqhqF1rANoPKSlVWxUPRyG5so/we+ZUIog5wpjSgiw==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1283.0.tgz";
+        sha512 = "YlxTF0T9X8AcNrOzFPVOPnX1jNtHZjYHRUCfpsVwqdajHDGGruVsVppgBYXEiCRuTQNUhcJTUx0J0uKBhKQZIA==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1444,22 +1525,22 @@ let
         sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
       };
     };
-    "axios-0.24.0" = {
+    "axios-0.27.2" = {
       name = "axios";
       packageName = "axios";
-      version = "0.24.0";
+      version = "0.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz";
-        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz";
+        sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
-    "axios-0.27.2" = {
+    "axios-1.1.3" = {
       name = "axios";
       packageName = "axios";
-      version = "0.27.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz";
-        sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
+        url = "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz";
+        sha512 = "00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==";
       };
     };
     "axios-retry-3.3.1" = {
@@ -1597,15 +1678,6 @@ let
         sha512 = "VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==";
       };
     };
-    "bitsyntax-0.1.0" = {
-      name = "bitsyntax";
-      packageName = "bitsyntax";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bitsyntax/-/bitsyntax-0.1.0.tgz";
-        sha512 = "ikAdCnrloKmFOugAfxWws89/fPc+nw0OOG1IzIE72uSOg/A3cYptKCjSUhDTuj7fhsJtzkzlv7l3b8PzRHLN0Q==";
-      };
-    };
     "bl-2.2.1" = {
       name = "bl";
       packageName = "bl";
@@ -1651,15 +1723,6 @@ let
         sha512 = "UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==";
       };
     };
-    "bluebird-3.7.2" = {
-      name = "bluebird";
-      packageName = "bluebird";
-      version = "3.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
-        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
-      };
-    };
     "bn.js-4.12.0" = {
       name = "bn.js";
       packageName = "bn.js";
@@ -1885,13 +1948,13 @@ let
         sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
       };
     };
-    "call-me-maybe-1.0.1" = {
+    "call-me-maybe-1.0.2" = {
       name = "call-me-maybe";
       packageName = "call-me-maybe";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz";
-        sha512 = "wCyFsDQkKPwwF8BDwOiWNx/9K45L/hvggQiDbve+viMNMQnWhrlYIuBk09offfwCRtCO9P6XwUttufzU11WCVw==";
+        url = "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz";
+        sha512 = "HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==";
       };
     };
     "callback-stream-1.1.0" = {
@@ -2146,22 +2209,22 @@ let
         sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
       };
     };
-    "clone-2.1.2" = {
-      name = "clone";
-      packageName = "clone";
-      version = "2.1.2";
+    "cluster-key-slot-1.1.2" = {
+      name = "cluster-key-slot";
+      packageName = "cluster-key-slot";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz";
-        sha512 = "3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==";
+        url = "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz";
+        sha512 = "RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==";
       };
     };
-    "cluster-key-slot-1.1.1" = {
-      name = "cluster-key-slot";
-      packageName = "cluster-key-slot";
-      version = "1.1.1";
+    "codemirror-lang-n8n-expression-0.1.0" = {
+      name = "codemirror-lang-n8n-expression";
+      packageName = "codemirror-lang-n8n-expression";
+      version = "0.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.1.tgz";
-        sha512 = "rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==";
+        url = "https://registry.npmjs.org/codemirror-lang-n8n-expression/-/codemirror-lang-n8n-expression-0.1.0.tgz";
+        sha512 = "20ss5p0koTu5bfivr1sBHYs7cpjWT2JhVB5gn7TX9WWPt+v/9p9tEcYSOyL/sm+OFuWh698Cgnmrba4efQnMCQ==";
       };
     };
     "codepage-1.15.0" = {
@@ -2236,15 +2299,6 @@ let
         sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
       };
     };
-    "colornames-1.1.1" = {
-      name = "colornames";
-      packageName = "colornames";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz";
-        sha512 = "/pyV40IrsdulWv+wFPmERh9k/mjsPZ64yUMDmWrtj/k1nmgrzzIENWKdaVKyBbvFdQWqkcaRxr+polCo3VMe7A==";
-      };
-    };
     "colorspace-1.1.4" = {
       name = "colorspace";
       packageName = "colorspace";
@@ -2434,6 +2488,15 @@ let
         sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
       };
     };
+    "cookie-0.4.2" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
+        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+      };
+    };
     "cookie-0.5.0" = {
       name = "cookie";
       packageName = "cookie";
@@ -2479,13 +2542,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.26.0" = {
+    "core-js-3.27.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.26.0";
+      version = "3.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.26.0.tgz";
-        sha512 = "+DkDrhoR4Y0PxDz6rurahuB+I45OsEUv8E1maPTB6OuHRohMMcznBq9TMpdpDMm/hUPob/mJJS3PqgbHpMTQgw==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.27.0.tgz";
+        sha512 = "wY6cKosevs430KRkHUIsvepDXHGjlXOZO3hYXNyqpD6JvB0X28aXyv0t1Y1vZMwE7SoKmtfa6IASHCPN52FwBQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -2758,13 +2821,13 @@ let
         sha512 = "syBZ+rnAK3EgMsH2aYEOLUW7mZSY9Gb+0wUMCFsZvcmiz+HigA0LOcq/HoQqVuGG+EKykunc7QG2bzrponfaSw==";
       };
     };
-    "decode-uri-component-0.2.0" = {
+    "decode-uri-component-0.2.2" = {
       name = "decode-uri-component";
       packageName = "decode-uri-component";
-      version = "0.2.0";
+      version = "0.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha512 = "hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==";
+        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz";
+        sha512 = "FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==";
       };
     };
     "decompress-response-6.0.0" = {
@@ -2776,24 +2839,6 @@ let
         sha512 = "aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==";
       };
     };
-    "deep-equal-1.1.1" = {
-      name = "deep-equal";
-      packageName = "deep-equal";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz";
-        sha512 = "yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==";
-      };
-    };
-    "deep-equal-2.0.5" = {
-      name = "deep-equal";
-      packageName = "deep-equal";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz";
-        sha512 = "nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==";
-      };
-    };
     "deep-extend-0.6.0" = {
       name = "deep-extend";
       packageName = "deep-extend";
@@ -2938,15 +2983,6 @@ let
         sha512 = "463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==";
       };
     };
-    "diagnostics-1.1.1" = {
-      name = "diagnostics";
-      packageName = "diagnostics";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz";
-        sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==";
-      };
-    };
     "difflib-0.2.4" = {
       name = "difflib";
       packageName = "difflib";
@@ -2974,15 +3010,6 @@ let
         sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
       };
     };
-    "discontinuous-range-1.0.0" = {
-      name = "discontinuous-range";
-      packageName = "discontinuous-range";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz";
-        sha512 = "c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==";
-      };
-    };
     "dom-iterator-1.0.0" = {
       name = "dom-iterator";
       packageName = "dom-iterator";
@@ -3127,13 +3154,13 @@ let
         sha512 = "/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==";
       };
     };
-    "element-ui-2.15.10" = {
+    "element-ui-2.15.12" = {
       name = "element-ui";
       packageName = "element-ui";
-      version = "2.15.10";
+      version = "2.15.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/element-ui/-/element-ui-2.15.10.tgz";
-        sha512 = "jmD++mU2wKXbisvx4fxOl2mHaU+HWHTAq/3Wf8x9Bwyu4GdDZPLABb+CGi3DWN6fPqdgRcd74aX39DO+YHObLw==";
+        url = "https://registry.npmjs.org/element-ui/-/element-ui-2.15.12.tgz";
+        sha512 = "Y5FMT2BPOindU2GkDEQ5ZKUVxDawKONRNMh2eL3uBx1FOtvUJ+L6IxXLVsNxq4WnaX/UnVNgWXebl7DobygZMg==";
       };
     };
     "emoji-regex-8.0.0" = {
@@ -3145,15 +3172,6 @@ let
         sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
       };
     };
-    "enabled-1.0.2" = {
-      name = "enabled";
-      packageName = "enabled";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz";
-        sha512 = "nnzgVSpB35qKrUN8358SjO1bYAmxoThECTWw9s3J0x5G8A9hokKHVDFzBjVpCoSryo6MhN8woVyascN5jheaNA==";
-      };
-    };
     "enabled-2.0.0" = {
       name = "enabled";
       packageName = "enabled";
@@ -3199,6 +3217,15 @@ let
         sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     };
+    "entities-2.1.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz";
+        sha512 = "hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==";
+      };
+    };
     "entities-2.2.0" = {
       name = "entities";
       packageName = "entities";
@@ -3226,15 +3253,6 @@ let
         sha512 = "+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==";
       };
     };
-    "env-variable-0.0.6" = {
-      name = "env-variable";
-      packageName = "env-variable";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz";
-        sha512 = "bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==";
-      };
-    };
     "err-code-2.0.3" = {
       name = "err-code";
       packageName = "err-code";
@@ -3244,22 +3262,22 @@ let
         sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
       };
     };
-    "es-abstract-1.20.4" = {
+    "es-abstract-1.20.5" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.20.4";
+      version = "1.20.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz";
-        sha512 = "0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz";
+        sha512 = "7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==";
       };
     };
-    "es-aggregate-error-1.0.8" = {
+    "es-aggregate-error-1.0.9" = {
       name = "es-aggregate-error";
       packageName = "es-aggregate-error";
-      version = "1.0.8";
+      version = "1.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.8.tgz";
-        sha512 = "AKUb5MKLWMozPlFRHOKqWD7yta5uaEhH21qwtnf6FlKjNjTJOoqFi0/G14+FfSkIQhhu6X68Af4xgRC6y8qG4A==";
+        url = "https://registry.npmjs.org/es-aggregate-error/-/es-aggregate-error-1.0.9.tgz";
+        sha512 = "fvnX40sb538wdU6r4s35cq4EY6Lr09Upj40BEVem4LEsuW8XgQep9yD5Q1U2KftokNp1rWODFJ2qwZSsAjFpbg==";
       };
     };
     "es-array-method-boxes-properly-1.0.0" = {
@@ -3271,15 +3289,6 @@ let
         sha512 = "wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==";
       };
     };
-    "es-get-iterator-1.1.2" = {
-      name = "es-get-iterator";
-      packageName = "es-get-iterator";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz";
-        sha512 = "+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==";
-      };
-    };
     "es-to-primitive-1.2.1" = {
       name = "es-to-primitive";
       packageName = "es-to-primitive";
@@ -3370,6 +3379,15 @@ let
         sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
       };
     };
+    "esprima-next-5.8.4" = {
+      name = "esprima-next";
+      packageName = "esprima-next";
+      version = "5.8.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima-next/-/esprima-next-5.8.4.tgz";
+        sha512 = "8nYVZ4ioIH4Msjb/XmhnBdz5WRRBaYqevKa1cv9nGJdCehMbzZCPNEEnqfLCZVetUVrUPEcb5IYyu1GG4hFqgg==";
+      };
+    };
     "estraverse-4.3.0" = {
       name = "estraverse";
       packageName = "estraverse";
@@ -3406,15 +3424,6 @@ let
         sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
       };
     };
-    "eventemitter3-4.0.7" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "4.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz";
-        sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
-      };
-    };
     "events-1.1.1" = {
       name = "events";
       packageName = "events";
@@ -3541,15 +3550,6 @@ let
         sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-diff-1.2.0" = {
-      name = "fast-diff";
-      packageName = "fast-diff";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz";
-        sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
-      };
-    };
     "fast-glob-3.2.12" = {
       name = "fast-glob";
       packageName = "fast-glob";
@@ -3577,13 +3577,13 @@ let
         sha512 = "DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==";
       };
     };
-    "fastq-1.13.0" = {
+    "fastq-1.14.0" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.13.0";
+      version = "1.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz";
-        sha512 = "YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz";
+        sha512 = "eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==";
       };
     };
     "fecha-4.2.3" = {
@@ -4099,6 +4099,15 @@ let
         sha512 = "UWXQ7BpSCW8erDespU2I4cri22xsKgwOCyhsJal0OJhi2tFpwJpsYNJt4vCiFPL1p2HzCGiS713LKpNR25n9Kg==";
       };
     };
+    "gopd-1.0.1" = {
+      name = "gopd";
+      packageName = "gopd";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz";
+        sha512 = "d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==";
+      };
+    };
     "graceful-fs-4.2.10" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
@@ -4261,13 +4270,13 @@ let
         sha512 = "eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==";
       };
     };
-    "html-to-text-8.2.0" = {
+    "html-to-text-9.0.2" = {
       name = "html-to-text";
       packageName = "html-to-text";
-      version = "8.2.0";
+      version = "9.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-8.2.0.tgz";
-        sha512 = "CLXExYn1b++Lgri+ZyVvbUEFwzkLZppjjZOwB7X1qv2jIi8MrMEvxWX5KQ7zATAzTvcqgmtO00M2kCRMtEdOKQ==";
+        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-9.0.2.tgz";
+        sha512 = "0NEkqSZKldWhefawNp73Yyky3pIUFh+y15EUqBXrQorsg/Pw1EtxpeS7ZQLhhaPxXvs4K2LatlJf63rmKcTbDw==";
       };
     };
     "htmlparser2-6.1.0" = {
@@ -4279,6 +4288,15 @@ let
         sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
       };
     };
+    "htmlparser2-8.0.1" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "8.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz";
+        sha512 = "4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==";
+      };
+    };
     "http-cache-semantics-4.1.0" = {
       name = "http-cache-semantics";
       packageName = "http-cache-semantics";
@@ -4405,13 +4423,13 @@ let
         sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     };
-    "ignore-5.2.0" = {
+    "ignore-5.2.4" = {
       name = "ignore";
       packageName = "ignore";
-      version = "5.2.0";
+      version = "5.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz";
-        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz";
+        sha512 = "MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==";
       };
     };
     "imap-0.8.19" = {
@@ -4432,6 +4450,15 @@ let
         sha512 = "SW3LtfEJFjlJKS/h2CmpX2IKpya2RXobR3ENJJW4iMQ3QYPxWxf5oeaz1K3P4eGUwfGEndkqt7uVDKnEyG9zeQ==";
       };
     };
+    "immediate-3.0.6" = {
+      name = "immediate";
+      packageName = "immediate";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz";
+        sha512 = "XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==";
+      };
+    };
     "imurmurhash-0.1.4" = {
       name = "imurmurhash";
       packageName = "imurmurhash";
@@ -4495,13 +4522,13 @@ let
         sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==";
       };
     };
-    "internal-slot-1.0.3" = {
+    "internal-slot-1.0.4" = {
       name = "internal-slot";
       packageName = "internal-slot";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz";
-        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
+        url = "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz";
+        sha512 = "tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==";
       };
     };
     "interpret-1.4.0" = {
@@ -4720,15 +4747,6 @@ let
         sha512 = "z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==";
       };
     };
-    "is-map-2.0.2" = {
-      name = "is-map";
-      packageName = "is-map";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz";
-        sha512 = "cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==";
-      };
-    };
     "is-nan-1.3.2" = {
       name = "is-nan";
       packageName = "is-nan";
@@ -4828,15 +4846,6 @@ let
         sha512 = "XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==";
       };
     };
-    "is-set-2.0.2" = {
-      name = "is-set";
-      packageName = "is-set";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz";
-        sha512 = "+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==";
-      };
-    };
     "is-shared-array-buffer-1.0.2" = {
       name = "is-shared-array-buffer";
       packageName = "is-shared-array-buffer";
@@ -4873,13 +4882,13 @@ let
         sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
       };
     };
-    "is-typed-array-1.1.9" = {
+    "is-typed-array-1.1.10" = {
       name = "is-typed-array";
       packageName = "is-typed-array";
-      version = "1.1.9";
+      version = "1.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz";
-        sha512 = "kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==";
+        url = "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz";
+        sha512 = "PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==";
       };
     };
     "is-typedarray-1.0.0" = {
@@ -4900,15 +4909,6 @@ let
         sha512 = "mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==";
       };
     };
-    "is-weakmap-2.0.1" = {
-      name = "is-weakmap";
-      packageName = "is-weakmap";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz";
-        sha512 = "NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==";
-      };
-    };
     "is-weakref-1.0.2" = {
       name = "is-weakref";
       packageName = "is-weakref";
@@ -4918,15 +4918,6 @@ let
         sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
       };
     };
-    "is-weakset-2.0.2" = {
-      name = "is-weakset";
-      packageName = "is-weakset";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz";
-        sha512 = "t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==";
-      };
-    };
     "is-windows-1.0.2" = {
       name = "is-windows";
       packageName = "is-windows";
@@ -4963,22 +4954,13 @@ let
         sha512 = "VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==";
       };
     };
-    "isarray-2.0.5" = {
-      name = "isarray";
-      packageName = "isarray";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz";
-        sha512 = "xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==";
-      };
-    };
-    "isbot-3.6.2" = {
+    "isbot-3.6.5" = {
       name = "isbot";
       packageName = "isbot";
-      version = "3.6.2";
+      version = "3.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isbot/-/isbot-3.6.2.tgz";
-        sha512 = "jk8IRbrvyTJC2f4VpxXQ4ff+xVJgsXHygtpc5Sl6m9PWuF8oXVcpEmcZKR88j5WOoqpHTxrOKccCpxdAgW7Afw==";
+        url = "https://registry.npmjs.org/isbot/-/isbot-3.6.5.tgz";
+        sha512 = "BchONELXt6yMad++BwGpa0oQxo/uD0keL7N15cYVf0A1oMIoNQ79OqeYdPMFWDrNhCqCbRuw9Y9F3QBjvAxZ5g==";
       };
     };
     "isexe-2.0.0" = {
@@ -5035,13 +5017,13 @@ let
         sha512 = "bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==";
       };
     };
-    "jquery-3.6.1" = {
+    "jquery-3.6.3" = {
       name = "jquery";
       packageName = "jquery";
-      version = "3.6.1";
+      version = "3.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz";
-        sha512 = "opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==";
+        url = "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz";
+        sha512 = "bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==";
       };
     };
     "js-md4-0.3.2" = {
@@ -5215,6 +5197,15 @@ let
         sha512 = "XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==";
       };
     };
+    "jsonwebtoken-9.0.0" = {
+      name = "jsonwebtoken";
+      packageName = "jsonwebtoken";
+      version = "9.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz";
+        sha512 = "tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==";
+      };
+    };
     "jsplumb-2.15.4" = {
       name = "jsplumb";
       packageName = "jsplumb";
@@ -5287,15 +5278,6 @@ let
         sha512 = "+Rcfu2hyQ/jv5skqRY8xA7Ra+mmRkDAzCaLDYbkGtgsNKpzxPWiLbk8ub0dgr4EbWrN1Zb4BCXHUkD6+zYfdWg==";
       };
     };
-    "kuler-1.0.1" = {
-      name = "kuler";
-      packageName = "kuler";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz";
-        sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
-      };
-    };
     "kuler-2.0.0" = {
       name = "kuler";
       packageName = "kuler";
@@ -5305,6 +5287,15 @@ let
         sha512 = "Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==";
       };
     };
+    "leac-0.6.0" = {
+      name = "leac";
+      packageName = "leac";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/leac/-/leac-0.6.0.tgz";
+        sha512 = "y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==";
+      };
+    };
     "leven-2.1.0" = {
       name = "leven";
       packageName = "leven";
@@ -5332,22 +5323,22 @@ let
         sha512 = "l+nePcPbIG1fNlqMzrh68MLkX/gTxk/+vdvAb388Ssi7UuUN31MI44w4Yf33mM3Cm4xDfw48mdf3rkdHszLNew==";
       };
     };
-    "libmime-5.1.0" = {
+    "libmime-5.2.0" = {
       name = "libmime";
       packageName = "libmime";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libmime/-/libmime-5.1.0.tgz";
-        sha512 = "xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA==";
+        url = "https://registry.npmjs.org/libmime/-/libmime-5.2.0.tgz";
+        sha512 = "X2U5Wx0YmK0rXFbk67ASMeqYIkZ6E5vY7pNWRKtnNzqjvdYYG8xtPDpCnuUEnPU9vlgNev+JoSrcaKSUaNvfsw==";
       };
     };
-    "libphonenumber-js-1.10.14" = {
+    "libphonenumber-js-1.10.15" = {
       name = "libphonenumber-js";
       packageName = "libphonenumber-js";
-      version = "1.10.14";
+      version = "1.10.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.14.tgz";
-        sha512 = "McGS7GV/WjJ2KjfOGhJU1oJn29RYeo7Q+RpANRbUNMQ9gj5XArpbjurSuyYPTejFwbaUojstQ4XyWCrAzGOUXw==";
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.15.tgz";
+        sha512 = "sLeVLmWX17VCKKulc+aDIRHS95TxoTsKMRJi5s5gJdwlqNzMWcBCtSHHruVyXjqfi67daXM2SnLf2juSrdx5Sg==";
       };
     };
     "libpq-1.8.12" = {
@@ -5359,13 +5350,22 @@ let
         sha512 = "4lUY9BD9suz76mVS0kH4rRgRy620g/c9YZH5GYC3smfIpjtj6KiPuQ4IwQSHSZMMMhMM3tBFrYUrw8mHOOZVeg==";
       };
     };
-    "libqp-1.1.0" = {
+    "libqp-2.0.1" = {
       name = "libqp";
       packageName = "libqp";
-      version = "1.1.0";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/libqp/-/libqp-2.0.1.tgz";
+        sha512 = "Ka0eC5LkF3IPNQHJmYBWljJsw0UvM6j+QdKRbWyCdTmYwvIDE6a7bCm0UkTAL/K+3KXK5qXT/ClcInU01OpdLg==";
+      };
+    };
+    "lie-3.1.1" = {
+      name = "lie";
+      packageName = "lie";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz";
-        sha512 = "4Rgfa0hZpG++t1Vi2IiqXG9Ad1ig4QTmtuZF946QJP4bPqOYC78ixUXgz5TW/wE7lNaNKlplSYTxQ+fR2KZ0EA==";
+        url = "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz";
+        sha512 = "RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==";
       };
     };
     "limiter-1.1.5" = {
@@ -5377,13 +5377,31 @@ let
         sha512 = "FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==";
       };
     };
-    "linkify-it-4.0.0" = {
+    "linkify-it-3.0.3" = {
       name = "linkify-it";
       packageName = "linkify-it";
-      version = "4.0.0";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz";
+        sha512 = "ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==";
+      };
+    };
+    "linkify-it-4.0.1" = {
+      name = "linkify-it";
+      packageName = "linkify-it";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz";
+        sha512 = "C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==";
+      };
+    };
+    "localforage-1.10.0" = {
+      name = "localforage";
+      packageName = "localforage";
+      version = "1.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.0.tgz";
-        sha512 = "QAxkXyzT/TXgwGyY4rTgC95Ex6/lZ5/lYTV9nug6eJt93BCBQGOE47D/g2+/m5J1MrVLr2ot97OXkBZ9bBpR4A==";
+        url = "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz";
+        sha512 = "14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==";
       };
     };
     "localtunnel-2.0.2" = {
@@ -5737,6 +5755,15 @@ let
         sha512 = "IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==";
       };
     };
+    "lru_map-0.3.3" = {
+      name = "lru_map";
+      packageName = "lru_map";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz";
+        sha512 = "Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==";
+      };
+    };
     "luxon-2.3.2" = {
       name = "luxon";
       packageName = "luxon";
@@ -5746,22 +5773,31 @@ let
         sha512 = "MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==";
       };
     };
-    "mailparser-3.5.0" = {
+    "luxon-2.5.0" = {
+      name = "luxon";
+      packageName = "luxon";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/luxon/-/luxon-2.5.0.tgz";
+        sha512 = "IDkEPB80Rb6gCAU+FEib0t4FeJ4uVOuX1CQ9GsvU3O+JAGIgu0J7sf1OarXKaKDygTZIoJyU6YdZzTFRu+YR0A==";
+      };
+    };
+    "mailparser-3.6.2" = {
       name = "mailparser";
       packageName = "mailparser";
-      version = "3.5.0";
+      version = "3.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mailparser/-/mailparser-3.5.0.tgz";
-        sha512 = "mdr2DFgz8LKC0/Q6io6znA0HVnzaPFT0a4TTnLeZ7mWHlkfnm227Wxlq7mHh7AgeP32h7gOUpXvyhSfJJIEeyg==";
+        url = "https://registry.npmjs.org/mailparser/-/mailparser-3.6.2.tgz";
+        sha512 = "f9YLwzxFgst+bjNOE448PiCBG26SOFTY+6sZ6mzTIDwmh7srSS8NhLMYP8IhivdKu+YzNgxC9oYYk5GY9PDcsA==";
       };
     };
-    "mailsplit-5.3.2" = {
+    "mailsplit-5.4.0" = {
       name = "mailsplit";
       packageName = "mailsplit";
-      version = "5.3.2";
+      version = "5.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-5.3.2.tgz";
-        sha512 = "coES12hhKqagkuBTJoqERX+y9bXNpxbxw3Esd07auuwKYmcagouVlgucyIVRp48fnswMKxcUtLoFn/L1a75ynQ==";
+        url = "https://registry.npmjs.org/mailsplit/-/mailsplit-5.4.0.tgz";
+        sha512 = "wnYxX5D5qymGIPYLwnp6h8n1+6P6vz/MJn5AzGjZ8pwICWssL+CCQjWBIToOVHASmATot4ktvlLo6CyLfOXWYA==";
       };
     };
     "make-dir-3.1.0" = {
@@ -5800,13 +5836,49 @@ let
         sha512 = "+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==";
       };
     };
-    "mappersmith-2.40.0" = {
+    "mappersmith-2.41.0" = {
       name = "mappersmith";
       packageName = "mappersmith";
-      version = "2.40.0";
+      version = "2.41.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.41.0.tgz";
+        sha512 = "kg2PXCFiM0WBMKZSgkvVBhF6SV7vdDEUsql5+DGdEHYZx9cwK+2QCSnsZ2EI4oyIWHMdIN/l+4yiyXJTsH7PcQ==";
+      };
+    };
+    "markdown-it-12.3.2" = {
+      name = "markdown-it";
+      packageName = "markdown-it";
+      version = "12.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz";
+        sha512 = "TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==";
+      };
+    };
+    "markdown-it-emoji-2.0.2" = {
+      name = "markdown-it-emoji";
+      packageName = "markdown-it-emoji";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz";
+        sha512 = "zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==";
+      };
+    };
+    "markdown-it-link-attributes-4.0.1" = {
+      name = "markdown-it-link-attributes";
+      packageName = "markdown-it-link-attributes";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-it-link-attributes/-/markdown-it-link-attributes-4.0.1.tgz";
+        sha512 = "pg5OK0jPLg62H4k7M9mRJLT61gUp9nvG0XveKYHMOOluASo9OEF13WlXrpAp2aj35LbedAy3QOCgQCw0tkLKAQ==";
+      };
+    };
+    "markdown-it-task-lists-2.1.1" = {
+      name = "markdown-it-task-lists";
+      packageName = "markdown-it-task-lists";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.40.0.tgz";
-        sha512 = "Es99fy0E52fxmhRvCyed7WVlSyuz6ME/wOsRpSmi0GcbMEZ6y5D2GL4+qNGPCc2P270J5yw8L2zg+K4BWACcHg==";
+        url = "https://registry.npmjs.org/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz";
+        sha512 = "TxFAc76Jnhb2OUu+n3yz9RMu4CwGfaT788br6HhEDlvWfdeJcLUsxk1Hgw2yJio0OXsxv7pyIPmvECY7bMbluA==";
       };
     };
     "material-colors-1.2.6" = {
@@ -5827,6 +5899,15 @@ let
         sha512 = "T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==";
       };
     };
+    "mdurl-1.0.1" = {
+      name = "mdurl";
+      packageName = "mdurl";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz";
+        sha512 = "/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==";
+      };
+    };
     "media-typer-0.3.0" = {
       name = "media-typer";
       packageName = "media-typer";
@@ -5881,15 +5962,6 @@ let
         sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
       };
     };
-    "millisecond-0.1.2" = {
-      name = "millisecond";
-      packageName = "millisecond";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/millisecond/-/millisecond-0.1.2.tgz";
-        sha512 = "BJ8XtxY+woL+5TkP6uS6XvOArm0JVrX2otkgtWZseHpIax0oOOPW3cnwhOjRqbEJg7YRO/BDF7fO/PTWNT3T9Q==";
-      };
-    };
     "mime-1.6.0" = {
       name = "mime";
       packageName = "mime";
@@ -5962,13 +6034,13 @@ let
         sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     };
-    "minimatch-5.1.0" = {
+    "minimatch-5.1.2" = {
       name = "minimatch";
       packageName = "minimatch";
-      version = "5.1.0";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz";
-        sha512 = "9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==";
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz";
+        sha512 = "bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==";
       };
     };
     "minimist-1.2.7" = {
@@ -5980,13 +6052,22 @@ let
         sha512 = "bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==";
       };
     };
-    "minipass-3.3.5" = {
+    "minipass-3.3.6" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz";
+        sha512 = "DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==";
+      };
+    };
+    "minipass-4.0.0" = {
       name = "minipass";
       packageName = "minipass";
-      version = "3.3.5";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-3.3.5.tgz";
-        sha512 = "rQ/p+KfKBkeNwo04U15i+hOwoVBVmekmm/HcfTkTN2t9pbQKCMm4eN5gFeqgrrSp/kH/7BYYhTIHOxGqzbBPaA==";
+        url = "https://registry.npmjs.org/minipass/-/minipass-4.0.0.tgz";
+        sha512 = "g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==";
       };
     };
     "minipass-collect-1.0.2" = {
@@ -6088,22 +6169,22 @@ let
         sha512 = "5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==";
       };
     };
-    "moment-timezone-0.5.38" = {
+    "moment-timezone-0.5.40" = {
       name = "moment-timezone";
       packageName = "moment-timezone";
-      version = "0.5.38";
+      version = "0.5.40";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.38.tgz";
-        sha512 = "nMIrzGah4+oYZPflDvLZUgoVUO4fvAqHstvG3xAUnMolWncuAiLDWNnJZj6EwJGMGfb1ZcuTFE6GI3hNOVWI/Q==";
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.40.tgz";
+        sha512 = "tWfmNkRYmBkPJz5mr9GVDn9vRlVZOTe6yqY92rFxiOdWXbjaR0+9LwQnZGGuNR63X456NqmEkbskte8tWL5ePg==";
       };
     };
-    "monaco-editor-0.30.1" = {
+    "monaco-editor-0.33.0" = {
       name = "monaco-editor";
       packageName = "monaco-editor";
-      version = "0.30.1";
+      version = "0.33.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.30.1.tgz";
-        sha512 = "B/y4+b2O5G2gjuxIFtCE2EkM17R2NM7/3F8x0qcPsqy4V83bitJTIO4TIeZpYlzu/xy6INiY/+84BEm6+7Cmzg==";
+        url = "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.33.0.tgz";
+        sha512 = "VcRWPSLIUEgQJQIE0pVT8FcGBIgFoxz7jtqctE+IiCxWugD0DwgyQBcZBhdSrdMC84eumoqMZsGl2GTreOzwqw==";
       };
     };
     "mongodb-3.7.3" = {
@@ -6115,31 +6196,22 @@ let
         sha512 = "Psm+g3/wHXhjBEktkxXsFMZvd3nemI0r3IPsE0bU+4//PnvNWKkzhZcEsbPcYiWqe8XqXJJEg4Tgtr7Raw67Yw==";
       };
     };
-    "mongodb-4.11.0" = {
+    "mongodb-4.13.0" = {
       name = "mongodb";
       packageName = "mongodb";
-      version = "4.11.0";
+      version = "4.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.11.0.tgz";
-        sha512 = "9l9n4Nk2BYZzljW3vHah3Z0rfS5npKw6ktnkmFgTcnzaXH1DRm3pDl6VMHu84EVb1lzmSaJC4OzWZqTkB5i2wg==";
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.13.0.tgz";
+        sha512 = "+taZ/bV8d1pYuHL4U+gSwkhmDrwkWbH1l4aah4YpmpscMwgFBkufIKxgP/G7m87/NUuQzc2Z75ZTI7ZOyqZLbw==";
       };
     };
-    "mongodb-connection-string-url-2.5.4" = {
+    "mongodb-connection-string-url-2.6.0" = {
       name = "mongodb-connection-string-url";
       packageName = "mongodb-connection-string-url";
-      version = "2.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.5.4.tgz";
-        sha512 = "SeAxuWs0ez3iI3vvmLk/j2y+zHwigTDKQhtdxTgt5ZCOQQS5+HW4g45/Xw5vzzbn7oQXCNQ24Z40AkJsizEy7w==";
-      };
-    };
-    "moo-0.5.2" = {
-      name = "moo";
-      packageName = "moo";
-      version = "0.5.2";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz";
-        sha512 = "iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==";
+        url = "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz";
+        sha512 = "WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==";
       };
     };
     "mqtt-4.2.6" = {
@@ -6241,49 +6313,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.140.1" = {
+    "n8n-core-0.149.2" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.140.1";
+      version = "0.149.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.140.1.tgz";
-        sha512 = "a0fNyYhL8VsxQPUz0Jya0OOFy0eIFkiK40405XkAkonah+wBBBA01g46QSDdBCn3UMeDZ/LkfY+pzypkrmjMQQ==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.149.2.tgz";
+        sha512 = "/MBHoSdRuw1auzUeB96IgqubPPhvCjSVNZt5E2Ndu1ERpPhNd/PhRyCN/ZwGjcKWv5jWMBf0cAwLx7+xv6BOPg==";
       };
     };
-    "n8n-design-system-0.40.0" = {
+    "n8n-design-system-0.49.3" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.40.0";
+      version = "0.49.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.40.0.tgz";
-        sha512 = "P9ZubxZzNNMiXC58L2fyAAm4R4L3dJPZ+NMjKEZbu9+11XMX9SVX1+5t2NEWz1MsgVHGRLfc3mjPr7mnn05BQQ==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.49.3.tgz";
+        sha512 = "LvNhj/2fzmcMbhXCew0qmBOq3sSVWzcjZIGV6MxoiPsYhy0qHheYRuHbnZ7AYvP/9NR85P0mz+1MX456HQyTvw==";
       };
     };
-    "n8n-editor-ui-0.166.1" = {
+    "n8n-editor-ui-0.175.3" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.166.1";
+      version = "0.175.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.166.1.tgz";
-        sha512 = "AxGb+Rkq/TTytKjef60Q7Tmtyu+I4l0639aMrxg7ObqurqCjGL0WkJXaoGrb1H6pBHRSL3jU7ZuD/QfiGN93IQ==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.175.3.tgz";
+        sha512 = "4P/maGIZyF118DVRaSA8FL1x2CbFhAA5wkEc5fphrrHsvSrpn/xDBkgOWkT8ruNQkPQb/fYN7QEQM9dIvNkZmA==";
       };
     };
-    "n8n-nodes-base-0.198.1" = {
+    "n8n-nodes-base-0.207.2" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.198.1";
+      version = "0.207.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.198.1.tgz";
-        sha512 = "kM5L/zib1Db5LG1qIYQeEDUM05kd/pQXvxxClCs+qs8RuCMVLnjWDua48NbpiINcnpEY0GI5Hzd0mDHCMjirpA==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.207.2.tgz";
+        sha512 = "PIxdxNsXFL3Uv3kagbu8cp6Z0W3MwW+j0Yt68jGBcnx5gcT9252wxb7RtBnbT35g8h6udqureQPsB1faIVhXCA==";
       };
     };
-    "n8n-workflow-0.122.1" = {
+    "n8n-workflow-0.131.2" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.122.1";
+      version = "0.131.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.122.1.tgz";
-        sha512 = "8lJuN5AFBEhIBcS8MRt0XuwZ4KXbRGwOA9InlnBoYWFloBdDh+1zDOIxiKJH94xjtihLU9tk3c9mnYPEJqnvDQ==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.131.2.tgz";
+        sha512 = "3e2gr0BUJZKJZvsIEzqI+iuJewjLXm4oUKPBw649n1BGWNluIzbPEfnThUA3+JdEQDm69MmNBNVOHWQRdNT34Q==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -6349,15 +6421,6 @@ let
         sha512 = "p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==";
       };
     };
-    "nearley-2.20.1" = {
-      name = "nearley";
-      packageName = "nearley";
-      version = "2.20.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz";
-        sha512 = "+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==";
-      };
-    };
     "negotiator-0.6.3" = {
       name = "negotiator";
       packageName = "negotiator";
@@ -6403,13 +6466,13 @@ let
         sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
       };
     };
-    "node-abi-3.28.0" = {
+    "node-abi-3.30.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.28.0";
+      version = "3.30.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.28.0.tgz";
-        sha512 = "fRlDb4I0eLcQeUvGq7IY3xHrSb0c9ummdvDSYWfT9+LKP+3jCKw/tKoqaM7r1BAoiAC6GtwyjaGnOz6B3OtF+A==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz";
+        sha512 = "qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==";
       };
     };
     "node-abort-controller-3.0.1" = {
@@ -6466,22 +6529,40 @@ let
         sha512 = "2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==";
       };
     };
-    "node-html-markdown-1.2.2" = {
+    "node-html-markdown-1.3.0" = {
       name = "node-html-markdown";
       packageName = "node-html-markdown";
-      version = "1.2.2";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-html-markdown/-/node-html-markdown-1.2.2.tgz";
-        sha512 = "VkiTJ2Y9BWscRY0yLm9OYTREvXobmlK7YehdDwIYfDj9VW6MefaFNaQkMTk94U0zyAuCsfLdBsOld54fsNhP9A==";
+        url = "https://registry.npmjs.org/node-html-markdown/-/node-html-markdown-1.3.0.tgz";
+        sha512 = "OeFi3QwC/cPjvVKZ114tzzu+YoR+v9UXW5RwSXGUqGb0qCl0DvP406tzdL7SFn8pZrMyzXoisfG2zcuF9+zw4g==";
       };
     };
-    "node-html-parser-6.1.1" = {
+    "node-html-parser-6.1.4" = {
       name = "node-html-parser";
       packageName = "node-html-parser";
-      version = "6.1.1";
+      version = "6.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.4.tgz";
+        sha512 = "3muP9Uy/Pz7bQa9TNYVQzWJhNZMqyCx7xJle8kz2/y1UgzAUyXXShc1IcPaJy6u07CE3K5rQcRwlvHzmlySRjg==";
+      };
+    };
+    "node-machine-id-1.1.12" = {
+      name = "node-machine-id";
+      packageName = "node-machine-id";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-machine-id/-/node-machine-id-1.1.12.tgz";
+        sha512 = "QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==";
+      };
+    };
+    "node-rsa-1.1.1" = {
+      name = "node-rsa";
+      packageName = "node-rsa";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.1.tgz";
-        sha512 = "eYYblUeoMg0nR6cYGM4GRb1XncNa9FXEftuKAU1qyMIr6rXVtNyUKduvzZtkqFqSHVByq2lLjC7WO8tz7VDmnA==";
+        url = "https://registry.npmjs.org/node-rsa/-/node-rsa-1.1.1.tgz";
+        sha512 = "Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==";
       };
     };
     "node-ssh-12.0.5" = {
@@ -6502,15 +6583,6 @@ let
         sha512 = "n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==";
       };
     };
-    "nodemailer-6.7.3" = {
-      name = "nodemailer";
-      packageName = "nodemailer";
-      version = "6.7.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.3.tgz";
-        sha512 = "KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==";
-      };
-    };
     "nodemailer-6.8.0" = {
       name = "nodemailer";
       packageName = "nodemailer";
@@ -6637,15 +6709,6 @@ let
         sha512 = "z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==";
       };
     };
-    "object-is-1.1.5" = {
-      name = "object-is";
-      packageName = "object-is";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz";
-        sha512 = "3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==";
-      };
-    };
     "object-keys-1.1.1" = {
       name = "object-keys";
       packageName = "object-keys";
@@ -6673,13 +6736,13 @@ let
         sha512 = "1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==";
       };
     };
-    "object.getownpropertydescriptors-2.1.4" = {
+    "object.getownpropertydescriptors-2.1.5" = {
       name = "object.getownpropertydescriptors";
       packageName = "object.getownpropertydescriptors";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz";
-        sha512 = "sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==";
+        url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz";
+        sha512 = "yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==";
       };
     };
     "on-finished-2.4.1" = {
@@ -6916,15 +6979,6 @@ let
         sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
       };
     };
-    "parchment-2.0.0-dev.2" = {
-      name = "parchment";
-      packageName = "parchment";
-      version = "2.0.0-dev.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parchment/-/parchment-2.0.0-dev.2.tgz";
-        sha512 = "4fgRny4pPISoML08Zp7poi52Dff3E2G1ORTi2D/acJ/RiROdDAMDB6VcQNfBcmehrX5Wixp6dxh6JjLyE5yUNQ==";
-      };
-    };
     "parse-github-url-1.0.2" = {
       name = "parse-github-url";
       packageName = "parse-github-url";
@@ -6979,13 +7033,13 @@ let
         sha512 = "qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==";
       };
     };
-    "parseley-0.7.0" = {
+    "parseley-0.11.0" = {
       name = "parseley";
       packageName = "parseley";
-      version = "0.7.0";
+      version = "0.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz";
-        sha512 = "xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==";
+        url = "https://registry.npmjs.org/parseley/-/parseley-0.11.0.tgz";
+        sha512 = "VfcwXlBWgTF+unPcr7yu3HSSA6QUdDaDnrHcytVfj5Z8azAyKBDrYnSIfeSxlrEayndNcLmrXzg+Vxbo6DWRXQ==";
       };
     };
     "parseurl-1.3.3" = {
@@ -7024,13 +7078,13 @@ let
         sha512 = "8a6foX2bbGoJzup0RAiNcC2tTqzYS46RQEK3Z4u8p86wesPUjgDaji3C7+5j4TGyCq4ZoOV+3YLw1Hy6cV6kyw==";
       };
     };
-    "passport-jwt-4.0.0" = {
+    "passport-jwt-4.0.1" = {
       name = "passport-jwt";
       packageName = "passport-jwt";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.0.tgz";
-        sha512 = "BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==";
+        url = "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.1.tgz";
+        sha512 = "UCKMDYhNuGOBE9/9Ycuoyh7vP6jpeTp/+sfMJl7nLff/t6dps+iaeE0hhNkKN8/HZHcJ7lCdOyDxHdDoxoSvdQ==";
       };
     };
     "passport-strategy-1.0.0" = {
@@ -7150,6 +7204,15 @@ let
         sha512 = "v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==";
       };
     };
+    "peberminta-0.8.0" = {
+      name = "peberminta";
+      packageName = "peberminta";
+      version = "0.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/peberminta/-/peberminta-0.8.0.tgz";
+        sha512 = "YYEs+eauIjDH5nUEGi18EohWE0nV2QbGTqmxQcqgZ/0g+laPCQmuIqq7EBLVi9uim9zMgfJv0QBZEnQ3uHw/Tw==";
+      };
+    };
     "peek-readable-4.1.0" = {
       name = "peek-readable";
       packageName = "peek-readable";
@@ -7231,13 +7294,13 @@ let
         sha512 = "His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==";
       };
     };
-    "pg-promise-10.12.1" = {
+    "pg-promise-10.15.4" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "10.12.1";
+      version = "10.15.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.12.1.tgz";
-        sha512 = "SiJkBUDGq7PNfJFJbWferodsSH+vLrhte0Q0kVgQbwlNYeKmp9Hhkr+357+5DWEuBGOHhSu1UQffSSf5HVqRtA==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.15.4.tgz";
+        sha512 = "BKlHCMCdNUmF6gagVbehRWSEiVcZzPVltEx14OJExR9Iz9/1R6KETDWLLGv2l6yRqYFnEZZy1VDjRhArzeIGrw==";
       };
     };
     "pg-protocol-1.5.0" = {
@@ -7303,6 +7366,15 @@ let
         sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
+    "pinia-2.0.28" = {
+      name = "pinia";
+      packageName = "pinia";
+      version = "2.0.28";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinia/-/pinia-2.0.28.tgz";
+        sha512 = "YClq9DkqCblq9rlyUual7ezMu/iICWdBtfJrDt4oWU9Zxpijyz7xB2xTwx57DaBQ96UGvvTMORzALr+iO5PVMw==";
+      };
+    };
     "popsicle-12.1.0" = {
       name = "popsicle";
       packageName = "popsicle";
@@ -7366,13 +7438,13 @@ let
         sha512 = "epKaq3TTfTzXcxBxjpoKYMcTTcAX8Rykus6QZu77XNhJuRHSRxMd+JJrbX/3PFI0opFGSN0BabbAYCbGxbu0mA==";
       };
     };
-    "postcss-8.4.18" = {
+    "postcss-8.4.20" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.18";
+      version = "8.4.20";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz";
-        sha512 = "Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz";
+        sha512 = "6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==";
       };
     };
     "postgres-array-1.0.3" = {
@@ -7420,13 +7492,13 @@ let
         sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
       };
     };
-    "posthog-node-1.3.0" = {
+    "posthog-node-2.2.3" = {
       name = "posthog-node";
       packageName = "posthog-node";
-      version = "1.3.0";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/posthog-node/-/posthog-node-1.3.0.tgz";
-        sha512 = "2+VhqiY/rKIqKIXyvemBFHbeijHE25sP7eKltnqcFqAssUE6+sX6vusN9A4luzToOqHQkUZexiCKxvuGagh7JA==";
+        url = "https://registry.npmjs.org/posthog-node/-/posthog-node-2.2.3.tgz";
+        sha512 = "dYlLZhrDus+uRov/Hh+EiRlMoMhRKchNjNa7mNE2iWmKg/ryOTipf0XYKS9UKdki7aU1NzWFhnLe11HF615XuA==";
       };
     };
     "prebuild-install-7.1.1" = {
@@ -7447,6 +7519,15 @@ let
         sha512 = "ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==";
       };
     };
+    "pretty-bytes-5.6.0" = {
+      name = "pretty-bytes";
+      packageName = "pretty-bytes";
+      version = "5.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz";
+        sha512 = "FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==";
+      };
+    };
     "printj-1.1.2" = {
       name = "printj";
       packageName = "printj";
@@ -7537,13 +7618,13 @@ let
         sha512 = "y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==";
       };
     };
-    "promise.prototype.finally-3.1.3" = {
+    "promise.prototype.finally-3.1.4" = {
       name = "promise.prototype.finally";
       packageName = "promise.prototype.finally";
-      version = "3.1.3";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.3.tgz";
-        sha512 = "EXRF3fC9/0gz4qkt/f5EP5iW4kj9oFpBICNpCNOb/52+8nlHIX07FPLbi/q4qYBQ1xZqivMzTpNQSnArVASolQ==";
+        url = "https://registry.npmjs.org/promise.prototype.finally/-/promise.prototype.finally-3.1.4.tgz";
+        sha512 = "nNc3YbgMfLzqtqvO/q5DP6RR0SiHI9pUPGzyDf1q+usTwCN2kjvAnJkBb7bHe3o+fFSBPpsGMoYtaSi+LTNqng==";
       };
     };
     "property-expr-2.0.5" = {
@@ -7672,13 +7753,13 @@ let
         sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     };
-    "query-string-7.1.1" = {
+    "query-string-7.1.3" = {
       name = "query-string";
       packageName = "query-string";
-      version = "7.1.1";
+      version = "7.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz";
-        sha512 = "MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==";
+        url = "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz";
+        sha512 = "hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==";
       };
     };
     "querystring-0.2.0" = {
@@ -7708,33 +7789,6 @@ let
         sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
       };
     };
-    "quill-2.0.0-dev.4" = {
-      name = "quill";
-      packageName = "quill";
-      version = "2.0.0-dev.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quill/-/quill-2.0.0-dev.4.tgz";
-        sha512 = "9WmMVCEIhf3lDdhzl+i+GBDeDl0BFi65waC4Im8Y4HudEJ9kEEb1lciAz9A8pcDmLMjiMbvz84lNt/U5OBS8Vg==";
-      };
-    };
-    "quill-autoformat-0.1.2" = {
-      name = "quill-autoformat";
-      packageName = "quill-autoformat";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quill-autoformat/-/quill-autoformat-0.1.2.tgz";
-        sha512 = "kRe2rTSmcBDg/oCxhzbjmXXOpQUl0Gak6ZCQshxek/RLvdR8o715qC0WcBRUozqaYbR6PJ+0Z/piINqlYStxWw==";
-      };
-    };
-    "quill-delta-4.2.1" = {
-      name = "quill-delta";
-      packageName = "quill-delta";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/quill-delta/-/quill-delta-4.2.1.tgz";
-        sha512 = "Y2nksOj6Q+4hizre8n0dml76vLNGK4/y86EoI1d7rv6EL1bx7DPDYRmqQMPu1UqFQO/uQuVHQ3fOmm4ZSzWrfA==";
-      };
-    };
     "quoted-printable-1.0.1" = {
       name = "quoted-printable";
       packageName = "quoted-printable";
@@ -7744,24 +7798,6 @@ let
         sha512 = "cihC68OcGiQOjGiXuo5Jk6XHANTHl1K4JLk/xlEJRTIXfy19Sg6XzB95XonYgr+1rB88bCpr7WZE7D7AlZow4g==";
       };
     };
-    "railroad-diagrams-1.0.0" = {
-      name = "railroad-diagrams";
-      packageName = "railroad-diagrams";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz";
-        sha512 = "cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==";
-      };
-    };
-    "randexp-0.4.6" = {
-      name = "randexp";
-      packageName = "randexp";
-      version = "0.4.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz";
-        sha512 = "80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==";
-      };
-    };
     "random-bytes-1.0.0" = {
       name = "random-bytes";
       packageName = "random-bytes";
@@ -7933,13 +7969,13 @@ let
         sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
       };
     };
-    "regenerator-runtime-0.13.10" = {
+    "regenerator-runtime-0.13.11" = {
       name = "regenerator-runtime";
       packageName = "regenerator-runtime";
-      version = "0.13.10";
+      version = "0.13.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz";
-        sha512 = "KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==";
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz";
+        sha512 = "kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==";
       };
     };
     "regexp.prototype.flags-1.4.3" = {
@@ -7978,6 +8014,15 @@ let
         sha512 = "o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==";
       };
     };
+    "replacestream-4.0.3" = {
+      name = "replacestream";
+      packageName = "replacestream";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz";
+        sha512 = "AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==";
+      };
+    };
     "request-2.88.2" = {
       name = "request";
       packageName = "request";
@@ -8059,15 +8104,6 @@ let
         sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
       };
     };
-    "ret-0.1.15" = {
-      name = "ret";
-      packageName = "ret";
-      version = "0.1.15";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
-        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
-      };
-    };
     "retry-0.12.0" = {
       name = "retry";
       packageName = "retry";
@@ -8248,13 +8284,13 @@ let
         sha512 = "70BVm2xz9jn94zSQdpvYrEG101/UV9TVGcfWr9T5iob3QhCK4lYXeculfBqPGFv3XTeKgx4dpWyYIDeZUqo4kg==";
       };
     };
-    "selderee-0.6.0" = {
+    "selderee-0.10.0" = {
       name = "selderee";
       packageName = "selderee";
-      version = "0.6.0";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz";
-        sha512 = "ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==";
+        url = "https://registry.npmjs.org/selderee/-/selderee-0.10.0.tgz";
+        sha512 = "DEL/RW/f4qLw/NrVg97xKaEBC8IpzIG2fvxnzCp3Z4yk4jQ3MXom+Imav9wApjxX2dfS3eW7x0DXafJr85i39A==";
       };
     };
     "semver-5.3.0" = {
@@ -8356,15 +8392,6 @@ let
         sha512 = "KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==";
       };
     };
-    "setheader-1.0.2" = {
-      name = "setheader";
-      packageName = "setheader";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/setheader/-/setheader-1.0.2.tgz";
-        sha512 = "A704nIwzqGed0CnJZIqDE+0udMPS839ocgf1R9OJ8aq8vw4U980HWeNaD9ec8VnmBni9lyGEWDedOWXT/C5kxA==";
-      };
-    };
     "setprototypeof-1.2.0" = {
       name = "setprototypeof";
       packageName = "setprototypeof";
@@ -8464,13 +8491,13 @@ let
         sha512 = "brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==";
       };
     };
-    "simple-git-3.14.1" = {
+    "simple-git-3.15.1" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.14.1";
+      version = "3.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.14.1.tgz";
-        sha512 = "1ThF4PamK9wBORVGMK9HK5si4zoGS2GpRO7tkAFObA4FZv6dKaCVHLQT+8zlgiBm6K2h+wEU9yOaFCu/SR3OyA==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.15.1.tgz";
+        sha512 = "73MVa5984t/JP4JcQt0oZlKGr42ROYWC3BcUZfuHtT3IHKPspIvL0cZBnvPXF7LL3S/qVeVHVdYYmJ3LOTw4Rg==";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -8518,13 +8545,13 @@ let
         sha512 = "LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==";
       };
     };
-    "snowflake-sdk-1.6.14" = {
+    "snowflake-sdk-1.6.17" = {
       name = "snowflake-sdk";
       packageName = "snowflake-sdk";
-      version = "1.6.14";
+      version = "1.6.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.14.tgz";
-        sha512 = "sKg17Yz1/aydKxlA4unlprH+uw9ZsvRezdUmamLjNlvsXQsw+pok4PoMeCKtWs2OSVFnX0VO3eSacCPglQrAQA==";
+        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.17.tgz";
+        sha512 = "ui2zRPbXIK3qaW8zuQCy+mHTieN6U5yeoJmKkyhdnh/8qKOqfR9Csj5nv+bXm8Y64kG24sybtIfCzf8C9abUMQ==";
       };
     };
     "socks-2.7.1" = {
@@ -8572,6 +8599,15 @@ let
         sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
       };
     };
+    "source-map-support-0.5.21" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.5.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz";
+        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
+      };
+    };
     "spex-3.2.0" = {
       name = "spex";
       packageName = "spex";
@@ -8635,13 +8671,13 @@ let
         sha512 = "3HD8pSkZL+5YvYUI8nlvNILs61ALqq34xgmF+BHpqxe68yZIJ1H+sIVIODvni25+CcxHUxDyrTJUL0lE/m7afw==";
       };
     };
-    "sqlite3-5.1.2" = {
+    "sqlite3-5.1.4" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.1.2";
+      version = "5.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.2.tgz";
-        sha512 = "D0Reg6pRWAFXFUnZKsszCI67tthFD8fGPewRddDCX6w4cYwz3MbvuwRICbL+YQjBAh9zbw+lJ/V9oC8nG5j6eg==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.4.tgz";
+        sha512 = "i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA==";
       };
     };
     "sqlstring-2.3.3" = {
@@ -8653,13 +8689,13 @@ let
         sha512 = "qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==";
       };
     };
-    "sse-channel-3.1.1" = {
+    "sse-channel-4.0.0" = {
       name = "sse-channel";
       packageName = "sse-channel";
-      version = "3.1.1";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sse-channel/-/sse-channel-3.1.1.tgz";
-        sha512 = "vgf4QFh60vlAMX0vGJpn6S+7gTO3ckRn7xq4DOgQGcgDs7ULBkaQFQxy4b3vj/umyk0ydhGu7i4A1nHQc5HcYw==";
+        url = "https://registry.npmjs.org/sse-channel/-/sse-channel-4.0.0.tgz";
+        sha512 = "I539Tc0gyDTQ2QCSg4v78Flxo/UbqR9x7JoyPcqaPtwo+qzeOw/fF+aPSbk0xTvBQAAAZk7Dlkc8K1bum5GUnw==";
       };
     };
     "ssf-0.11.2" = {
@@ -8824,22 +8860,22 @@ let
         sha512 = "VHhsDkuf8gsw4JNRK9cIZjYe6r7PsVUutVohaBhqYAoPaRADoQH+mMgUg7Cs/TgQeDGEvI+PzPEMOdvdsCMvpg==";
       };
     };
-    "string.prototype.trimend-1.0.5" = {
+    "string.prototype.trimend-1.0.6" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
-        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz";
+        sha512 = "JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==";
       };
     };
-    "string.prototype.trimstart-1.0.5" = {
+    "string.prototype.trimstart-1.0.6" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
-        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz";
+        sha512 = "omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -8932,31 +8968,31 @@ let
         sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
       };
     };
-    "swagger-ui-dist-4.15.2" = {
+    "swagger-ui-dist-4.15.5" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "4.15.2";
+      version = "4.15.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.15.2.tgz";
-        sha512 = "sanLAioshpa+Q0PpPxD86uo4labSqeIxtjLoC7xoce3HTnECPoQwY7PUVOiGMZ4dnEnROZPLUTloCEM86jZc1Q==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.15.5.tgz";
+        sha512 = "V3eIa28lwB6gg7/wfNvAbjwJYmDXy1Jo1POjyTzlB6wPcHiGlRxq39TSjYGVjQrUSAzpv+a7nzp7mDxgNy57xA==";
       };
     };
-    "swagger-ui-express-4.5.0" = {
+    "swagger-ui-express-4.6.0" = {
       name = "swagger-ui-express";
       packageName = "swagger-ui-express";
-      version = "4.5.0";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.5.0.tgz";
-        sha512 = "DHk3zFvsxrkcnurGvQlAcLuTDacAVN1JHKDgcba/gr2NFRE4HGwP1YeHIXMiGznkWR4AeS7X5vEblNn4QljuNA==";
+        url = "https://registry.npmjs.org/swagger-ui-express/-/swagger-ui-express-4.6.0.tgz";
+        sha512 = "ZxpQFp1JR2RF8Ar++CyJzEDdvufa08ujNUJgMVTMWPi86CuQeVdBtvaeO/ysrz6dJAYXf9kbVNhWD7JWocwqsA==";
       };
     };
-    "tar-6.1.11" = {
+    "tar-6.1.13" = {
       name = "tar";
       packageName = "tar";
-      version = "6.1.11";
+      version = "6.1.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz";
-        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz";
+        sha512 = "jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==";
       };
     };
     "tar-fs-2.1.1" = {
@@ -9112,22 +9148,22 @@ let
         sha512 = "a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==";
       };
     };
-    "tinycolor2-1.4.2" = {
+    "tinycolor2-1.5.1" = {
       name = "tinycolor2";
       packageName = "tinycolor2";
-      version = "1.4.2";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz";
-        sha512 = "vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==";
+        url = "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.5.1.tgz";
+        sha512 = "BHlrsGeYN2OpkRpfAgkEwCMu6w8Quq8JkK/mp4c55NZP7OwceJObR1CPZt62TqiA0Y3J5pwuDX+fXDqc35REtg==";
       };
     };
-    "tlds-1.231.0" = {
+    "tlds-1.235.0" = {
       name = "tlds";
       packageName = "tlds";
-      version = "1.231.0";
+      version = "1.235.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tlds/-/tlds-1.231.0.tgz";
-        sha512 = "L7UQwueHSkGxZHQBXHVmXW64oi+uqNtzFt2x6Ssk7NVnpIbw16CRs4eb/jmKOZ9t2JnqZ/b3Cfvo97lnXqKrhw==";
+        url = "https://registry.npmjs.org/tlds/-/tlds-1.235.0.tgz";
+        sha512 = "YOZmbHZzB4xmhd09PQ3xIB9fypeEP+AzTiHHn+1uyo2xNzmnCZySIkrHs4qkUKvB3FOXBnHlUOgUON3DZKPQUA==";
       };
     };
     "tmp-0.0.33" = {
@@ -9274,13 +9310,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.4.0" = {
+    "tslib-2.4.1" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.4.0";
+      version = "2.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz";
-        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz";
+        sha512 = "tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==";
       };
     };
     "tsscmp-1.0.6" = {
@@ -9373,6 +9409,15 @@ let
         sha512 = "EqrdoXr0FbUrAMmkNQQuPwlhUGM7SJnpwUlWTWNlK2mOhOUyM+33fhm1f1hz3nnJJV8fTxzS3kTDq6pkVASLAw==";
       };
     };
+    "typescript-4.9.4" = {
+      name = "typescript";
+      packageName = "typescript";
+      version = "4.9.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz";
+        sha512 = "Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==";
+      };
+    };
     "uc.micro-1.0.6" = {
       name = "uc.micro";
       packageName = "uc.micro";
@@ -9688,22 +9733,31 @@ let
         sha512 = "ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==";
       };
     };
-    "vm2-3.9.11" = {
+    "vm2-3.9.13" = {
       name = "vm2";
       packageName = "vm2";
-      version = "3.9.11";
+      version = "3.9.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.11.tgz";
-        sha512 = "PFG8iJRSjvvBdisowQ7iVF580DXb1uCIiGaXgm7tynMR1uTBlv7UJlB1zdv5KJ+Tmq1f0Upnj3fayoEOPpCBKg==";
+        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.13.tgz";
+        sha512 = "0rvxpB8P8Shm4wX2EKOiMp7H2zq+HUE/UwodY0pCZXs9IffIKZq6vUti5OgkVCTakKo9e/fgO4X1fkwfjWxE3Q==";
       };
     };
-    "vue-2.7.13" = {
+    "vue-2.6.14" = {
       name = "vue";
       packageName = "vue";
-      version = "2.7.13";
+      version = "2.6.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue/-/vue-2.7.13.tgz";
-        sha512 = "QnM6ULTNnPmn71eUO+4hdjfBIA3H0GLsBnchnI/kS678tjI45GOUZhXd0oP/gX9isikXz1PAzSnkPspp9EUNfQ==";
+        url = "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz";
+        sha512 = "x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==";
+      };
+    };
+    "vue-2.7.14" = {
+      name = "vue";
+      packageName = "vue";
+      version = "2.7.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz";
+        sha512 = "b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==";
       };
     };
     "vue-agile-2.0.0" = {
@@ -9724,6 +9778,15 @@ let
         sha512 = "BoLCEHisXi2QgwlhZBg9UepvzZZmi4176vbr+31Shen5WWZwSLVgdScEPcB+yrAtuHAz42309C0A4+WiL9lNBw==";
       };
     };
+    "vue-demi-0.13.11" = {
+      name = "vue-demi";
+      packageName = "vue-demi";
+      version = "0.13.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz";
+        sha512 = "IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==";
+      };
+    };
     "vue-fragment-1.5.1" = {
       name = "vue-fragment";
       packageName = "vue-fragment";
@@ -9733,22 +9796,22 @@ let
         sha512 = "ig6eES6TcMBbANW71ylB+AJgRN+Zksb3f50AxjGpAk6hMzqmeuD80qeh4LJP0jVw2dMBMjgRUfIkrvxygoRgtQ==";
       };
     };
-    "vue-i18n-8.27.2" = {
+    "vue-i18n-8.28.2" = {
       name = "vue-i18n";
       packageName = "vue-i18n";
-      version = "8.27.2";
+      version = "8.28.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.27.2.tgz";
-        sha512 = "QVzn7u2WVH8F7eSKIM00lujC7x1mnuGPaTnDTmB01Hd709jDtB9kYtBqM+MWmp5AJRx3gnqAdZbee9MelqwFBg==";
+        url = "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz";
+        sha512 = "C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA==";
       };
     };
-    "vue-json-pretty-1.9.2" = {
+    "vue-json-pretty-1.9.3" = {
       name = "vue-json-pretty";
       packageName = "vue-json-pretty";
-      version = "1.9.2";
+      version = "1.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-json-pretty/-/vue-json-pretty-1.9.2.tgz";
-        sha512 = "FHAYmZAazhVC6Wi+Zi9DVYha+oZb9uylJPGkl/yTYLxlqLMxmnaVC2R8ZwaYzt6TBGvkLe3Y2D2vgyJCDBJy1w==";
+        url = "https://registry.npmjs.org/vue-json-pretty/-/vue-json-pretty-1.9.3.tgz";
+        sha512 = "b13DP1WGQ+ACUU2K5hmwFfHrHnydCFSTerE7fppeYMojSWN/5EOPODQECfIIRaJ7zzHtPW9OifkThFGPyY0xRg==";
       };
     };
     "vue-prism-editor-0.3.0" = {
@@ -9769,13 +9832,13 @@ let
         sha512 = "VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==";
       };
     };
-    "vue-template-compiler-2.7.13" = {
+    "vue-template-compiler-2.7.14" = {
       name = "vue-template-compiler";
       packageName = "vue-template-compiler";
-      version = "2.7.13";
+      version = "2.7.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz";
-        sha512 = "jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog==";
+        url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz";
+        sha512 = "zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==";
       };
     };
     "vue-typed-mixins-0.2.0" = {
@@ -9814,15 +9877,6 @@ let
         sha512 = "rGV8jxgOQEJYkJCp7uOBe3hjvmG1arThrq1wGtJHwJTgi65+P2a+0l4CYcQO/U1ZFqTq2/TT2+oTE6H7Y+6Eog==";
       };
     };
-    "vuex-3.6.2" = {
-      name = "vuex";
-      packageName = "vuex";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz";
-        sha512 = "ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==";
-      };
-    };
     "w3c-keyname-2.2.6" = {
       name = "w3c-keyname";
       packageName = "w3c-keyname";
@@ -9895,22 +9949,13 @@ let
         sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
       };
     };
-    "which-collection-1.0.1" = {
-      name = "which-collection";
-      packageName = "which-collection";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz";
-        sha512 = "W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==";
-      };
-    };
-    "which-typed-array-1.1.8" = {
+    "which-typed-array-1.1.9" = {
       name = "which-typed-array";
       packageName = "which-typed-array";
-      version = "1.1.8";
+      version = "1.1.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz";
-        sha512 = "Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==";
+        url = "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz";
+        sha512 = "w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==";
       };
     };
     "wide-align-1.1.5" = {
@@ -10216,12 +10261,17 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.200.1";
+    version = "0.209.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.200.1.tgz";
-      sha512 = "g6RFonJAuvaNyQ6t3DfDHnV4T5NT4obfkRzELJ4S0DnT5jq68n1UsYmbPII8rhmdZJsK+d67prGlKUsnyZ3VxQ==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.209.3.tgz";
+      sha512 = "PMM7hOrl0/JnwA46kfH69Qw4i1Yq7QCxm5EwFpPKPvYAIZQ9o5C53SeO5uM3/+dX3vcPbgMYcj3XKKhW5Io7qQ==";
     };
     dependencies = [
+      (sources."@acuminous/bitsyntax-0.1.2" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
         dependencies = [
           sources."argparse-2.0.1"
@@ -10230,53 +10280,53 @@ in
       })
       (sources."@azure/abort-controller-1.1.0" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/core-auth-1.4.0" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/core-client-1.6.1" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      (sources."@azure/core-http-2.2.7" // {
+      (sources."@azure/core-http-2.3.1" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
           sources."tough-cookie-4.1.2"
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
           sources."universalify-0.2.0"
         ];
       })
       sources."@azure/core-http-compat-1.3.0"
       (sources."@azure/core-lro-2.4.0" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      (sources."@azure/core-paging-1.3.0" // {
+      (sources."@azure/core-paging-1.4.0" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      (sources."@azure/core-rest-pipeline-1.9.2" // {
+      (sources."@azure/core-rest-pipeline-1.10.0" // {
         dependencies = [
           sources."@tootallnate/once-2.0.0"
           sources."http-proxy-agent-5.0.0"
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/core-tracing-1.0.1" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/core-util-1.1.1" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/identity-2.1.0" // {
@@ -10284,59 +10334,62 @@ in
           sources."jwa-2.0.0"
           sources."jws-4.0.0"
           sources."open-8.4.0"
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/keyvault-keys-4.6.0" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."@azure/logger-1.0.3" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."@azure/ms-rest-azure-env-2.0.0"
-      (sources."@azure/ms-rest-js-2.6.2" // {
+      (sources."@azure/ms-rest-js-2.6.4" // {
         dependencies = [
           sources."form-data-2.5.1"
         ];
       })
       sources."@azure/ms-rest-nodeauth-3.1.1"
-      sources."@azure/msal-browser-2.30.0"
+      (sources."@azure/msal-browser-2.32.1" // {
+        dependencies = [
+          sources."@azure/msal-common-9.0.1"
+        ];
+      })
       sources."@azure/msal-common-7.6.0"
-      sources."@azure/msal-node-1.14.2"
+      (sources."@azure/msal-node-1.14.5" // {
+        dependencies = [
+          sources."@azure/msal-common-9.0.1"
+        ];
+      })
       (sources."@azure/storage-blob-12.12.0" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
-          sources."tslib-2.4.0"
-        ];
-      })
-      sources."@babel/parser-7.20.0"
-      sources."@babel/runtime-7.20.0"
-      sources."@codemirror/autocomplete-6.3.0"
-      sources."@codemirror/commands-6.1.2"
-      sources."@codemirror/lang-javascript-6.1.1"
-      sources."@codemirror/language-6.3.0"
-      sources."@codemirror/lint-6.0.0"
-      sources."@codemirror/state-6.1.2"
-      sources."@codemirror/view-6.4.0"
+          sources."tslib-2.4.1"
+        ];
+      })
+      sources."@babel/parser-7.20.7"
+      sources."@babel/runtime-7.20.7"
+      sources."@codemirror/autocomplete-6.4.0"
+      sources."@codemirror/commands-6.1.3"
+      sources."@codemirror/lang-javascript-6.1.2"
+      sources."@codemirror/language-6.3.2"
+      sources."@codemirror/lint-6.1.0"
+      sources."@codemirror/state-6.2.0"
+      sources."@codemirror/view-6.7.1"
       sources."@colors/colors-1.5.0"
       sources."@curlconverter/yargs-0.0.2"
       sources."@curlconverter/yargs-parser-0.0.1"
-      (sources."@dabh/diagnostics-2.0.3" // {
-        dependencies = [
-          sources."enabled-2.0.0"
-          sources."kuler-2.0.0"
-        ];
-      })
+      sources."@dabh/diagnostics-2.0.3"
       sources."@fontsource/open-sans-4.5.13"
       sources."@fortawesome/fontawesome-common-types-0.3.0"
       sources."@fortawesome/fontawesome-svg-core-1.3.0"
-      (sources."@fortawesome/free-regular-svg-icons-6.2.0" // {
+      (sources."@fortawesome/free-regular-svg-icons-6.2.1" // {
         dependencies = [
-          sources."@fortawesome/fontawesome-common-types-6.2.0"
+          sources."@fortawesome/fontawesome-common-types-6.2.1"
         ];
       })
       (sources."@fortawesome/free-solid-svg-icons-5.15.4" // {
@@ -10344,7 +10397,7 @@ in
           sources."@fortawesome/fontawesome-common-types-0.2.36"
         ];
       })
-      sources."@fortawesome/vue-fontawesome-2.0.8"
+      sources."@fortawesome/vue-fontawesome-2.0.9"
       sources."@gar/promisify-1.1.3"
       (sources."@icetee/ftp-0.3.15" // {
         dependencies = [
@@ -10358,11 +10411,16 @@ in
       sources."@kafkajs/confluent-schema-registry-1.0.6"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
-      sources."@lezer/common-1.0.1"
-      sources."@lezer/highlight-1.1.2"
-      sources."@lezer/javascript-1.0.2"
-      sources."@lezer/lr-1.2.3"
+      sources."@lezer/common-1.0.2"
+      sources."@lezer/highlight-1.1.3"
+      sources."@lezer/javascript-1.4.0"
+      sources."@lezer/lr-1.2.5"
       sources."@mapbox/node-pre-gyp-1.0.10"
+      (sources."@n8n_io/license-sdk-1.8.0" // {
+        dependencies = [
+          sources."axios-1.1.3"
+        ];
+      })
       sources."@n8n_io/riot-tmpl-1.0.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -10373,16 +10431,16 @@ in
           sources."mkdirp-1.0.4"
         ];
       })
-      sources."@oclif/command-1.8.18"
-      (sources."@oclif/config-1.18.5" // {
+      sources."@oclif/command-1.8.20"
+      (sources."@oclif/config-1.18.6" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      (sources."@oclif/core-1.19.2" // {
+      (sources."@oclif/core-1.23.0" // {
         dependencies = [
           sources."supports-color-8.1.1"
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
           sources."wrap-ansi-7.0.0"
         ];
       })
@@ -10394,24 +10452,33 @@ in
           sources."wrap-ansi-7.0.0"
         ];
       })
-      sources."@oclif/help-1.0.3"
+      sources."@oclif/help-1.0.4"
       sources."@oclif/linewrap-1.0.0"
-      (sources."@oclif/parser-3.8.8" // {
+      (sources."@oclif/parser-3.8.9" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      sources."@oclif/screen-3.0.2"
-      sources."@opentelemetry/api-1.2.0"
+      sources."@oclif/screen-3.0.3"
+      sources."@opentelemetry/api-1.3.0"
       sources."@rudderstack/rudder-sdk-node-1.0.6"
-      (sources."@sap/hana-client-2.14.22" // {
+      (sources."@sap/hana-client-2.15.17" // {
         dependencies = [
           sources."debug-3.1.0"
           sources."ms-2.0.0"
         ];
       })
       sources."@segment/loosely-validate-event-2.0.0"
-      sources."@selderee/plugin-htmlparser2-0.6.0"
+      (sources."@selderee/plugin-htmlparser2-0.10.0" // {
+        dependencies = [
+          sources."domhandler-5.0.3"
+        ];
+      })
+      sources."@sentry/core-7.28.1"
+      sources."@sentry/integrations-7.28.1"
+      sources."@sentry/node-7.28.1"
+      sources."@sentry/types-7.28.1"
+      sources."@sentry/utils-7.28.1"
       sources."@servie/events-1.0.0"
       sources."@sqltools/formatter-1.2.5"
       sources."@techteamer/ocsp-1.0.0"
@@ -10421,16 +10488,16 @@ in
       sources."@types/body-parser-1.19.2"
       sources."@types/connect-3.4.35"
       sources."@types/es-aggregate-error-1.0.2"
-      sources."@types/express-4.17.14"
+      sources."@types/express-4.17.15"
       sources."@types/express-jwt-0.0.42"
       sources."@types/express-serve-static-core-4.17.31"
       sources."@types/express-unless-2.0.1"
       sources."@types/js-nacl-1.3.1"
       sources."@types/json-schema-7.0.11"
-      sources."@types/lodash-4.14.186"
+      sources."@types/lodash-4.14.191"
       sources."@types/mime-3.0.1"
       sources."@types/multer-1.4.7"
-      sources."@types/node-18.11.7"
+      sources."@types/node-18.11.18"
       (sources."@types/node-fetch-2.6.2" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -10438,22 +10505,31 @@ in
       })
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/readable-stream-2.3.14"
+      (sources."@types/readable-stream-2.3.15" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."@types/serve-static-1.15.0"
       sources."@types/tough-cookie-2.3.8"
       sources."@types/tunnel-0.0.3"
       sources."@types/webidl-conversions-7.0.0"
       sources."@types/whatwg-url-8.2.2"
-      sources."@vue/compiler-sfc-2.7.13"
-      sources."@xmldom/xmldom-0.7.6"
+      sources."@vue/compiler-sfc-2.7.14"
+      (sources."@vue/composition-api-1.7.1" // {
+        dependencies = [
+          sources."vue-2.6.14"
+        ];
+      })
+      sources."@vue/devtools-api-6.4.5"
+      sources."@xmldom/xmldom-0.8.6"
       sources."a-sync-waterfall-1.0.1"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
-      sources."access-control-1.0.1"
       sources."acorn-8.8.1"
       sources."acorn-walk-8.2.0"
-      (sources."adal-node-0.2.3" // {
+      (sources."adal-node-0.2.4" // {
         dependencies = [
           sources."async-2.6.4"
           sources."uuid-3.4.0"
@@ -10472,7 +10548,7 @@ in
         ];
       })
       sources."ajv-6.12.6"
-      (sources."amqplib-0.8.0" // {
+      (sources."amqplib-0.10.3" // {
         dependencies = [
           sources."isarray-0.0.1"
           sources."readable-stream-1.1.14"
@@ -10484,7 +10560,7 @@ in
       sources."ansi-styles-4.3.0"
       sources."ansicolors-0.3.2"
       sources."any-promise-1.3.0"
-      sources."anymatch-3.1.2"
+      sources."anymatch-3.1.3"
       sources."app-root-path-3.1.0"
       sources."append-field-1.0.0"
       sources."aproba-2.0.0"
@@ -10498,17 +10574,17 @@ in
       sources."array-parallel-0.1.3"
       sources."array-series-0.1.5"
       sources."array-union-2.1.0"
-      sources."array.prototype.reduce-1.0.4"
+      sources."array.prototype.reduce-1.0.5"
       sources."asap-2.0.6"
       sources."asn1-0.2.6"
       sources."asn1.js-5.4.1"
       sources."asn1.js-rfc2560-5.0.1"
       sources."asn1.js-rfc5280-3.0.0"
-      sources."assert-options-0.7.0"
+      sources."assert-options-0.8.0"
       sources."assert-plus-1.0.0"
       (sources."ast-types-0.13.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."async-3.2.4"
@@ -10521,8 +10597,8 @@ in
         ];
       })
       sources."available-typed-arrays-1.0.5"
-      sources."avsc-5.7.6"
-      (sources."aws-sdk-2.1242.0" // {
+      sources."avsc-5.7.7"
+      (sources."aws-sdk-2.1283.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -10564,19 +10640,12 @@ in
         ];
       })
       sources."bintrees-1.0.2"
-      (sources."bitsyntax-0.1.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
       (sources."bl-4.1.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
         ];
       })
-      sources."bluebird-3.7.2"
+      sources."bluebird-2.11.0"
       sources."bn.js-4.12.0"
       (sources."body-parser-1.20.1" // {
         dependencies = [
@@ -10603,22 +10672,25 @@ in
       sources."bytes-3.1.2"
       (sources."cacache-15.3.0" // {
         dependencies = [
+          sources."lru-cache-6.0.0"
+          sources."minipass-3.3.6"
           sources."mkdirp-1.0.4"
           sources."p-map-4.0.0"
+          sources."yallist-4.0.0"
         ];
       })
       sources."call-bind-1.0.2"
-      sources."call-me-maybe-1.0.1"
+      sources."call-me-maybe-1.0.2"
       sources."callback-stream-1.1.0"
       sources."callsites-3.1.0"
       (sources."camel-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."capital-case-1.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."cardinal-2.1.1"
@@ -10631,7 +10703,7 @@ in
       sources."chalk-4.1.2"
       (sources."change-case-4.1.2" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."chardet-0.7.0"
@@ -10659,8 +10731,8 @@ in
           sources."wrap-ansi-7.0.0"
         ];
       })
-      sources."clone-2.1.2"
-      sources."cluster-key-slot-1.1.1"
+      sources."cluster-key-slot-1.1.2"
+      sources."codemirror-lang-n8n-expression-0.1.0"
       sources."codepage-1.15.0"
       (sources."color-3.2.1" // {
         dependencies = [
@@ -10672,7 +10744,6 @@ in
       sources."color-name-1.1.4"
       sources."color-string-1.9.1"
       sources."color-support-1.1.3"
-      sources."colornames-1.1.1"
       sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
       sources."commander-5.1.0"
@@ -10695,17 +10766,21 @@ in
       sources."console-control-strings-1.1.0"
       (sources."constant-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       sources."convict-6.2.3"
-      sources."cookie-0.4.1"
-      sources."cookie-parser-1.4.6"
+      sources."cookie-0.4.2"
+      (sources."cookie-parser-1.4.6" // {
+        dependencies = [
+          sources."cookie-0.4.1"
+        ];
+      })
       sources."cookie-signature-1.0.6"
       sources."copy-to-2.0.1"
-      sources."core-js-3.26.0"
+      sources."core-js-3.27.0"
       sources."core-util-is-1.0.3"
       sources."crc-32-1.2.2"
       sources."crelt-1.0.5"
@@ -10733,13 +10808,8 @@ in
       sources."de-indent-1.0.2"
       sources."debug-4.3.4"
       sources."debuglog-1.0.1"
-      sources."decode-uri-component-0.2.0"
+      sources."decode-uri-component-0.2.2"
       sources."decompress-response-6.0.0"
-      (sources."deep-equal-2.0.5" // {
-        dependencies = [
-          sources."isarray-2.0.5"
-        ];
-      })
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."deepmerge-1.5.2"
@@ -10753,11 +10823,9 @@ in
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
       sources."detect-libc-2.0.1"
-      sources."diagnostics-1.1.1"
       sources."difflib-0.2.4"
       sources."digest-header-1.0.0"
       sources."dir-glob-3.0.1"
-      sources."discontinuous-range-1.0.0"
       sources."dom-iterator-1.0.0"
       sources."dom-serializer-1.4.1"
       sources."domelementtype-2.3.0"
@@ -10765,7 +10833,7 @@ in
       sources."domutils-2.8.0"
       (sources."dot-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."dotenv-8.6.0"
@@ -10775,25 +10843,19 @@ in
       sources."ecdsa-sig-formatter-1.0.11"
       sources."ee-first-1.1.1"
       sources."ejs-3.1.8"
-      sources."element-ui-2.15.10"
+      sources."element-ui-2.15.12"
       sources."emoji-regex-8.0.0"
-      sources."enabled-1.0.2"
+      sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
       sources."encoding-0.1.13"
       sources."encoding-japanese-2.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
       sources."env-paths-2.2.1"
-      sources."env-variable-0.0.6"
       sources."err-code-2.0.3"
-      sources."es-abstract-1.20.4"
-      sources."es-aggregate-error-1.0.8"
+      sources."es-abstract-1.20.5"
+      sources."es-aggregate-error-1.0.9"
       sources."es-array-method-boxes-properly-1.0.0"
-      (sources."es-get-iterator-1.1.2" // {
-        dependencies = [
-          sources."isarray-2.0.5"
-        ];
-      })
       sources."es-to-primitive-1.2.1"
       sources."es5-ext-0.8.2"
       sources."escalade-3.1.1"
@@ -10802,11 +10864,11 @@ in
       sources."escodegen-1.14.3"
       sources."eslint-config-riot-1.0.0"
       sources."esprima-4.0.1"
+      sources."esprima-next-5.8.4"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."event-target-shim-5.0.1"
-      sources."eventemitter3-4.0.7"
       sources."events-3.3.0"
       sources."eventsource-2.0.2"
       sources."exit-on-epipe-1.0.1"
@@ -10835,11 +10897,10 @@ in
       })
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-diff-1.2.0"
       sources."fast-glob-3.2.12"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
-      sources."fastq-1.13.0"
+      sources."fastq-1.14.0"
       sources."fecha-4.2.3"
       sources."fflate-0.7.4"
       (sources."figures-3.2.0" // {
@@ -10852,7 +10913,7 @@ in
       sources."file-uri-to-path-2.0.0"
       (sources."filelist-1.0.4" // {
         dependencies = [
-          sources."minimatch-5.1.0"
+          sources."minimatch-5.1.2"
         ];
       })
       sources."fill-range-7.0.1"
@@ -10881,7 +10942,12 @@ in
       sources."fresh-0.5.2"
       sources."fs-constants-1.0.0"
       sources."fs-extra-9.1.0"
-      sources."fs-minipass-2.1.0"
+      (sources."fs-minipass-2.1.0" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."fs.realpath-1.0.0"
       (sources."ftp-0.3.10" // {
         dependencies = [
@@ -10925,11 +10991,10 @@ in
         dependencies = [
           sources."cross-spawn-4.0.2"
           sources."debug-3.2.7"
-          sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
         ];
       })
       sources."google-timezones-json-1.0.2"
+      sources."gopd-1.0.1"
       sources."graceful-fs-4.2.10"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
@@ -10945,16 +11010,21 @@ in
       sources."he-1.2.0"
       (sources."header-case-2.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."heap-0.2.7"
       sources."help-me-1.1.0"
       sources."highlight.js-10.7.3"
       sources."homedir-polyfill-1.0.3"
-      (sources."html-to-text-8.2.0" // {
+      (sources."html-to-text-9.0.2" // {
         dependencies = [
           sources."deepmerge-4.2.2"
+          sources."dom-serializer-2.0.0"
+          sources."domhandler-5.0.3"
+          sources."domutils-3.0.1"
+          sources."entities-4.4.0"
+          sources."htmlparser2-8.0.1"
         ];
       })
       sources."htmlparser2-6.1.0"
@@ -10968,7 +11038,7 @@ in
       sources."iconv-lite-0.6.3"
       sources."ics-2.41.0"
       sources."ieee754-1.2.1"
-      sources."ignore-5.2.0"
+      sources."ignore-5.2.4"
       (sources."imap-0.8.19" // {
         dependencies = [
           sources."isarray-0.0.1"
@@ -10981,6 +11051,7 @@ in
           sources."iconv-lite-0.4.24"
         ];
       })
+      sources."immediate-3.0.6"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."infer-owner-1.0.4"
@@ -10988,7 +11059,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."inquirer-7.3.3"
-      sources."internal-slot-1.0.3"
+      sources."internal-slot-1.0.4"
       sources."interpret-1.4.0"
       sources."ioredis-4.28.5"
       sources."ip-2.0.0"
@@ -11011,7 +11082,6 @@ in
       sources."is-generator-function-1.0.10"
       sources."is-glob-4.0.3"
       sources."is-lambda-1.0.1"
-      sources."is-map-2.0.2"
       sources."is-nan-1.3.2"
       sources."is-negated-glob-1.0.0"
       sources."is-negative-zero-2.0.2"
@@ -11023,28 +11093,25 @@ in
       sources."is-regex-1.1.4"
       sources."is-relative-1.0.0"
       sources."is-retry-allowed-2.2.0"
-      sources."is-set-2.0.2"
       sources."is-shared-array-buffer-1.0.2"
       sources."is-stream-2.0.1"
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.9"
+      sources."is-typed-array-1.1.10"
       sources."is-typedarray-1.0.0"
       sources."is-unc-path-1.0.0"
-      sources."is-weakmap-2.0.1"
       sources."is-weakref-1.0.2"
-      sources."is-weakset-2.0.2"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
-      sources."isbot-3.6.2"
+      sources."isbot-3.6.5"
       sources."isexe-2.0.0"
       sources."iso-639-1-2.1.15"
       sources."isstream-0.1.2"
       sources."jake-10.8.5"
       sources."jmespath-0.16.0"
       sources."join-component-1.1.0"
-      sources."jquery-3.6.1"
+      sources."jquery-3.6.3"
       sources."js-md4-0.3.2"
       sources."js-nacl-1.4.0"
       sources."js-yaml-3.14.1"
@@ -11075,16 +11142,19 @@ in
       sources."jwks-rsa-1.12.3"
       sources."jws-3.2.2"
       sources."kafkajs-1.16.0"
-      sources."kuler-1.0.1"
+      sources."kuler-2.0.0"
+      sources."leac-0.6.0"
       sources."leven-2.1.0"
       sources."levn-0.3.0"
       sources."libbase64-1.2.1"
-      sources."libmime-5.1.0"
-      sources."libphonenumber-js-1.10.14"
+      sources."libmime-5.2.0"
+      sources."libphonenumber-js-1.10.15"
       sources."libpq-1.8.12"
-      sources."libqp-1.1.0"
+      sources."libqp-2.0.1"
+      sources."lie-3.1.1"
       sources."limiter-1.1.5"
-      sources."linkify-it-4.0.0"
+      sources."linkify-it-3.0.3"
+      sources."localforage-1.10.0"
       (sources."localtunnel-2.0.2" // {
         dependencies = [
           sources."debug-4.3.2"
@@ -11124,23 +11194,19 @@ in
       sources."lossless-json-1.0.5"
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      sources."lru-cache-6.0.0"
-      (sources."lru-memoizer-2.1.4" // {
+      sources."lru-cache-4.0.2"
+      sources."lru-memoizer-2.1.4"
+      sources."lru_map-0.3.3"
+      sources."luxon-2.5.0"
+      (sources."mailparser-3.6.2" // {
         dependencies = [
-          sources."lru-cache-4.0.2"
-          sources."yallist-2.1.2"
+          sources."linkify-it-4.0.1"
         ];
       })
-      sources."luxon-2.3.2"
-      (sources."mailparser-3.5.0" // {
-        dependencies = [
-          sources."nodemailer-6.7.3"
-        ];
-      })
-      sources."mailsplit-5.3.2"
+      sources."mailsplit-5.4.0"
       (sources."make-dir-3.1.0" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -11150,18 +11216,30 @@ in
       sources."make-error-cause-2.3.0"
       (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
+          sources."lru-cache-6.0.0"
+          sources."minipass-3.3.6"
           sources."socks-proxy-agent-6.2.1"
+          sources."yallist-4.0.0"
         ];
       })
-      sources."mappersmith-2.40.0"
+      sources."mappersmith-2.41.0"
+      (sources."markdown-it-12.3.2" // {
+        dependencies = [
+          sources."argparse-2.0.1"
+          sources."entities-2.1.0"
+        ];
+      })
+      sources."markdown-it-emoji-2.0.2"
+      sources."markdown-it-link-attributes-4.0.1"
+      sources."markdown-it-task-lists-2.1.1"
       sources."material-colors-1.2.6"
       sources."md5-2.3.0"
+      sources."mdurl-1.0.1"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."micromatch-4.0.5"
-      sources."millisecond-0.1.2"
       sources."mime-1.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
@@ -11174,13 +11252,47 @@ in
         ];
       })
       sources."minimist-1.2.7"
-      sources."minipass-3.3.5"
-      sources."minipass-collect-1.0.2"
-      sources."minipass-fetch-1.4.1"
-      sources."minipass-flush-1.0.5"
-      sources."minipass-pipeline-1.2.4"
-      sources."minipass-sized-1.0.3"
-      sources."minizlib-2.1.2"
+      (sources."minipass-4.0.0" // {
+        dependencies = [
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minipass-collect-1.0.2" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minipass-fetch-1.4.1" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minipass-flush-1.0.5" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minipass-pipeline-1.2.4" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minipass-sized-1.0.3" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
+      (sources."minizlib-2.1.2" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       (sources."mock-require-3.0.3" // {
@@ -11190,21 +11302,16 @@ in
         ];
       })
       sources."moment-2.29.4"
-      sources."moment-timezone-0.5.38"
-      sources."monaco-editor-0.30.1"
-      (sources."mongodb-4.11.0" // {
-        dependencies = [
-          sources."denque-2.1.0"
-        ];
-      })
-      (sources."mongodb-connection-string-url-2.5.4" // {
+      sources."moment-timezone-0.5.40"
+      sources."monaco-editor-0.33.0"
+      sources."mongodb-4.13.0"
+      (sources."mongodb-connection-string-url-2.6.0" // {
         dependencies = [
           sources."tr46-3.0.0"
           sources."webidl-conversions-7.0.0"
           sources."whatwg-url-11.0.0"
         ];
       })
-      sources."moo-0.5.2"
       (sources."mqtt-4.2.6" // {
         dependencies = [
           sources."concat-stream-2.0.0"
@@ -11223,22 +11330,28 @@ in
       (sources."mysql2-2.3.3" // {
         dependencies = [
           sources."denque-2.1.0"
+          sources."lru-cache-6.0.0"
+          sources."yallist-4.0.0"
         ];
       })
       sources."mz-2.7.0"
-      sources."n8n-core-0.140.1"
-      sources."n8n-design-system-0.40.0"
-      sources."n8n-editor-ui-0.166.1"
-      (sources."n8n-nodes-base-0.198.1" // {
+      sources."n8n-core-0.149.2"
+      sources."n8n-design-system-0.49.3"
+      sources."n8n-editor-ui-0.175.3"
+      (sources."n8n-nodes-base-0.207.2" // {
         dependencies = [
           sources."chokidar-3.5.2"
+          sources."luxon-2.3.2"
+        ];
+      })
+      (sources."n8n-workflow-0.131.2" // {
+        dependencies = [
+          sources."luxon-2.3.2"
         ];
       })
-      sources."n8n-workflow-0.122.1"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
         ];
       })
       sources."nan-2.17.0"
@@ -11247,21 +11360,16 @@ in
       sources."napi-build-utils-1.0.2"
       sources."native-duplexpair-1.0.0"
       sources."natural-orderby-2.0.3"
-      (sources."nearley-2.20.1" // {
-        dependencies = [
-          sources."commander-2.20.3"
-        ];
-      })
       sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."netmask-2.0.2"
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      sources."node-abi-3.28.0"
+      sources."node-abi-3.30.0"
       sources."node-abort-controller-3.0.1"
       sources."node-addon-api-4.3.0"
       sources."node-ensure-0.0.0"
@@ -11276,8 +11384,8 @@ in
         ];
       })
       sources."node-gyp-build-4.5.0"
-      sources."node-html-markdown-1.2.2"
-      (sources."node-html-parser-6.1.1" // {
+      sources."node-html-markdown-1.3.0"
+      (sources."node-html-parser-6.1.4" // {
         dependencies = [
           sources."css-select-5.1.0"
           sources."dom-serializer-2.0.0"
@@ -11286,6 +11394,8 @@ in
           sources."entities-4.4.0"
         ];
       })
+      sources."node-machine-id-1.1.12"
+      sources."node-rsa-1.1.1"
       sources."node-ssh-12.0.5"
       sources."nodeify-1.0.1"
       sources."nodemailer-6.8.0"
@@ -11300,11 +11410,10 @@ in
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.2"
-      sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object-treeify-1.1.33"
       sources."object.assign-4.1.4"
-      sources."object.getownpropertydescriptors-2.1.4"
+      sources."object.getownpropertydescriptors-2.1.5"
       sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -11334,25 +11443,28 @@ in
       sources."packet-reader-1.0.0"
       (sources."param-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      sources."parchment-2.0.0-dev.2"
       sources."parse-github-url-1.0.2"
       sources."parse-passwd-1.0.0"
       sources."parse-srcset-1.0.2"
       sources."parse5-6.0.1"
       sources."parse5-htmlparser2-tree-adapter-6.0.1"
-      sources."parseley-0.7.0"
+      sources."parseley-0.11.0"
       sources."parseurl-1.3.3"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."passport-0.6.0"
       sources."passport-cookie-1.0.9"
-      sources."passport-jwt-4.0.0"
+      (sources."passport-jwt-4.0.1" // {
+        dependencies = [
+          sources."jsonwebtoken-9.0.0"
+        ];
+      })
       sources."passport-strategy-1.0.0"
       (sources."password-prompt-1.1.2" // {
         dependencies = [
@@ -11361,7 +11473,7 @@ in
       })
       (sources."path-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."path-dirname-1.0.2"
@@ -11377,6 +11489,7 @@ in
           sources."debug-3.2.7"
         ];
       })
+      sources."peberminta-0.8.0"
       sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
       sources."pg-8.8.0"
@@ -11394,7 +11507,7 @@ in
         ];
       })
       sources."pg-pool-3.5.2"
-      sources."pg-promise-10.12.1"
+      sources."pg-promise-10.15.4"
       sources."pg-protocol-1.5.0"
       sources."pg-query-stream-4.2.4"
       sources."pg-types-2.2.0"
@@ -11405,6 +11518,7 @@ in
       })
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
+      sources."pinia-2.0.28"
       sources."popsicle-12.1.0"
       sources."popsicle-content-encoding-1.0.0"
       sources."popsicle-cookie-jar-1.0.0"
@@ -11412,34 +11526,30 @@ in
       sources."popsicle-transport-http-1.2.1"
       sources."popsicle-transport-xhr-2.0.0"
       sources."popsicle-user-agent-1.0.0"
-      sources."postcss-8.4.18"
+      sources."postcss-8.4.20"
       sources."postgres-array-2.0.0"
       sources."postgres-bytea-1.0.0"
       sources."postgres-date-1.0.7"
       sources."postgres-interval-1.2.0"
-      (sources."posthog-node-1.3.0" // {
+      (sources."posthog-node-2.2.3" // {
         dependencies = [
-          sources."axios-0.24.0"
-          sources."ms-2.1.3"
+          sources."axios-0.27.2"
         ];
       })
       sources."prebuild-install-7.1.1"
       sources."prelude-ls-1.1.2"
+      sources."pretty-bytes-5.6.0"
       sources."printj-1.1.2"
       sources."prismjs-1.29.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."prom-client-13.2.0"
       sources."promise-1.3.0"
-      (sources."promise-ftp-1.3.5" // {
-        dependencies = [
-          sources."bluebird-2.11.0"
-        ];
-      })
+      sources."promise-ftp-1.3.5"
       sources."promise-ftp-common-1.1.5"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
-      sources."promise.prototype.finally-3.1.3"
+      sources."promise.prototype.finally-3.1.4"
       sources."property-expr-2.0.5"
       sources."proxy-addr-2.0.7"
       (sources."proxy-agent-5.0.0" // {
@@ -11460,20 +11570,11 @@ in
       sources."punycode-2.1.1"
       sources."python-struct-1.1.3"
       sources."qs-6.11.0"
-      sources."query-string-7.1.1"
+      sources."query-string-7.1.3"
       sources."querystring-0.2.0"
       sources."querystringify-2.2.0"
       sources."queue-microtask-1.2.3"
-      sources."quill-2.0.0-dev.4"
-      sources."quill-autoformat-0.1.2"
-      (sources."quill-delta-4.2.1" // {
-        dependencies = [
-          sources."deep-equal-1.1.1"
-        ];
-      })
       sources."quoted-printable-1.0.1"
-      sources."railroad-diagrams-1.0.0"
-      sources."randexp-0.4.6"
       sources."random-bytes-1.0.0"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
@@ -11501,11 +11602,16 @@ in
       sources."redis-errors-1.2.0"
       sources."redis-parser-3.0.0"
       sources."reflect-metadata-0.1.13"
-      sources."regenerator-runtime-0.13.10"
+      sources."regenerator-runtime-0.13.11"
       sources."regexp.prototype.flags-1.4.3"
       sources."reinterval-1.1.0"
       sources."remove-trailing-separator-1.1.0"
       sources."remove-trailing-slash-0.1.1"
+      (sources."replacestream-4.0.3" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
       (sources."request-2.88.2" // {
         dependencies = [
           sources."form-data-2.3.3"
@@ -11526,7 +11632,6 @@ in
       sources."resize-observer-polyfill-1.5.1"
       sources."resolve-1.22.1"
       sources."restore-cursor-3.1.0"
-      sources."ret-0.1.15"
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
       sources."rfdc-1.3.0"
@@ -11553,8 +11658,13 @@ in
       sources."sax-1.2.4"
       sources."sb-promise-queue-2.1.0"
       sources."sb-scandir-3.1.0"
-      sources."selderee-0.6.0"
-      sources."semver-7.3.8"
+      sources."selderee-0.10.0"
+      (sources."semver-7.3.8" // {
+        dependencies = [
+          sources."lru-cache-6.0.0"
+          sources."yallist-4.0.0"
+        ];
+      })
       (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
@@ -11567,7 +11677,7 @@ in
       })
       (sources."sentence-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."seq-queue-0.0.5"
@@ -11575,7 +11685,6 @@ in
       sources."serve-static-1.15.0"
       sources."servie-4.3.3"
       sources."set-blocking-2.0.0"
-      sources."setheader-1.0.2"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shebang-command-1.2.0"
@@ -11591,17 +11700,17 @@ in
       sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
       sources."simple-get-4.0.1"
-      sources."simple-git-3.14.1"
+      sources."simple-git-3.15.1"
       sources."simple-lru-cache-0.0.2"
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
       (sources."snake-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
-      (sources."snowflake-sdk-1.6.14" // {
+      (sources."snowflake-sdk-1.6.17" // {
         dependencies = [
           sources."axios-0.27.2"
           sources."debug-3.2.7"
@@ -11614,6 +11723,7 @@ in
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."source-map-js-1.0.2"
+      sources."source-map-support-0.5.21"
       sources."spex-3.2.0"
       sources."split-on-first-1.1.0"
       (sources."split2-3.2.2" // {
@@ -11623,9 +11733,9 @@ in
       })
       sources."sprintf-js-1.0.3"
       sources."sql.js-1.8.0"
-      sources."sqlite3-5.1.2"
+      sources."sqlite3-5.1.4"
       sources."sqlstring-2.3.3"
-      sources."sse-channel-3.1.1"
+      sources."sse-channel-4.0.0"
       sources."ssf-0.11.2"
       sources."ssh2-1.11.0"
       (sources."ssh2-sftp-client-7.2.3" // {
@@ -11635,7 +11745,12 @@ in
         ];
       })
       sources."sshpk-1.17.0"
-      sources."ssri-8.0.1"
+      (sources."ssri-8.0.1" // {
+        dependencies = [
+          sources."minipass-3.3.6"
+          sources."yallist-4.0.0"
+        ];
+      })
       sources."stack-trace-0.0.10"
       sources."standard-as-callback-2.1.0"
       sources."static-eval-2.0.2"
@@ -11648,8 +11763,8 @@ in
       sources."string-similarity-4.0.4"
       sources."string-width-4.2.3"
       sources."string.prototype.startswith-1.0.0"
-      sources."string.prototype.trimend-1.0.5"
-      sources."string.prototype.trimstart-1.0.5"
+      sources."string.prototype.trimend-1.0.6"
+      sources."string.prototype.trimstart-1.0.6"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -11662,11 +11777,12 @@ in
       sources."supports-color-7.2.0"
       sources."supports-hyperlinks-2.3.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."swagger-ui-dist-4.15.2"
-      sources."swagger-ui-express-4.5.0"
-      (sources."tar-6.1.11" // {
+      sources."swagger-ui-dist-4.15.5"
+      sources."swagger-ui-express-4.6.0"
+      (sources."tar-6.1.13" // {
         dependencies = [
           sources."mkdirp-1.0.4"
+          sources."yallist-4.0.0"
         ];
       })
       (sources."tar-fs-2.1.1" // {
@@ -11699,8 +11815,8 @@ in
       sources."through2-filter-3.0.0"
       sources."throwback-4.1.0"
       sources."timeago.js-4.0.2"
-      sources."tinycolor2-1.4.2"
-      sources."tlds-1.231.0"
+      sources."tinycolor2-1.5.1"
+      sources."tlds-1.235.0"
       sources."tmp-0.0.33"
       (sources."tmp-promise-3.0.3" // {
         dependencies = [
@@ -11746,10 +11862,11 @@ in
               sources."bl-3.0.1"
             ];
           })
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."typeorm-aurora-data-api-driver-2.4.4"
+      sources."typescript-4.9.4"
       sources."uc.micro-1.0.6"
       sources."uid-safe-2.1.5"
       sources."unbox-primitive-1.0.2"
@@ -11763,12 +11880,12 @@ in
       sources."unpipe-1.0.0"
       (sources."upper-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       (sources."upper-case-first-2.0.2" // {
         dependencies = [
-          sources."tslib-2.4.0"
+          sources."tslib-2.4.1"
         ];
       })
       sources."uri-js-4.4.1"
@@ -11809,28 +11926,27 @@ in
           sources."core-util-is-1.0.2"
         ];
       })
-      sources."vm2-3.9.11"
-      sources."vue-2.7.13"
+      sources."vm2-3.9.13"
+      sources."vue-2.7.14"
       sources."vue-agile-2.0.0"
       sources."vue-color-2.8.1"
+      sources."vue-demi-0.13.11"
       sources."vue-fragment-1.5.1"
-      sources."vue-i18n-8.27.2"
-      sources."vue-json-pretty-1.9.2"
+      sources."vue-i18n-8.28.2"
+      sources."vue-json-pretty-1.9.3"
       sources."vue-prism-editor-0.3.0"
       sources."vue-router-3.6.5"
-      sources."vue-template-compiler-2.7.13"
+      sources."vue-template-compiler-2.7.14"
       sources."vue-typed-mixins-0.2.0"
       sources."vue2-boring-avatars-0.3.4"
       sources."vue2-teleport-1.0.1"
       sources."vue2-touch-events-3.2.2"
-      sources."vuex-3.6.2"
       sources."w3c-keyname-2.2.6"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
-      sources."which-collection-1.0.1"
-      sources."which-typed-array-1.1.8"
+      sources."which-typed-array-1.1.9"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
       (sources."win-release-1.1.1" // {
@@ -11867,7 +11983,7 @@ in
       })
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
+      sources."yallist-2.1.2"
       sources."yamljs-0.3.0"
       sources."yargs-17.1.1"
       sources."yargs-parser-20.2.9"
diff --git a/pkgs/applications/networking/netmaker/default.nix b/pkgs/applications/networking/netmaker/default.nix
new file mode 100644
index 0000000000000..ce074c49cb617
--- /dev/null
+++ b/pkgs/applications/networking/netmaker/default.nix
@@ -0,0 +1,39 @@
+{ buildGoModule, fetchFromGitHub, installShellFiles, lib, libglvnd, pkg-config, xorg }:
+
+buildGoModule rec {
+  pname = "netmaker";
+  version = "0.17.1";
+
+  src = fetchFromGitHub {
+    owner = "gravitl";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-8uxPPhy1/FqPGouqzUxY2lGnO/giqH9bJbAqQ9rZI0g=";
+  };
+
+  vendorHash = "sha256-4LaGwwDu3pKd6I6r/F3isCi9CuFqPGvc5SdVTV34qOI=";
+
+  subPackages = [
+    "."
+    "netclient"
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    libglvnd
+    xorg.libX11
+    xorg.libXcursor
+    xorg.libXi
+    xorg.libXinerama
+    xorg.libXrandr
+  ];
+
+  meta = with lib; {
+    description = "WireGuard automation from homelab to enterprise";
+    homepage = "https://netmaker.io";
+    changelog = "https://github.com/gravitl/netmaker/-/releases/v${version}";
+    license = licenses.sspl;
+    maintainers = with maintainers; [ urandom ];
+  };
+}
diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix
index a7954bcc575e2..bdf75f6440e2e 100644
--- a/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protonmail-bridge";
-  version = "2.1.3";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "ProtonMail";
     repo = "proton-bridge";
     rev = "br-${version}";
-    sha256 = "sha256-+XeNhjwtH1T5p8iydMQk22nXztyamSn6yY56/qqvkmk=";
+    sha256 = "sha256-7p+Q6/BphE/dxNQe+gfcIty6TAWHUcPpvSJWfmf4OQg=";
   };
 
-  vendorSha256 = "sha256-YTGjiteYfuRkDC4M9c/JKqURq4WiC5n9pFRqRVYhyxU=";
+  vendorSha256 = "sha256-dhrn6xQ0IJzBYeO6ko2PUCO+idopC2An0ylqCnx5jKg=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 58c22375af47c..a35e5b03f4a9d 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -2,23 +2,29 @@
 , lib
 , fetchFromGitHub
 , cmake
+, docbook-xsl-nons
+, libxslt
 , pkg-config
 , alsa-lib
+, faac
+, faad2
 , ffmpeg
 , glib
+, openh264
 , openssl
-, pcre
+, pcre2
 , zlib
 , libX11
 , libXcursor
 , libXdamage
+, libXdmcp
 , libXext
 , libXi
 , libXinerama
 , libXrandr
 , libXrender
-, libXv
 , libXtst
+, libXv
 , libxkbcommon
 , libxkbfile
 , wayland
@@ -27,7 +33,6 @@
 , gst-plugins-good
 , libunwind
 , orc
-, libxslt
 , cairo
 , libusb1
 , libpulseaudio
@@ -42,6 +47,7 @@
 , Carbon
 , Cocoa
 , CoreMedia
+, withUnfree ? false
 }:
 
 let
@@ -59,6 +65,8 @@ let
     }
   ];
 
+  inherit (lib) optionals;
+
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
@@ -97,6 +105,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cairo
     cups
+    faad2
     ffmpeg
     glib
     gst-plugins-base
@@ -105,6 +114,7 @@ stdenv.mkDerivation rec {
     libX11
     libXcursor
     libXdamage
+    libXdmcp
     libXext
     libXi
     libXinerama
@@ -118,41 +128,50 @@ stdenv.mkDerivation rec {
     libusb1
     libxkbcommon
     libxkbfile
-    libxslt
+    openh264
     openssl
     orc
-    pcre
+    pcre2
     pcsclite
     zlib
-  ] ++ lib.optionals stdenv.isLinux [
+  ] ++ optionals stdenv.isLinux [
     alsa-lib
     systemd
     wayland
-  ] ++ lib.optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.isDarwin [
     AudioToolbox
     AVFoundation
     Carbon
     Cocoa
     CoreMedia
+  ]
+  ++ optionals withUnfree [
+    faac
   ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
+  nativeBuildInputs = [ cmake libxslt docbook-xsl-nons pkg-config ];
 
   doCheck = true;
 
-  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]
-    ++ lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
-    BUILD_TESTING = doCheck;
-    WITH_CUNIT = doCheck;
+  # https://github.com/FreeRDP/FreeRDP/issues/8526#issuecomment-1357134746
+  cmakeFlags = [
+    "-Wno-dev"
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DDOCBOOKXSL_DIR=${docbook-xsl-nons}/xml/xsl/docbook"
+  ]
+  ++ lib.mapAttrsToList (k: v: "-D${k}=${cmFlag v}") {
+    BUILD_TESTING = false; # false is recommended by upstream
+    WITH_CAIRO = (cairo != null);
     WITH_CUPS = (cups != null);
+    WITH_FAAC = (withUnfree && faac != null);
+    WITH_FAAD2 = (faad2 != null);
+    WITH_JPEG = (libjpeg_turbo != null);
+    WITH_OPENH264 = (openh264 != null);
     WITH_OSS = false;
     WITH_PCSC = (pcsclite != null);
     WITH_PULSE = (libpulseaudio != null);
     WITH_SERVER = buildServer;
-    WITH_SSE2 = stdenv.isx86_64;
-    WITH_VAAPI = true;
-    WITH_JPEG = (libjpeg_turbo != null);
-    WITH_CAIRO = (cairo != null);
+    WITH_VAAPI = false; # false is recommended by upstream
     WITH_X11 = true;
   };
 
diff --git a/pkgs/applications/networking/remote/xrdp/default.nix b/pkgs/applications/networking/remote/xrdp/default.nix
index feb8252c7edae..3744451f3e282 100644
--- a/pkgs/applications/networking/remote/xrdp/default.nix
+++ b/pkgs/applications/networking/remote/xrdp/default.nix
@@ -100,6 +100,20 @@ let
       license = licenses.asl20;
       maintainers = [ ];
       platforms = platforms.linux;
+      knownVulnerabilities = [
+        "CVE-2020-4044"
+        "CVE-2022-23468"
+        "CVE-2022-23477"
+        "CVE-2022-23478"
+        "CVE-2022-23479"
+        "CVE-2022-23480"
+        "CVE-2022-23481"
+        "CVE-2022-23482"
+        "CVE-2022-23483"
+        "CVE-2022-23484"
+        "CVE-2022-23493"
+        "CVE-2022-23613"
+      ];
     };
   };
 in xrdp
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index cf23d22087396..3757d57df8160 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "3.34";
+  version = "3.38";
 
   src = fetchFromGitHub {
-    owner = "chrislusf";
+    owner = "seaweedfs";
     repo = "seaweedfs";
     rev = version;
-    hash = "sha256-lOCZHkLJCDvaT3CcHUBbsybdy0H6BfKKGpd/73cxcWA=";
+    hash = "sha256-LYMGkv1rgUtA/TwulBhgw0w+8kbICtEgr7/K6exalxM=";
   };
 
-  vendorHash = "sha256-1RUWONkXArXYg8gQogKUhMSGdIYyT3lq5qWuUQBsFig=";
+  vendorHash = "sha256-mwfs/tdq1Qq2auEwz24emf7pjpIJAncI78oxhAn2WkI=";
 
   subPackages = [ "weed" ];
 
@@ -49,7 +49,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Simple and highly scalable distributed file system";
     homepage = "https://github.com/chrislusf/seaweedfs";
-    maintainers = with maintainers; [ azahi cmacrae ];
+    maintainers = with maintainers; [ azahi cmacrae wozeparrot ];
     mainProgram = "weed";
     license = licenses.asl20;
   };
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 297520dcb923d..e74084e14c524 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,16 +4,16 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.22.2";
+      version = "1.23.0";
 
       src = fetchFromGitHub {
         owner = "syncthing";
         repo = "syncthing";
         rev = "v${version}";
-        hash = "sha256-t1JIkUjSEshSm3Zi5Ck8IOmTv2tC0dUYyJvlKua/BcI=";
+        hash = "sha256-Z4YVU45na4BgIbN/IlORpTCuf2EuSuOyppDRzswn3EI=";
       };
 
-      vendorSha256 = "sha256-UdzWD8I8ulPBXdF5wZQ7hQoVO9Bnj18Gw5t4wqolSPA=";
+      vendorHash = "sha256-q63iaRxJRvPY0Np20O6JmdMEjSg/kxRneBfs8fRTwXk=";
 
       doCheck = false;
 
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index d4b4bde7b10b4..e885e03c1cd2a 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -41,6 +41,13 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-vwVQnY9EUCXPzhDJ4PSOmQStb9eF6H0yAOiEmL6sAlk=";
       excludes = [ "doc/NEWS.md" ];
     })
+
+    # Fix included bug with boost >= 1.76. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/ledger/ledger/commit/1cb9b84fdecc5604bd1172cdd781859ff3871a52.patch";
+      sha256 = "sha256-ipVkRcTmnEvpfyPgMzLVJ9Sz8QxHeCURQI5dX8xh758=";
+      excludes = [ "test/regress/*" ];
+    })
   ];
 
   installTargets = [ "doc" "install" ];
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index eaad04c64f6f3..feda51e4f6653 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -10,6 +10,7 @@
 , qpdf
 , tesseract5
 , unpaper
+, poppler_utils
 , liberation_ttf
 , fetchFromGitHub
 }:
@@ -75,6 +76,7 @@ let
     qpdf
     tesseract5
     unpaper
+    poppler_utils
   ];
 in
 python.pkgs.pythonPackages.buildPythonApplication rec {
diff --git a/pkgs/applications/radio/ax25-apps/default.nix b/pkgs/applications/radio/ax25-apps/default.nix
new file mode 100644
index 0000000000000..4f9ecd3580f87
--- /dev/null
+++ b/pkgs/applications/radio/ax25-apps/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, stdenv
+, fetchurl
+, libax25
+, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ax25-apps";
+  version = "0.0.8-rc5";
+
+  buildInputs = [ libax25 ncurses ];
+
+  # Due to recent unsolvable administrative domain problems with linux-ax25.org,
+  # the new domain is linux-ax25.in-berlin.de
+  src = fetchurl {
+    url = "https://linux-ax25.in-berlin.de/pub/ax25-apps/ax25-apps-${version}.tar.gz";
+    sha256 = "sha256-MzQOIyy5tbJKmojMrgtOcsaQTFJvs3rqt2hUgholz5Y=";
+  };
+
+  configureFlags = [
+    "--sysconfdir=/etc"
+    "--program-transform-name=s@^call$@ax&@;s@^listen$@ax&@"
+  ];
+
+  meta = with lib; {
+    description = "AX.25 ham radio applications";
+    homepage = "https://linux-ax25.in-berlin.de/wiki/Main_Page";
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ sarcasticadmin ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
index 8262714256635..b330f6b41a05b 100644
--- a/pkgs/applications/science/biology/igv/default.nix
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "igv";
-  version = "2.15.1";
+  version = "2.15.4";
   src = fetchzip {
     url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
-    sha256 = "sha256-hwZ6Pl6BxoVbJI5e3b0s7jhQ/AADhVJVqM9Q8ppERuk=";
+    sha256 = "sha256-nDD0QTtLDe//VFMsIPKIykZ6dY85p3aomrCaF1p9HQM=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/science/electronics/dataexplorer/default.nix b/pkgs/applications/science/electronics/dataexplorer/default.nix
index 5df312cd153bf..535871e4edba8 100644
--- a/pkgs/applications/science/electronics/dataexplorer/default.nix
+++ b/pkgs/applications/science/electronics/dataexplorer/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dataexplorer";
-  version = "3.7.3";
+  version = "3.7.4";
 
   src = fetchurl {
     url = "mirror://savannah/dataexplorer/dataexplorer-${version}-src.tar.gz";
-    sha256 = "sha256-cqvlPV4i9m0x3hbruC5y2APsyjfI5y9RT8XVzsDaT/Q=";
+    sha256 = "sha256-bghI7Hun7ZKUVEj7T58K0oaclnhUGd4z+eIqZF3eXHQ=";
   };
 
   nativeBuildInputs = [ ant makeWrapper ];
diff --git a/pkgs/applications/version-management/deepgit/default.nix b/pkgs/applications/version-management/deepgit/default.nix
new file mode 100644
index 0000000000000..312dc523710e6
--- /dev/null
+++ b/pkgs/applications/version-management/deepgit/default.nix
@@ -0,0 +1,86 @@
+{ copyDesktopItems
+, fetchurl
+, glib
+, gnome
+, gtk3
+, jre
+, lib
+, makeDesktopItem
+, stdenv
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "deepgit";
+  version = "4.3";
+
+  src = fetchurl {
+    url = "https://www.syntevo.com/downloads/deepgit/deepgit-linux-${lib.replaceStrings [ "." ] [ "_" ] version}.tar.gz";
+    hash = "sha256-bA/EySZjuSDYaZplwHcpeP1VakcnG5K1hYTk7cSVbz0=";
+  };
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gnome.adwaita-icon-theme
+    gtk3
+    jre
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gtk3 ]}
+      --set DEEPGIT_JAVA_HOME ${jre}
+    )
+    patchShebangs bin/deepgit.sh
+  '';
+
+  desktopItems = [(makeDesktopItem rec {
+    name = pname;
+    desktopName = "DeepGit";
+    keywords = [ "git" ];
+    comment = "Git-Client";
+    categories = [
+      "Development"
+      "RevisionControl"
+    ];
+    terminal = false;
+    startupNotify = true;
+    startupWMClass = desktopName;
+    exec = pname;
+    mimeTypes = [
+      "x-scheme-handler/${pname}"
+      "x-scheme-handler/sourcetree"
+    ];
+    icon = pname;
+  })];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -pv $out/{bin,share/icons/hicolor/scalable/apps/}
+    cp -a lib license.html $out
+    mv bin/deepgit.sh $out/bin/deepgit
+
+    for icon_size in 32 48 64 128 256; do
+      path=$icon_size'x'$icon_size
+      icon=bin/deepgit-$icon_size.png
+      mkdir -p $out/share/icons/hicolor/$path/apps
+      cp $icon $out/share/icons/hicolor/$path/apps/deepgit.png
+    done
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "A tool to investigate the history of source code";
+    homepage = "https://www.syntevo.com/deepgit";
+    changelog = "https://www.syntevo.com/deepgit/changelog.txt";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ urandom ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/gh/default.nix b/pkgs/applications/version-management/gh/default.nix
index 6035c1d7eb783..cb1690872c013 100644
--- a/pkgs/applications/version-management/gh/default.nix
+++ b/pkgs/applications/version-management/gh/default.nix
@@ -1,17 +1,17 @@
-{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles, testers, gh }:
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.21.1";
+  version = "2.21.2";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-DVdbyHGBnbFkKu0h01i0d1qw5OuBYydyP7qHc6B1qs0=";
+    sha256 = "sha256-syd7OMBEMv9uJUDjIIqVkJ3pvuyKnD5pubG4d3TbkY8=";
   };
 
-  vendorSha256 = "sha256-b4pNcOfG+W+l2cqn4ncvR47zJltKYIcE3W1GvrWEOFY=";
+  vendorSha256 = "sha256-m9K43Ns8j82nMkz+zkmC7HueOA6q6T4mFPQ1GSdqo24=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -42,6 +42,10 @@ buildGoModule rec {
   # most tests require network access
   doCheck = false;
 
+  passthru.tests.version = testers.testVersion {
+    package = gh;
+  };
+
   meta = with lib; {
     description = "GitHub CLI tool";
     homepage = "https://cli.github.com/";
diff --git a/pkgs/applications/video/haruna/default.nix b/pkgs/applications/video/haruna/default.nix
index 0d063e707185c..a776fabc9a790 100644
--- a/pkgs/applications/video/haruna/default.nix
+++ b/pkgs/applications/video/haruna/default.nix
@@ -26,13 +26,13 @@
 
 mkDerivation rec {
   pname = "haruna";
-  version = "0.9.3";
+  version = "0.10.0";
 
   src = fetchFromGitLab {
     owner = "multimedia";
     repo = "haruna";
     rev = "v${version}";
-    hash = "sha256-JINvLmiS6EnkAmxbqPJI+J9Wk4+ZXwZZm1x5Ew7FCBg=";
+    hash = "sha256-UU8tbaZz7udDulh+PHPZDc3rm1MvK4dafPgXL50apMI=";
     domain = "invent.kde.org";
   };
 
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 05aaa8fe646e7..779f8bf3bf7e7 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -47,13 +47,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "71.1.0";
+  version = "72.0.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "sha256-JHbnjcXOctB6HQeHXykWbykdn35S2fCYegMkc3GLmAI=";
+    sha256 = "sha256-3XKvcV6vwXrn2mf8ziclKgEPOwn3IPyLYy6+d0DscHs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 71fd52f35d885..7f6fd0b286f49 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -8,7 +8,7 @@
 , ninja
 , pkg-config
 , python3
-, ffmpeg
+, ffmpeg_5
 , freefont_ttf
 , freetype
 , libass
@@ -129,7 +129,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optionals waylandSupport [ wayland-scanner ];
 
   buildInputs = [
-    ffmpeg
+    ffmpeg_5
     freetype
     libass
     libpthreadstubs
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index 493079a25bba6..1a7be5aa98114 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -6,6 +6,8 @@
 # - Add plugin to it's own directory (because of future patches).
 
 {
+  droidcam-obs = callPackage ./droidcam-obs { };
+
   input-overlay = qt6Packages.callPackage ./input-overlay.nix { };
 
   looking-glass-obs = callPackage ./looking-glass-obs.nix { };
diff --git a/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix b/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix
new file mode 100644
index 0000000000000..131817a2589f8
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/droidcam-obs/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, obs-studio
+, ffmpeg
+, libjpeg
+, libimobiledevice
+, libusbmuxd
+, libplist
+}:
+
+stdenv.mkDerivation rec {
+  pname = "droidcam-obs";
+  version = "2.0.1";
+
+  src = fetchFromGitHub {
+    owner = "dev47apps";
+    repo = "droidcam-obs-plugin";
+    rev = version;
+    sha256 = "sha256-oaw/mq4WCQMlf3sv9WtNlv9J9rm79xnqDwKzHtyFW50=";
+  };
+
+  postPatch = ''
+    substituteInPlace ./linux/linux.mk \
+      --replace "-limobiledevice" "-limobiledevice-1.0" \
+      --replace "-I/usr/include/obs" "-I${obs-studio}/include/obs" \
+      --replace "-I/usr/include/ffmpeg" "-I${ffmpeg}/include"
+  '';
+
+  preBuild = ''
+    mkdir ./build
+  '';
+
+  buildInputs = [
+    libjpeg
+    libimobiledevice
+    libusbmuxd
+    libplist
+    obs-studio
+    ffmpeg
+  ];
+
+  makeFlags = [
+    "ALLOW_STATIC=no"
+    "JPEG_DIR=${lib.getDev libjpeg}"
+    "JPEG_LIB=${lib.getLib libjpeg}/lib"
+    "IMOBILEDEV_DIR=${libimobiledevice}"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/share/obs/obs-plugins/droidcam-obs
+    mkdir -p $out/lib/obs-plugins
+    cp build/droidcam-obs.so $out/lib/obs-plugins
+    cp -R ./data/locale $out/share/obs/obs-plugins/droidcam-obs/locale
+
+    runHook postInstall
+  '';
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "DroidCam OBS";
+    homepage = "https://github.com/dev47apps/droidcam-obs-plugin";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ulrikstrid ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/nixpacks/default.nix b/pkgs/applications/virtualization/nixpacks/default.nix
index eac91d4bf29bb..c6fe444db1fdc 100644
--- a/pkgs/applications/virtualization/nixpacks/default.nix
+++ b/pkgs/applications/virtualization/nixpacks/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nixpacks";
-  version = "0.16.0";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "railwayapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-p9kKTNtZoWl2rZyL1cD7fK9+IwDtBCfdRzWjKQmje5M=";
+    sha256 = "sha256-0Q0G2vUIkKRTSbQQrXoInzaPfFNWwT/NQ1/NKQeVpHU=";
   };
 
-  cargoSha256 = "sha256-UWefCe5DLaxUFNbQV0XNyqNI1dx9HPHfwj+aJaEasFc=";
+  cargoSha256 = "sha256-vLUR8Rs33GukkRihoB9jD3G4ailJc8oakm7NSjoZdok=";
 
   # skip test due FHS dependency
   doCheck = false;
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 3fed07237f75e..f6cc83fde17c4 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -68,7 +68,6 @@ buildGoModule rec {
     ${if stdenv.isDarwin then ''
       mv bin/{darwin/podman,podman}
     '' else ''
-      install -Dm644 cni/87-podman-bridge.conflist -t $out/etc/cni/net.d
       install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
       for s in contrib/systemd/**/*.in; do
         substituteInPlace "$s" --replace "@@PODMAN@@" "podman" # don't use unwrapped binary
@@ -92,7 +91,6 @@ buildGoModule rec {
     # related modules
     inherit (nixosTests)
       podman-tls-ghostunnel
-      podman-dnsname
       ;
     oci-containers-podman = nixosTests.oci-containers.podman;
   };
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index d0131eacdd37e..7fe483a7079e5 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -15,12 +15,12 @@
 , iproute2
 , catatonit
 , gvproxy
+, aardvark-dns
+, netavark
 }:
 
 # do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed
 
-# adding aardvark-dns/netavark to `helpersBin` requires changes to the modules and tests
-
 let
   binPath = lib.makeBinPath ([
   ] ++ lib.optionals stdenv.isLinux [
@@ -41,7 +41,9 @@ let
     paths = [
       gvproxy
     ] ++ lib.optionals stdenv.isLinux [
+      aardvark-dns
       catatonit # added here for the pause image and also set in `containersConf` for `init_path`
+      netavark
       podman-unwrapped.rootlessport
     ];
   };
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index 4ffa04d73bf5f..b9079c8828148 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "i3";
-  version = "4.21.1";
+  version = "4.22";
 
   src = fetchurl {
     url = "https://i3wm.org/downloads/${pname}-${version}.tar.xz";
-    sha256 = "sha256-7f14EoXGVKBdxtsnLOAwDEQo5vvYddmZZOV94ltBvB4=";
+    sha256 = "sha256-KGOZEeWdlWOfCSZCqYL14d6lkiUMK1zpjtoQCDNRPks=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix
deleted file mode 100644
index 35a58bd25f00e..0000000000000
--- a/pkgs/applications/window-managers/i3/gaps.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ fetchFromGitHub, lib, i3 }:
-
-i3.overrideAttrs (oldAttrs : rec {
-  pname = "i3-gaps";
-  version = "4.21.1";
-
-  src = fetchFromGitHub {
-    owner = "Airblader";
-    repo = "i3";
-    rev = version;
-    sha256 = "sha256-+JxJjvzEuAA4CH+gufzAzIqd5BSvHtPvLm2zTfXc/xk=";
-  };
-
-  meta = with lib; {
-    description = "A fork of the i3 tiling window manager with some additional features";
-    homepage    = "https://github.com/Airblader/i3";
-    maintainers = with maintainers; [ fmthoma ];
-    license     = licenses.bsd3;
-    platforms   = platforms.linux ++ platforms.netbsd ++ platforms.openbsd;
-
-    longDescription = ''
-      Fork of i3wm, a tiling window manager primarily targeted at advanced users
-      and developers. Based on a tree as data structure, supports tiling,
-      stacking, and tabbing layouts, handled dynamically, as well as floating
-      windows. This fork adds a few features such as gaps between windows.
-      Configured via plain text file. Multi-monitor. UTF-8 clean.
-    '';
-  };
-})
diff --git a/pkgs/applications/window-managers/picom/picom-next.nix b/pkgs/applications/window-managers/picom/picom-next.nix
index c89eb9e7cab31..3788974355489 100644
--- a/pkgs/applications/window-managers/picom/picom-next.nix
+++ b/pkgs/applications/window-managers/picom/picom-next.nix
@@ -1,13 +1,14 @@
-{ picom, lib, fetchFromGitHub }:
+{ pcre, pcre2, picom, lib, fetchFromGitHub }:
 
 picom.overrideAttrs (oldAttrs: rec {
   pname = "picom-next";
-  version = "unstable-2022-09-29";
+  version = "unstable-2022-12-23";
+  buildInputs = [ pcre2 ] ++ lib.remove pcre oldAttrs.buildInputs;
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
-    rev = "0fe4e0a1d4e2c77efac632b15f9a911e47fbadf3";
-    sha256 = "1slcmayja8cszapxzs83xl1i9n9q0dz79cn5gzzf4mfcwvnxp8km";
+    rev = "60ac2b64db78363fe04189cc734daea3d721d87e";
+    sha256 = "09s8kgczks01xbvg3qxqi2rz3lkzgdfyvhrj30mg6n11b6xfgi0d";
   };
   meta.maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ];
 })
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index ac9569fc95fc6..5d55dfbac88b1 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "16.8.2";
+  version = "17.0.2";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index a1da74c34b6c8..c2b4f0268f863 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "1zdjwczfmb6swa4yza4nydhvspj9wvi1lvd4d9inr9ssc0ky0h0k";
-  iosevka-aile = "15ahii9597g8p2m0abx3zha26093gsnihn66nm9l1jqrda8s3bfx";
-  iosevka-curly = "1xqxzj9zxfxy3mpq9kjfzjxpi106qp6dq9x32vdfm192l2kcz4dq";
-  iosevka-curly-slab = "0rp6p5v1jd4ihgkshmzm90b9i2kafz94ng2f0lxqrjkh88xg2qkz";
-  iosevka-etoile = "1ml7wmkq7im97z9zgg184bw0a3wzk5rd10jx29ybb4hfklp5mpgk";
-  iosevka-slab = "1dydq9pw0n9kj1nwbyrcb7cxsmjbs69fj91rnl9ayjp6fis2npfl";
-  iosevka-ss01 = "0q26f6n986cs6bzbyqsd0rnk064cxyr7z6iskn1gbf3138cj1q2j";
-  iosevka-ss02 = "1g93qx9b7l5fq5lbxjgvfxmzzmmplgd3cygc3kl7z0xdqfzqh735";
-  iosevka-ss03 = "0vfg0qr0w22yq0igzm0wpd3gf74n2w1xsk7lpzsxcrpljzmjrry5";
-  iosevka-ss04 = "10phf294w91b4m259pgddpih5r9ys49fib419vnh0rcn3f3c0vmz";
-  iosevka-ss05 = "074551ir5a45c7k00bfsbp162vc537xyqdqgi6h7j7lkhn7rfjvg";
-  iosevka-ss06 = "09jn7lk0gc3ns3640g2ng2jh44g180kjcx4fcyacipx5sfwwhjaf";
-  iosevka-ss07 = "18jn9png6jqh5g7883v50za44sa1h78ni8jmpzmfpnhhsvxfq6f2";
-  iosevka-ss08 = "0drgk3r1p4pn5vvdjrms3vivzizd7jkpla40z0gvi7832cssxk0d";
-  iosevka-ss09 = "0xynk2m5nhhlk34c2d3962mcz8mh7n2f64jd4n8l6v3mibcmjh8n";
-  iosevka-ss10 = "1yygdiikbdklk7ddyg3mmvypcmwbm9iym63qvabv0n2dxm5fjylz";
-  iosevka-ss11 = "0as42f552xdpla332sabrxf98l33rv17qzig8f2g38cvwhdp7wc1";
-  iosevka-ss12 = "179499aa1yh5hp0zlwvbyfixi72qky59lba5hd9b53s81jxph778";
-  iosevka-ss13 = "0dprpbcykq5a4gz9941vbiaj7l36xvwip19l1g0422ffg9yrlqvg";
-  iosevka-ss14 = "04843xsmab4y3hxicpkv6ard7kynm6dhyxxsmyz0n3rvl0jk4krj";
-  iosevka-ss15 = "1j0ljgpz3x5wkcj1jx8dnb5ccp1fcyg4i8p40cr01azmbxhwj5m5";
-  iosevka-ss16 = "0gn6x6f03mccfq6lfglbfzxgg74v30k7nadqjlj08fsxp37iiqzc";
-  iosevka-ss17 = "1qnh6bqz15h1xaxcqjsbiidaqbrjikc20fys5fwjflh213csy2n8";
-  iosevka-ss18 = "0p85kp81ylm8fm5fgyp6sv9rcf8gvznpfgn7mbw26y1lx7gmh6xy";
-  sgr-iosevka = "1g97vv4n020r8j9k4w7dzam2xvfqs80nbfvmxkswsnfg3kys1n58";
-  sgr-iosevka-aile = "0ysds3663psv1nr6nyzwxm47vg02jhpgssm3lmdls4g07y93f1fl";
-  sgr-iosevka-curly = "1kzclraj9ndcask13f4iwvf360zm7p78xqf645wbfa9h4rzd93l5";
-  sgr-iosevka-curly-slab = "12y4fyf22mzrnbzl9785ffg6pqcgbdbss1hambf03av2cdvc7sfi";
-  sgr-iosevka-etoile = "1d04q0wnsymfv3zklfz77yvq1xa1zlj1fi2ihljlzrlfw8ybn90c";
-  sgr-iosevka-fixed = "0p6h9hhqbjn9y7dvf78fm0jy6wd884gh4cn4k6070v0psm5xp0y1";
-  sgr-iosevka-fixed-curly = "0l4yd4p8gzsmxgfh90l7z2x6l8v56v5jwsyshq6jawc8xcbny3rb";
-  sgr-iosevka-fixed-curly-slab = "13cg8by9j57r2vbh0anms61dcxvxrzf3yw91s1g6nmhllqd5aqrq";
-  sgr-iosevka-fixed-slab = "03v8i2p2sww6p2dmzq1xqrrik2k1qz91xn9d9ww2zwz47hkgbysm";
-  sgr-iosevka-fixed-ss01 = "1caliz8g63cny7zrq5gkan2366c381d2rl48jnqmmpij3zsx8axz";
-  sgr-iosevka-fixed-ss02 = "01sgb5mrrry2nln0yfzm5z00x5rv28iav3xpww33xcrgwvvvxfp0";
-  sgr-iosevka-fixed-ss03 = "076ayn5y5gxla7w9ildg445wlc2r36vfnhqim7wkphach9mqjn1j";
-  sgr-iosevka-fixed-ss04 = "0x1bd9vy8a0afykb97yl669hsf5mn2gjm9ly5hlb3bnmxaw8dchj";
-  sgr-iosevka-fixed-ss05 = "0f6yn9z3sv28ilx1j0sh0yw19m0kzi81razq7q601k7q4klzm7dw";
-  sgr-iosevka-fixed-ss06 = "0qjsg1xl6x6355c5x2lakh5cbv1vjs1z1s13ikbqhv8wckklmbb0";
-  sgr-iosevka-fixed-ss07 = "0z8yy005l4srqgi2sh64vj1238ydw04kg4vqzj612bmydp5r4vbj";
-  sgr-iosevka-fixed-ss08 = "0dh9gr3qhpw2ap3j69nnsbiqi04y59rgvpwxgw2z8jcdksh7syal";
-  sgr-iosevka-fixed-ss09 = "1lf4vi363rz7mchin262zwz21lpnp1k77v934858qyspc8fkgf1j";
-  sgr-iosevka-fixed-ss10 = "0i7lkr892mq1nks2fsll2lhrzgad0q4hpvl4wafd2jx9wi21b158";
-  sgr-iosevka-fixed-ss11 = "13p1z9x9yi064p1jh0gybrbv2np5ynyggmasf7259cs1l89fqci4";
-  sgr-iosevka-fixed-ss12 = "1ydkj92f9nyyxhvcscxahnjp75pd66ps0flj09f8kk7lbs9vcx4f";
-  sgr-iosevka-fixed-ss13 = "1gkzv8l298kyvgkil47d6gshjvjfdgr0chjhnkl7yqqmwwl23rn2";
-  sgr-iosevka-fixed-ss14 = "0klm69qmirappqijsl0si5yv8pk56k5d5jqpib8l0scb99pxvi2y";
-  sgr-iosevka-fixed-ss15 = "0ym7zdvh0g52jkpijls572hjyv8jk47srq4nqvig0qygkx3w24nf";
-  sgr-iosevka-fixed-ss16 = "0clhkh8lxn0garhsj9jca2iw173gihac10bcm12i0mq8ca8qxrhl";
-  sgr-iosevka-fixed-ss17 = "1225rd8w2c65zvmq5gbg2f8n7bnmqdjf9g0cjqi42gwns840k81h";
-  sgr-iosevka-fixed-ss18 = "0r47grjpbdk6ccrdvdz7vsln5923wl4xb4xcm3q803p8sfb4h38x";
-  sgr-iosevka-slab = "1f96ml19ph39bnkdfrag84z1w7d6r7l5sk8vl2gw55hqwb9h423y";
-  sgr-iosevka-ss01 = "167s8175qcq544d0j21rwrjispdrw8q41p3dfd9kri4x3cbgqndy";
-  sgr-iosevka-ss02 = "0hj18h8hz18ggqm4mj4cdqhp7aa2w8p647y2my5rh989k8y5pgw8";
-  sgr-iosevka-ss03 = "012mxn8azidrjq39jvvscmlazvx4lv94ibvfp3acfp7chhgshi4g";
-  sgr-iosevka-ss04 = "1g1wi82baa71p1596430akdd0hhxzp7fa1gimjkvl871h7nal5r3";
-  sgr-iosevka-ss05 = "1s1jmr4aam0584gy9jbk8fxymn2y9vfz6yd12bkd7l8m73y819bw";
-  sgr-iosevka-ss06 = "1bqrm6g8q77g8b9b14dbwnj9gc0g68niw32fw7fjzpypgsgwh5y3";
-  sgr-iosevka-ss07 = "0mw4qmfnjdncyk8r30km1pvcmv46dlps6zkq7c8szy2lsnlshspf";
-  sgr-iosevka-ss08 = "0kikssw16p3bnlm796fbdkzl5vwm496lz4j9c5ms9hgpk7j1qxcc";
-  sgr-iosevka-ss09 = "02vrzi199qszm10jmnijx786lmkcx0npfaachp51n9lpsvs23i64";
-  sgr-iosevka-ss10 = "138lhzjxq9ar8dmm1cdjdvdkn3blhi423hcvhr6wfxps629xvlw2";
-  sgr-iosevka-ss11 = "08ry7fbfswri4vq20513lj4xfjv70dqvs8aadqx0gwkcknmdawq2";
-  sgr-iosevka-ss12 = "1nlzzxkp2gn5hx2js33c86w7823ircpi2d2s63a6irgqwzm0dc53";
-  sgr-iosevka-ss13 = "0yrzqhns7a82fpwl7gndjpaln3251s89vc91rc1lc4rcmqzpjdfy";
-  sgr-iosevka-ss14 = "1km2bvnrp5g1axfl59agh9qrkdayh5h23pdmf6dxw8a8s3sknf7w";
-  sgr-iosevka-ss15 = "0fym1sgf375d8y8qbgyjx9x2y5h0iidnbd7fxqk1jdzcm4ndnrv5";
-  sgr-iosevka-ss16 = "0h5rcvqw1xwvhkcdb082zbd3hl0ymnv8nxvf9g8lprpwb222ag8b";
-  sgr-iosevka-ss17 = "1s7p4ydpgkhxfjsp3vqn059l43gpxmlf54pawl6i53ldzgjsfx1a";
-  sgr-iosevka-ss18 = "0rpfvl3yffpg5c3155pmswpg31qj2wd2zh1k42r5k84ws9l9ns7d";
-  sgr-iosevka-term = "0i2bxrfpvcg4agrsj6d6dfiim2lz9p7xm17b5928xbk5cxl08v9b";
-  sgr-iosevka-term-curly = "0k0zqfkkjk8fi88gqnr44hcbm3y4wpx4p99dqv51ssra7ggqbs5z";
-  sgr-iosevka-term-curly-slab = "1krc6mva1mif6xlnfxxqnxxfaljszg3zkivgvmbkaqgb7y39ph87";
-  sgr-iosevka-term-slab = "0r4f29218l2mql9bld488bdmzzgqav81i757vfj6qrc5m6w6znah";
-  sgr-iosevka-term-ss01 = "1hvi8xc0zagx267vfhwymnyq5y1bb9p6d7vs5nijrkq7hlkyl8j3";
-  sgr-iosevka-term-ss02 = "0pha6nz5736ygv6mhf6xk5kp29wxg5sn336rh45w3q9dh3df2bh0";
-  sgr-iosevka-term-ss03 = "169lxbrr6i40cpa45381r04q0q8vgmhaypdzp30lg8gm69wpgs87";
-  sgr-iosevka-term-ss04 = "0273cinikxp1xrxzcs0dn51xsi1h59yw7pdvaciqys62vb09cai8";
-  sgr-iosevka-term-ss05 = "0rax2nwzgy9pmw4qld2spfpsv98vs4mpqz0zw6zr1dd6jdhzvr3b";
-  sgr-iosevka-term-ss06 = "1r2ja3idf68kvsk7r3mjx2zqjdx41rvsb9xhxnp9llga51r3y4f7";
-  sgr-iosevka-term-ss07 = "0rb1wq206p4g6i5v32x0y2lr1vs93qg5hfichbpi3bdjjpwlvg10";
-  sgr-iosevka-term-ss08 = "1bsnmvdabnrj65s9d9i0s3q4zn1b2w2xvsqsjjgs3iwsbhy5b7n3";
-  sgr-iosevka-term-ss09 = "1vm3jkv58n1zf96hgd28mrqls23zdk8cpml9wvmlj7p9y7x0qcxs";
-  sgr-iosevka-term-ss10 = "0120gip4r40dzmc5vpl9avhzyfh16w0vdqw8ks259arcd72s0j4v";
-  sgr-iosevka-term-ss11 = "14rf4h9zdnvkjsvwcikmgpnlpypk1qpdld1sw5wf1drbarpxynkl";
-  sgr-iosevka-term-ss12 = "0g6rrsz0fc2szjxp4hxsw0ji4vcdhq5qx32hq83is2iqkkbylsz9";
-  sgr-iosevka-term-ss13 = "19nk2wn13xnacih8qydxsjcpqwaqyklc6dsrx9b2rv7x8ksxyzdp";
-  sgr-iosevka-term-ss14 = "16cjsfk5gn77f4h5g29cx5jj3zrxcl26izyivs5n161xvrq95inb";
-  sgr-iosevka-term-ss15 = "07y306f40dmfdzzgfk2mmq3aipwzqcsff7yjcd3g9hn6cznn85jq";
-  sgr-iosevka-term-ss16 = "0lbmqlsd7zlrfy9fxrj6ngnw2lwvv437z3ibw33qgch1vv4qz4yz";
-  sgr-iosevka-term-ss17 = "08w4x5dd7klnafp6ifnd61m1s3q9ncbr1llx8ywa00s1dfxxsc0f";
-  sgr-iosevka-term-ss18 = "0b2vxkc8c2jmpxlvj2gdy2ghygsiifrp4pivmpgp3amwa913smsk";
+  iosevka = "004vj7r84kansfvdh0d7qmp9xdsrbw4x0iqa8k37pvg0czzvzz14";
+  iosevka-aile = "0mm9y56z6rlfj1w3giql4n12190i95rizd182id9jgjiap75nqdi";
+  iosevka-curly = "0z3hd4wbpz4r1njdprafad8jlq77scwjyy60j6nb900bid0s130b";
+  iosevka-curly-slab = "1v3wrydar72l3nrnjajlrqkz3brqwc5g8vsix1c2acw7k8pj4adq";
+  iosevka-etoile = "04vlvi5dzfpz6qvkv8r4ba0zp36bwdxqyspf7za8a1cqpwg6dhv1";
+  iosevka-slab = "0b7n3rvf6irp4scpm5g9pr5ikik2q7mkw35qdy63wq0d7vy7k67m";
+  iosevka-ss01 = "0xa0hrn6hjzj094xs1wilp9csb3i3yfpngfw9g9p59wnsphq12k7";
+  iosevka-ss02 = "00ygpybyq5qa1fva5d5lbmpl34cf6w18kba958rjzydc5zj4hfk1";
+  iosevka-ss03 = "1l2s01a32mblgmd7c6n11nwk9fxh7iflba6da9wb9rszwj9kh7fb";
+  iosevka-ss04 = "1pqvclbhw8nrlaasi03l3mjmg8sh48fhh6fl1ngmsc86k15ym8xy";
+  iosevka-ss05 = "1vg827f694kx841fnsjkmwvs4nbcy9jpbxfr6cbjmhr9g9hp8qis";
+  iosevka-ss06 = "1zkndj11ld5crkkyf8pbn6bd8xigm4mvs9h0mb15hqym09phsvbf";
+  iosevka-ss07 = "0ssalch56zkdr7q97s215iwjsiny0a4svjp5qij0w0w9vfh1c8q4";
+  iosevka-ss08 = "0i1v47ji7wn13vmad9jkskislqg1zgi3vsk2fjygx8z9b39svs1h";
+  iosevka-ss09 = "1bk9lr4zafj97p53pdqryi01malijniqhn9mkz984m0z7fnyh35j";
+  iosevka-ss10 = "1rqmak3bwmj32s9s85ipxfyplcxqljj1z8p1s3i6l8njqfx9hmv9";
+  iosevka-ss11 = "0d13sgam6kpw0pp0g0ibhi7ji63yijfjgrid32fs99i7l636f7y0";
+  iosevka-ss12 = "1ya76hfizg56ryfmf12lmb9wivdhx8wps55m3mryldaqw3ys5fh5";
+  iosevka-ss13 = "0gdz4g9l2p4ah5ms2nhnwz14h8bvw1mszxzjj6v474za2py989dh";
+  iosevka-ss14 = "14l6vk0yzk4c2gk28s30ys9k26ic3p9sywbbwinzm7y67knqsc2b";
+  iosevka-ss15 = "1vpx2ksdjmlp37difs12b4cs25x73v5qlqzjvck2z9ikbgf9drn7";
+  iosevka-ss16 = "088zf8q75v4qgpdinlf80rfkblviwxk94kzf0qa7zsk1hg9xmb59";
+  iosevka-ss17 = "0wz5z58aalk4xp9xhcq3xrm6mf2l28gp5qydxgajgzz7lh405znh";
+  iosevka-ss18 = "12r294lrwy1a663dzfs0hxsg113v127365nwb2wn5q7jksmaxxd6";
+  sgr-iosevka = "13fy2vyslhrikf9vf668754gdqfz1dyqfx9kk0r5yzi0g6ysvdkx";
+  sgr-iosevka-aile = "0qjyag5axpcfqng6cqv4j0fh0a6f0v834iwhf8zx7qgh1h6j1vvy";
+  sgr-iosevka-curly = "1gvi7clwyl24dyrmrcb2i4n96p9rqhxxl6cvl1bdv9v6qi9y65lc";
+  sgr-iosevka-curly-slab = "10ha1h64w2189azpszdg328c0p1nfg8r9rwrk1qxs7cv7mkmr5fj";
+  sgr-iosevka-etoile = "0yd95kn3ickra7ssb62m8c61c8aarxkljcxk9j470rf679fsj3rp";
+  sgr-iosevka-fixed = "00qiswcfhqf1jsw4xwbqdpaq2jhxvkcdq5vhjg26q97nv5hdqk9w";
+  sgr-iosevka-fixed-curly = "1bqcsqysxf3x5g5970hgsazy0qgdkqhjdh1pqknqng2r8awrpi45";
+  sgr-iosevka-fixed-curly-slab = "1jcxc19q83k7rxcsyg99ahg267i7q86kf9kxzb06bj48f52ypkd3";
+  sgr-iosevka-fixed-slab = "1dgjqn7pniq45f5m2sqj47nmdmrgkk2g1860f262b48aydh3lfnh";
+  sgr-iosevka-fixed-ss01 = "0g9jwlc616b52r9wakpdi61ny79vr64zg2cch5jrvsn03gkp47jv";
+  sgr-iosevka-fixed-ss02 = "0lvc2m8cwrfsp1lnnl3fshqj6xskv0gdj4xr3m16axkwa60h2qcb";
+  sgr-iosevka-fixed-ss03 = "0fhsrmbvwwnrg3jicark56r0zirnq5yp1lg2xaznx8wmw08221z5";
+  sgr-iosevka-fixed-ss04 = "0wy4mja82xrxwfmdpkmil9d8q6681a8dj44wb3h8hvybd40qm8xf";
+  sgr-iosevka-fixed-ss05 = "1rhilqnw3kay2mgjmjzxaappgyz3rib4gq142j717m0scbd7c5dw";
+  sgr-iosevka-fixed-ss06 = "0ci3sfy39850zks4glnlr7ml40akhh290rz43s4qd7lcpsyiqaw8";
+  sgr-iosevka-fixed-ss07 = "1i0r4sb9jpipp08cw43n8ajskfyzk5yz2d08h4z0bfd4k8ap9vd0";
+  sgr-iosevka-fixed-ss08 = "1jgqdr09gpv2rysi8yj3p6wc79xhx81hncaim3vmj32gkv3pqpbx";
+  sgr-iosevka-fixed-ss09 = "1m9085hmpljn3pfnxjc3h2q0agkidqdi5b2dl744xs9p1nzm7y9c";
+  sgr-iosevka-fixed-ss10 = "03j0bv0yfd15jjc2ssffsbhq7vcg38prxycvzh1nbc9g0rl3ji24";
+  sgr-iosevka-fixed-ss11 = "0kgjjnsihycxyqlgc4zngfqiynqp8agnic7mydni8mqwl1jxaw17";
+  sgr-iosevka-fixed-ss12 = "0v0gva1v3q9xhvzyv1qlggb0dy96a9fm2vm682jj913j925mh23m";
+  sgr-iosevka-fixed-ss13 = "06jd2lggi8i9lmaqjhss837wplaypc60k8fnjall16wzdg3an8di";
+  sgr-iosevka-fixed-ss14 = "1qvdyran2c56wrzwnz5l42ld1iy6y7bvadw3mgrjfi01xfs43ncb";
+  sgr-iosevka-fixed-ss15 = "06kpf9fzvq8flvn2fw6cg5n9c629qnwpxh8vx0z9bqn29kqvf0d1";
+  sgr-iosevka-fixed-ss16 = "0sdm5h1zbr812pa2i1c8qz1a884pcdcng47xyk7li5v1y2gznmij";
+  sgr-iosevka-fixed-ss17 = "109d2cl2cs8wzqq2g9sjcfbxl8x2zl4pssh3jsns8n2yx63lmkxf";
+  sgr-iosevka-fixed-ss18 = "1pjy2zb0qgjqy11mbj4ia8pdxm8h888ifwsjyjy0zm9q6v8y5xcb";
+  sgr-iosevka-slab = "0vak6d76ignsik1561s8dm1r4pqn02w32vavls668mjg3i051llq";
+  sgr-iosevka-ss01 = "0p195gvj4ljjw4difg78hq139l5hmpk4jbjm8pzfrxmn643z0yi4";
+  sgr-iosevka-ss02 = "01llc2hykx7i7r9bp7gcc650iw9ry5c17s2ap06j0vv7gz0a47h5";
+  sgr-iosevka-ss03 = "0m208v1mdxm2w5c92cijpvbcqh4hxg2mchghwchq9kyk00b1ld2d";
+  sgr-iosevka-ss04 = "15x7i8pxy5i512whh6464x4l72qygvrd0rs1y3y1kbavp1scb5ck";
+  sgr-iosevka-ss05 = "1xqxc66nfb5n38hyr8s3r7yrm4v27ymr8mfkqp10jnpyyi47mwg5";
+  sgr-iosevka-ss06 = "1wskdfz3y24ia402b0mn34393w9nbjszqryg7x8ka1c4fjvccwdn";
+  sgr-iosevka-ss07 = "09ahix65wcspjmsjnw9f7mad8pl7m9yl4kzlh2awv3ag448cgj3s";
+  sgr-iosevka-ss08 = "03g23ni2jqvwjbibhpbn6i2ddc3yr5znvxhinwgag45vrjfr629m";
+  sgr-iosevka-ss09 = "0n1vi5r5yjxrrdx0w5ab1hd31dwzrg9n8cp6gcj1d532mk6y7y74";
+  sgr-iosevka-ss10 = "034ai6djsw32jd0y037svfp2mlrsg99gwxl9awjvip219n6gqly2";
+  sgr-iosevka-ss11 = "1ngkjmgiq99p51ar2hff8xf27xq18m32wrw2igk8mr58r35xzkpi";
+  sgr-iosevka-ss12 = "1wdh48px6ywj990nm45w8nmllvl9f8k9pj2jf5frfrr9qshvzsmz";
+  sgr-iosevka-ss13 = "0wh2dq3crpdx002wv6lzznirx7bvgkl04x429nzfvkkwp28y2jj9";
+  sgr-iosevka-ss14 = "05w3bl8kxj9qgm2vqhl93bz0zyhkdhbsmxh82fwl74mxs530sjpj";
+  sgr-iosevka-ss15 = "09xf5xlzz4d4whw4blwa9hlyij0kfihi8q3q448p40r116kvl2zy";
+  sgr-iosevka-ss16 = "1d6jfaxz8ivn3a7zsk408z0hr9rjh2gv93zqq41a191zpgd7zj3g";
+  sgr-iosevka-ss17 = "12x3nlcq89c6ldq70bi5w418iqwmb2i8jq7csh9cg7ghbl4bmr9x";
+  sgr-iosevka-ss18 = "0z9pg0y56ix679br1zdfmqsf9an704gb1gf420mypkr9dyf2yh50";
+  sgr-iosevka-term = "1ry11xwl715lpiy6psh4l4bwjsf5f14igrv6wzag60xk0ip91qgv";
+  sgr-iosevka-term-curly = "0jkblgqmpixh4qjr96sjv6mag1faak2yz7251g63x4gbf2sbahlq";
+  sgr-iosevka-term-curly-slab = "1yjcy6y31nyilkxmid6laxwsrmf61akgsaz5ybjy20vhhkylj1hj";
+  sgr-iosevka-term-slab = "1cxv8qh4mjs0xl0v3ckgz916dir3n4wvmibhv161valvd5cswrci";
+  sgr-iosevka-term-ss01 = "0i6qkxwgbq2iz4gzqcfi5jdnw7rdrasdh5cmbah72fxrxmwbwxrx";
+  sgr-iosevka-term-ss02 = "13hgq4airgimi26c2bi54m6405w7gi3pl3i76nxr009vkia50nsk";
+  sgr-iosevka-term-ss03 = "1n0f4kmnaibsf7ss34shc1yhdjsfsia76qycpsl2jhhq3531z080";
+  sgr-iosevka-term-ss04 = "11fq16w1h4ajzs24qx6ng0nnh0c0pbqa9m75bavn47vjhl10d1v9";
+  sgr-iosevka-term-ss05 = "1ym9hq8hk687b4ahg2dq1hp7gb7xjxnak12ijsppzsgp42dmjbjl";
+  sgr-iosevka-term-ss06 = "1zc70ywxzk2m69rrmcah8kq994j9y40bhm0wnb9cbl45zkgacms1";
+  sgr-iosevka-term-ss07 = "03cd38wnjmqkm93v23ga4yd03w5l58yb8ipw1pi9s8i7vicicvb5";
+  sgr-iosevka-term-ss08 = "0226qnp4nabsynd7nxvis237vm31785k7msh2vpxnmbl8m2h54b6";
+  sgr-iosevka-term-ss09 = "1c63qiiz8pw49x7xjfxbnm36isc486bk9d19zbfhylchbd0yfbxx";
+  sgr-iosevka-term-ss10 = "1pl3b935mbdf126m0bjq17wfy80rdcvq3zmh13w2hb8pmx0m31gg";
+  sgr-iosevka-term-ss11 = "1nqzh75ia7z74f3v6m9jkh51qhjpxnmhqxnz3ks5s5rb3qgvj1h6";
+  sgr-iosevka-term-ss12 = "0z9xafdp75c88g1mf5hyh6h88n1w3qs6fid7bvwy1jjnsnai835s";
+  sgr-iosevka-term-ss13 = "0bccy0fhr5kqx1b53wb6gcijn7axlbg2x24vp8mh72mnw306qnf3";
+  sgr-iosevka-term-ss14 = "174srnn43rwsc1l8qjk6hrqg3qndk2sf61cii3v2hk1pnrqxs85r";
+  sgr-iosevka-term-ss15 = "15lg2p7hpdkd21f8nkywxzp8gmxg3wpi2q33m0bchvcr1cb6p326";
+  sgr-iosevka-term-ss16 = "0b20m1akm95nbkjy7cqgn4gfiaashdkwc1nf6abwhpm8iydwas3v";
+  sgr-iosevka-term-ss17 = "1x0n4z4si9qzkqanbdp1lqn73hynbxa7s59rwc9z0s902vyqpgcx";
+  sgr-iosevka-term-ss18 = "19b3nx5mvdr6r6hbcqjxrdsyr975ym42v0i670l4550bg0z24cyl";
 }
diff --git a/pkgs/data/fonts/noto-fonts/default.nix b/pkgs/data/fonts/noto-fonts/default.nix
index da3b0f81d4319..6161f711958c4 100644
--- a/pkgs/data/fonts/noto-fonts/default.nix
+++ b/pkgs/data/fonts/noto-fonts/default.nix
@@ -11,21 +11,43 @@
 , imagemagick
 , zopfli
 , buildPackages
+, variants ? [ ]
 }:
-
 let
-  mkNoto = { pname, weights }:
-    stdenvNoCC.mkDerivation {
+  notoLongDescription = ''
+    When text is rendered by a computer, sometimes characters are
+    displayed as “tofu”. They are little boxes to indicate your device
+    doesn’t have a font to display the text.
+
+    Google has been developing a font family called Noto, which aims to
+    support all languages with a harmonious look and feel. Noto is
+    Google’s answer to tofu. The name noto is to convey the idea that
+    Google’s goal is to see “no more tofu”.  Noto has multiple styles and
+    weights, and freely available to all.
+
+    This package also includes the Arimo, Cousine, and Tinos fonts.
+  '';
+in
+rec {
+  mkNoto =
+    { pname
+    , weights
+    , variants ? [ ]
+    , longDescription ? notoLongDescription
+    }:
+    stdenvNoCC.mkDerivation rec {
       inherit pname;
-      version = "2020-01-23";
+      version = "20201206-phase3";
 
       src = fetchFromGitHub {
         owner = "googlefonts";
         repo = "noto-fonts";
-        rev = "f4726a2ec36169abd02a6d8abe67c8ff0236f6d8";
-        sha256 = "0zc1r7zph62qmvzxqfflsprazjf6x1qnwc2ma27kyzh6v36gaykw";
+        rev = "v${version}";
+        hash = "sha256-x60RvCRFLoGe0CNvswROnDkIsUFbWH+/laN8q2qkUPk=";
       };
 
+      _variants = map (variant: builtins.replaceStrings [ " " ] [ "" ] variant) variants;
+
       installPhase = ''
         # We copy in reverse preference order -- unhinted first, then
         # hinted -- to get the "best" version of each font while
@@ -33,29 +55,24 @@ let
         #
         # TODO: install OpenType, variable versions?
         local out_ttf=$out/share/fonts/truetype/noto
-        install -m444 -Dt $out_ttf phaseIII_only/unhinted/ttf/*/*-${weights}.ttf
-        install -m444 -Dt $out_ttf phaseIII_only/hinted/ttf/*/*-${weights}.ttf
-        install -m444 -Dt $out_ttf unhinted/*/*-${weights}.ttf
-        install -m444 -Dt $out_ttf hinted/*/*-${weights}.ttf
-      '';
+      '' + (if _variants == [ ] then ''
+        install -m444 -Dt $out_ttf archive/unhinted/*/*-${weights}.ttf
+        install -m444 -Dt $out_ttf archive/hinted/*/*-${weights}.ttf
+        install -m444 -Dt $out_ttf unhinted/*/*/*-${weights}.ttf
+        install -m444 -Dt $out_ttf hinted/*/*/*-${weights}.ttf
+      '' else ''
+        for variant in $_variants; do
+          install -m444 -Dt $out_ttf archive/unhinted/$variant/*-${weights}.ttf
+          install -m444 -Dt $out_ttf archive/hinted/$variant/*-${weights}.ttf
+          install -m444 -Dt $out_ttf unhinted/*/$variant/*-${weights}.ttf
+          install -m444 -Dt $out_ttf hinted/*/$variant/*-${weights}.ttf
+        done
+      '');
 
       meta = with lib; {
         description = "Beautiful and free fonts for many languages";
         homepage = "https://www.google.com/get/noto/";
-        longDescription =
-        ''
-          When text is rendered by a computer, sometimes characters are
-          displayed as “tofu”. They are little boxes to indicate your device
-          doesn’t have a font to display the text.
-
-          Google has been developing a font family called Noto, which aims to
-          support all languages with a harmonious look and feel. Noto is
-          Google’s answer to tofu. The name noto is to convey the idea that
-          Google’s goal is to see “no more tofu”.  Noto has multiple styles and
-          weights, and freely available to all.
-
-          This package also includes the Arimo, Cousine, and Tinos fonts.
-        '';
+        inherit longDescription;
         license = licenses.ofl;
         platforms = platforms.all;
         maintainers = with maintainers; [ mathnerd314 emily ];
@@ -100,14 +117,34 @@ let
         maintainers = with maintainers; [ mathnerd314 emily ];
       };
     };
-in
 
-{
   noto-fonts = mkNoto {
     pname = "noto-fonts";
     weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
   };
 
+  noto-fonts-lgc-plus = mkNoto {
+    pname = "noto-fonts-lgc-plus";
+    weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
+    variants = [
+      "Noto Sans"
+      "Noto Serif"
+      "Noto Sans Display"
+      "Noto Serif Display"
+      "Noto Sans Mono"
+      "Noto Music"
+      "Noto Sans Symbols"
+      "Noto Sans Symbols 2"
+      "Noto Sans Math"
+    ];
+    longDescription = ''
+      This package provides the Noto Fonts, but only for latin, greek
+      and cyrillic scripts, as well as some extra fonts. To create a
+      custom Noto package with custom variants, see the `mkNoto`
+      helper function.
+    '';
+  };
+
   noto-fonts-extra = mkNoto {
     pname = "noto-fonts-extra";
     weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
@@ -127,64 +164,66 @@ in
     sha256 = "sha256-1w66Ge7DZjbONGhxSz69uFhfsjMsDiDkrGl6NsoB7dY=";
   };
 
-  noto-fonts-emoji = let
-    version = "2.038";
-    emojiPythonEnv =
-      buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
-  in stdenvNoCC.mkDerivation {
-    pname = "noto-fonts-emoji";
-    inherit version;
-
-    src = fetchFromGitHub {
-      owner = "googlefonts";
-      repo = "noto-emoji";
-      rev = "v${version}";
-      sha256 = "1rgmcc6nqq805iqr8kvxxlk5cf50q714xaxk3ld6rjrd69kb8ix9";
-    };
-
-    depsBuildBuild = [
-      buildPackages.stdenv.cc
-      pkg-config
-      cairo
-    ];
-
-    nativeBuildInputs = [
-      imagemagick
-      zopfli
-      pngquant
-      which
-      emojiPythonEnv
-    ];
+  noto-fonts-emoji =
+    let
+      version = "2.038";
+      emojiPythonEnv =
+        buildPackages.python3.withPackages (p: with p; [ fonttools nototools ]);
+    in
+    stdenvNoCC.mkDerivation {
+      pname = "noto-fonts-emoji";
+      inherit version;
 
-    postPatch = ''
-      patchShebangs *.py
-      patchShebangs third_party/color_emoji/*.py
-      # remove check for virtualenv, since we handle
-      # python requirements using python.withPackages
-      sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile
+      src = fetchFromGitHub {
+        owner = "googlefonts";
+        repo = "noto-emoji";
+        rev = "v${version}";
+        sha256 = "1rgmcc6nqq805iqr8kvxxlk5cf50q714xaxk3ld6rjrd69kb8ix9";
+      };
 
-      # Make the build verbose so it won't get culled by Hydra thinking that
-      # it somehow got stuck doing nothing.
-      sed -i 's;\t@;\t;' Makefile
-    '';
+      depsBuildBuild = [
+        buildPackages.stdenv.cc
+        pkg-config
+        cairo
+      ];
+
+      nativeBuildInputs = [
+        imagemagick
+        zopfli
+        pngquant
+        which
+        emojiPythonEnv
+      ];
+
+      postPatch = ''
+        patchShebangs *.py
+        patchShebangs third_party/color_emoji/*.py
+        # remove check for virtualenv, since we handle
+        # python requirements using python.withPackages
+        sed -i '/ifndef VIRTUAL_ENV/,+2d' Makefile
+
+        # Make the build verbose so it won't get culled by Hydra thinking that
+        # it somehow got stuck doing nothing.
+        sed -i 's;\t@;\t;' Makefile
+      '';
 
-    enableParallelBuilding = true;
+      enableParallelBuilding = true;
 
-    installPhase = ''
-      runHook preInstall
-      mkdir -p $out/share/fonts/noto
-      cp NotoColorEmoji.ttf $out/share/fonts/noto
-      runHook postInstall
-    '';
+      installPhase = ''
+        runHook preInstall
+        mkdir -p $out/share/fonts/noto
+        cp NotoColorEmoji.ttf $out/share/fonts/noto
+        runHook postInstall
+      '';
 
-    meta = with lib; {
-      description = "Color and Black-and-White emoji fonts";
-      homepage = "https://github.com/googlefonts/noto-emoji";
-      license = with licenses; [ ofl asl20 ];
-      platforms = platforms.all;
-      maintainers = with maintainers; [ mathnerd314 sternenseemann ];
+      meta = with lib; {
+        description = "Color and Black-and-White emoji fonts";
+        homepage = "https://github.com/googlefonts/noto-emoji";
+        license = with licenses; [ ofl asl20 ];
+        platforms = platforms.all;
+        maintainers = with maintainers; [ mathnerd314 sternenseemann ];
+      };
     };
-  };
 
   noto-fonts-emoji-blob-bin =
     let
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 4da998f3f3c8c..e18e844a17bbc 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "208dc93f04d6fb2dbc01e11434c7dcea50a8a9e6",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/208dc93f04d6fb2dbc01e11434c7dcea50a8a9e6.tar.gz",
-  "sha256": "19pgh69fj3p1glqyjikpsvn5j4bax6yw5qxf9qaaap19hksgn85p",
-  "msg": "Update from Hackage at 2022-12-28T16:35:05Z"
+  "commit": "78541d36393ac3dd0ffa32b4a9af15fecdefb5d1",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/78541d36393ac3dd0ffa32b4a9af15fecdefb5d1.tar.gz",
+  "sha256": "1qwjkjlz9sw1jnsarin6803vj68bfm3iyysfwxaifga5w4dsrqcs",
+  "msg": "Update from Hackage at 2022-12-30T22:03:31Z"
 }
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 0f11459a17028..67c3dc7a3c12c 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20220830";
+  version = "20221130";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gRFkPZDeq4ONt/IT8VS+8uBXNQqcg0JF7gHdZEM7qvs=";
+    sha256 = "sha256-opVMrXob7yZ5lJmHxjiI8eCBsJ4R+3JQVDcvA37HcX8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
index b3568fb0bc386..addef5891d2c7 100644
--- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
+++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-wallpapers";
-  version = "6.1.0";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "wallpapers";
     rev = version;
-    sha256 = "sha256-E/cUxa/GNt/01EjuuvurHxJu3qV9e+jcdcCi2+NxVDA=";
+    sha256 = "sha256-i9tIz5UckON8uwGlE62b/y0M0Neqt86rR3VdNUWBo04=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/blueprint/default.nix b/pkgs/development/compilers/blueprint/default.nix
index 7ac0a68be05b9..425ea5766f9c0 100644
--- a/pkgs/development/compilers/blueprint/default.nix
+++ b/pkgs/development/compilers/blueprint/default.nix
@@ -1,14 +1,13 @@
-{ gtk4
-, python3
-, stdenv
-, fetchFromGitLab
+{ fetchFromGitLab
 , gobject-introspection
+, gtk4
 , lib
 , meson
 , ninja
+, python3
+, stdenv
 , testers
 }:
-
 stdenv.mkDerivation (finalAttrs: {
   pname = "blueprint-compiler";
   version = "0.6.0";
@@ -21,31 +20,27 @@ stdenv.mkDerivation (finalAttrs: {
     hash = "sha256-L6EGterkZ8EB6xSnJDZ3IMuOumpTpEGnU74X3UgC7k0=";
   };
 
-  doCheck = true;
-
   nativeBuildInputs = [
     meson
     ninja
   ];
 
   buildInputs = [
-    python3
-    gtk4
-  ] ++ (with python3.pkgs; [
-    pygobject3
-    wrapPython
-  ]);
+    (python3.withPackages (ps: with ps; [
+      pygobject3
+    ]))
+  ];
 
   propagatedBuildInputs = [
+    # For setup hook, so that the compiler can find typelib files
     gobject-introspection
   ];
 
-  postFixup = ''
-    makeWrapperArgs="\
-      --prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH \
-      --prefix PYTHONPATH : \"$(toPythonPath $out):$(toPythonPath ${python3.pkgs.pygobject3})\""
-    wrapPythonPrograms
-  '';
+  doCheck = true;
+
+  checkInputs = [
+    gtk4
+  ];
 
   passthru.tests.version = testers.testVersion {
     package = finalAttrs.finalPackage;
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index 44ba33247b403..eca67f832102b 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -3,6 +3,7 @@
 , llvmPackages
 , symlinkJoin, makeWrapper, substituteAll
 , mkYarnModules
+, emscripten
 }:
 
 stdenv.mkDerivation rec {
@@ -116,6 +117,13 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    # HACK: Make emscripten look more like a cc-wrapper to GHC
+    # when building the javascript backend.
+    targetPrefix = "em";
+    bintools = emscripten;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/emscripten-core/emscripten";
     description = "An LLVM-to-JavaScript Compiler";
diff --git a/pkgs/development/compilers/gcc-arm-embedded/12/default.nix b/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
new file mode 100644
index 0000000000000..caff0ad023f8d
--- /dev/null
+++ b/pkgs/development/compilers/gcc-arm-embedded/12/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchurl
+, ncurses5
+, python38
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gcc-arm-embedded";
+  version = "12.2.rel1";
+
+  platform = {
+    aarch64-linux = "aarch64";
+    x86_64-darwin = "darwin-x86_64";
+    x86_64-linux  = "x86_64";
+  }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+
+  src = fetchurl {
+    url = "https://developer.arm.com/-/media/Files/downloads/gnu/${version}/binrel/arm-gnu-toolchain-${version}-${platform}-arm-none-eabi.tar.xz";
+    sha256 = {
+      aarch64-linux = "131ydgndff7dyhkivfchbk43lv3cv2p172knkqilx64aapvk5qvy";
+      x86_64-darwin = "00i9gd1ny00681pwinh6ng9x45xsyrnwc6hm2vr348z9gasyxh00";
+      x86_64-linux  = "0rv8r5zh0a5621v0xygxi8f6932qgwinw2s9vnniasp9z7897gl4";
+    }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+  dontPatchELF = true;
+  dontStrip = true;
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r * $out
+  '';
+
+  preFixup = ''
+    find $out -type f | while read f; do
+      patchelf "$f" > /dev/null 2>&1 || continue
+      patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
+      patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python38 ]} "$f" || true
+    done
+  '';
+
+  meta = with lib; {
+    description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
+    homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
+    license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
+    maintainers = with maintainers; [ prusnak ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix
index 78c7a12027ce5..3c9362fee1ad2 100644
--- a/pkgs/development/compilers/gcc/12/default.nix
+++ b/pkgs/development/compilers/gcc/12/default.nix
@@ -16,6 +16,7 @@
 , gmp, mpfr, libmpc, gettext, which, patchelf
 , isl ? null # optional, for the Graphite optimization framework.
 , zlib ? null
+, libucontext ? null
 , gnatboot ? null
 , enableMultilib ? false
 , enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
@@ -70,6 +71,44 @@ let majorVersion = "12";
       })
       ++ optional langD ../libphobos.patch
 
+      # backport fixes to build gccgo with musl libc
+      ++ optionals (langGo && stdenv.hostPlatform.isMusl) [
+        (fetchpatch {
+          excludes = [ "gcc/go/gofrontend/MERGE" ];
+          url = "https://github.com/gcc-mirror/gcc/commit/cf79b1117bd177d3d4c6ed24b6fa243c3628ac2d.diff";
+          hash = "sha256-mS5ZiYi5D8CpGXrWg3tXlbhp4o86ew1imCTwaHLfl+I=";
+        })
+        (fetchpatch {
+          excludes = [ "gcc/go/gofrontend/MERGE" ];
+          url = "https://github.com/gcc-mirror/gcc/commit/7f195a2270910a6ed08bd76e3a16b0a6503f9faf.diff";
+          hash = "sha256-Ze/cFM0dQofKH00PWPDoklXUlwWhwA1nyTuiDAZ6FKo=";
+        })
+        (fetchpatch {
+          excludes = [ "gcc/go/gofrontend/MERGE" ];
+          url = "https://github.com/gcc-mirror/gcc/commit/762fd5e5547e464e25b4bee435db6df4eda0de90.diff";
+          hash = "sha256-o28upwTcHAnHG2Iq0OewzwSBEhHs+XpBGdIfZdT81pk=";
+        })
+        (fetchpatch {
+          excludes = [ "gcc/go/gofrontend/MERGE" ];
+          url = "https://github.com/gcc-mirror/gcc/commit/e73d9fcafbd07bc3714fbaf8a82db71d50015c92.diff";
+          hash = "sha256-1SjYCVHLEUihdON2TOC3Z2ufM+jf2vH0LvYtZL+c1Fo=";
+        })
+        (fetchpatch {
+          excludes = [ "gcc/go/gofrontend/MERGE" ];
+          url = "https://github.com/gcc-mirror/gcc/commit/b6c6a3d64f2e4e9347733290aca3c75898c44b2e.diff";
+          hash = "sha256-RycJ3YCHd3MXtYFjxP0zY2Wuw7/C4bWoBAQtTKJZPOQ=";
+        })
+        (fetchpatch {
+          excludes = [ "gcc/go/gofrontend/MERGE" ];
+          url = "https://github.com/gcc-mirror/gcc/commit/2b1a604a9b28fbf4f382060bebd04adb83acc2f9.diff";
+          hash = "sha256-WiBQG0Xbk75rHk+AMDvsbrm+dc7lDH0EONJXSdEeMGE=";
+        })
+        (fetchpatch {
+          url = "https://github.com/gcc-mirror/gcc/commit/c86b726c048eddc1be320c0bf64a897658bee13d.diff";
+          hash = "sha256-QSIlqDB6JRQhbj/c3ejlmbfWz9l9FurdSWxpwDebnlI=";
+        })
+      ]
+
       # Obtain latest patch with ../update-mcfgthread-patches.sh
       ++ optional (!crossStageStatic && targetPlatform.isMinGW && threadsCross.model == "mcf") ./Added-mcf-thread-model-support-from-mcfgthread.patch;
 
@@ -178,6 +217,7 @@ stdenv.mkDerivation ({
     targetPackages.stdenv.cc.bintools # For linking code at run-time
   ] ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
+    ++ (optional (langGo && stdenv.hostPlatform.isMusl) libucontext)
     ;
 
   depsTargetTarget = optional (!crossStageStatic && threadsCross != {}) threadsCross.package;
diff --git a/pkgs/development/compilers/ghc/8.10.7.nix b/pkgs/development/compilers/ghc/8.10.7.nix
index b7f027440de1d..afc06e09edb04 100644
--- a/pkgs/development/compilers/ghc/8.10.7.nix
+++ b/pkgs/development/compilers/ghc/8.10.7.nix
@@ -21,7 +21,9 @@
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
+  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                          && lib.meta.availableOn stdenv.targetPlatform gmp)
+, gmp
 
 , # If enabled, use -fPIC when compiling static libs.
   enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
diff --git a/pkgs/development/compilers/ghc/8.8.4.nix b/pkgs/development/compilers/ghc/8.8.4.nix
index 40dabc6c98377..be4ca5edb8235 100644
--- a/pkgs/development/compilers/ghc/8.8.4.nix
+++ b/pkgs/development/compilers/ghc/8.8.4.nix
@@ -20,7 +20,9 @@
 
 , # If enabled, GHC will be built with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
-  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp), gmp
+  enableIntegerSimple ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                          && lib.meta.availableOn stdenv.targetPlatform gmp)
+, gmp
 
 , # If enabled, use -fPIC when compiling static libs.
   enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
diff --git a/pkgs/development/compilers/ghc/9.0.2.nix b/pkgs/development/compilers/ghc/9.0.2.nix
index 0881b58ff7172..f69e52701a934 100644
--- a/pkgs/development/compilers/ghc/9.0.2.nix
+++ b/pkgs/development/compilers/ghc/9.0.2.nix
@@ -23,7 +23,8 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
diff --git a/pkgs/development/compilers/ghc/9.2.4.nix b/pkgs/development/compilers/ghc/9.2.4.nix
index 68657c9178a0c..6b8efae06e5b1 100644
--- a/pkgs/development/compilers/ghc/9.2.4.nix
+++ b/pkgs/development/compilers/ghc/9.2.4.nix
@@ -23,7 +23,8 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
diff --git a/pkgs/development/compilers/ghc/9.2.5.nix b/pkgs/development/compilers/ghc/9.2.5.nix
index 12511c7613913..e7c75fcaccf94 100644
--- a/pkgs/development/compilers/ghc/9.2.5.nix
+++ b/pkgs/development/compilers/ghc/9.2.5.nix
@@ -23,7 +23,8 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
diff --git a/pkgs/development/compilers/ghc/9.4.2.nix b/pkgs/development/compilers/ghc/9.4.2.nix
index a3eb18e156875..d3702f4e849de 100644
--- a/pkgs/development/compilers/ghc/9.4.2.nix
+++ b/pkgs/development/compilers/ghc/9.4.2.nix
@@ -25,7 +25,8 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
diff --git a/pkgs/development/compilers/ghc/9.4.3.nix b/pkgs/development/compilers/ghc/9.4.3.nix
index 2b0f206a6fb04..fea2d4c4c8c9f 100644
--- a/pkgs/development/compilers/ghc/9.4.3.nix
+++ b/pkgs/development/compilers/ghc/9.4.3.nix
@@ -25,7 +25,8 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
diff --git a/pkgs/development/compilers/ghc/9.4.4.nix b/pkgs/development/compilers/ghc/9.4.4.nix
index fafa248084891..b9897b0f4d82c 100644
--- a/pkgs/development/compilers/ghc/9.4.4.nix
+++ b/pkgs/development/compilers/ghc/9.4.4.nix
@@ -25,7 +25,8 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
diff --git a/pkgs/development/compilers/ghc/common-hadrian.nix b/pkgs/development/compilers/ghc/common-hadrian.nix
index 1ca3c9efde942..15073bfec1076 100644
--- a/pkgs/development/compilers/ghc/common-hadrian.nix
+++ b/pkgs/development/compilers/ghc/common-hadrian.nix
@@ -39,7 +39,8 @@
 , useLLVM ? !(stdenv.targetPlatform.isx86
               || stdenv.targetPlatform.isPower
               || stdenv.targetPlatform.isSparc
-              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
+              || (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin)
+              || stdenv.targetPlatform.isGhcjs)
 , # LLVM is conceptually a run-time-only depedendency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
   # build-time dependency too.
@@ -48,7 +49,9 @@
 
 , # If enabled, GHC will be built with the GPL-free but slightly slower native
   # bignum backend instead of the faster but GPLed gmp backend.
-  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
+  enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp
+                         && lib.meta.availableOn stdenv.targetPlatform gmp)
+                       || stdenv.targetPlatform.isGhcjs
 , gmp
 
 , # If enabled, use -fPIC when compiling static libs.
@@ -62,7 +65,8 @@
   enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
 
 , # Whether to build terminfo.
-  enableTerminfo ? !stdenv.targetPlatform.isWindows
+  enableTerminfo ? !(stdenv.targetPlatform.isWindows
+                     || stdenv.targetPlatform.isGhcjs)
 
 , # Libdw.c only supports x86_64, i686 and s390x as of 2022-08-04
   enableDwarf ? (stdenv.targetPlatform.isx86 ||
@@ -156,12 +160,6 @@
 
 assert !enableNativeBignum -> gmp != null;
 
-assert stdenv.hostPlatform == stdenv.targetPlatform || throw ''
-  hadrian doesn't support building an installable GHC cross-compiler at the moment.
-  Consider using GHC 9.4 or lower which support this via the make build system.
-  See also: https://gitlab.haskell.org/ghc/ghc/-/issues/22090
-'';
-
 let
   src = (if rev != null then fetchgit else fetchurl) ({
     inherit url sha256;
@@ -201,17 +199,19 @@ let
 
   # Splicer will pull out correct variations
   libDeps = platform: lib.optional enableTerminfo ncurses
-    ++ [libffi]
+    ++ lib.optionals (!targetPlatform.isGhcjs) [libffi]
     # Bindist configure script fails w/o elfutils in linker search path
     # https://gitlab.haskell.org/ghc/ghc/-/issues/22081
     ++ lib.optional enableDwarf elfutils
     ++ lib.optional (!enableNativeBignum) gmp
-    ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+    ++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows && !targetPlatform.isGhcjs) libiconv;
 
   # TODO(@sternenseemann): is buildTarget LLVM unnecessary?
   # GHC doesn't seem to have {LLC,OPT}_HOST
   toolsForTarget = [
-    pkgsBuildTarget.targetPackages.stdenv.cc
+    (if targetPlatform.isGhcjs
+     then pkgsBuildTarget.emscripten
+     else pkgsBuildTarget.targetPackages.stdenv.cc)
   ] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
 
   targetCC = builtins.head toolsForTarget;
@@ -251,7 +251,7 @@ in
 # C compiler, bintools and LLVM are used at build time, but will also leak into
 # the resulting GHC's settings file and used at runtime. This means that we are
 # currently only able to build GHC if hostPlatform == buildPlatform.
-assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
+assert !targetPlatform.isGhcjs -> targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
 assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
 assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
 
@@ -334,6 +334,13 @@ stdenv.mkDerivation ({
                     '*-android*|*-gnueabi*|*-musleabi*)'
       done
   ''
+  # Need to make writable EM_CACHE for emscripten
+  # https://gitlab.haskell.org/ghc/ghc/-/wikis/javascript-backend#configure-fails-with-sub-word-sized-atomic-operations-not-available
+  + lib.optionalString targetPlatform.isGhcjs ''
+    export EM_CACHE="$(mktemp -d emcache.XXXXXXXXXX)"
+    cp -Lr ${targetCC /* == emscripten */}/share/emscripten/cache/* "$EM_CACHE/"
+    chmod u+rwX -R "$EM_CACHE"
+  ''
   # Create bash array hadrianFlagsArray for use in buildPhase. Do it in
   # preConfigure, so overrideAttrs can be used to modify it effectively.
   # hadrianSettings are passed via the command line so they are more visible
@@ -345,6 +352,8 @@ stdenv.mkDerivation ({
     )
   '';
 
+  ${if targetPlatform.isGhcjs then "configureScript" else null} = "emconfigure ./configure";
+
   # TODO(@Ericson2314): Always pass "--target" and always prefix.
   configurePlatforms = [ "build" "host" ]
     ++ lib.optional (targetPlatform != hostPlatform) "target";
@@ -353,7 +362,7 @@ stdenv.mkDerivation ({
   configureFlags = [
     "--datadir=$doc/share/doc/ghc"
     "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
-  ] ++ lib.optionals (libffi != null) [
+  ] ++ lib.optionals (libffi != null && !targetPlatform.isGhcjs) [
     "--with-system-libffi"
     "--with-ffi-includes=${targetPackages.libffi.dev}/include"
     "--with-ffi-libraries=${targetPackages.libffi.out}/lib"
@@ -392,6 +401,9 @@ stdenv.mkDerivation ({
     autoSignDarwinBinariesHook
   ] ++ lib.optionals enableDocs [
     sphinx
+  ] ++ lib.optionals targetPlatform.isGhcjs [
+    # emscripten itself is added via depBuildTarget / targetCC
+    python3
   ];
 
   # For building runtime libs
@@ -450,7 +462,7 @@ stdenv.mkDerivation ({
   preInstall = ''
     pushd _build/bindist/*
 
-    ./configure $configureFlags "''${configureFlagsArray[@]}"
+    $configureScript $configureFlags "''${configureFlagsArray[@]}"
   '';
 
   postInstall = ''
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 6158be43d8105..19739ecbd14f3 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,5 +1,5 @@
 import ./common-hadrian.nix {
-  version = "9.5.20220921";
-  rev = "2463df2fe21b5b37ecada3df8c6726c534d24590";
-  sha256 = "1k2h4myqbs31fdzw5n4iw0qn44mp7d33kjwrr15ix4r54r8yskzs";
+  version = "9.7.20221224";
+  rev = "a5bd0eb8dd1d03c54e1b0b476ebbc4cc886d6f19";
+  sha256 = "1rrds9alzpy4vyh2isan32h1zmf44nsr8552wbsn1y3fg6bnpbxi";
 }
diff --git a/pkgs/development/compilers/go/1.20.nix b/pkgs/development/compilers/go/1.20.nix
index 5081e5efecfe1..9ae9af3c66820 100644
--- a/pkgs/development/compilers/go/1.20.nix
+++ b/pkgs/development/compilers/go/1.20.nix
@@ -45,11 +45,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.20rc1";
+  version = "1.20rc2";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${version}.src.tar.gz";
-    sha256 = "sha256-FzEFTKmE8l/dCD0Ejt+gghDMkWf1oIanHeuhKMcTtBQ=";
+    sha256 = "sha256-V1IqKi4pXKYpJJRQHxMfiJO1kRqMD4VzfniqdOC5/PY=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix
index c75c6e25b7526..004bf4bb10de5 100644
--- a/pkgs/development/compilers/ispc/default.nix
+++ b/pkgs/development/compilers/ispc/default.nix
@@ -2,7 +2,7 @@
 , cmake, which, m4, python3, bison, flex, llvmPackages, ncurses
 
   # the default test target is sse4, but that is not supported by all Hydra agents
-, testedTargets ? [ "sse2-i32x4" ]
+, testedTargets ? if stdenv.isAarch64 || stdenv.isAarch32 then [ "neon-i32x4" ] else [ "sse2-i32x4" ]
 }:
 
 stdenv.mkDerivation rec {
@@ -58,14 +58,15 @@ stdenv.mkDerivation rec {
     "-DCLANGPP_EXECUTABLE=${llvmPackages.clang}/bin/clang++"
     "-DISPC_INCLUDE_EXAMPLES=OFF"
     "-DISPC_INCLUDE_UTILS=OFF"
-    "-DARM_ENABLED=FALSE"
+    ("-DARM_ENABLED=" + (if stdenv.isAarch64 || stdenv.isAarch32 then "TRUE" else "FALSE"))
+    ("-DX86_ENABLED=" + (if stdenv.isx86_64 || stdenv.isx86_32 then "TRUE" else "FALSE"))
   ];
 
   meta = with lib; {
     homepage    = "https://ispc.github.io/";
     description = "Intel 'Single Program, Multiple Data' Compiler, a vectorised language";
     license     = licenses.bsd3;
-    platforms   = [ "x86_64-linux" "x86_64-darwin" ]; # TODO: buildable on more platforms?
+    platforms   = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; # TODO: buildable on more platforms?
     maintainers = with maintainers; [ aristid thoughtpolice athas ];
   };
 }
diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix
index 643e762ab11b2..83e87bf4c2f2f 100644
--- a/pkgs/development/compilers/julia/1.8.nix
+++ b/pkgs/development/compilers/julia/1.8.nix
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
     # https://github.com/JuliaCI/julia-buildbot/blob/master/master/inventory.py
     "JULIA_CPU_TARGET=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)"
   ] ++ lib.optionals stdenv.isAarch64 [
-    "JULIA_CPU_TERGET=generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm"
+    "JULIA_CPU_TARGET=generic;cortex-a57;thunderx2t99;armv8.2-a,crypto,fullfp16,lse,rdm"
   ];
 
   # remove forbidden reference to $TMPDIR
diff --git a/pkgs/development/compilers/llvm/8/lldb/default.nix b/pkgs/development/compilers/llvm/8/lldb/default.nix
index f6d77d0b00f49..3612211542984 100644
--- a/pkgs/development/compilers/llvm/8/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/8/lldb/default.nix
@@ -23,6 +23,9 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./gnu-install-dirs.patch
+
+    # Fix darwin build
+    ./lldb-gdb-remote-no-libcompress.patch
   ];
 
   postPatch = ''
@@ -33,6 +36,9 @@ stdenv.mkDerivation rec {
       cmake/modules/LLDBStandalone.cmake
     sed -i 's,"$.LLVM_LIBRARY_DIR.",${libllvm.lib}/lib ${libclang.lib}/lib,' \
       cmake/modules/LLDBStandalone.cmake
+
+    substituteInPlace tools/CMakeLists.txt \
+      --replace "add_subdirectory(debugserver)" ""
   '';
 
   outputs = [ "out" "lib" "dev" ];
@@ -46,7 +52,11 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     darwin.libobjc
     darwin.apple_sdk.libs.xpc
-    darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.Foundation
+    darwin.bootstrap_cmds
+    darwin.apple_sdk.frameworks.Carbon
+    darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.DebugSymbols
   ];
 
   CXXFLAGS = "-fno-rtti";
@@ -55,6 +65,9 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DLLDB_INCLUDE_TESTS=${if doCheck then "YES" else "NO"}"
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Building debugserver requires the proprietary libcompression
+    "-DLLDB_NO_DEBUGSERVER=ON"
   ] ++ lib.optionals doCheck [
     "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
     "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
@@ -80,7 +93,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = llvm_meta // {
-    broken = stdenv.isDarwin;
+    broken = stdenv.isDarwin && stdenv.isAarch64;
     homepage = "https://lldb.llvm.org/";
     description = "A next-generation high-performance debugger";
     longDescription = ''
diff --git a/pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch b/pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch
new file mode 100644
index 0000000000000..e04d4ffb1060d
--- /dev/null
+++ b/pkgs/development/compilers/llvm/8/lldb/lldb-gdb-remote-no-libcompress.patch
@@ -0,0 +1,30 @@
+diff -ru a/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
+--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp	2019-01-09 19:46:09.000000000 -0500
++++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp	2021-11-27 00:23:08.000000000 -0500
+@@ -42,11 +42,6 @@
+ #define DEBUGSERVER_BASENAME "lldb-server"
+ #endif
+ 
+-#if defined(__APPLE__)
+-#define HAVE_LIBCOMPRESSION
+-#include <compression.h>
+-#endif
+-
+ #if defined(HAVE_LIBZ)
+ #include <zlib.h>
+ #endif
+diff -ru a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp	2018-12-18 18:02:50.000000000 -0500
++++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp	2021-11-27 00:09:07.000000000 -0500
+@@ -37,11 +37,6 @@
+ 
+ #include "llvm/ADT/StringSwitch.h"
+ 
+-#if defined(__APPLE__)
+-#define HAVE_LIBCOMPRESSION
+-#include <compression.h>
+-#endif
+-
+ using namespace lldb;
+ using namespace lldb_private;
+ using namespace lldb_private::process_gdb_remote;
diff --git a/pkgs/development/compilers/llvm/9/lldb/default.nix b/pkgs/development/compilers/llvm/9/lldb/default.nix
index 644911b905cca..57560ccbfe5be 100644
--- a/pkgs/development/compilers/llvm/9/lldb/default.nix
+++ b/pkgs/development/compilers/llvm/9/lldb/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, llvm_meta
 , fetch
+, fetchpatch
 , cmake
 , zlib
 , ncurses
@@ -13,6 +14,7 @@
 , version
 , darwin
 , makeWrapper
+, perl
 , lit
 }:
 
@@ -25,12 +27,27 @@ stdenv.mkDerivation rec {
   patches = [
     ./procfs.patch
     ./gnu-install-dirs.patch
+
+    # Fix darwin build
+    (fetchpatch {
+      name = "lldb-use-system-debugserver-fix.patch";
+      url = "https://github.com/llvm-mirror/lldb/commit/be770754cc43da22eacdb70c6203f4582eeb011f.diff";
+      sha256 = "sha256-tKkk6sn//0Hu0nlzoKWs5fXMWc+O2JAWOEJ1ZnaLuVU=";
+      excludes = [ "packages/*" ];
+      postFetch = ''
+        substituteInPlace "$out" --replace add_lldb_tool_subdirectory add_subdirectory
+      '';
+    })
+    ./lldb-gdb-remote-no-libcompress.patch
   ];
 
   outputs = [ "out" "lib" "dev" ];
 
   nativeBuildInputs = [
     cmake python3 which swig lit makeWrapper
+  ] ++ lib.optionals stdenv.isDarwin [
+    # for scripts/generate-vers.pl
+    perl
   ];
 
   buildInputs = [
@@ -42,6 +59,7 @@ stdenv.mkDerivation rec {
     darwin.bootstrap_cmds
     darwin.apple_sdk.frameworks.Carbon
     darwin.apple_sdk.frameworks.Cocoa
+    darwin.apple_sdk.frameworks.DebugSymbols
   ];
 
   CXXFLAGS = "-fno-rtti";
@@ -52,6 +70,9 @@ stdenv.mkDerivation rec {
     "-DClang_DIR=${libclang.dev}/lib/cmake"
     "-DLLVM_EXTERNAL_LIT=${lit}/bin/lit"
     "-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
+  ] ++ lib.optionals stdenv.isDarwin [
+    # Building debugserver requires the proprietary libcompression
+    "-DLLDB_USE_SYSTEM_DEBUGSERVER=ON"
   ] ++ lib.optionals doCheck [
     "-DLLDB_TEST_C_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"
     "-DLLDB_TEST_CXX_COMPILER=${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"
@@ -80,7 +101,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = llvm_meta // {
-    broken = stdenv.isDarwin;
+    broken = stdenv.isDarwin && stdenv.isAarch64;
     homepage = "https://lldb.llvm.org/";
     description = "A next-generation high-performance debugger";
     longDescription = ''
diff --git a/pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch b/pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch
new file mode 100644
index 0000000000000..ff2dcd301fa3e
--- /dev/null
+++ b/pkgs/development/compilers/llvm/9/lldb/lldb-gdb-remote-no-libcompress.patch
@@ -0,0 +1,17 @@
+diff -ru a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+--- a/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp	2019-12-11 14:15:30.000000000 -0500
++++ b/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp	2021-11-26 23:44:28.000000000 -0500
+@@ -36,13 +36,6 @@
+ 
+ #include "llvm/ADT/StringSwitch.h"
+ 
+-#if defined(__APPLE__)
+-#ifndef HAVE_LIBCOMPRESSION
+-#define HAVE_LIBCOMPRESSION
+-#endif
+-#include <compression.h>
+-#endif
+-
+ using namespace lldb;
+ using namespace lldb_private;
+ using namespace lldb_private::process_gdb_remote;
diff --git a/pkgs/development/compilers/openjdk/19.nix b/pkgs/development/compilers/openjdk/19.nix
index 87c978ec8305e..fb4a273aed4fa 100644
--- a/pkgs/development/compilers/openjdk/19.nix
+++ b/pkgs/development/compilers/openjdk/19.nix
@@ -4,7 +4,9 @@
 , libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk19-bootstrap
 , ensureNewerSourcesForZipFilesHook
 , setJavaClassPath
-, headless ? false
+# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages
+# which should be fixable, this is a no-rebuild workaround for GHC.
+, headless ? stdenv.targetPlatform.isGhcjs
 , enableJavaFX ? openjfx.meta.available, openjfx
 , enableGnome2 ? true, gtk3, gnome_vfs, glib, GConf
 }:
diff --git a/pkgs/development/compilers/osl/default.nix b/pkgs/development/compilers/osl/default.nix
index 0fbb0eff2382f..0af5444e1c8dd 100644
--- a/pkgs/development/compilers/osl/default.nix
+++ b/pkgs/development/compilers/osl/default.nix
@@ -33,6 +33,7 @@ in stdenv.mkDerivation rec {
   };
 
   cmakeFlags = [
+    "-DBoost_ROOT=${boost}"
     "-DUSE_BOOST_WAVE=ON"
     "-DENABLE_RTTI=ON"
 
@@ -73,7 +74,6 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
     description = "Advanced shading language for production GI renderers";
     homepage = "https://opensource.imageworks.com/osl.html";
     maintainers = with maintainers; [ hodapp ];
diff --git a/pkgs/development/compilers/sbcl/2.x.nix b/pkgs/development/compilers/sbcl/2.x.nix
index 2d79117b16632..c9aa4a962ffa6 100644
--- a/pkgs/development/compilers/sbcl/2.x.nix
+++ b/pkgs/development/compilers/sbcl/2.x.nix
@@ -61,6 +61,10 @@ let
     "2.2.11" = {
       sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8=";
     };
+
+    "2.3.0" = {
+      sha256 = "sha256-v3Q5SXEq4Cy3ST87i1fOJBlIv2ETHjaGDdszTaFDnJc=";
+    };
   };
 
 in with versionMap.${version};
diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix
index a7ed81ca8acb7..c601ca63b7cd4 100644
--- a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix
+++ b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix
@@ -20,7 +20,9 @@
 # runtime dependencies
 , cups
 # runtime dependencies for GTK+ Look and Feel
-, gtkSupport ? true
+# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages
+# which should be fixable, this is a no-rebuild workaround for GHC.
+, gtkSupport ? !stdenv.targetPlatform.isGhcjs
 , cairo
 , glib
 , gtk3
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 21eb497a116ab..159b1827fc8fd 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -78,6 +78,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   checkTarget = "test";
+  # https://www.mail-archive.com/tinycc-devel@nongnu.org/msg10142.html
+  preCheck = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
+    rm tests/tests2/{108,114}*
+  '';
 
   meta = with lib; {
     homepage = "https://repo.or.cz/tinycc.git";
@@ -106,7 +110,8 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Only;
     maintainers = with maintainers; [ joachifm AndersonTorres ];
     platforms = platforms.unix;
-    broken = stdenv.isDarwin;
+    # https://www.mail-archive.com/tinycc-devel@nongnu.org/msg10199.html
+    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
 # TODO: more multiple outputs
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 797c2d7d498a2..6cbc88547bc3a 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -216,10 +216,6 @@ self: super: {
   # https://github.com/haskell-nix/hnix-store/issues/180
   hnix-store-core = doJailbreak super.hnix-store-core;
 
-  # Too strict upper bound on bytestring
-  # https://github.com/wangbj/hashing/issues/3
-  hashing = doJailbreak super.hashing;
-
   # Fails for non-obvious reasons while attempting to use doctest.
   focuslist = dontCheck super.focuslist;
   search = dontCheck super.search;
@@ -1460,16 +1456,6 @@ self: super: {
   servant-swagger-ui-core = doJailbreak super.servant-swagger-ui-core;
 
   hercules-ci-agent = lib.pipe super.hercules-ci-agent [
-    (appendPatches [
-      # haskell-updates branch, will be merged in 0.9.10
-      (fetchpatch2 {
-        name = "hercules-ci-agent-cachix-1.1";
-        url = "https://github.com/hercules-ci/hercules-ci-agent/commit/b76d888548da37a96ae47f1be871de6605d38edd.patch";
-        sha256 = "sha256-kqEkDHbatcYS8LuQlGV/1j/6LXWviQoDQAHDr6DBbDU=";
-        stripLen = 1;
-        includes = [ "*.hs" ];
-      })
-    ])
     (self.generateOptparseApplicativeCompletions [ "hercules-ci-agent" ])
   ];
 
@@ -1913,18 +1899,6 @@ self: super: {
   # 2022-12-30: Restrictive upper bound on optparse-applicative
   retrie = doJailbreak super.retrie;
 
-  # Fixes https://github.com/NixOS/nixpkgs/issues/140613
-  # https://github.com/recursion-schemes/recursion-schemes/issues/128
-  recursion-schemes = overrideCabal (drv: {
-    patches = drv.patches or [] ++ [
-      ./patches/recursion-schemes-128.patch
-    ];
-    # make sure line endings don't break the patch
-    prePatch = drv.prePatch or "" + ''
-      "${pkgs.buildPackages.dos2unix}/bin/dos2unix" *.cabal
-    '';
-  }) super.recursion-schemes;
-
   # 2022-08-30 Too strict bounds on finite-typelits
   # https://github.com/jumper149/blucontrol/issues/1
   blucontrol = doJailbreak super.blucontrol;
@@ -2003,12 +1977,6 @@ self: super: {
       "--skip" "/toJsonSerializer/should generate valid JSON/"
     ] ++ drv.testFlags or [];
   }) super.hschema-aeson;
-  # https://gitlab.com/k0001/xmlbf/-/issues/32
-  xmlbf = overrideCabal (drv: {
-    testFlags = [
-      "-p" "!/xml: <x b=\"\" a=\"y\"><\\/x>/&&!/xml: <x b=\"z\" a=\"y\"><\\/x>/"
-    ] ++ drv.testFlags or [];
-  }) super.xmlbf;
   # https://github.com/ssadler/aeson-quick/issues/3
   aeson-quick = overrideCabal (drv: {
     testFlags = [
@@ -2142,12 +2110,6 @@ self: super: {
   # https://github.com/zellige/hs-geojson/issues/29
   geojson = dontCheck super.geojson;
 
-  # Doesn't support aeson >= 2.0
-  # https://github.com/channable/vaultenv/issues/118
-  vaultenv = super.vaultenv.overrideScope (self: super: {
-    aeson = self.aeson_1_5_6_0;
-  });
-
   # Support network >= 3.1.2
   # https://github.com/erebe/wstunnel/pull/107
   wstunnel = appendPatch (fetchpatch {
@@ -2363,4 +2325,16 @@ self: super: {
   } super.postgrest));
 
   html-charset = dontCheck super.html-charset;
+
+  # true-name-0.1.0.4 has been tagged, but has not been released to Hackage.
+  # Also, beyond 0.1.0.4 an additional patch is required to make true-name
+  # compatible with current versions of template-haskell
+  # https://github.com/liyang/true-name/pull/4
+  true-name = appendPatch (fetchpatch {
+    url = "https://github.com/liyang/true-name/compare/0.1.0.3...nuttycom:true-name:update_template_haskell.patch";
+    hash = "sha256-ZMBXGGc2X5AKXYbqgkLXkg5BhEwyj022E37sUEWahtc=";
+  }) (overrideCabal (drv: {
+    revision = null;
+    editedCabalFile = null;
+  }) super.true-name);
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
index 192c3cf7872c6..2b704463d62e0 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.4.x.nix
@@ -60,8 +60,6 @@ in {
 
   # consequences of doctest breakage follow:
 
-  double-conversion = markBroken super.double-conversion;
-  blaze-textual = checkAgainAfter super.double-conversion "2.0.4.1" "double-conversion fails to build; required for testsuite" (dontCheck super.blaze-textual);
   ghc-source-gen = checkAgainAfter super.ghc-source-gen "0.4.3.0" "fails to build" (markBroken super.ghc-source-gen);
 
   lucid = jailbreakForCurrentVersion super.lucid "2.11.1";
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 7ecd847ddf64d..77a9f16f4a2d8 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -1485,6 +1485,7 @@ broken-packages:
   - Feval
   - fez-conf
   - ffeed
+  - fft
   - ffunctor
   - fgl-extras-decompositions
   - fib
@@ -2217,7 +2218,6 @@ broken-packages:
   - heterogeneous-list-literals
   - hetris
   - heukarya
-  - hevm
   - HExcel
   - hexchat
   - hexif
@@ -2323,6 +2323,7 @@ broken-packages:
   - HLogger
   - hlongurl
   - hls-brittany-plugin
+  - hls-call-hierarchy-plugin
   - hls-haddock-comments-plugin
   - hls-selection-range-plugin
   - hls-stan-plugin
@@ -3667,6 +3668,7 @@ broken-packages:
   - OddWord
   - oden-go-packages
   - oeis2
+  - OGDF
   - OGL
   - ogma-language-c
   - ogma-language-cocospec
@@ -3702,6 +3704,7 @@ broken-packages:
   - open-adt
   - OpenAFP
   - openai-hs
+  - openapi3
   - openapi3-code-generator
   - openapi-petstore
   - openapi-typed
@@ -4269,6 +4272,7 @@ broken-packages:
   - QuickAnnotate
   - quickbooks
   - quickcheck-arbitrary-template
+  - quickcheck-monoid-subclasses
   - quickcheck-property-comb
   - quickcheck-property-monad
   - quickcheck-rematch
@@ -4895,6 +4899,7 @@ broken-packages:
   - SNet
   - snipcheck
   - snorkels
+  - snowchecked
   - snowtify
   - socket-activation
   - socketed
@@ -5009,6 +5014,7 @@ broken-packages:
   - stm-firehose
   - stm-incremental
   - stm-promise
+  - stm-queue
   - stm-stats
   - stochastic
   - Stomp
@@ -5426,7 +5432,6 @@ broken-packages:
   - trivia
   - tropical
   - tropical-geometry
-  - true-name
   - tsession
   - tslib
   - tsparse
@@ -5547,6 +5552,7 @@ broken-packages:
   - unix-recursive
   - unlift
   - unlifted-list
+  - unliftio-messagebox
   - unlift-stm
   - unm-hip
   - unordered-containers-rematch
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 1d1d297cf5882..99e542eed090a 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 20.4
+# Stackage LTS 20.5
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -15,7 +15,7 @@ default-package-overrides:
   - ad-delcont ==0.3.0.0
   - adjunctions ==4.4.2
   - adler32 ==0.1.2.0
-  - advent-of-code-api ==0.2.8.2
+  - advent-of-code-api ==0.2.8.4
   - aern2-mp ==0.2.11.0
   - aern2-real ==0.2.11.0
   - aeson ==2.0.3.0
@@ -61,7 +61,7 @@ default-package-overrides:
   - annotated-exception ==0.2.0.4
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.11.4
-  - ansi-terminal-game ==1.8.0.1
+  - ansi-terminal-game ==1.8.1.0
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
   - aos-signature ==0.1.1
@@ -86,11 +86,11 @@ default-package-overrides:
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - arrows ==0.4.4.2
-  - ascii ==1.2.3.0
-  - ascii-case ==1.0.0.11
-  - ascii-char ==1.0.0.15
+  - ascii ==1.2.4.0
+  - ascii-case ==1.0.1.1
+  - ascii-char ==1.0.0.16
   - asciidiagram ==1.3.3.3
-  - ascii-group ==1.0.0.13
+  - ascii-group ==1.0.0.14
   - ascii-numbers ==1.1.0.0
   - ascii-predicates ==1.0.1.0
   - ascii-progress ==0.3.3.0
@@ -136,7 +136,7 @@ default-package-overrides:
   - aws-xray-client-wai ==0.1.0.2
   - backtracking ==0.1.0
   - bank-holidays-england ==0.2.0.8
-  - barbies ==2.0.3.1
+  - barbies ==2.0.4.0
   - base16 ==0.3.2.1
   - base16-bytestring ==1.0.2.0
   - base32 ==0.2.2.0
@@ -171,7 +171,7 @@ default-package-overrides:
   - bench-show ==0.3.2
   - bencode ==0.6.1.1
   - bencoding ==0.4.5.4
-  - benri-hspec ==0.1.0.0
+  - benri-hspec ==0.1.0.1
   - between ==0.11.0.0
   - bhoogle ==0.1.4.2
   - bibtex ==0.1.0.6
@@ -221,14 +221,14 @@ default-package-overrides:
   - bm ==0.1.0.2
   - bmp ==1.2.6.3
   - bnb-staking-csvs ==0.2.1.0
-  - BNFC ==2.9.4
+  - BNFC ==2.9.4.1
   - BNFC-meta ==0.6.1
   - bodhi ==0.1.0
   - boltzmann-samplers ==0.1.1.0
   - bookkeeping ==0.4.0.1
   - Boolean ==0.2.4
   - boolsimplifier ==0.1.8
-  - boomerang ==1.4.8
+  - boomerang ==1.4.8.1
   - boots ==0.2.0.1
   - bordacount ==0.1.0.0
   - boring ==0.2
@@ -267,7 +267,7 @@ default-package-overrides:
   - bytes ==0.17.2
   - byteset ==0.1.1.0
   - byteslice ==0.2.7.0
-  - bytesmith ==0.3.9.0
+  - bytesmith ==0.3.9.1
   - bytestring-builder ==0.10.8.2.0
   - bytestring-conversion ==0.3.2
   - bytestring-lexing ==0.5.0.9
@@ -341,7 +341,7 @@ default-package-overrides:
   - check-email ==1.0.2
   - checkers ==0.6.0
   - checksum ==0.0
-  - chimera ==0.3.2.0
+  - chimera ==0.3.3.0
   - choice ==0.2.2
   - chronologique ==0.3.1.3
   - chunked-data ==0.3.1
@@ -372,6 +372,7 @@ default-package-overrides:
   - code-page ==0.2.1
   - cointracking-imports ==0.1.0.2
   - collect-errors ==0.1.5.0
+  - co-log-core ==0.3.2.0
   - Color ==0.3.3
   - colorful-monoids ==0.2.1.3
   - colorize-haskell ==1.0.1
@@ -394,9 +395,9 @@ default-package-overrides:
   - componentm ==0.0.0.2
   - componentm-devel ==0.0.0.2
   - composable-associations ==0.1.0.0
-  - composite-base ==0.8.2.0
-  - composite-binary ==0.8.2.0
-  - composite-ekg ==0.8.2.0
+  - composite-base ==0.8.2.1
+  - composite-binary ==0.8.2.1
+  - composite-ekg ==0.8.2.1
   - composite-tuple ==0.1.2.0
   - composite-xstep ==0.1.0.0
   - composition ==1.0.2.2
@@ -529,7 +530,7 @@ default-package-overrides:
   - data-dword ==0.3.2.1
   - data-endian ==0.1.1
   - data-fix ==0.3.2
-  - data-forest ==0.1.0.9
+  - data-forest ==0.1.0.10
   - data-functor-logistic ==0.0
   - data-has ==0.4.0.0
   - data-hash ==0.2.0.1
@@ -567,7 +568,7 @@ default-package-overrides:
   - dejafu ==2.4.0.4
   - dense-linear-algebra ==0.1.0.0
   - dependent-map ==0.4.0.0
-  - dependent-sum ==0.7.1.0
+  - dependent-sum ==0.7.2.0
   - dependent-sum-template ==0.1.1.1
   - depq ==0.4.2
   - deque ==0.4.4
@@ -597,7 +598,7 @@ default-package-overrides:
   - dictionary-sharing ==0.1.0.0
   - di-df1 ==1.2.1
   - Diff ==0.4.1
-  - digest ==0.0.1.3
+  - digest ==0.0.1.4
   - digits ==0.3.1
   - di-handle ==1.0.1
   - dimensional ==1.5
@@ -616,7 +617,7 @@ default-package-overrides:
   - dl-fedora ==0.9.3
   - dlist ==1.0
   - dlist-instances ==0.1.1.1
-  - dlist-nonempty ==0.1.1
+  - dlist-nonempty ==0.1.2
   - dns ==4.1.0
   - docker ==0.7.0.1
   - dockerfile ==0.2.0
@@ -624,10 +625,10 @@ default-package-overrides:
   - doctemplates ==0.10.0.2
   - doctest ==0.20.1
   - doctest-discover ==0.2.0.0
-  - doctest-driver-gen ==0.3.0.5
+  - doctest-driver-gen ==0.3.0.6
   - doctest-exitcode-stdio ==0.0
   - doctest-lib ==0.1
-  - doctest-parallel ==0.2.5
+  - doctest-parallel ==0.2.6
   - doldol ==0.4.1.2
   - do-list ==1.0.1
   - domain ==0.1.1.4
@@ -637,10 +638,9 @@ default-package-overrides:
   - domain-optics ==0.1.0.3
   - do-notation ==0.1.0.2
   - dot ==0.3
-  - dotenv ==0.9.0.3
   - dotgen ==0.4.3
   - dotnet-timespan ==0.0.1.0
-  - double-conversion ==2.0.4.1
+  - double-conversion ==2.0.4.2
   - download ==0.3.2.7
   - download-curl ==0.1.4
   - DPutils ==0.1.1.0
@@ -651,7 +651,7 @@ default-package-overrides:
   - dual ==0.1.1.1
   - dual-tree ==0.2.3.1
   - dublincore-xml-conduit ==0.1.0.2
-  - dunai ==0.9.1
+  - dunai ==0.9.2
   - duration ==0.2.0.0
   - dvorak ==0.1.0.0
   - dynamic-state ==0.3.1
@@ -714,18 +714,18 @@ default-package-overrides:
   - errors-ext ==0.4.2
   - ersatz ==0.4.13
   - esqueleto ==3.5.8.1
-  - essence-of-live-coding ==0.2.6
-  - essence-of-live-coding-gloss ==0.2.6
-  - essence-of-live-coding-pulse ==0.2.6
-  - essence-of-live-coding-quickcheck ==0.2.6
-  - essence-of-live-coding-warp ==0.2.6
+  - essence-of-live-coding ==0.2.7
+  - essence-of-live-coding-gloss ==0.2.7
+  - essence-of-live-coding-pulse ==0.2.7
+  - essence-of-live-coding-quickcheck ==0.2.7
+  - essence-of-live-coding-warp ==0.2.7
   - event-list ==0.1.2
   - eventstore ==1.4.2
   - every ==0.0.1
   - evm-opcodes ==0.1.2
   - exact-combinatorics ==0.2.0.11
   - exact-pi ==0.5.0.2
-  - exception-hierarchy ==0.1.0.7
+  - exception-hierarchy ==0.1.0.8
   - exception-mtl ==0.4.0.1
   - exception-transformers ==0.4.0.11
   - executable-hash ==0.2.0.4
@@ -789,9 +789,9 @@ default-package-overrides:
   - fitspec ==0.4.10
   - fixed ==0.3
   - fixed-length ==0.2.3.1
-  - fixed-vector ==1.2.1.0
+  - fixed-vector ==1.2.2.1
   - fixed-vector-hetero ==0.6.1.1
-  - fix-whitespace ==0.0.10
+  - fix-whitespace ==0.0.11
   - flac ==0.2.0
   - flac-picture ==0.1.2
   - flags-applicative ==0.1.0.3
@@ -1031,7 +1031,7 @@ default-package-overrides:
   - haskell-gi ==0.26.2
   - haskell-gi-base ==0.26.3
   - haskell-gi-overloading ==1.0
-  - haskell-lexer ==1.1
+  - haskell-lexer ==1.1.1
   - HaskellNet ==0.6.0.1
   - HaskellNet-SSL ==0.3.4.4
   - haskell-src ==1.0.4
@@ -1069,7 +1069,7 @@ default-package-overrides:
   - heatshrink ==0.1.0.0
   - hebrew-time ==0.1.2
   - hedgehog ==1.1.2
-  - hedgehog-classes ==0.2.5.3
+  - hedgehog-classes ==0.2.5.4
   - hedgehog-corpus ==0.2.0
   - hedgehog-fakedata ==0.0.1.5
   - hedgehog-fn ==1.0
@@ -1131,7 +1131,7 @@ default-package-overrides:
   - hourglass ==0.2.12
   - hourglass-orphans ==0.1.0.0
   - hp2pretty ==0.10
-  - hpack ==0.35.0
+  - hpack ==0.35.1
   - hpack-dhall ==0.5.7
   - hpc-codecov ==0.3.0.0
   - hpc-lcov ==1.1.0
@@ -1169,7 +1169,7 @@ default-package-overrides:
   - hslua-packaging ==2.2.1
   - hsndfile ==0.8.0
   - hsndfile-vector ==0.5.2
-  - HsOpenSSL ==0.11.7.2
+  - HsOpenSSL ==0.11.7.4
   - HsOpenSSL-x509-system ==0.1.0.4
   - hsp ==0.10.0
   - hspec ==2.9.7
@@ -1258,7 +1258,7 @@ default-package-overrides:
   - hw-int ==0.0.2.0
   - hw-ip ==2.4.2.1
   - hw-json ==1.3.2.3
-  - hw-json-simd ==0.1.1.1
+  - hw-json-simd ==0.1.1.2
   - hw-json-simple-cursor ==0.1.1.1
   - hw-json-standard-cursor ==0.2.3.2
   - hwk ==0.6
@@ -1270,7 +1270,7 @@ default-package-overrides:
   - hw-prim ==0.6.3.2
   - hw-rankselect ==0.13.4.1
   - hw-rankselect-base ==0.3.4.1
-  - hw-simd ==0.1.2.1
+  - hw-simd ==0.1.2.2
   - hw-streams ==0.0.1.0
   - hw-string-parse ==0.0.0.5
   - hw-succinct ==0.1.0.1
@@ -1531,7 +1531,7 @@ default-package-overrides:
   - markov-chain ==0.0.3.4
   - markov-chain-usage-model ==0.0.0
   - mason ==0.2.5
-  - massiv ==1.0.2.0
+  - massiv ==1.0.3.0
   - massiv-io ==1.0.0.1
   - massiv-persist ==1.0.0.3
   - massiv-serialise ==1.0.0.2
@@ -1571,12 +1571,12 @@ default-package-overrides:
   - microaeson ==0.1.0.1
   - microlens ==0.4.12.0
   - microlens-aeson ==2.5.0
-  - microlens-contra ==0.1.0.2
+  - microlens-contra ==0.1.0.3
   - microlens-ghc ==0.4.13.2
-  - microlens-mtl ==0.2.0.2
+  - microlens-mtl ==0.2.0.3
   - microlens-platform ==0.4.2.1
   - microlens-process ==0.2.0.2
-  - microlens-th ==0.4.3.10
+  - microlens-th ==0.4.3.11
   - microspec ==0.2.1.3
   - microstache ==1.0.2.2
   - midair ==0.2.0.1
@@ -1644,7 +1644,7 @@ default-package-overrides:
   - monad-time ==0.3.1.0
   - mongoDB ==2.7.1.2
   - monoidal-containers ==0.6.3.0
-  - monoid-extras ==0.6.1
+  - monoid-extras ==0.6.2
   - monoid-subclasses ==1.1.3
   - monoid-transformer ==0.0.4
   - monomer ==1.5.0.0
@@ -1726,7 +1726,7 @@ default-package-overrides:
   - network-simple ==0.4.5
   - network-simple-tls ==0.4
   - network-transport ==0.5.6
-  - network-uri ==2.6.4.1
+  - network-uri ==2.6.4.2
   - network-wait ==0.2.0.0
   - newtype ==0.2.2.0
   - newtype-generics ==0.6.2
@@ -1762,9 +1762,9 @@ default-package-overrides:
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.3
   - nuxeo ==0.3.2
-  - nvim-hs ==2.3.1.0
+  - nvim-hs ==2.3.2.0
   - nvim-hs-contrib ==2.0.0.1
-  - nvim-hs-ghcid ==2.0.0.0
+  - nvim-hs-ghcid ==2.0.1.0
   - oauthenticated ==0.3.0.0
   - ObjectName ==1.1.0.2
   - oblivious-transfer ==0.1.0
@@ -1781,7 +1781,7 @@ default-package-overrides:
   - oo-prototypes ==0.1.0.0
   - opaleye ==0.9.6.1
   - OpenAL ==1.7.0.5
-  - openapi3 ==3.2.2
+  - openapi3 ==3.2.3
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
   - OpenGL ==3.0.3.0
@@ -1939,7 +1939,7 @@ default-package-overrides:
   - polysemy-fs ==0.1.0.0
   - polysemy-kvstore ==0.1.3.0
   - polysemy-methodology ==0.2.2.0
-  - polysemy-plugin ==0.4.3.1
+  - polysemy-plugin ==0.4.4.0
   - polysemy-several ==0.1.1.0
   - polysemy-webserver ==0.2.1.1
   - polysemy-zoo ==0.8.1.0
@@ -2098,7 +2098,7 @@ default-package-overrides:
   - record-dot-preprocessor ==0.2.15
   - record-hasfield ==1.0
   - rec-smallarray ==0.1.0.0
-  - recursion-schemes ==5.2.2.2
+  - recursion-schemes ==5.2.2.3
   - recv ==0.0.0
   - redact ==0.4.0.0
   - reddit-scrape ==0.0.1
@@ -2279,7 +2279,7 @@ default-package-overrides:
   - servant-multipart ==0.12.1
   - servant-multipart-api ==0.12.1
   - servant-multipart-client ==0.12.1
-  - servant-openapi3 ==2.0.1.5
+  - servant-openapi3 ==2.0.1.6
   - servant-pipes ==0.15.3
   - servant-rate-limit ==0.2.0.0
   - servant-rawm ==1.0.0.0
@@ -2352,10 +2352,11 @@ default-package-overrides:
   - skein ==1.0.9.4
   - skews ==0.1.0.3
   - skip-var ==0.1.1.0
-  - skylighting ==0.13.1.2
-  - skylighting-core ==0.13.1.2
+  - skylighting ==0.13.2
+  - skylighting-core ==0.13.2
   - skylighting-format-ansi ==0.1
   - skylighting-format-blaze-html ==0.1.1
+  - skylighting-format-context ==0.1.0.1
   - skylighting-format-latex ==0.1
   - slack-progressbar ==0.1.0.1
   - slave-thread ==1.1.0.2
@@ -2366,7 +2367,7 @@ default-package-overrides:
   - socket ==0.8.3.0
   - socks ==0.6.1
   - solana-staking-csvs ==0.1.2.0
-  - some ==1.0.3
+  - some ==1.0.4.1
   - some-dict-of ==0.1.0.2
   - sop-core ==0.5.0.2
   - sort ==1.0.0.0
@@ -2459,7 +2460,7 @@ default-package-overrides:
   - string-combinators ==0.6.0.5
   - string-conv ==0.2.0
   - string-conversions ==0.4.0.1
-  - string-interpolate ==0.3.1.2
+  - string-interpolate ==0.3.2.0
   - stringprep ==1.0.0
   - string-qq ==0.0.4
   - string-random ==0.1.4.3
@@ -2526,7 +2527,7 @@ default-package-overrides:
   - tar ==0.5.1.1
   - tar-conduit ==0.3.2
   - tardis ==0.4.4.0
-  - tasty ==1.4.2.3
+  - tasty ==1.4.3
   - tasty-ant-xml ==1.1.8
   - tasty-autocollect ==0.3.2.0
   - tasty-bench ==0.3.2
@@ -2559,7 +2560,7 @@ default-package-overrides:
   - tcp-streams ==1.0.1.1
   - tdigest ==0.2.1.1
   - teardown ==0.5.0.1
-  - telegram-bot-simple ==0.6
+  - telegram-bot-simple ==0.6.1
   - template ==0.2.0.10
   - template-haskell-compat-v0208 ==0.1.9.1
   - temporary ==1.3
@@ -2587,7 +2588,7 @@ default-package-overrides:
   - text-ansi ==0.2.1
   - text-binary ==0.2.1.1
   - text-builder ==0.6.7
-  - text-builder-dev ==0.3.3
+  - text-builder-dev ==0.3.3.2
   - text-conversions ==0.3.1.1
   - text-icu ==0.8.0.2
   - text-latin1 ==0.3.1
@@ -2601,7 +2602,7 @@ default-package-overrides:
   - text-rope ==0.2
   - text-short ==0.1.5
   - text-show ==3.10
-  - text-show-instances ==3.9.2
+  - text-show-instances ==3.9.3
   - text-zipper ==0.12
   - tfp ==1.0.2
   - tf-random ==0.5
@@ -2822,7 +2823,7 @@ default-package-overrides:
   - vector-builder ==0.3.8.4
   - vector-bytes-instances ==0.1.1
   - vector-circular ==0.1.4
-  - vector-extras ==0.2.7.1
+  - vector-extras ==0.2.8
   - vector-instances ==3.4
   - vector-mmap ==0.0.3
   - vector-rotcev ==0.1.0.1
@@ -2895,7 +2896,7 @@ default-package-overrides:
   - webrtc-vad ==0.1.0.3
   - websockets ==0.12.7.3
   - weigh ==0.0.16
-  - wide-word ==0.1.3.0
+  - wide-word ==0.1.4.0
   - Win32 ==2.12.0.1
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 141df6fa0e88f..3ff14c0e1d54d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -239,6 +239,7 @@ dont-distribute-packages:
  - JsContracts
  - JsonGrammar
  - JuPyTer-notebook
+ - JuicyPixels-scale-dct
  - JunkDB-driver-gdbm
  - JunkDB-driver-hashtables
  - KiCS
@@ -694,6 +695,7 @@ dont-distribute-packages:
  - audiovisual
  - aura
  - authoring
+ - autodocodec-openapi3
  - automata
  - autonix-deps-kf5
  - avers
@@ -1357,15 +1359,11 @@ dont-distribute-packages:
  - essence-of-live-coding-PortMidi
  - essence-of-live-coding-gloss
  - essence-of-live-coding-gloss-example
- - essence-of-live-coding-gloss_0_2_7
  - essence-of-live-coding-pulse
  - essence-of-live-coding-pulse-example
- - essence-of-live-coding-pulse_0_2_7
  - essence-of-live-coding-quickcheck
- - essence-of-live-coding-quickcheck_0_2_7
  - essence-of-live-coding-vivid
  - essence-of-live-coding-warp
- - essence-of-live-coding-warp_0_2_7
  - estimators
  - estreps
  - eternity
@@ -1404,7 +1402,6 @@ dont-distribute-packages:
  - exinst-serialise
  - exist
  - exist-instances
- - exon
  - expand
  - expat-enumerator
  - expiring-containers
@@ -2427,6 +2424,8 @@ dont-distribute-packages:
  - jmacro-rpc-happstack
  - jmacro-rpc-snap
  - join
+ - jordan-openapi
+ - jordan-servant-openapi
  - jot
  - jsaddle-hello
  - jsc
@@ -2875,6 +2874,7 @@ dont-distribute-packages:
  - nakadi-client
  - named-servant-client
  - named-servant-server
+ - named-text
  - nats-queue
  - natural-number
  - nemesis-titan
@@ -3349,6 +3349,7 @@ dont-distribute-packages:
  - remotion
  - repa-array
  - repa-convert
+ - repa-fftw
  - repa-flow
  - repa-plugin
  - repa-stream
@@ -3394,6 +3395,7 @@ dont-distribute-packages:
  - ribosome-root
  - ribosome-test
  - ridley-extras
+ - rio-process-pool
  - riot
  - ripple
  - ripple-federation
@@ -3535,6 +3537,7 @@ dont-distribute-packages:
  - servant-matrix-param
  - servant-oauth2
  - servant-oauth2-examples
+ - servant-openapi3
  - servant-postgresql
  - servant-pushbullet-client
  - servant-rate-limit
@@ -3547,6 +3550,8 @@ dont-distribute-packages:
  - servant-streamly
  - servant-swagger-tags
  - servant-to-elm
+ - servant-util
+ - servant-util-beam-pg
  - servant-waargonaut
  - servant-zeppelin-client
  - servant-zeppelin-server
@@ -3721,6 +3726,7 @@ dont-distribute-packages:
  - statsd-client
  - statsdi
  - stern-brocot
+ - stm-actor
  - stm-supply
  - stmcontrol
  - storablevector-carray
@@ -4133,6 +4139,7 @@ dont-distribute-packages:
  - webcloud
  - webcrank-wai
  - webdriver-w3c
+ - webgear-openapi
  - webify
  - webserver
  - websockets-rpc
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 06b0644b70128..75725a2bf3598 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -723,10 +723,8 @@ self: super: builtins.intersectAttrs super {
     '';
   }) super.haskell-language-server;
 
-  # NOTE: this patch updates the hevm code to work with the latest packages that broke the build
-  # it's temporary until hevm version 0.50.0 is released - https://github.com/ethereum/hevm/milestone/1
-  # tests depend on a specific version of solc
-  hevm = dontCheck (appendPatch ./patches/hevm-update-deps.patch super.hevm);
+  # there are three very heavy test suites that need external repos, one requires network access
+  hevm = dontCheck super.hevm;
 
   # hadolint enables static linking by default in the cabal file, so we have to explicitly disable it.
   # https://github.com/hadolint/hadolint/commit/e1305042c62d52c2af4d77cdce5d62f6a0a3ce7b
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index abe79ed19883b..f49e34b1f4dcd 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1305,35 +1305,6 @@ self: {
      }) {};
 
   "BNFC" = callPackage
-    ({ mkDerivation, alex, array, base, Cabal, cabal-doctest
-     , containers, deepseq, directory, doctest, filepath, happy, hspec
-     , hspec-discover, HUnit, mtl, pretty, process, QuickCheck
-     , string-qq, temporary, time
-     }:
-     mkDerivation {
-       pname = "BNFC";
-       version = "2.9.4";
-       sha256 = "1gy7ggrf2zikyfi8anlj2zavs5b99z7rzs1lmyflrjd82a31bmzp";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         array base containers deepseq directory filepath mtl pretty process
-         string-qq time
-       ];
-       libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         array base containers deepseq directory doctest filepath hspec
-         HUnit mtl pretty process QuickCheck string-qq temporary time
-       ];
-       testToolDepends = [ alex happy hspec-discover ];
-       description = "A compiler front-end generator";
-       license = lib.licenses.bsd3;
-       mainProgram = "bnfc";
-     }) {};
-
-  "BNFC_2_9_4_1" = callPackage
     ({ mkDerivation, alex, array, base, containers, deepseq, directory
      , filepath, happy, hspec, hspec-discover, HUnit, mtl, pretty
      , process, QuickCheck, string-qq, temporary, time, transformers
@@ -1357,7 +1328,6 @@ self: {
        testToolDepends = [ alex happy hspec-discover ];
        description = "A compiler front-end generator";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "bnfc";
      }) {};
 
@@ -2997,8 +2967,8 @@ self: {
        pname = "Cabal-syntax";
        version = "3.8.1.0";
        sha256 = "03yfk3b2sjmqpxmvx3mj185nifiaqapvc8hmbx4825z0kyqxvs07";
-       revision = "1";
-       editedCabalFile = "0rmrcjpm169acfranqq04ach5g3jv7v6g45yzpwcp3ksk9g7cdj9";
+       revision = "2";
+       editedCabalFile = "1bzwjxj5mrsxxcgrfgisamx3f3ymz5bz085k6p83s7djh39ayaxx";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          mtl parsec pretty text time transformers unix
@@ -9641,8 +9611,8 @@ self: {
        pname = "HStringTemplate";
        version = "0.8.8";
        sha256 = "1n8ci0kzjcgnqh4dfpqwlh7mnlzyiqiqc6hc0zr65p0balbg8zbi";
-       revision = "3";
-       editedCabalFile = "0316jr5npssxxxj85x74vasvm2ib09mjv2jy7abwjs7cfqbpnr8w";
+       revision = "4";
+       editedCabalFile = "0sj82pzq2hcx3yjsljwgbr1kcdgwpgfmq0n0dhz3am8ckwir0slz";
        libraryHaskellDepends = [
          array base blaze-builder bytestring containers deepseq directory
          filepath mtl old-locale parsec pretty semigroups syb
@@ -11128,22 +11098,6 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
      mkDerivation {
        pname = "HsOpenSSL";
-       version = "0.11.7.2";
-       sha256 = "0ysdfl8ck3nzhx597fa13dqf31jq5gzwajlak6r91jajks9w0dl5";
-       revision = "3";
-       editedCabalFile = "0nsqxym87s48029laqba4nzwpk7nrk35x7wmpjqfnbrj82ddcshd";
-       setupHaskellDepends = [ base Cabal ];
-       libraryHaskellDepends = [ base bytestring network time ];
-       librarySystemDepends = [ openssl ];
-       testHaskellDepends = [ base bytestring ];
-       description = "Partial OpenSSL binding for Haskell";
-       license = lib.licenses.publicDomain;
-     }) {inherit (pkgs) openssl;};
-
-  "HsOpenSSL_0_11_7_4" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, network, openssl, time }:
-     mkDerivation {
-       pname = "HsOpenSSL";
        version = "0.11.7.4";
        sha256 = "0zxcfa8b0ng97v53vb8fvg2gss89b28xiz83rx38a0h4lsxpn2xf";
        setupHaskellDepends = [ base Cabal ];
@@ -11152,7 +11106,6 @@ self: {
        testHaskellDepends = [ base bytestring ];
        description = "Partial OpenSSL binding for Haskell";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) openssl;};
 
   "HsOpenSSL-x509-system" = callPackage
@@ -12219,6 +12172,7 @@ self: {
        ];
        description = "Scale JuicyPixels images with DCT";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "JuicyPixels-stbir" = callPackage
@@ -15344,6 +15298,24 @@ self: {
        broken = true;
      }) {};
 
+  "OGDF" = callPackage
+    ({ mkDerivation, base, COIN, fficxx, fficxx-runtime, OGDF, stdcxx
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "OGDF";
+       version = "1.0.0.0";
+       sha256 = "0sn5xyn2yqh7aywadzxvaxcyqj2clivvizqdbnjkljib7960w44z";
+       libraryHaskellDepends = [
+         base fficxx fficxx-runtime stdcxx template-haskell
+       ];
+       librarySystemDepends = [ COIN OGDF ];
+       description = "Haskell binding to OGDF";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {COIN = null; OGDF = null;};
+
   "OGL" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -25205,28 +25177,6 @@ self: {
      }:
      mkDerivation {
        pname = "advent-of-code-api";
-       version = "0.2.8.2";
-       sha256 = "1z4y8bssmaappc7hamdzynjxd1mamn7vzyc0nymldxb8ly7fvpwy";
-       libraryHaskellDepends = [
-         aeson base bytestring containers deepseq directory filepath
-         finite-typelits http-api-data http-client http-client-tls
-         http-media megaparsec mtl profunctors servant servant-client
-         servant-client-core stm tagsoup text time time-compat
-       ];
-       testHaskellDepends = [ base directory filepath HUnit text ];
-       description = "Advent of Code REST API bindings and servant API";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "advent-of-code-api_0_2_8_4" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
-     , directory, filepath, finite-typelits, http-api-data, http-client
-     , http-client-tls, http-media, HUnit, megaparsec, mtl, profunctors
-     , servant, servant-client, servant-client-core, stm, tagsoup, text
-     , time, time-compat
-     }:
-     mkDerivation {
-       pname = "advent-of-code-api";
        version = "0.2.8.4";
        sha256 = "1l7bl0aqn5d6ph730jpwb5h0lwhvrkcw4vla0l73sxrm52j9ma58";
        libraryHaskellDepends = [
@@ -25238,7 +25188,6 @@ self: {
        testHaskellDepends = [ base directory filepath HUnit text ];
        description = "Advent of Code REST API bindings and servant API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "advent-of-code-ocr" = callPackage
@@ -31782,33 +31731,6 @@ self: {
 
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
-     , clock, containers, exceptions, hspec, hspec-discover, linebreak
-     , mintty, mtl, QuickCheck, random, split, terminal-size
-     , timers-tick, unidecode
-     }:
-     mkDerivation {
-       pname = "ansi-terminal-game";
-       version = "1.8.0.1";
-       sha256 = "1fic8wjkbpfd076shfrq8pxlnpsrm59yilbhiinynlgr4vhjncz5";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         ansi-terminal array base bytestring cereal clock containers
-         exceptions linebreak mintty mtl QuickCheck random split
-         terminal-size timers-tick unidecode
-       ];
-       testHaskellDepends = [
-         ansi-terminal array base bytestring cereal clock containers
-         exceptions hspec linebreak mintty mtl QuickCheck random split
-         terminal-size timers-tick unidecode
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "sdl-like functions for terminal applications, based on ansi-terminal";
-       license = lib.licenses.gpl3Only;
-     }) {};
-
-  "ansi-terminal-game_1_8_1_0" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, colour, containers, exceptions, hspec, hspec-discover
      , linebreak, mintty, mtl, QuickCheck, random, split, terminal-size
      , timers-tick, unidecode
@@ -31832,7 +31754,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "sdl-like functions for terminal applications, based on ansi-terminal";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ansi-wl-pprint" = callPackage
@@ -35127,26 +35048,6 @@ self: {
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.2.3.0";
-       sha256 = "0s6w1wv6hjx1abz038cw7fyl8ilbs3cxmcs989c3hh9659l82p2j";
-       revision = "2";
-       editedCabalFile = "16b1dmjl0p2zdn05h2iwm1ymhrvgr19c1gzankrn0i7jj89nf979";
-       libraryHaskellDepends = [
-         ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
-         ascii-superset ascii-th base bytestring text
-       ];
-       testHaskellDepends = [ base hedgehog text ];
-       description = "The ASCII character set and encoding";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ascii_1_2_4_0" = callPackage
-    ({ mkDerivation, ascii-case, ascii-char, ascii-group, ascii-numbers
-     , ascii-predicates, ascii-superset, ascii-th, base, bytestring
-     , hedgehog, text
-     }:
-     mkDerivation {
-       pname = "ascii";
        version = "1.2.4.0";
        sha256 = "1rsv9ah0jvf66w3k4smh67wpbm03xl4pdyj8svmdy49hbpihimwi";
        libraryHaskellDepends = [
@@ -35156,7 +35057,6 @@ self: {
        testHaskellDepends = [ base hedgehog text ];
        description = "The ASCII character set and encoding";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii-art-to-unicode" = callPackage
@@ -35176,20 +35076,6 @@ self: {
      }) {};
 
   "ascii-case" = callPackage
-    ({ mkDerivation, ascii-char, base, hashable }:
-     mkDerivation {
-       pname = "ascii-case";
-       version = "1.0.0.11";
-       sha256 = "03rhq303igzvx9yil5qli2ga9iz47psrlnbb494785w9whwayxq1";
-       revision = "1";
-       editedCabalFile = "0a4nz34a5034lkq42q2l7xqdkjpakcy44syqy0gvx8p6h83ccrb1";
-       libraryHaskellDepends = [ ascii-char base hashable ];
-       testHaskellDepends = [ ascii-char base ];
-       description = "ASCII letter case";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ascii-case_1_0_1_1" = callPackage
     ({ mkDerivation, ascii-char, base, hashable, hspec }:
      mkDerivation {
        pname = "ascii-case";
@@ -35199,7 +35085,6 @@ self: {
        testHaskellDepends = [ ascii-char base hspec ];
        description = "ASCII letter case";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii-caseless" = callPackage
@@ -35217,25 +35102,23 @@ self: {
      }) {};
 
   "ascii-char" = callPackage
-    ({ mkDerivation, base, hashable }:
+    ({ mkDerivation, base, hashable, hspec }:
      mkDerivation {
        pname = "ascii-char";
-       version = "1.0.0.15";
-       sha256 = "10vvhpl7y1gpw7gw2hpcckl0pmx7rkn35zy6yl6c9mx0hib0745a";
-       revision = "1";
-       editedCabalFile = "0b73pm9z5k3xbpn49fz4m8jwzw3r4z0l2v4alinf5l7n6vx4wvj0";
+       version = "1.0.0.16";
+       sha256 = "06iig5p15ip0wpg330dq8kclq7g7j2xkrkk0dbl3z509d44mg049";
        libraryHaskellDepends = [ base hashable ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
        description = "A Char type representing an ASCII character";
        license = lib.licenses.asl20;
      }) {};
 
-  "ascii-char_1_0_0_16" = callPackage
+  "ascii-char_1_0_0_17" = callPackage
     ({ mkDerivation, base, hashable, hspec }:
      mkDerivation {
        pname = "ascii-char";
-       version = "1.0.0.16";
-       sha256 = "06iig5p15ip0wpg330dq8kclq7g7j2xkrkk0dbl3z509d44mg049";
+       version = "1.0.0.17";
+       sha256 = "1562gkfvrcjygs9qpyswsk25d4m2pxblmmbb0hw8jsaml2jwsyss";
        libraryHaskellDepends = [ base hashable ];
        testHaskellDepends = [ base hspec ];
        description = "A Char type representing an ASCII character";
@@ -35276,27 +35159,14 @@ self: {
     ({ mkDerivation, ascii-char, base, hashable, hedgehog }:
      mkDerivation {
        pname = "ascii-group";
-       version = "1.0.0.13";
-       sha256 = "1xynfvrr8lwmrxqww2c2bwp6r3162mqgmx7hljwmbvdmnc0na30d";
-       revision = "1";
-       editedCabalFile = "0snp4qfj20jjchhhf7v8lyssjydv57sd2wy88fbc0aaba4c5lq7y";
-       libraryHaskellDepends = [ ascii-char base hashable ];
-       testHaskellDepends = [ ascii-char base hedgehog ];
-       description = "ASCII character groups";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ascii-group_1_0_0_14" = callPackage
-    ({ mkDerivation, ascii-char, base, hashable, hedgehog }:
-     mkDerivation {
-       pname = "ascii-group";
        version = "1.0.0.14";
        sha256 = "0rk3lvs4b6d4cfzb5zc87f42wdmziprpfd4fww5r68ry3ccyn1ps";
+       revision = "1";
+       editedCabalFile = "0iwf48cq67qzgw4ih6532yxl03bpnzrhz68y0yfk87r1y3hsdxfx";
        libraryHaskellDepends = [ ascii-char base hashable ];
        testHaskellDepends = [ ascii-char base hedgehog ];
        description = "ASCII character groups";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii-holidays" = callPackage
@@ -35336,6 +35206,26 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-numbers_1_1_0_1" = callPackage
+    ({ mkDerivation, ascii-case, ascii-char, ascii-superset, base
+     , bytestring, hashable, hedgehog, invert, text
+     }:
+     mkDerivation {
+       pname = "ascii-numbers";
+       version = "1.1.0.1";
+       sha256 = "1zb37db0vpcnh63izq9m62p2an1w496ljh7d196k0i1w76j2jhiy";
+       libraryHaskellDepends = [
+         ascii-case ascii-char ascii-superset base bytestring hashable text
+       ];
+       testHaskellDepends = [
+         ascii-case ascii-char ascii-superset base bytestring hashable
+         hedgehog invert text
+       ];
+       description = "ASCII representations of numbers";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-predicates" = callPackage
     ({ mkDerivation, ascii-char, base, hedgehog }:
      mkDerivation {
@@ -35350,6 +35240,19 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-predicates_1_0_1_1" = callPackage
+    ({ mkDerivation, ascii-char, base, hedgehog }:
+     mkDerivation {
+       pname = "ascii-predicates";
+       version = "1.0.1.1";
+       sha256 = "1r8kd5p17jd46298wp7b1rvfg86g752k2x45ppqikrbkqv9vkvmc";
+       libraryHaskellDepends = [ ascii-char base ];
+       testHaskellDepends = [ ascii-char base hedgehog ];
+       description = "Various categorizations of ASCII characters";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-progress" = callPackage
     ({ mkDerivation, async, base, concurrent-output, data-default
      , hspec, QuickCheck, time
@@ -35412,6 +35315,23 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-superset_1_0_1_14" = callPackage
+    ({ mkDerivation, ascii-char, base, bytestring, hashable, hedgehog
+     , text
+     }:
+     mkDerivation {
+       pname = "ascii-superset";
+       version = "1.0.1.14";
+       sha256 = "1zggxgxwdc8cd224dgmrq0bijgi0adv233ysnpaw97sa9m6mgmb6";
+       libraryHaskellDepends = [
+         ascii-char base bytestring hashable text
+       ];
+       testHaskellDepends = [ ascii-char base hedgehog text ];
+       description = "Representing ASCII with refined supersets";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-table" = callPackage
     ({ mkDerivation, aeson, base, containers, dlist, hashable, text
      , unordered-containers, vector, wl-pprint-extras
@@ -35449,6 +35369,25 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-th_1_0_0_12" = callPackage
+    ({ mkDerivation, ascii-char, ascii-superset, base, bytestring
+     , hedgehog, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "ascii-th";
+       version = "1.0.0.12";
+       sha256 = "1kdqkd7sq8kb8ymy4p45w39ndr7z2jcjy9c5ws227hrhglam9pcy";
+       libraryHaskellDepends = [
+         ascii-char ascii-superset base template-haskell
+       ];
+       testHaskellDepends = [
+         ascii-char ascii-superset base bytestring hedgehog text
+       ];
+       description = "Template Haskell support for ASCII";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-vector-avc" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, deepseq
      , deepseq-generics, HUnit, split, zlib
@@ -36591,6 +36530,24 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "atomic-counter" = callPackage
+    ({ mkDerivation, async, base, primitive, QuickCheck, stm, tasty
+     , tasty-bench, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "atomic-counter";
+       version = "0.1";
+       sha256 = "1vrggycr9jbnrx2gz71rfqrldmf6417kx5sp2w5g238iv6a3m9p1";
+       libraryHaskellDepends = [ async base QuickCheck ];
+       testHaskellDepends = [ base QuickCheck tasty tasty-quickcheck ];
+       benchmarkHaskellDepends = [
+         base primitive QuickCheck stm tasty tasty-bench tasty-quickcheck
+       ];
+       doHaddock = false;
+       description = "Mutable counters that can be modified with atomic operatinos";
+       license = lib.licenses.asl20;
+     }) {};
+
   "atomic-file-ops" = callPackage
     ({ mkDerivation, base, directory, filelock, filepath
      , io-string-like
@@ -37708,6 +37665,7 @@ self: {
        ];
        description = "Autodocodec interpreters for openapi3";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "autodocodec-schema" = callPackage
@@ -39998,22 +39956,6 @@ self: {
      }:
      mkDerivation {
        pname = "barbies";
-       version = "2.0.3.1";
-       sha256 = "0gfzb52k3py1qnr2b6gshdg7c9aj1j9y2xsdhz86n01ybv81yg51";
-       libraryHaskellDepends = [ base distributive transformers ];
-       testHaskellDepends = [
-         base distributive QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       description = "Classes for working with types that can change clothes";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "barbies_2_0_4_0" = callPackage
-    ({ mkDerivation, base, distributive, QuickCheck, tasty, tasty-hunit
-     , tasty-quickcheck, transformers
-     }:
-     mkDerivation {
-       pname = "barbies";
        version = "2.0.4.0";
        sha256 = "0v8bckxi58fkqgf1i1xd3100wp792pzd319xlfvmmw8z0ii1g872";
        libraryHaskellDepends = [ base distributive transformers ];
@@ -40022,7 +39964,6 @@ self: {
        ];
        description = "Classes for working with types that can change clothes";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "barbies-layered" = callPackage
@@ -42103,23 +42044,11 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "benri-hspec";
-       version = "0.1.0.0";
-       sha256 = "0vvc7fw52c9flmdjmgrc9cca9yrl4r7yvh2l5ixc23gvvmlhdycy";
-       libraryHaskellDepends = [ base hspec ];
-       description = "Simplify tests where Either or Maybe types are returned from monadic code";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "benri-hspec_0_1_0_1" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "benri-hspec";
        version = "0.1.0.1";
        sha256 = "11x7dsp6hmz1an1nm8076lgdvgd8r67hl54p81jprpi8m0lh6mqa";
        libraryHaskellDepends = [ base hspec ];
        description = "Simplify tests where Either or Maybe types are returned from monadic code";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bento" = callPackage
@@ -47656,21 +47585,6 @@ self: {
      }:
      mkDerivation {
        pname = "boomerang";
-       version = "1.4.8";
-       sha256 = "141rs9q8i89118ldplm90zqzkjff3jwqhsdld4vp4ipc26f9gjdl";
-       libraryHaskellDepends = [
-         base mtl semigroups template-haskell text th-abstraction
-       ];
-       description = "Library for invertible parsing and printing";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "boomerang_1_4_8_1" = callPackage
-    ({ mkDerivation, base, mtl, semigroups, template-haskell, text
-     , th-abstraction
-     }:
-     mkDerivation {
-       pname = "boomerang";
        version = "1.4.8.1";
        sha256 = "1hal4z1c1skqjq7vvjql0gm2rhfgrrlj29rgchjwlr2hm22zgnjp";
        libraryHaskellDepends = [
@@ -47678,7 +47592,6 @@ self: {
        ];
        description = "Library for invertible parsing and printing";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "boomslang" = callPackage
@@ -50714,32 +50627,6 @@ self: {
      }:
      mkDerivation {
        pname = "bytesmith";
-       version = "0.3.9.0";
-       sha256 = "0jmx4flf3j5a4gyrw79cxiybp6f7y0rm9ifmrxypxpwrwc220zjg";
-       revision = "1";
-       editedCabalFile = "0ly247yj2ay0fpj5v3dqp0hava1wrllqhphf7k3hcifpi5zfr8i0";
-       libraryHaskellDepends = [
-         base byteslice bytestring contiguous primitive run-st text-short
-         wide-word
-       ];
-       testHaskellDepends = [
-         base byte-order byteslice primitive tasty tasty-hunit
-         tasty-quickcheck text-short wide-word
-       ];
-       benchmarkHaskellDepends = [
-         base byteslice bytestring gauge primitive
-       ];
-       description = "Nonresumable byte parser";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "bytesmith_0_3_9_1" = callPackage
-    ({ mkDerivation, base, byte-order, byteslice, bytestring
-     , contiguous, gauge, primitive, run-st, tasty, tasty-hunit
-     , tasty-quickcheck, text-short, wide-word
-     }:
-     mkDerivation {
-       pname = "bytesmith";
        version = "0.3.9.1";
        sha256 = "10d0wzinc30b2xc26cfadvpn29gf30gnppysyl3n35ym3p9lnhm2";
        libraryHaskellDepends = [
@@ -50755,7 +50642,6 @@ self: {
        ];
        description = "Nonresumable byte parser";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bytestring_0_11_3_1" = callPackage
@@ -51834,8 +51720,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-cache";
-       version = "1.0.5.4";
-       sha256 = "15jg140ly7rska7v8ihvd383q9lj4i5c18rzjad4yi8f78jjciqb";
+       version = "1.0.5.5";
+       sha256 = "0474z8cw2wikqg3bnsxqj4rxy13n5l8p06fq72l4klh01s8i1qfl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57905,22 +57791,22 @@ self: {
      }) {};
 
   "chimera" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, mtl, QuickCheck
-     , random, tasty, tasty-bench, tasty-hunit, tasty-quickcheck
-     , tasty-smallcheck, vector
+    ({ mkDerivation, adjunctions, base, distributive, mtl, primitive
+     , QuickCheck, random, tasty, tasty-bench, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, transformers, vector
      }:
      mkDerivation {
        pname = "chimera";
-       version = "0.3.2.0";
-       sha256 = "1p8in1a37hrb0qwvabwi4a9ahzydkd8j3v402cn2i3xmkzcr0kh9";
+       version = "0.3.3.0";
+       sha256 = "1cy38pgdlgz4f1fglm70w3dlqbnd0lzpckr7j065nnpp0ljlwlpx";
        libraryHaskellDepends = [
-         adjunctions base distributive mtl vector
+         adjunctions base distributive mtl primitive transformers vector
        ];
        testHaskellDepends = [
          base QuickCheck tasty tasty-hunit tasty-quickcheck tasty-smallcheck
          vector
        ];
-       benchmarkHaskellDepends = [ base mtl random tasty-bench ];
+       benchmarkHaskellDepends = [ base mtl random tasty tasty-bench ];
        description = "Lazy infinite streams with O(1) indexing and applications for memoization";
        license = lib.licenses.bsd3;
      }) {};
@@ -59498,6 +59384,8 @@ self: {
        pname = "clash-prelude";
        version = "1.6.4";
        sha256 = "12ic8jcgz3jr4zrgrx06dzd6whlypyyxilrgbja27dcdv02fs6yr";
+       revision = "1";
+       editedCabalFile = "09ra3gbhghrqlzaanjlvm0qpj05v3ilps62lblzy44n7sxmc5db7";
        libraryHaskellDepends = [
          array arrows base binary bytestring constraints containers
          data-binary-ieee754 data-default-class deepseq extra ghc-bignum
@@ -64505,29 +64393,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.8.2.0";
-       sha256 = "0niw6rc9sscq73vja8pzds4r87yvckh0h5138i86wv18m34ksniw";
-       libraryHaskellDepends = [
-         base deepseq exceptions lens monad-control mtl profunctors
-         template-haskell text transformers transformers-base unliftio-core
-         vinyl
-       ];
-       testHaskellDepends = [
-         base deepseq exceptions hspec lens monad-control mtl profunctors
-         QuickCheck template-haskell text transformers transformers-base
-         unliftio-core vinyl
-       ];
-       description = "Shared utilities for composite-* packages";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-base_0_8_2_1" = callPackage
-    ({ mkDerivation, base, deepseq, exceptions, hspec, lens
-     , monad-control, mtl, profunctors, QuickCheck, template-haskell
-     , text, transformers, transformers-base, unliftio-core, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-base";
        version = "0.8.2.1";
        sha256 = "0i2mamh5gz7ay1cm5nkmdbh2lnaph42pfi2aa9jb2baxi0jgxdri";
        libraryHaskellDepends = [
@@ -64542,30 +64407,17 @@ self: {
        ];
        description = "Shared utilities for composite-* packages";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-binary" = callPackage
     ({ mkDerivation, base, binary, composite-base }:
      mkDerivation {
        pname = "composite-binary";
-       version = "0.8.2.0";
-       sha256 = "1ijlrwyji9179hc5wcmdzzf3g79xkz6k1kjxq0l7iqyvfjh2zrkh";
-       libraryHaskellDepends = [ base binary composite-base ];
-       description = "Orphan binary instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-binary_0_8_2_1" = callPackage
-    ({ mkDerivation, base, binary, composite-base }:
-     mkDerivation {
-       pname = "composite-binary";
        version = "0.8.2.1";
        sha256 = "0bxnzxvw5mjhz3kh6x265l70hp1z3z1y9fbdwhrgv6bhhinxb3hq";
        libraryHaskellDepends = [ base binary composite-base ];
        description = "Orphan binary instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-cassava" = callPackage
@@ -64610,20 +64462,6 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.8.2.0";
-       sha256 = "0kcyscjs8qsydhj7labm8v62xcm9vc39rcw13xlvwmxz3lwi5jl3";
-       libraryHaskellDepends = [
-         base composite-base ekg-core lens text vinyl
-       ];
-       description = "EKG Metrics for Vinyl records";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "composite-ekg_0_8_2_1" = callPackage
-    ({ mkDerivation, base, composite-base, ekg-core, lens, text, vinyl
-     }:
-     mkDerivation {
-       pname = "composite-ekg";
        version = "0.8.2.1";
        sha256 = "0c0rxa30r19wcvqrw20xk96652mxknbs1lqpnzdj9kz77al3k1kl";
        libraryHaskellDepends = [
@@ -64631,7 +64469,6 @@ self: {
        ];
        description = "EKG Metrics for Vinyl records";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "composite-hashable" = callPackage
@@ -74748,10 +74585,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "data-forest";
-       version = "0.1.0.9";
-       sha256 = "1l16hg1pfzrbi2ih6najcam18p2b5lvmmkl6fxvk7izynvcc79jc";
-       revision = "1";
-       editedCabalFile = "0m0fp8fx21257z5k1g575wjcmavd29qav4cgjcwg5nxkxwrfldg8";
+       version = "0.1.0.10";
+       sha256 = "0wfw87vb00lgc1pf6cmqmlzfqskhy42kyzfj5nyfw1lch8s6sbvm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base ];
        description = "A simple multi-way tree data structure";
@@ -78338,25 +78173,11 @@ self: {
     ({ mkDerivation, base, constraints-extras, some }:
      mkDerivation {
        pname = "dependent-sum";
-       version = "0.7.1.0";
-       sha256 = "0aj63gvak0y4mgxndykqfg5w958hf7lp5blml2z647rjgy85bjw1";
-       revision = "2";
-       editedCabalFile = "0d7wb1ag60mcm56axcrx9pd6hgrsxmqynyplbcfl01ms2i60fhr9";
-       libraryHaskellDepends = [ base constraints-extras some ];
-       description = "Dependent sum type";
-       license = lib.licenses.publicDomain;
-     }) {};
-
-  "dependent-sum_0_7_2_0" = callPackage
-    ({ mkDerivation, base, constraints-extras, some }:
-     mkDerivation {
-       pname = "dependent-sum";
        version = "0.7.2.0";
        sha256 = "1frw5965v8i6xqdgs95gg8asgdqcqnmfahz0pmbwiaw5ybn62rc2";
        libraryHaskellDepends = [ base constraints-extras some ];
        description = "Dependent sum type";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dependent-sum-aeson-orphans" = callPackage
@@ -81252,25 +81073,12 @@ self: {
     ({ mkDerivation, base, bytestring, zlib }:
      mkDerivation {
        pname = "digest";
-       version = "0.0.1.3";
-       sha256 = "1l5383l5pvp018rj3vabrppnzcqrr2g0dvgvmsrbjdn02wzab5jm";
-       libraryHaskellDepends = [ base bytestring ];
-       librarySystemDepends = [ zlib ];
-       description = "Various cryptographic hashes for bytestrings; CRC32 and Adler32 for now";
-       license = lib.licenses.bsd3;
-     }) {inherit (pkgs) zlib;};
-
-  "digest_0_0_1_4" = callPackage
-    ({ mkDerivation, base, bytestring, zlib }:
-     mkDerivation {
-       pname = "digest";
        version = "0.0.1.4";
        sha256 = "05pc5l4bwddszc6vy1hazwi1dnrxg323521gdkis9cvh7zs2a4gr";
        libraryHaskellDepends = [ base bytestring ];
        libraryPkgconfigDepends = [ zlib ];
        description = "Various hashes for bytestrings; CRC32 and Adler32 for now";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) zlib;};
 
   "digest-pure" = callPackage
@@ -83605,30 +83413,6 @@ self: {
      }:
      mkDerivation {
        pname = "dlist-nonempty";
-       version = "0.1.1";
-       sha256 = "0csbspdy43pzvasb5mhs5pz2f49ws78pi253cx7pp84wjx6ads20";
-       revision = "13";
-       editedCabalFile = "1hbd0j8yw81y4rnxqxxnvhy33ccgl5c7qcr9shzqy97fwi2vkikm";
-       libraryHaskellDepends = [
-         base base-compat deepseq dlist semigroupoids
-       ];
-       testHaskellDepends = [
-         base Cabal QuickCheck quickcheck-instances
-       ];
-       benchmarkHaskellDepends = [
-         base base-compat criterion dlist dlist-instances
-       ];
-       description = "Non-empty difference lists";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "dlist-nonempty_0_1_2" = callPackage
-    ({ mkDerivation, base, base-compat, Cabal, criterion, deepseq
-     , dlist, dlist-instances, QuickCheck, quickcheck-instances
-     , semigroupoids
-     }:
-     mkDerivation {
-       pname = "dlist-nonempty";
        version = "0.1.2";
        sha256 = "1phdqr9fi2smscmqn7l9kfjxfnqfw6ws1v0a1lrqm5civ15gxhms";
        libraryHaskellDepends = [ base deepseq dlist semigroupoids ];
@@ -83640,7 +83424,6 @@ self: {
        ];
        description = "Non-empty difference lists";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dmc" = callPackage
@@ -84559,22 +84342,6 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "doctest-driver-gen";
-       version = "0.3.0.5";
-       sha256 = "08zv5c1cfklknpbw974sw4rb6jiijd3q28cpjw1cncc06n2jy85b";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
-       description = "Generate driver file for doctest's cabal integration";
-       license = lib.licenses.bsd3;
-       mainProgram = "doctest-driver-gen";
-     }) {};
-
-  "doctest-driver-gen_0_3_0_6" = callPackage
-    ({ mkDerivation, base, doctest }:
-     mkDerivation {
-       pname = "doctest-driver-gen";
        version = "0.3.0.6";
        sha256 = "0a4jdg4mzhdgfal7jp60yrlv63iv7d8f7nxc9aqvrl93mairny8l";
        isLibrary = true;
@@ -84584,7 +84351,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Generate driver file for doctest's cabal integration";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "doctest-driver-gen";
      }) {};
 
@@ -84648,36 +84414,6 @@ self: {
      }:
      mkDerivation {
        pname = "doctest-parallel";
-       version = "0.2.5";
-       sha256 = "075y4yllpgfq0dlfd6y9nqhsdkxzb9s3jgb0v194l216kg5zsqzc";
-       revision = "1";
-       editedCabalFile = "1q81qjz9af9a57xyxz6kci28shl4r9y3lrl3rckknhqwcy1ahqz4";
-       libraryHaskellDepends = [
-         base base-compat Cabal code-page containers deepseq directory
-         exceptions extra filepath ghc ghc-paths Glob pretty process random
-         syb template-haskell transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         base base-compat code-page containers deepseq directory exceptions
-         filepath ghc ghc-paths hspec hspec-core hspec-discover HUnit
-         mockery process QuickCheck setenv silently stringbuilder syb
-         transformers
-       ];
-       testToolDepends = [ hspec-discover ];
-       doHaddock = false;
-       description = "Test interactive Haskell examples";
-       license = lib.licenses.mit;
-     }) {};
-
-  "doctest-parallel_0_2_6" = callPackage
-    ({ mkDerivation, base, base-compat, Cabal, code-page, containers
-     , deepseq, directory, exceptions, extra, filepath, ghc, ghc-paths
-     , Glob, hspec, hspec-core, hspec-discover, HUnit, mockery, pretty
-     , process, QuickCheck, random, setenv, silently, stringbuilder, syb
-     , template-haskell, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "doctest-parallel";
        version = "0.2.6";
        sha256 = "13hjwhdjw8jrj07zxkrrfbzr0mrk8gwyis1rbdi4ld4jbq3rr1z7";
        libraryHaskellDepends = [
@@ -84695,7 +84431,6 @@ self: {
        doHaddock = false;
        description = "Test interactive Haskell examples";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "doctest-prop" = callPackage
@@ -85215,35 +84950,6 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.9.0.3";
-       sha256 = "163w2japbcdjzmhr7afq2rss7sp7gz2j8mylcc716x63gm3ws20h";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base base-compat containers directory exceptions megaparsec process
-         shellwords text
-       ];
-       executableHaskellDepends = [
-         base base-compat megaparsec optparse-applicative process text
-       ];
-       testHaskellDepends = [
-         base base-compat containers directory exceptions hspec
-         hspec-megaparsec megaparsec process shellwords text
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Loads environment variables from dotenv files";
-       license = lib.licenses.mit;
-       mainProgram = "dotenv";
-     }) {};
-
-  "dotenv_0_10_0_0" = callPackage
-    ({ mkDerivation, base, base-compat, containers, directory
-     , exceptions, hspec, hspec-discover, hspec-megaparsec, megaparsec
-     , optparse-applicative, process, shellwords, text
-     }:
-     mkDerivation {
-       pname = "dotenv";
        version = "0.10.0.0";
        sha256 = "04brkjk9a17xv2qv2xbsdxbil6ncrrzxcfji9q0civmxhj4vbcfq";
        isLibrary = true;
@@ -85263,7 +84969,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Loads environment variables from dotenv files";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "dotenv";
      }) {};
 
@@ -85351,25 +85056,6 @@ self: {
      }:
      mkDerivation {
        pname = "double-conversion";
-       version = "2.0.4.1";
-       sha256 = "1hrpqh8lbw0kkryqsya95mfnnnj0pj7zswxrn6kvfy4rf7z8v2d4";
-       revision = "2";
-       editedCabalFile = "0qya075j3kz4jq1kx4951qvi9blh6hcqfd7vpcx8l8ql143ajvqs";
-       libraryHaskellDepends = [ base bytestring ghc-prim text ];
-       testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit
-         test-framework-quickcheck2 text
-       ];
-       description = "Fast conversion between single and double precision floating point and text";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "double-conversion_2_0_4_2" = callPackage
-    ({ mkDerivation, base, bytestring, ghc-prim, HUnit, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text
-     }:
-     mkDerivation {
-       pname = "double-conversion";
        version = "2.0.4.2";
        sha256 = "0r7c1801gzdm5x1flmpx8ajxygbc9dl7sgdj0xn3bpm71wgvrf4s";
        revision = "2";
@@ -85381,7 +85067,6 @@ self: {
        ];
        description = "Fast conversion between single and double precision floating point and text";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "double-extra" = callPackage
@@ -86711,23 +86396,6 @@ self: {
      }:
      mkDerivation {
        pname = "dunai";
-       version = "0.9.1";
-       sha256 = "0krgbs9xqar78815xrgqbj63678jm0mjbsvnqdayh0c2awf9i8bj";
-       libraryHaskellDepends = [
-         base MonadRandom simple-affine-space transformers transformers-base
-       ];
-       testHaskellDepends = [ base tasty tasty-hunit transformers ];
-       description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
-       license = lib.licenses.bsd3;
-       maintainers = [ lib.maintainers.turion ];
-     }) {};
-
-  "dunai_0_9_2" = callPackage
-    ({ mkDerivation, base, MonadRandom, simple-affine-space, tasty
-     , tasty-hunit, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "dunai";
        version = "0.9.2";
        sha256 = "08skmwkfwiyy83s764fcpa9i8zny10bdbpv9wha6fjqr1b80i80f";
        libraryHaskellDepends = [
@@ -86736,7 +86404,6 @@ self: {
        testHaskellDepends = [ base tasty tasty-hunit transformers ];
        description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = [ lib.maintainers.turion ];
      }) {};
 
@@ -92578,33 +92245,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding";
-       version = "0.2.6";
-       sha256 = "0bmcy6j0zw9v7z4sr0m300ckr1mdh3wxj975wbgbl8qlkwsfwv9l";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers foreign-store mmorph syb time transformers
-         vector-sized
-       ];
-       executableHaskellDepends = [ base transformers ];
-       testHaskellDepends = [
-         base containers HUnit mtl QuickCheck syb test-framework
-         test-framework-hunit test-framework-quickcheck2 transformers
-       ];
-       description = "General purpose live coding framework";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       maintainers = [ lib.maintainers.turion ];
-       broken = true;
-     }) {};
-
-  "essence-of-live-coding_0_2_7" = callPackage
-    ({ mkDerivation, base, containers, foreign-store, HUnit, mmorph
-     , mtl, QuickCheck, syb, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, time, transformers, vector-sized
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding";
        version = "0.2.7";
        sha256 = "1vg10x8radvr8ysqfzf1cngp2hnqy8g139x07pwqwycj9zwwnbl4";
        isLibrary = true;
@@ -92648,23 +92288,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss";
-       version = "0.2.6";
-       sha256 = "02jdi5ijkhf9jc9r5jyqvlk6idmgbjbv3x4yw6ich2m95yhf8hrl";
-       libraryHaskellDepends = [
-         base essence-of-live-coding foreign-store gloss syb transformers
-       ];
-       description = "General purpose live coding framework - Gloss backend";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       maintainers = [ lib.maintainers.turion ];
-     }) {};
-
-  "essence-of-live-coding-gloss_0_2_7" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
-     , syb, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-gloss";
        version = "0.2.7";
        sha256 = "0iv5wgzfxy1k80dh6c6hrzh4jcjy3ak4l3l004jm3wpfm7fm0lmx";
        libraryHaskellDepends = [
@@ -92702,23 +92325,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-pulse";
-       version = "0.2.6";
-       sha256 = "16fipxz90vlsy9hgksiw7m7r7wzrqrjdhb6fg11m6jlrk1f5bkka";
-       libraryHaskellDepends = [
-         base essence-of-live-coding foreign-store pulse-simple transformers
-       ];
-       description = "General purpose live coding framework - pulse backend";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       maintainers = [ lib.maintainers.turion ];
-     }) {};
-
-  "essence-of-live-coding-pulse_0_2_7" = callPackage
-    ({ mkDerivation, base, essence-of-live-coding, foreign-store
-     , pulse-simple, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-pulse";
        version = "0.2.7";
        sha256 = "0bmnc7901zgak223kfm29md0w5fd9lfv4dxc8c27cdcrdqnqfc2p";
        libraryHaskellDepends = [
@@ -92756,24 +92362,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-quickcheck";
-       version = "0.2.6";
-       sha256 = "1hkzp0q0xk3wa892vnjimi7m9gq56m5wx1m2i72ssl6x2jgy52hl";
-       libraryHaskellDepends = [
-         base boltzmann-samplers essence-of-live-coding QuickCheck syb
-         transformers
-       ];
-       description = "General purpose live coding framework - QuickCheck integration";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       maintainers = [ lib.maintainers.turion ];
-     }) {};
-
-  "essence-of-live-coding-quickcheck_0_2_7" = callPackage
-    ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding
-     , QuickCheck, syb, transformers
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-quickcheck";
        version = "0.2.7";
        sha256 = "0jn5bz7xq8jmlkhrrbn5mj3ywh8288gpx43n8fkjzmzdk233kbvp";
        libraryHaskellDepends = [
@@ -92804,26 +92392,6 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-warp";
-       version = "0.2.6";
-       sha256 = "0x18jxw0xwqvbwdalbrz4lp2lq9pyl4a5r9vnky5hc5wcwqm2f4m";
-       libraryHaskellDepends = [
-         base essence-of-live-coding http-types wai warp
-       ];
-       testHaskellDepends = [
-         base bytestring essence-of-live-coding http-client
-       ];
-       description = "General purpose live coding framework";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       maintainers = [ lib.maintainers.turion ];
-     }) {};
-
-  "essence-of-live-coding-warp_0_2_7" = callPackage
-    ({ mkDerivation, base, bytestring, essence-of-live-coding
-     , http-client, http-types, wai, warp
-     }:
-     mkDerivation {
-       pname = "essence-of-live-coding-warp";
        version = "0.2.7";
        sha256 = "1zykg5qik61xr4ri6d9r04w5rj7wm0wqmnzm6nipwpixal3gdxqa";
        libraryHaskellDepends = [
@@ -94157,23 +93725,11 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "exception-hierarchy";
-       version = "0.1.0.7";
-       sha256 = "14kk0rync05rq2adx5lk59y56h97s0yv7mqfn2grhhwqb10maqj0";
-       libraryHaskellDepends = [ base template-haskell ];
-       description = "Exception type hierarchy with TemplateHaskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "exception-hierarchy_0_1_0_8" = callPackage
-    ({ mkDerivation, base, template-haskell }:
-     mkDerivation {
-       pname = "exception-hierarchy";
        version = "0.1.0.8";
        sha256 = "17wx40kic0gw5lbz1nr094ps612i0j0pbf0wfj4kgzsl6cj80hih";
        libraryHaskellDepends = [ base template-haskell ];
        description = "Exception type hierarchy with TemplateHaskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exception-mailer" = callPackage
@@ -94831,15 +94387,15 @@ self: {
   "exon" = callPackage
     ({ mkDerivation, base, criterion, flatparse, generics-sop
      , ghc-hs-meta, hedgehog, incipit-base, tasty, tasty-hedgehog
-     , template-haskell, type-errors-pretty
+     , template-haskell
      }:
      mkDerivation {
        pname = "exon";
-       version = "1.2.0.0";
-       sha256 = "1cayih5rp386cn1ig5g7flxjfh47451h095zx4av4i0c72j6q7s1";
+       version = "1.3.0.0";
+       sha256 = "1w93x0yfqm1yp82lh2q1wibb88xn7rh4vh16pq1pzs8vdhgbapc2";
        libraryHaskellDepends = [
          base flatparse generics-sop ghc-hs-meta incipit-base
-         template-haskell type-errors-pretty
+         template-haskell
        ];
        testHaskellDepends = [
          base hedgehog incipit-base tasty tasty-hedgehog template-haskell
@@ -94847,7 +94403,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion incipit-base ];
        description = "Customizable Quasiquote Interpolation";
        license = "BSD-2-Clause-Patent";
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exotic-list-monads" = callPackage
@@ -98235,6 +97790,8 @@ self: {
        testHaskellDepends = [ base carray QuickCheck storable-complex ];
        description = "Bindings to the FFTW library";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) fftw; inherit (pkgs) fftwFloat;};
 
   "fftw-ffi" = callPackage
@@ -99734,24 +99291,6 @@ self: {
      }:
      mkDerivation {
        pname = "fix-whitespace";
-       version = "0.0.10";
-       sha256 = "1jlkx0ygl315yik0f2fh4ml77c4080y0czs2mlnc84pkhximj58l";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base directory extra filepath filepattern text yaml
-       ];
-       description = "Fixes whitespace issues";
-       license = "unknown";
-       mainProgram = "fix-whitespace";
-     }) {};
-
-  "fix-whitespace_0_0_11" = callPackage
-    ({ mkDerivation, base, directory, extra, filepath, filepattern
-     , text, yaml
-     }:
-     mkDerivation {
-       pname = "fix-whitespace";
        version = "0.0.11";
        sha256 = "0q36vr3pfk1x14hl86g4g557299ih0510j7cf37h8n5nv8bs8gq2";
        isLibrary = false;
@@ -99761,7 +99300,6 @@ self: {
        ];
        description = "Fixes whitespace issues";
        license = "unknown";
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "fix-whitespace";
      }) {};
 
@@ -99886,25 +99424,12 @@ self: {
     ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
      mkDerivation {
        pname = "fixed-vector";
-       version = "1.2.1.0";
-       sha256 = "05x3qivymg02n17wik17fmz2bqbbhj4b0w5iz7vnjz3szhwjizdf";
-       libraryHaskellDepends = [ base deepseq primitive ];
-       testHaskellDepends = [ base doctest filemanip primitive ];
-       description = "Generic vectors with statically known size";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fixed-vector_1_2_1_1" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
-     mkDerivation {
-       pname = "fixed-vector";
-       version = "1.2.1.1";
-       sha256 = "1gf3gpdl92yb7s68d39wmj7h9ivm925ix3yb7l5x0ljdw5xjldki";
+       version = "1.2.2.1";
+       sha256 = "0kp747v67x1ija33nyqmyh6g178pqn2c7glynrpzcv733lalp00z";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [ base doctest filemanip primitive ];
        description = "Generic vectors with statically known size";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fixed-vector-binary" = callPackage
@@ -123632,8 +123157,8 @@ self: {
        pname = "hackage-security-HTTP";
        version = "0.1.1.1";
        sha256 = "14hp7gssf80b9937j7m56w8sxrv3hrzjf2s9kgfk76v6llgx79k2";
-       revision = "3";
-       editedCabalFile = "14cypbxm6njhxwxps9ac80nf1j00vgh9bwcyxx9h74z5hi7wdld2";
+       revision = "4";
+       editedCabalFile = "09hs3iidjlwdppm5q1vq58p70js11whhcl5nr73kv8zj1yh0ir3h";
        libraryHaskellDepends = [
          base bytestring hackage-security HTTP mtl network network-uri zlib
        ];
@@ -126771,8 +126296,8 @@ self: {
     ({ mkDerivation, base, Chart, Chart-diagrams }:
      mkDerivation {
        pname = "happy-hour";
-       version = "0.0.0.3";
-       sha256 = "0icdx6lw9bbcchhwcr7q4yaprz9crhlq6gycb430100c2irlfnkw";
+       version = "0.0.0.4";
+       sha256 = "07cqp51hq9andw9pw5nbpqkcmk4q6a9xlspayfh964pvz7p0vsbv";
        libraryHaskellDepends = [ base Chart Chart-diagrams ];
        description = "Generate simple okay-looking bar plots without much effort";
        license = lib.licenses.mit;
@@ -128998,23 +128523,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "haskell-lexer";
-       version = "1.1";
-       sha256 = "1mb3np20ig0hbgnfxrzr3lczq7ya4p76g20lvnxch8ikck61afii";
-       libraryHaskellDepends = [ base ];
-       description = "A fully compliant Haskell 98 lexer";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "haskell-lexer_1_1_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "haskell-lexer";
        version = "1.1.1";
        sha256 = "0jgkv1api3w7i9j5z01h7qdx2i9cp93h54hp9hj1bw9hk9bdmvn8";
        libraryHaskellDepends = [ base ];
        description = "A fully compliant Haskell 98 lexer";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "haskell-lsp" = callPackage
@@ -135131,28 +134644,6 @@ self: {
      }:
      mkDerivation {
        pname = "hedgehog-classes";
-       version = "0.2.5.3";
-       sha256 = "1qanfnvciykm5hmiqyf0icn4xn16v6zvlfal98lphhcmym26m9x1";
-       revision = "3";
-       editedCabalFile = "09khb9px24zj24ahb51w1a6glgmcnhk2xn89gn1qwzhs3xn4vlj5";
-       libraryHaskellDepends = [
-         aeson base binary comonad containers hedgehog pretty-show primitive
-         semirings silently transformers vector wl-pprint-annotated
-       ];
-       testHaskellDepends = [
-         aeson base binary comonad containers hedgehog vector
-       ];
-       description = "Hedgehog will eat your typeclass bugs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hedgehog-classes_0_2_5_4" = callPackage
-    ({ mkDerivation, aeson, base, binary, comonad, containers, hedgehog
-     , pretty-show, primitive, semirings, silently, transformers, vector
-     , wl-pprint-annotated
-     }:
-     mkDerivation {
-       pname = "hedgehog-classes";
        version = "0.2.5.4";
        sha256 = "0z9ik5asddc2pnz430jsi1pyahkh6jy36ng0vwm7ywcq7cvhcvlz";
        libraryHaskellDepends = [
@@ -135164,7 +134655,6 @@ self: {
        ];
        description = "Hedgehog will eat your typeclass bugs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hedgehog-corpus" = callPackage
@@ -136226,8 +135716,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-agent";
-       version = "0.9.9";
-       sha256 = "1havsghzsbicixb8cya0v1694l7r9n2frnmy297ar3chblfj8hgl";
+       version = "0.9.10";
+       sha256 = "1sbp3jjn54z6hwkfgb83g0zgn1dm8qi9254g2yc8r4msm6n3nzww";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -136280,8 +135770,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api";
-       version = "0.7.2.0";
-       sha256 = "0z3j96il0rvzplxih4vq5dghp18plbk5k55ymwm7dxp51d0jg902";
+       version = "0.7.2.1";
+       sha256 = "1nkmiyfmidrfqvlfy9k75y4asrrbrs2511kdzhrpb3zlrlaw4zb8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136313,8 +135803,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-api-agent";
-       version = "0.4.6.0";
-       sha256 = "0bdmz7c4ln2bbss5wa4q8k9wha47knnp9d9n3w9kj8p7wzhc2kly";
+       version = "0.4.6.1";
+       sha256 = "07gvmcag36ai945j7bxnvy2x8fsx9apkabcikp6x1a2anvkgws24";
        libraryHaskellDepends = [
          aeson base base64-bytestring-type bytestring containers cookie
          deepseq exceptions hashable hercules-ci-api-core http-api-data
@@ -136362,17 +135852,17 @@ self: {
      , hercules-ci-api, hercules-ci-api-agent, hercules-ci-api-core
      , hercules-ci-cnix-expr, hercules-ci-cnix-store
      , hercules-ci-optparse-applicative, hostname, hspec, http-client
-     , http-client-tls, http-types, katip, lens, lens-aeson, lifted-base
-     , monad-control, network-uri, process, protolude, QuickCheck, retry
-     , rio, safe-exceptions, servant, servant-auth-client
-     , servant-client, servant-client-core, servant-conduit, temporary
-     , text, transformers, transformers-base, unix, unliftio
-     , unliftio-core, unordered-containers, uuid
+     , http-client-tls, http-types, inline-c-cpp, katip, lens
+     , lens-aeson, lifted-base, monad-control, network-uri, process
+     , protolude, QuickCheck, retry, rio, safe-exceptions, servant
+     , servant-auth-client, servant-client, servant-client-core
+     , servant-conduit, temporary, text, transformers, transformers-base
+     , unix, unliftio, unliftio-core, unordered-containers, uuid
      }:
      mkDerivation {
        pname = "hercules-ci-cli";
-       version = "0.3.4";
-       sha256 = "1n79ka1bn99vqa8i14f94zs4b78vl2pidx0h8nrdvg1xclqa5fka";
+       version = "0.3.5";
+       sha256 = "0mk6q6ccgpdpjfc7mdms28dbhh1bawy4jnnqcfcb6vxg4cj83f44";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136381,8 +135871,8 @@ self: {
          hercules-ci-agent hercules-ci-api hercules-ci-api-agent
          hercules-ci-api-core hercules-ci-cnix-expr hercules-ci-cnix-store
          hercules-ci-optparse-applicative hostname http-client
-         http-client-tls http-types katip lens lens-aeson lifted-base
-         monad-control network-uri process protolude retry rio
+         http-client-tls http-types inline-c-cpp katip lens lens-aeson
+         lifted-base monad-control network-uri process protolude retry rio
          safe-exceptions servant servant-auth-client servant-client
          servant-client-core servant-conduit temporary text transformers
          transformers-base unix unliftio unliftio-core unordered-containers
@@ -136411,8 +135901,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-cnix-expr";
-       version = "0.3.4.0";
-       sha256 = "1mszhnd2z0qy58x13w5nbw3ymqvd8vf0d4kh3bprrjlbll0rxmgn";
+       version = "0.3.5.0";
+       sha256 = "0r70kjn8a1wiw1zndahrg2gc88k52dscm4yjmms2caf22pkh562a";
        enableSeparateDataOutput = true;
        setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ];
        libraryHaskellDepends = [
@@ -136441,8 +135931,8 @@ self: {
      }:
      mkDerivation {
        pname = "hercules-ci-cnix-store";
-       version = "0.3.3.2";
-       sha256 = "11z6k9r8z2bvf0wly6b0fr0s3svbrf1rgz0v2in33jq6739lci92";
+       version = "0.3.3.3";
+       sha256 = "1w4azya8phkk3gmkifcv2pc6jh8zanwk9m2vwqsdgk7kr8zkkzws";
        setupHaskellDepends = [ base Cabal cabal-pkg-config-version-hook ];
        libraryHaskellDepends = [
          base bytestring conduit containers inline-c inline-c-cpp protolude
@@ -136876,9 +136366,9 @@ self: {
     ({ mkDerivation, abstract-par, aeson, ansi-wl-pprint, array, async
      , base, base16-bytestring, binary, brick, bytestring, cereal
      , containers, cryptonite, data-dword, Decimal, deepseq, directory
-     , fgl, filepath, free, haskeline, here, HUnit, lens, lens-aeson
-     , libff, megaparsec, memory, monad-par, mtl, multiset, operational
-     , optparse-generic, parsec, process, QuickCheck
+     , fgl, filemanip, filepath, free, haskeline, here, HUnit, lens
+     , lens-aeson, libff, megaparsec, memory, monad-par, mtl, multiset
+     , operational, optparse-generic, parsec, process, QuickCheck
      , quickcheck-instances, quickcheck-text, regex, regex-tdfa
      , restless-git, rosezipper, s-cargot, scientific, secp256k1
      , semver-range, smt2-parser, spool, tasty, tasty-expected-failure
@@ -136888,22 +136378,21 @@ self: {
      }:
      mkDerivation {
        pname = "hevm";
-       version = "0.50.0";
-       sha256 = "0wdp7vl1aq79k8sw7n4mf6wv184as0pmprdffzklzkcskvs9yjmb";
+       version = "0.50.1";
+       sha256 = "07s6p22j8cagwyni8f362c0z9cmd7l0xhh6cm0xv1g7kphnla2qp";
        isLibrary = true;
        isExecutable = true;
-       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          abstract-par aeson ansi-wl-pprint array async base
          base16-bytestring binary brick bytestring cereal containers
-         cryptonite data-dword Decimal deepseq directory fgl filepath free
-         haskeline here HUnit lens lens-aeson megaparsec memory monad-par
-         mtl multiset operational optparse-generic parsec process QuickCheck
-         quickcheck-instances quickcheck-text regex regex-tdfa restless-git
-         rosezipper s-cargot scientific semver-range smt2-parser spool tasty
-         tasty-expected-failure tasty-hunit tasty-quickcheck temporary text
-         time transformers tree-view tuple unordered-containers vector vty
-         witherable word-wrap wreq
+         cryptonite data-dword Decimal deepseq directory fgl filemanip
+         filepath free haskeline here HUnit lens lens-aeson megaparsec
+         memory monad-par mtl multiset operational optparse-generic parsec
+         process QuickCheck quickcheck-instances quickcheck-text regex
+         regex-tdfa restless-git rosezipper s-cargot scientific semver-range
+         smt2-parser spool tasty tasty-expected-failure tasty-hunit
+         tasty-quickcheck temporary text time transformers tree-view tuple
+         unordered-containers vector vty witherable word-wrap wreq
        ];
        librarySystemDepends = [ libff secp256k1 ];
        executableHaskellDepends = [
@@ -136914,20 +136403,18 @@ self: {
          temporary text unordered-containers vector vty
        ];
        testHaskellDepends = [
-         array base base16-bytestring binary bytestring containers
-         data-dword directory here HUnit lens mtl process QuickCheck
-         quickcheck-instances regex regex-tdfa smt2-parser tasty
+         aeson array base base16-bytestring binary bytestring containers
+         data-dword directory filemanip filepath here HUnit lens mtl process
+         QuickCheck quickcheck-instances regex regex-tdfa smt2-parser tasty
          tasty-expected-failure tasty-hunit tasty-quickcheck temporary text
-         time vector
+         time vector witherable
        ];
        testSystemDepends = [ secp256k1 ];
        doHaddock = false;
        description = "Ethereum virtual machine evaluator";
        license = lib.licenses.agpl3Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hevm";
        maintainers = [ lib.maintainers.arturcygan ];
-       broken = true;
      }) {inherit (pkgs) libff; inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
@@ -141252,6 +140739,8 @@ self: {
        ];
        description = "Call hierarchy plugin for Haskell Language Server";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hls-change-type-signature-plugin" = callPackage
@@ -144406,8 +143895,8 @@ self: {
      }:
      mkDerivation {
        pname = "horizon-gen-nix";
-       version = "0.3.1.0";
-       sha256 = "1by0813yzhnzl188b7sdcy682arprhgahnivpqxkm1pfk2im92i9";
+       version = "0.4.0";
+       sha256 = "0s0macrn45wh1y7nflw9y73wxsynvym7n12f9n0yhxi8w3j7wzn2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -144841,7 +144330,7 @@ self: {
        mainProgram = "hp2pretty";
      }) {};
 
-  "hpack" = callPackage
+  "hpack_0_35_0" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
      , hspec-discover, http-client, http-client-tls, http-types, HUnit
@@ -144879,10 +144368,11 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A modern format for Haskell packages";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "hpack";
      }) {};
 
-  "hpack_0_35_1" = callPackage
+  "hpack" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
      , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
      , hspec-discover, http-client, http-client-tls, http-types, HUnit
@@ -144918,7 +144408,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A modern format for Haskell packages";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hpack";
      }) {};
 
@@ -155413,33 +154902,6 @@ self: {
      }:
      mkDerivation {
        pname = "hw-json-simd";
-       version = "0.1.1.1";
-       sha256 = "0nn6fyvw0j2csn8anqpgjzdzdasiwa99g1v2qrcyym1wi86biqqb";
-       revision = "1";
-       editedCabalFile = "0cavymml55m8f1zyh8pby44xq67ckdqdy0wgib8i0xjq00hrp07m";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base bytestring hw-prim lens vector ];
-       libraryToolDepends = [ c2hs ];
-       executableHaskellDepends = [
-         base bytestring hw-prim lens optparse-applicative vector
-       ];
-       testHaskellDepends = [
-         base bytestring doctest doctest-discover hw-prim lens transformers
-         vector
-       ];
-       testToolDepends = [ doctest-discover ];
-       description = "SIMD-based JSON semi-indexer";
-       license = lib.licenses.bsd3;
-       mainProgram = "hw-json-simd";
-     }) {};
-
-  "hw-json-simd_0_1_1_2" = callPackage
-    ({ mkDerivation, base, bytestring, c2hs, doctest, doctest-discover
-     , hw-prim, lens, optparse-applicative, transformers, vector
-     }:
-     mkDerivation {
-       pname = "hw-json-simd";
        version = "0.1.1.2";
        sha256 = "03g2gwmkp6v7b0vf4x8bh4qk91ghr0av5x3c9paj3rp3igycccd6";
        isLibrary = true;
@@ -155456,7 +154918,6 @@ self: {
        testToolDepends = [ doctest-discover ];
        description = "SIMD-based JSON semi-indexer";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "hw-json-simd";
      }) {};
 
@@ -155882,40 +155343,6 @@ self: {
      }:
      mkDerivation {
        pname = "hw-simd";
-       version = "0.1.2.1";
-       sha256 = "051dbwi4kvv04dnglcx9666g097fy9rw8kmgbcw5y9cs06mbw9cr";
-       revision = "2";
-       editedCabalFile = "10ns52d5xzry7bkaaggv5sgry44fxl9jpyx48iafyfpcn3h8439k";
-       libraryHaskellDepends = [
-         base bits-extra bytestring deepseq hw-bits hw-prim hw-rankselect
-         hw-rankselect-base transformers vector
-       ];
-       libraryToolDepends = [ c2hs ];
-       testHaskellDepends = [
-         base bits-extra bytestring deepseq directory doctest
-         doctest-discover hedgehog hspec hw-bits hw-hedgehog
-         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base lens
-         text vector
-       ];
-       testToolDepends = [ doctest-discover hspec-discover ];
-       benchmarkHaskellDepends = [
-         base bits-extra bytestring cassava containers criterion deepseq
-         directory hw-bits hw-prim hw-rankselect hw-rankselect-base mmap
-         transformers vector
-       ];
-       description = "SIMD library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hw-simd_0_1_2_2" = callPackage
-    ({ mkDerivation, base, bits-extra, bytestring, c2hs, cassava
-     , containers, criterion, deepseq, directory, doctest
-     , doctest-discover, hedgehog, hspec, hspec-discover, hw-bits
-     , hw-hedgehog, hw-hspec-hedgehog, hw-prim, hw-rankselect
-     , hw-rankselect-base, lens, mmap, text, transformers, vector
-     }:
-     mkDerivation {
-       pname = "hw-simd";
        version = "0.1.2.2";
        sha256 = "0ipcrv19xwmq6znbmwmzrjahmymmcmpbs7hpx0183hrwbx2hyhqx";
        libraryHaskellDepends = [
@@ -155937,7 +155364,6 @@ self: {
        ];
        description = "SIMD library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hw-simd-cli" = callPackage
@@ -159791,8 +159217,8 @@ self: {
      }:
      mkDerivation {
        pname = "incipit";
-       version = "0.5.0.0";
-       sha256 = "137i92xfpchyvnrckb8876cxw514zxf53hbzqyyj6f4mipiq319j";
+       version = "0.7.0.0";
+       sha256 = "00ymmb2d5hlskc2zc88kibgx1c5mxp4bdfymahzhqg1qhyw3q9ci";
        libraryHaskellDepends = [
          base incipit-core polysemy-conc polysemy-log polysemy-resume
          polysemy-time
@@ -159808,8 +159234,8 @@ self: {
      }:
      mkDerivation {
        pname = "incipit-base";
-       version = "0.4.0.0";
-       sha256 = "08r934qii1hc7hb3xmk7mpw0srh82h2djxkh55gskm7wbaby15qi";
+       version = "0.5.0.0";
+       sha256 = "1h3mmabxb0c29cy349xkk87df4x0dxakfaryyr8r43wj2l39yhj0";
        libraryHaskellDepends = [
          base bytestring containers data-default stm text
        ];
@@ -159821,8 +159247,8 @@ self: {
     ({ mkDerivation, base, incipit-base, polysemy }:
      mkDerivation {
        pname = "incipit-core";
-       version = "0.4.0.0";
-       sha256 = "0nh1ivn74fcciwmvnqdr1h1vdhxxy3xjf2bzsdm1dpyylglcaspr";
+       version = "0.5.0.0";
+       sha256 = "17fbdp2v22fni36ijfm9hb9hkcarg4jy3xksngnhlzxqz77adcyj";
        libraryHaskellDepends = [ base incipit-base polysemy ];
        description = "A Prelude for Polysemy";
        license = "BSD-2-Clause-Patent";
@@ -165892,6 +165318,7 @@ self: {
        ];
        description = "OpenAPI Definitions for Jordan, Automatically";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jordan-servant" = callPackage
@@ -165961,6 +165388,7 @@ self: {
        ];
        description = "OpenAPI schemas for Jordan-Powered Servant APIs";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jordan-servant-server" = callPackage
@@ -184065,10 +183493,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzma-static";
-       version = "5.2.5.4";
-       sha256 = "0ql96kb7hg50d1flk36999p5p05bqs7rp7a59ys4q02423mq1z7b";
-       revision = "2";
-       editedCabalFile = "0dvqqjihfzkcqaahicga0cnimcwh197dpj8spqrk9mmicmqs5gcr";
+       version = "5.2.5.5";
+       sha256 = "1qq0lzyfpnjdl9mh8qrr5lhhby8gxzgi1a8wiwpf3vkrziz5hh23";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -186385,23 +185811,6 @@ self: {
   "massiv" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
      , primitive, random, scheduler, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "massiv";
-       version = "1.0.2.0";
-       sha256 = "15ckrsavsrkgm4c9al2jlk1r4nm2mdjshw1ksbkh8m65l3l5kcrr";
-       libraryHaskellDepends = [
-         base bytestring deepseq exceptions primitive random scheduler
-         unliftio-core vector
-       ];
-       testHaskellDepends = [ base doctest ];
-       description = "Massiv (Массив) is an Array Library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "massiv_1_0_3_0" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
-     , primitive, random, scheduler, unliftio-core, vector
      , vector-stream
      }:
      mkDerivation {
@@ -186415,7 +185824,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Massiv (Массив) is an Array Library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "massiv-io" = callPackage
@@ -189794,23 +189202,11 @@ self: {
     ({ mkDerivation, base, microlens }:
      mkDerivation {
        pname = "microlens-contra";
-       version = "0.1.0.2";
-       sha256 = "1ny9qhvd7rfzdkq4jdcgh4mfia856rsgpdhg8lprfprh6p7lhy5m";
-       libraryHaskellDepends = [ base microlens ];
-       description = "True folds and getters for microlens";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "microlens-contra_0_1_0_3" = callPackage
-    ({ mkDerivation, base, microlens }:
-     mkDerivation {
-       pname = "microlens-contra";
        version = "0.1.0.3";
        sha256 = "1jxm6shmvacbic6i6hask0kv89kramnk77pcxpv4gv4xydjsr88n";
        libraryHaskellDepends = [ base microlens ];
        description = "True folds and getters for microlens";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "microlens-each" = callPackage
@@ -189863,21 +189259,6 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-mtl";
-       version = "0.2.0.2";
-       sha256 = "0y1jli9379l8sgv5a4xl8v3qkz9fkp4qlfsywzdpywbnydl1d5v6";
-       libraryHaskellDepends = [
-         base microlens mtl transformers transformers-compat
-       ];
-       description = "microlens support for Reader/Writer/State from mtl";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "microlens-mtl_0_2_0_3" = callPackage
-    ({ mkDerivation, base, microlens, mtl, transformers
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "microlens-mtl";
        version = "0.2.0.3";
        sha256 = "1ilz0zyyk9f6h97gjsaqq65njfs23fk3wxhigvj4z0brf7rnlssd";
        libraryHaskellDepends = [
@@ -189885,7 +189266,6 @@ self: {
        ];
        description = "microlens support for Reader/Writer/State from mtl";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "microlens-platform" = callPackage
@@ -189944,25 +189324,6 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-th";
-       version = "0.4.3.10";
-       sha256 = "1dg2xhj85fy8q39m5dd94kjlabjyxgc0336vzkg0174l6l110l1c";
-       revision = "1";
-       editedCabalFile = "142wksvc854qmd665qd6mwzik8g02yzfpjk1fpxw4mlcns06y4m2";
-       libraryHaskellDepends = [
-         base containers microlens template-haskell th-abstraction
-         transformers
-       ];
-       testHaskellDepends = [ base microlens tagged ];
-       description = "Automatic generation of record lenses for microlens";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "microlens-th_0_4_3_11" = callPackage
-    ({ mkDerivation, base, containers, microlens, tagged
-     , template-haskell, th-abstraction, transformers
-     }:
-     mkDerivation {
-       pname = "microlens-th";
        version = "0.4.3.11";
        sha256 = "1vjjaclfxr0kvlpmj8zh7f6ci4n4b8vynqd67zszx42al7gal6pj";
        libraryHaskellDepends = [
@@ -189972,7 +189333,6 @@ self: {
        testHaskellDepends = [ base microlens tagged ];
        description = "Automatic generation of record lenses for microlens";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "micrologger" = callPackage
@@ -194588,28 +193948,12 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-extras";
-       version = "0.6.1";
-       sha256 = "1nj5rfax9lmr1pprvgdgq90am9mknx9iv7s84smv6qaw050356jf";
-       revision = "2";
-       editedCabalFile = "04zbzq7dbv0ddpc1dxrxn9jfyg1xj8sar6ngzhc0cji72cail503";
-       libraryHaskellDepends = [ base groups semigroupoids ];
-       benchmarkHaskellDepends = [ base criterion semigroups ];
-       description = "Various extra monoid-related definitions and utilities";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "monoid-extras_0_6_2" = callPackage
-    ({ mkDerivation, base, criterion, groups, semigroupoids, semigroups
-     }:
-     mkDerivation {
-       pname = "monoid-extras";
        version = "0.6.2";
        sha256 = "1qaxp0cf2cvzvfpk7x9mjz1zmlpjfzxij8v2n45w89s7bq9ckvlw";
        libraryHaskellDepends = [ base groups semigroupoids ];
        benchmarkHaskellDepends = [ base criterion semigroups ];
        description = "Various extra monoid-related definitions and utilities";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "monoid-map" = callPackage
@@ -194840,8 +194184,8 @@ self: {
      }:
      mkDerivation {
        pname = "monomer-hagrid";
-       version = "0.2.0.0";
-       sha256 = "160d4acqrrxhlbx85749vm02c01sz7lxp8gxnykv1f0f00bb8w67";
+       version = "0.2.0.1";
+       sha256 = "0vic013zr80wlm1gf33y8vlkpmrv6z52975dpa3ciypayd36hy2m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -197610,6 +196954,18 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "multicurryable" = callPackage
+    ({ mkDerivation, base, sop-core }:
+     mkDerivation {
+       pname = "multicurryable";
+       version = "0.1.0.0";
+       sha256 = "0p0wlz44scvkxzdhd059ivrhz4bsgbml26a8fm7jsav80cwbdfc4";
+       libraryHaskellDepends = [ base sop-core ];
+       testHaskellDepends = [ base sop-core ];
+       description = "Uncurry functions with multiple arguments";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "multifile" = callPackage
     ({ mkDerivation, base, directory, HaXml, optparse-applicative
      , pretty, process, transformers
@@ -199873,18 +199229,25 @@ self: {
      }) {};
 
   "named-text" = callPackage
-    ({ mkDerivation, base, deepseq, hashable, prettyprinter, sayable
-     , text
+    ({ mkDerivation, aeson, base, bytestring, deepseq, hashable, hspec
+     , parameterized-utils, prettyprinter, sayable, tasty, tasty-ant-xml
+     , tasty-checklist, tasty-hspec, text, unordered-containers
      }:
      mkDerivation {
        pname = "named-text";
-       version = "1.0.1.0";
-       sha256 = "05v79ry6rlrpfvf36nkzf6l4xm2kzgpdrvaivg878nxcrni1gr78";
+       version = "1.1.1.0";
+       sha256 = "1g3xb3pr6sxn3sk9h2jbqlj30vh4nxcc14d06dawmqfva8b1gfp5";
        libraryHaskellDepends = [
-         base deepseq hashable prettyprinter sayable text
+         aeson base deepseq hashable prettyprinter sayable text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring hspec parameterized-utils prettyprinter
+         sayable tasty tasty-ant-xml tasty-checklist tasty-hspec text
+         unordered-containers
        ];
        description = "A parameterized named text type and associated functionality";
        license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "namelist" = callPackage
@@ -202720,26 +202083,6 @@ self: {
      }:
      mkDerivation {
        pname = "network-uri";
-       version = "2.6.4.1";
-       sha256 = "111m485rx2kyqdymi1x6sl08hi6lp34q3f41yqcx99086swnv1ap";
-       libraryHaskellDepends = [
-         base deepseq parsec template-haskell th-compat
-       ];
-       testHaskellDepends = [
-         base HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ base criterion deepseq HUnit ];
-       description = "URI manipulation";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "network-uri_2_6_4_2" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, HUnit, parsec
-     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck
-     , template-haskell, th-compat
-     }:
-     mkDerivation {
-       pname = "network-uri";
        version = "2.6.4.2";
        sha256 = "0a3jg6aykwm1yw32nh137hi6r86w2640xwl1p18352bf29rqj64w";
        libraryHaskellDepends = [
@@ -202751,7 +202094,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion deepseq HUnit ];
        description = "URI manipulation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "network-uri-flag" = callPackage
@@ -206418,45 +205760,6 @@ self: {
      }:
      mkDerivation {
        pname = "nvim-hs";
-       version = "2.3.1.0";
-       sha256 = "1vgdvcvjyl7dxmvmcljb130gwp806769hks00fj1sqfi953lm9bf";
-       libraryHaskellDepends = [
-         base bytestring cereal cereal-conduit conduit containers
-         data-default deepseq foreign-store hslogger megaparsec messagepack
-         mtl network optparse-applicative path path-io prettyprinter
-         prettyprinter-ansi-terminal resourcet stm streaming-commons
-         template-haskell template-haskell-compat-v0208 text time
-         time-locale-compat transformers transformers-base typed-process
-         unliftio unliftio-core utf8-string vector void
-       ];
-       testHaskellDepends = [
-         base bytestring cereal cereal-conduit conduit containers
-         data-default foreign-store hslogger hspec hspec-discover HUnit
-         megaparsec messagepack mtl network optparse-applicative path
-         path-io prettyprinter prettyprinter-ansi-terminal QuickCheck
-         resourcet stm streaming-commons template-haskell
-         template-haskell-compat-v0208 text time time-locale-compat
-         transformers transformers-base typed-process unliftio unliftio-core
-         utf8-string vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Haskell plugin backend for neovim";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "nvim-hs_2_3_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit
-     , containers, data-default, deepseq, foreign-store, hslogger, hspec
-     , hspec-discover, HUnit, megaparsec, messagepack, mtl, network
-     , optparse-applicative, path, path-io, prettyprinter
-     , prettyprinter-ansi-terminal, QuickCheck, resourcet, stm
-     , streaming-commons, template-haskell
-     , template-haskell-compat-v0208, text, time, time-locale-compat
-     , transformers, transformers-base, typed-process, unliftio
-     , unliftio-core, utf8-string, vector, void
-     }:
-     mkDerivation {
-       pname = "nvim-hs";
        version = "2.3.2.0";
        sha256 = "1szvh65sbxk81321ml0b1iib5ziiks2l8liwkgs4z47pmb14cps9";
        libraryHaskellDepends = [
@@ -206481,7 +205784,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell plugin backend for neovim";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nvim-hs-contrib" = callPackage
@@ -206514,31 +205816,6 @@ self: {
      }:
      mkDerivation {
        pname = "nvim-hs-ghcid";
-       version = "2.0.0.0";
-       sha256 = "0i9wc6mgxxzymw1smjvin70i4ynqsn2k3ig36pxmbb6qd0ci0hwg";
-       revision = "1";
-       editedCabalFile = "0na6lv57jdrpq1zkp3dhlpzh0wrr9632h7izw7jf8622x51qlh4r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring containers directory filepath ghcid nvim-hs
-         nvim-hs-contrib resourcet transformers unliftio yaml
-       ];
-       executableHaskellDepends = [ base nvim-hs ];
-       description = "Neovim plugin that runs ghcid to update the quickfix list";
-       license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       mainProgram = "nvim-hs-ghcid";
-       broken = true;
-     }) {};
-
-  "nvim-hs-ghcid_2_0_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , ghcid, nvim-hs, nvim-hs-contrib, resourcet, transformers
-     , unliftio, yaml
-     }:
-     mkDerivation {
-       pname = "nvim-hs-ghcid";
        version = "2.0.1.0";
        sha256 = "0vx1hj5x6xzxy305qm7ax74b85440hl7wbr39501xz1yanvz5i1i";
        isLibrary = true;
@@ -208814,44 +208091,6 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
      , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
      , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
-     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
-     , optics-th, QuickCheck, quickcheck-instances, scientific
-     , template-haskell, text, time, transformers, unordered-containers
-     , utf8-string, uuid-types, vector
-     }:
-     mkDerivation {
-       pname = "openapi3";
-       version = "3.2.2";
-       sha256 = "0d31ilv2ivwswzbpfibqwnld8697vk63wyr6yl80brjx60g4jp9j";
-       revision = "2";
-       editedCabalFile = "1yc3wlc8j84glav3hzx1l4yq33k05bll252a8yl6ld275jjswn8p";
-       isLibrary = true;
-       isExecutable = true;
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat-batteries bytestring containers
-         cookie generics-sop hashable http-media insert-ordered-containers
-         lens mtl network optics-core optics-th QuickCheck scientific
-         template-haskell text time transformers unordered-containers
-         uuid-types vector
-       ];
-       executableHaskellDepends = [ aeson base lens text ];
-       testHaskellDepends = [
-         aeson base base-compat-batteries bytestring containers doctest Glob
-         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
-         quickcheck-instances template-haskell text time
-         unordered-containers utf8-string vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "OpenAPI 3.0 data model";
-       license = lib.licenses.bsd3;
-       mainProgram = "example";
-     }) {};
-
-  "openapi3_3_2_3" = 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
      , HUnit, insert-ordered-containers, lens, mtl, optics-core
      , optics-th, QuickCheck, quickcheck-instances, scientific
      , template-haskell, text, time, transformers, unordered-containers
@@ -208883,6 +208122,7 @@ self: {
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        mainProgram = "example";
+       broken = true;
      }) {};
 
   "openapi3-code-generator" = callPackage
@@ -212910,17 +212150,17 @@ self: {
      }) {};
 
   "pandoc-stylefrommeta" = callPackage
-    ({ mkDerivation, base, bytestring, containers, extra, pandoc
-     , pandoc-types, text
+    ({ mkDerivation, base, bytestring, containers, pandoc, pandoc-types
+     , text
      }:
      mkDerivation {
        pname = "pandoc-stylefrommeta";
-       version = "0.2.3.0";
-       sha256 = "1145flz4jkn5knqkc5cppc1412m6hfzd13124k2kfm8dmw196k31";
+       version = "0.2.4.0";
+       sha256 = "0j25frcafcr0jvk3dfrmxan2q95920wy6jm0fahwf20f4jbanzfc";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring containers extra pandoc pandoc-types text
+         base bytestring containers pandoc pandoc-types text
        ];
        description = "Pandoc filter to customize links, images and paragraphs";
        license = lib.licenses.bsd3;
@@ -215022,10 +214262,8 @@ self: {
     ({ mkDerivation, base, hedgehog, partial-semigroup }:
      mkDerivation {
        pname = "partial-semigroup-hedgehog";
-       version = "0.6.0.12";
-       sha256 = "0razhgznrrzp23zdpl1z8056n2dp2azl42cnha2g0b5h04nipg4q";
-       revision = "1";
-       editedCabalFile = "13ba819c67d1j6a5rr5w2lss1drb3znjdkfv2y0fd5givda2ds5v";
+       version = "0.6.0.13";
+       sha256 = "117k12wgaypj7lkj9lqi7xhli9f33hsd455p87g9xxcwx32m0r53";
        libraryHaskellDepends = [ base hedgehog partial-semigroup ];
        description = "Property testing for partial semigroups using Hedgehog";
        license = lib.licenses.asl20;
@@ -223610,7 +222848,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "polysemy_1_8_0_0" = callPackage
+  "polysemy_1_9_0_0" = callPackage
     ({ mkDerivation, async, base, Cabal, cabal-doctest, containers
      , doctest, first-class-families, hspec, hspec-discover
      , inspection-testing, mtl, stm, syb, template-haskell
@@ -223618,8 +222856,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy";
-       version = "1.8.0.0";
-       sha256 = "1fyysldfnirhk8nfgiji248rc35c97r0hm4hk6j1n12ynhxcaiwb";
+       version = "1.9.0.0";
+       sha256 = "00qmsn0mr88y29my389ln6c5imcac73p7hisd102w4qlwikwj9ir";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          async base containers first-class-families mtl stm syb
@@ -223708,8 +222946,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-conc";
-       version = "0.11.1.0";
-       sha256 = "0kwfvwv4hzbm51sk78k1ka9i3f23jp9r8d0acs4gjnbbjfvv78wk";
+       version = "0.12.1.0";
+       sha256 = "0js5hl84nfmb2i5si67wrf9d0i69piaj44v3sbia6yncq85fj7vn";
        libraryHaskellDepends = [
          async base containers incipit-core polysemy polysemy-resume
          polysemy-time stm stm-chans torsor unagi-chan unix
@@ -223777,8 +223015,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-http";
-       version = "0.9.0.0";
-       sha256 = "13d5ydyaq6jjinq8h8slxj0iw6bfpg7cdv0lj0kl8kpvikr6livg";
+       version = "0.10.0.0";
+       sha256 = "1j0a0gmlr1cd6mwa8y4f6dq3zf4asmgj4v4cdriiw0k1cxi81l9c";
        libraryHaskellDepends = [
          aeson base case-insensitive exon http-client http-client-tls
          http-types polysemy polysemy-plugin prelate time
@@ -223853,8 +223091,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log";
-       version = "0.8.0.0";
-       sha256 = "0zvlx1y852c1jyaw3lcxps8yb6qk56i8drnfbqvdpss3hb6jhii7";
+       version = "0.9.0.0";
+       sha256 = "1sgmgbh7gkyhp7rmdx2rj6dibwhi6z2qzg4cbnjsx8asz6xa188h";
        libraryHaskellDepends = [
          ansi-terminal async base incipit-core polysemy polysemy-conc
          polysemy-time stm time
@@ -223878,8 +223116,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log-co";
-       version = "0.8.0.0";
-       sha256 = "09r4aqkwfjnwnlym97mfasghb3c9jq9vlmqlycz0kgsid8hdjh52";
+       version = "0.9.0.0";
+       sha256 = "18z75dbbqf18ff3dc641svm93fvrdaxzplbaicdy7y3dz3y7apmv";
        libraryHaskellDepends = [
          base co-log co-log-concurrent co-log-polysemy incipit-core polysemy
          polysemy-conc polysemy-log polysemy-time stm
@@ -223900,8 +223138,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-log-di";
-       version = "0.8.0.0";
-       sha256 = "1gmwrmnw4675y8hzywazjcafd0hkfal7rxpcycz4dpvzsqznrcrz";
+       version = "0.9.0.0";
+       sha256 = "0zwcv6b0m5phwiy0c1z3wfnbw0976qg744dpb6k66wdr3yvpl05f";
        libraryHaskellDepends = [
          base di-polysemy incipit-core polysemy polysemy-conc polysemy-log
          polysemy-time stm
@@ -223993,8 +223231,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-mocks";
-       version = "0.3.0.0";
-       sha256 = "03yq5pyrg2rhykyhvp3f8b816r9j035xr5d9d1cls73zh9pbbh7z";
+       version = "0.3.1.0";
+       sha256 = "08dsx682fvx7ywiixxjaa5b05r3s97anl893nlfc3vy6qynaqkns";
        libraryHaskellDepends = [ base polysemy template-haskell ];
        testHaskellDepends = [ base hspec polysemy ];
        testToolDepends = [ hspec-discover ];
@@ -224038,29 +223276,6 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-plugin";
-       version = "0.4.3.1";
-       sha256 = "02s9hb0y4fgvmlkg7izwq24hrgb92h1jd7v0gjzayjn6la8xmf6r";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         base containers ghc ghc-tcplugins-extra polysemy syb transformers
-       ];
-       testHaskellDepends = [
-         base containers doctest ghc ghc-tcplugins-extra hspec
-         inspection-testing polysemy should-not-typecheck syb transformers
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Disambiguate obvious uses of effects";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "polysemy-plugin_0_4_4_0" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, containers, doctest
-     , ghc, ghc-tcplugins-extra, hspec, hspec-discover
-     , inspection-testing, polysemy, should-not-typecheck, syb
-     , transformers
-     }:
-     mkDerivation {
-       pname = "polysemy-plugin";
        version = "0.4.4.0";
        sha256 = "1kp7d4m007mlk4pl2p8933b5yzzb8gl30g1vfbbz01vm3pgjcj3d";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -224075,7 +223290,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Disambiguate obvious uses of effects";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "polysemy-process" = callPackage
@@ -224086,8 +223300,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-process";
-       version = "0.11.1.0";
-       sha256 = "09bzjdnj15bv0fnvs99f6x71yqmy0lbsnxbr4w3mxn4yp73sppc1";
+       version = "0.12.1.0";
+       sha256 = "0009h21pwfkwfyb5qk6v9gw5gh2ksap3xbcbny2icn88dhqs42k6";
        libraryHaskellDepends = [
          base incipit-core path path-io polysemy polysemy-conc
          polysemy-resume polysemy-time posix-pty process stm-chans
@@ -224150,8 +223364,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-resume";
-       version = "0.6.0.0";
-       sha256 = "1m6rw8h1glvzic2zhnksiag377zqyf771ypqks59yksmw11hvsyv";
+       version = "0.7.0.0";
+       sha256 = "0f2hlccg7qpx9dd1k73ni59yl447m3v2s6r8h9n2k1klxc21jr07";
        libraryHaskellDepends = [
          base incipit-core polysemy transformers
        ];
@@ -227367,8 +226581,8 @@ self: {
      }:
      mkDerivation {
        pname = "prelate";
-       version = "0.3.0.0";
-       sha256 = "13qrk305k5mgpkhjhk92zs0rp3y68k7rhj5d3cqj785bvyvpz3wh";
+       version = "0.4.0.0";
+       sha256 = "0bil1d1daw6a37zi0fddf3mja3ab12rcsldi879qcipbjc7bh4bz";
        libraryHaskellDepends = [
          aeson base exon extra generic-lens incipit microlens microlens-ghc
          polysemy-chronos polysemy-conc polysemy-log polysemy-process
@@ -234216,6 +233430,33 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "quickcheck-monoid-subclasses" = callPackage
+    ({ mkDerivation, base, bytestring, commutative-semigroups
+     , containers, hspec, hspec-discover, monoid-subclasses, pretty-show
+     , QuickCheck, quickcheck-classes, quickcheck-instances
+     , semigroupoids, text, vector
+     }:
+     mkDerivation {
+       pname = "quickcheck-monoid-subclasses";
+       version = "0.0.0.1";
+       sha256 = "1x1jza5s1v89ik0h5m3kla5qwgh05j5dbd7f2m2miwyy1b75bqly";
+       libraryHaskellDepends = [
+         base containers monoid-subclasses pretty-show QuickCheck
+         quickcheck-classes quickcheck-instances semigroupoids
+       ];
+       testHaskellDepends = [
+         base bytestring commutative-semigroups containers hspec
+         monoid-subclasses QuickCheck quickcheck-classes
+         quickcheck-instances text vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       doHaddock = false;
+       description = "Testing monoid subclass instances with QuickCheck";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "quickcheck-poly" = callPackage
     ({ mkDerivation, base, haskell98, hint, MonadCatchIO-mtl
      , QuickCheck, regex-compat, regex-tdfa
@@ -238490,25 +237731,6 @@ self: {
      }:
      mkDerivation {
        pname = "recursion-schemes";
-       version = "5.2.2.2";
-       sha256 = "018l7j9pk8izi817vqyrakrkjsxr332jh24d6j0yl35i5wm4khv6";
-       revision = "1";
-       editedCabalFile = "1l6wbzx8804pb6p8gvk45hal6sz8r1gvyxb8aa9ih6j8pqv4q04c";
-       libraryHaskellDepends = [
-         base base-orphans comonad containers data-fix free template-haskell
-         th-abstraction transformers
-       ];
-       testHaskellDepends = [ base HUnit template-haskell transformers ];
-       description = "Representing common recursion patterns as higher-order functions";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "recursion-schemes_5_2_2_3" = callPackage
-    ({ mkDerivation, base, base-orphans, comonad, containers, data-fix
-     , free, HUnit, template-haskell, th-abstraction, transformers
-     }:
-     mkDerivation {
-       pname = "recursion-schemes";
        version = "5.2.2.3";
        sha256 = "04233y5qw7vm0kyh4h44zpfk2zsd6kz9081ngvi098y0xiphrwm9";
        libraryHaskellDepends = [
@@ -238518,7 +237740,6 @@ self: {
        testHaskellDepends = [ base HUnit template-haskell transformers ];
        description = "Representing common recursion patterns as higher-order functions";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "recursion-schemes-ext" = callPackage
@@ -242411,6 +241632,7 @@ self: {
        ];
        description = "Perform fft with repa via FFTW";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "repa-flow" = callPackage
@@ -245196,6 +244418,7 @@ self: {
        ];
        description = "A library for process pools coupled with asynchronous message queues";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "rio-process-pool-memleak-test";
      }) {};
 
@@ -245763,6 +244986,26 @@ self: {
        broken = true;
      }) {};
 
+  "roc-id_0_2_0_0" = callPackage
+    ({ mkDerivation, base, hspec, MonadRandom, Only, QuickCheck, text
+     , vector-sized
+     }:
+     mkDerivation {
+       pname = "roc-id";
+       version = "0.2.0.0";
+       sha256 = "1gng9rw9z9zmrkk68q8zf95w3d05yaglk2hp17jvnaw8qxfs3mvp";
+       libraryHaskellDepends = [
+         base MonadRandom Only text vector-sized
+       ];
+       testHaskellDepends = [
+         base hspec MonadRandom Only QuickCheck text vector-sized
+       ];
+       description = "Implementation of the ROC (Taiwan) National ID standard";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "rock" = callPackage
     ({ mkDerivation, base, constraints, constraints-extras
      , dependent-hashmap, dependent-sum, deriving-compat, hashable
@@ -255201,36 +254444,6 @@ self: {
      }:
      mkDerivation {
        pname = "servant-openapi3";
-       version = "2.0.1.5";
-       sha256 = "0zcyqga4hbdyk34368108vv9vavzdhv26xphas7yppada2sshfay";
-       revision = "3";
-       editedCabalFile = "0xvs5a9zsg32iziznvvjhfji577xmza419xk0cy1hwamw17f43mi";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
-       libraryHaskellDepends = [
-         aeson aeson-pretty base base-compat bytestring hspec http-media
-         insert-ordered-containers lens openapi3 QuickCheck servant
-         singleton-bool text unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base base-compat directory doctest filepath hspec lens
-         lens-aeson openapi3 QuickCheck servant template-haskell text time
-         utf8-string vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Generate a Swagger/OpenAPI/OAS 3.0 specification for your servant API.";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-openapi3_2_0_1_6" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
-     , Cabal, cabal-doctest, directory, doctest, filepath, hspec
-     , hspec-discover, http-media, insert-ordered-containers, lens
-     , lens-aeson, openapi3, QuickCheck, servant, singleton-bool
-     , template-haskell, text, time, unordered-containers, utf8-string
-     , vector
-     }:
-     mkDerivation {
-       pname = "servant-openapi3";
        version = "2.0.1.6";
        sha256 = "1hxz3n6l5l8p9s58sjilrn4lv1z17kfik0xdh05v5v1bzf0j2aij";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -256308,6 +255521,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Servant servers utilities";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "servant-util-examples";
      }) {};
 
@@ -256339,6 +255553,7 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Implementation of servant-util primitives for beam-postgres";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "servant-util-beam-pg-examples";
      }) {};
 
@@ -261980,30 +261195,6 @@ self: {
   "skylighting" = callPackage
     ({ mkDerivation, base, binary, blaze-html, bytestring, containers
      , pretty-show, skylighting-core, skylighting-format-ansi
-     , skylighting-format-blaze-html, skylighting-format-latex, text
-     }:
-     mkDerivation {
-       pname = "skylighting";
-       version = "0.13.1.2";
-       sha256 = "05m11hd6xr4kh6jgdj4mgwa7nbrj29jzca76pjpm0mjiqv3ah3av";
-       configureFlags = [ "-fexecutable" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary containers skylighting-core skylighting-format-ansi
-         skylighting-format-blaze-html skylighting-format-latex
-       ];
-       executableHaskellDepends = [
-         base blaze-html bytestring containers pretty-show text
-       ];
-       description = "syntax highlighting library";
-       license = lib.licenses.gpl2Only;
-       mainProgram = "skylighting";
-     }) {};
-
-  "skylighting_0_13_2" = callPackage
-    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
-     , pretty-show, skylighting-core, skylighting-format-ansi
      , skylighting-format-blaze-html, skylighting-format-context
      , skylighting-format-latex, text
      }:
@@ -262024,7 +261215,6 @@ self: {
        ];
        description = "syntax highlighting library";
        license = lib.licenses.gpl2Only;
-       hydraPlatforms = lib.platforms.none;
        mainProgram = "skylighting";
      }) {};
 
@@ -262037,36 +261227,6 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.13.1.2";
-       sha256 = "0081zihpiq4w99x4s5bhf0r2j627dzmlnmpca5rq16mqvhz22mmz";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring binary bytestring
-         case-insensitive colour containers directory filepath mtl safe text
-         transformers utf8-string xml-conduit
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers Diff directory filepath
-         pretty-show QuickCheck tasty tasty-golden tasty-hunit
-         tasty-quickcheck text
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion filepath text
-       ];
-       description = "syntax highlighting library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "skylighting-core_0_13_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
-     , bytestring, case-insensitive, colour, containers, criterion, Diff
-     , directory, filepath, mtl, pretty-show, QuickCheck, safe, tasty
-     , tasty-golden, tasty-hunit, tasty-quickcheck, text, transformers
-     , utf8-string, xml-conduit
-     }:
-     mkDerivation {
-       pname = "skylighting-core";
        version = "0.13.2";
        sha256 = "0iwzfgynj3l8rnvvrl4kg0i1n31rz15da8cf1943gw1vcfh6w585";
        isLibrary = true;
@@ -262086,7 +261246,6 @@ self: {
        ];
        description = "syntax highlighting library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "skylighting-extensions" = callPackage
@@ -265259,6 +264418,8 @@ self: {
        ];
        description = "A checksummed variation on Twitter's Snowflake UID generation algorithm";
        license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "snowflake" = callPackage
@@ -265876,27 +265037,12 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "some";
-       version = "1.0.3";
-       sha256 = "0w3syapwz9v916zf1i4f8vxymdfg7syc2cpxgnqr018pbswzxrk2";
-       revision = "2";
-       editedCabalFile = "1w3snkgqhrgi2x2bdny9i7a9ybmal3asrh6g6kg8v86kq1gyr34k";
-       libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [ base ];
-       description = "Existential type: Some";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "some_1_0_4_1" = callPackage
-    ({ mkDerivation, base, deepseq }:
-     mkDerivation {
-       pname = "some";
        version = "1.0.4.1";
        sha256 = "1qy840b2f58f0jxmw4q9sfgbx64kypzdlqnwc72md5wwv84b9b1d";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base ];
        description = "Existential type: Some";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "some-dict-of" = callPackage
@@ -271030,6 +270176,7 @@ self: {
        testHaskellDepends = [ base hspec mtl stm stm-queue ];
        description = "A simplistic actor model based on STM";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "stm-channelize" = callPackage
@@ -271269,6 +270416,8 @@ self: {
        ];
        description = "An implementation of a real-time concurrent queue";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "stm-queue-extras" = callPackage
@@ -271694,6 +270843,8 @@ self: {
        pname = "store-core";
        version = "0.4.4.4";
        sha256 = "0h21wp51phbwk9ajblqaqzx1hk9c58gkihmycjn0hj299kxly80y";
+       revision = "1";
+       editedCabalFile = "04jv0y5k9iscw8ac72rbycmcscadnjsv2rjgwj6x0r2bymvdq00g";
        libraryHaskellDepends = [
          base bytestring ghc-prim primitive text transformers
        ];
@@ -273333,36 +272484,6 @@ self: {
      }:
      mkDerivation {
        pname = "string-interpolate";
-       version = "0.3.1.2";
-       sha256 = "0gmph9mikqq8hch9wjyyx6dxfxwhmdfrwsrxkvbk7i24lvi19hhp";
-       revision = "1";
-       editedCabalFile = "1nrpng7r59a25z4qns8vy26rvp1wgn5f4bs8ism40q66ags8f2ad";
-       libraryHaskellDepends = [
-         base bytestring haskell-src-exts haskell-src-meta split
-         template-haskell text text-conversions utf8-string
-       ];
-       testHaskellDepends = [
-         base bytestring hspec hspec-core QuickCheck quickcheck-instances
-         quickcheck-text quickcheck-unicode template-haskell text
-         unordered-containers
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion deepseq formatting interpolate
-         neat-interpolation QuickCheck text
-       ];
-       description = "Haskell string/text/bytestring interpolation that just works";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "string-interpolate_0_3_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deepseq, formatting
-     , haskell-src-exts, haskell-src-meta, hspec, hspec-core
-     , interpolate, neat-interpolation, QuickCheck, quickcheck-instances
-     , quickcheck-text, quickcheck-unicode, split, template-haskell
-     , text, text-conversions, unordered-containers, utf8-string
-     }:
-     mkDerivation {
-       pname = "string-interpolate";
        version = "0.3.2.0";
        sha256 = "1sdd472rvykrqkv76745vavpycvb0dzcaxs3yw9dfczaxaz16xws";
        libraryHaskellDepends = [
@@ -273380,7 +272501,6 @@ self: {
        ];
        description = "Haskell string/text/bytestring interpolation that just works";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "string-interpreter" = callPackage
@@ -279680,23 +278800,6 @@ self: {
      }) {};
 
   "tasty" = callPackage
-    ({ mkDerivation, ansi-terminal, base, clock, containers
-     , optparse-applicative, stm, tagged, transformers, unbounded-delays
-     , unix, wcwidth
-     }:
-     mkDerivation {
-       pname = "tasty";
-       version = "1.4.2.3";
-       sha256 = "1inhrayiqhd3k14b9cnjcv5kdxb95sgk8b0ibbf37z4dlalsf569";
-       libraryHaskellDepends = [
-         ansi-terminal base clock containers optparse-applicative stm tagged
-         transformers unbounded-delays unix wcwidth
-       ];
-       description = "Modern and extensible testing framework";
-       license = lib.licenses.mit;
-     }) {};
-
-  "tasty_1_4_3" = callPackage
     ({ mkDerivation, ansi-terminal, base, containers
      , optparse-applicative, stm, tagged, transformers, unix
      }:
@@ -279710,7 +278813,6 @@ self: {
        ];
        description = "Modern and extensible testing framework";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "tasty-ant-xml" = callPackage
@@ -281309,32 +280411,6 @@ self: {
      }:
      mkDerivation {
        pname = "telegram-bot-simple";
-       version = "0.6";
-       sha256 = "1f4nfh32v5l60p2bqifg5dl311p86lis51na7hri074w0p3kg6ki";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring cron filepath hashable
-         http-api-data http-client http-client-tls monad-control mtl
-         pretty-show profunctors servant servant-client
-         servant-multipart-api servant-multipart-client servant-server split
-         stm template-haskell text time transformers unordered-containers
-         warp warp-tls
-       ];
-       description = "Easy to use library for building Telegram bots";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "telegram-bot-simple_0_6_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cron
-     , filepath, hashable, http-api-data, http-client, http-client-tls
-     , monad-control, mtl, pretty-show, profunctors, servant
-     , servant-client, servant-multipart-api, servant-multipart-client
-     , servant-server, split, stm, template-haskell, text, time
-     , transformers, unordered-containers, warp, warp-tls
-     }:
-     mkDerivation {
-       pname = "telegram-bot-simple";
        version = "0.6.1";
        sha256 = "01rxkgzfvqxgnxlcw70rhs84ygvccydlki827f3icqwfpm7cn6vn";
        isLibrary = true;
@@ -281349,7 +280425,6 @@ self: {
        ];
        description = "Easy to use library for building Telegram bots";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "telegram-raw-api" = callPackage
@@ -283588,28 +282663,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-builder-dev";
-       version = "0.3.3";
-       sha256 = "0h88yxj0w7ycpmzxyxnxkrz05dmi902dv9v8mxlx7nrr8idxss74";
-       libraryHaskellDepends = [
-         base bytestring deferred-folds isomorphism-class split text
-         transformers
-       ];
-       testHaskellDepends = [
-         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
-         tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ criterion rerebase ];
-       description = "Edge of developments for \"text-builder\"";
-       license = lib.licenses.mit;
-     }) {};
-
-  "text-builder-dev_0_3_3_2" = callPackage
-    ({ mkDerivation, base, bytestring, criterion, deferred-folds
-     , isomorphism-class, QuickCheck, quickcheck-instances, rerebase
-     , split, tasty, tasty-hunit, tasty-quickcheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "text-builder-dev";
        version = "0.3.3.2";
        sha256 = "1bsm4yl22mpzggcnh908ccw9mvg3prckydwxxqa4rfj4k8hy4x7m";
        libraryHaskellDepends = [
@@ -283623,7 +282676,6 @@ self: {
        benchmarkHaskellDepends = [ criterion rerebase ];
        description = "Edge of developments for \"text-builder\"";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "text-builder-linear" = callPackage
@@ -284282,7 +283334,7 @@ self: {
      }) {};
 
   "text-show-instances" = callPackage
-    ({ mkDerivation, base, base-compat-batteries, bifunctors, binary
+    ({ mkDerivation, aeson, base, base-compat, bifunctors, binary
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
      , haskeline, hpc, hspec, hspec-discover, old-locale, old-time
      , pretty, QuickCheck, quickcheck-instances, random, scientific
@@ -284292,17 +283344,17 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.9.2";
-       sha256 = "1j1mcmw9l7hfmvhmv083bssc2w6zbvibaq3w4c7g7a2vxxcqwh3y";
+       version = "3.9.3";
+       sha256 = "153hfl8k0489ll71apq48s59ngv8ag1vyhhs6pp3fgxmdwwg2xpl";
        libraryHaskellDepends = [
-         base base-compat-batteries bifunctors binary containers directory
+         aeson base base-compat bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
          scientific semigroups tagged template-haskell terminfo text
-         text-short text-show time transformers transformers-compat unix
-         unordered-containers uuid-types vector xhtml
+         text-short text-show time transformers unix unordered-containers
+         uuid-types vector xhtml
        ];
        testHaskellDepends = [
-         base base-compat-batteries bifunctors binary containers directory
+         aeson base base-compat bifunctors binary containers directory
          generic-deriving ghc-boot-th ghc-prim haskeline hpc hspec
          old-locale old-time pretty QuickCheck quickcheck-instances random
          scientific tagged template-haskell terminfo text-short text-show
@@ -284314,7 +283366,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "text-show-instances_3_9_3" = callPackage
+  "text-show-instances_3_9_4" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bifunctors, binary
      , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
      , haskeline, hpc, hspec, hspec-discover, old-locale, old-time
@@ -284325,8 +283377,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.9.3";
-       sha256 = "153hfl8k0489ll71apq48s59ngv8ag1vyhhs6pp3fgxmdwwg2xpl";
+       version = "3.9.4";
+       sha256 = "154smhpc3l2h1iacdsywzirkv19w493yajhsiqg9pqmmiii7kwr5";
        libraryHaskellDepends = [
          aeson base base-compat bifunctors binary containers directory
          ghc-boot-th haskeline hpc old-locale old-time pretty random
@@ -291580,8 +290632,6 @@ self: {
        testHaskellDepends = [ base containers template-haskell time ];
        description = "Template Haskell hack to violate module abstractions";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "truelevel" = callPackage
@@ -297578,7 +296628,9 @@ self: {
        ];
        description = "Fast and robust message queues for concurrent processes";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
        mainProgram = "unliftio-messagebox-memleak-test";
+       broken = true;
      }) {};
 
   "unliftio-path" = callPackage
@@ -300298,8 +299350,8 @@ self: {
     ({ mkDerivation, base, stm }:
      mkDerivation {
        pname = "var-monad";
-       version = "0.2.0.0";
-       sha256 = "12l536ca32dhvylp3kizq664lsfysmc5r0hqzs50aqrbx8db40ji";
+       version = "0.2.0.1";
+       sha256 = "1k1v503ww56chlxy9a9vh3w5rh047l3q97si1bi3x1575b1sppm2";
        libraryHaskellDepends = [ base stm ];
        description = "The VarMonad typeclass, generalizing types of references";
        license = lib.licenses.asl20;
@@ -301118,22 +300170,6 @@ self: {
      }:
      mkDerivation {
        pname = "vector-extras";
-       version = "0.2.7.1";
-       sha256 = "1a8aak9v68qmrx719w782ww7accn7bk11gnca3d2lvbzw793dl4q";
-       libraryHaskellDepends = [
-         base containers deferred-folds foldl hashable unordered-containers
-         vector
-       ];
-       description = "Utilities for the \"vector\" library";
-       license = lib.licenses.mit;
-     }) {};
-
-  "vector-extras_0_2_8" = callPackage
-    ({ mkDerivation, base, containers, deferred-folds, foldl, hashable
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "vector-extras";
        version = "0.2.8";
        sha256 = "1xnz733p9p66693hb31fmq2cfsy2rwyw1b0915p7y5my1d8dxyzi";
        libraryHaskellDepends = [
@@ -301142,7 +300178,6 @@ self: {
        ];
        description = "Utilities for the \"vector\" library";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-fft" = callPackage
@@ -301332,6 +300367,8 @@ self: {
        pname = "vector-sized";
        version = "1.5.0";
        sha256 = "13h4qck1697iswd9f8w17fpjc6yhl2pgrvay7pb22j2h3mgaxpjl";
+       revision = "1";
+       editedCabalFile = "0y088b8fdhjrghi203n11ip4x2j4632c8rz6a5hx8azmdz2giiph";
        libraryHaskellDepends = [
          adjunctions base binary comonad deepseq distributive
          finite-typelits hashable indexed-list-literals primitive vector
@@ -302905,6 +301942,8 @@ self: {
        pname = "vty";
        version = "5.35.1";
        sha256 = "062dpz8fxrnggzpl041zpbph0xj56jki98ajm2s78dldg5vy0c9k";
+       revision = "1";
+       editedCabalFile = "1zqcvgqhcij92241g20zn3c3a4033biid3f3cqg05q1ygrmznxb5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -306795,6 +305834,7 @@ self: {
        ];
        description = "Composable, type-safe library to build HTTP API servers";
        license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "webgear-server" = callPackage
@@ -307785,27 +306825,6 @@ self: {
      }:
      mkDerivation {
        pname = "wide-word";
-       version = "0.1.3.0";
-       sha256 = "03g0v5zp3ra2z31vyjkhgd23s2dyaks640y2imkv649fcvvz33xj";
-       revision = "1";
-       editedCabalFile = "1y1w3ih92dni6bzp4w1hcwn96ahdrk34lmqrgkri2dcdkykwyqwb";
-       libraryHaskellDepends = [
-         base deepseq ghc-prim hashable primitive
-       ];
-       testHaskellDepends = [
-         base bytestring ghc-prim hedgehog primitive QuickCheck
-         quickcheck-classes semirings
-       ];
-       description = "Data types for large but fixed width signed and unsigned integers";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "wide-word_0_1_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, ghc-prim, hashable
-     , hedgehog, primitive, QuickCheck, quickcheck-classes, semirings
-     }:
-     mkDerivation {
-       pname = "wide-word";
        version = "0.1.4.0";
        sha256 = "1jajlkcbymf0jqmcbn46x3yxqxjslzdcnp1v582jjpa2glibsnf0";
        libraryHaskellDepends = [
@@ -307817,7 +306836,6 @@ self: {
        ];
        description = "Data types for large but fixed width signed and unsigned integers";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "wide-word-instances" = callPackage
diff --git a/pkgs/development/haskell-modules/patches/hevm-update-deps.patch b/pkgs/development/haskell-modules/patches/hevm-update-deps.patch
deleted file mode 100644
index e4a37fc0f4c2d..0000000000000
--- a/pkgs/development/haskell-modules/patches/hevm-update-deps.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-diff --git a/hevm.cabal b/hevm.cabal
-index cf36961e..3b31f595 100644
---- a/hevm.cabal
-+++ b/hevm.cabal
-@@ -71,6 +71,10 @@ library
-     -Wall -Wno-deprecations
-   extra-libraries:
-     secp256k1, ff
-+  if os(darwin)
-+     extra-libraries: c++
-+  else
-+     extra-libraries: stdc++
-   c-sources:
-     ethjet/tinykeccak.c, ethjet/ethjet.c
-   cxx-sources:
-@@ -88,7 +92,7 @@ library
-     transformers                      >= 0.5.6 && < 0.6,
-     tree-view                         >= 0.5 && < 0.6,
-     abstract-par                      >= 0.3.3 && < 0.4,
--    aeson                             >= 1.5.6 && < 1.6,
-+    aeson                             >= 2.0 && < 2.1,
-     bytestring                        >= 0.10.8 && < 0.11,
-     scientific                        >= 0.3.6 && < 0.4,
-     binary                            >= 0.8.6 && < 0.9,
-@@ -97,7 +101,7 @@ library
-     vector                            >= 0.12.1 && < 0.13,
-     ansi-wl-pprint                    >= 0.6.9 && < 0.7,
-     base16-bytestring                 >= 1.0.0 && < 2.0,
--    brick                             >= 0.58 && < 0.63,
-+    brick                             >= 0.58 && < 0.69,
-     megaparsec                        >= 9.0.0 && < 10.0,
-     mtl                               >= 2.2.2 && < 2.3,
-     directory                         >= 1.3.3 && < 1.4,
-@@ -105,13 +109,13 @@ library
-     vty                               >= 5.25.1 && < 5.34,
-     cereal                            >= 0.5.8 && < 0.6,
-     cryptonite                        >= 0.27 && <= 0.29,
--    memory                            >= 0.14.18 && < 0.16,
-+    memory                            >= 0.14.18 && < 0.20,
-     data-dword                        >= 0.3.1 && < 0.4,
-     fgl                               >= 5.7.0 && < 5.8,
-     free                              >= 5.1.3 && < 5.2,
-     haskeline                         >= 0.8.0 && < 0.9,
-     process                           >= 1.6.5 && < 1.7,
--    lens                              >= 4.17.1 && < 4.20,
-+    lens                              >= 4.17.1 && < 5.1,
-     lens-aeson                        >= 1.0.2 && < 1.2,
-     monad-par                         >= 0.3.5 && < 0.4,
-     multiset                          >= 0.3.4 && < 0.4,
-@@ -124,7 +128,6 @@ library
-     sbv                               >= 8.9,
-     semver-range                      >= 0.2.7 && < 0.3,
-     temporary                         >= 1.3 && < 1.4,
--    text-format                       >= 0.3.2 && < 0.4,
-     witherable                        >= 0.3.5 && < 0.5,
-     wreq                              >= 0.5.3 && < 0.6,
-     regex-tdfa                        >= 1.2.3 && < 1.4,
-@@ -190,7 +193,6 @@ executable hevm
-     sbv,
-     temporary,
-     text,
--    text-format,
-     unordered-containers,
-     vector,
-     vty
-diff --git a/src/EVM/Solidity.hs b/src/EVM/Solidity.hs
-index b7d0f36b..4e9d6892 100644
---- a/src/EVM/Solidity.hs
-+++ b/src/EVM/Solidity.hs
-@@ -70,6 +70,7 @@ import Control.Monad
- import Control.Lens         hiding (Indexed, (.=))
- import qualified Data.String.Here as Here
- import Data.Aeson hiding (json)
-+import qualified Data.Aeson.KeyMap as KeyMap
- import Data.Aeson.Types
- import Data.Aeson.Lens
- import Data.Scientific
-@@ -714,8 +715,8 @@ astIdMap = foldMap f
-     f :: Value -> Map Int Value
-     f (Array x) = foldMap f x
-     f v@(Object x) =
--      let t = foldMap f (HMap.elems x)
--      in case HMap.lookup "id" x of
-+      let t = foldMap f (KeyMap.elems x)
-+      in case KeyMap.lookup "id" x of
-         Nothing         -> t
-         Just (Number i) -> t <> Map.singleton (round i) v
-         Just _          -> t
-diff --git a/src/EVM/SymExec.hs b/src/EVM/SymExec.hs
-index 5bbf1c03..b828098e 100644
---- a/src/EVM/SymExec.hs
-+++ b/src/EVM/SymExec.hs
-@@ -40,8 +40,8 @@ type EquivalenceResult = ProofResult ([VM], [VM]) VM ()
-
- -- | Convenience functions for generating large symbolic byte strings
- sbytes32, sbytes128, sbytes256, sbytes512, sbytes1024 :: Query ([SWord 8])
--sbytes32 = toBytes <$> freshVar_ @ (WordN 256)
--sbytes128 = toBytes <$> freshVar_ @ (WordN 1024)
-+sbytes32 = toBytes <$> freshVar_ @(WordN 256)
-+sbytes128 = toBytes <$> freshVar_ @(WordN 1024)
- sbytes256 = liftA2 (++) sbytes128 sbytes128
- sbytes512 = liftA2 (++) sbytes256 sbytes256
- sbytes1024 = liftA2 (++) sbytes512 sbytes512
-diff --git a/src/EVM/Types.hs b/src/EVM/Types.hs
-index fdd2368d..1dc29e83 100644
---- a/src/EVM/Types.hs
-+++ b/src/EVM/Types.hs
-@@ -434,17 +434,17 @@ readN s = fromIntegral (read s :: Integer)
- readNull :: Read a => a -> String -> a
- readNull x = fromMaybe x . Text.Read.readMaybe
-
--wordField :: JSON.Object -> Text -> JSON.Parser W256
-+wordField :: JSON.Object -> Key -> JSON.Parser W256
- wordField x f = ((readNull 0) . Text.unpack)
-                   <$> (x .: f)
-
--addrField :: JSON.Object -> Text -> JSON.Parser Addr
-+addrField :: JSON.Object -> Key -> JSON.Parser Addr
- addrField x f = (read . Text.unpack) <$> (x .: f)
-
--addrFieldMaybe :: JSON.Object -> Text -> JSON.Parser (Maybe Addr)
-+addrFieldMaybe :: JSON.Object -> Key -> JSON.Parser (Maybe Addr)
- addrFieldMaybe x f = (Text.Read.readMaybe . Text.unpack) <$> (x .: f)
-
--dataField :: JSON.Object -> Text -> JSON.Parser ByteString
-+dataField :: JSON.Object -> Key -> JSON.Parser ByteString
- dataField x f = hexText <$> (x .: f)
-
- toWord512 :: W256 -> Word512
diff --git a/pkgs/development/haskell-modules/patches/recursion-schemes-128.patch b/pkgs/development/haskell-modules/patches/recursion-schemes-128.patch
deleted file mode 100644
index a40efc6f6334d..0000000000000
--- a/pkgs/development/haskell-modules/patches/recursion-schemes-128.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/recursion-schemes.cabal b/recursion-schemes.cabal
-index c35f2c6..e692ade 100644
---- a/recursion-schemes.cabal
-+++ b/recursion-schemes.cabal
-@@ -93,6 +93,7 @@ library
-       Paths_recursion_schemes
- 
-   ghc-options: -Wall
-+  ghc-prof-options: -DPROFILING_ENABLED
-   if impl(ghc >= 8.6)
-     ghc-options: -Wno-star-is-type
-   default-language: Haskell2010
-diff --git a/src/Data/Functor/Foldable/TH.hs b/src/Data/Functor/Foldable/TH.hs
-index b3d5ac8..d4ef0e4 100644
---- a/src/Data/Functor/Foldable/TH.hs
-+++ b/src/Data/Functor/Foldable/TH.hs
-@@ -1,4 +1,7 @@
- {-# LANGUAGE CPP, PatternGuards, Rank2Types #-}
-+#if defined(PROFILING_ENABLED)
-+{-# OPTIONS_GHC -O0 #-}
-+#endif
- module Data.Functor.Foldable.TH
-   ( MakeBaseFunctor(..)
-   , BaseRules
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix
index 4a8b639071abb..f6aeeb7fc4892 100644
--- a/pkgs/development/interpreters/chibi/default.nix
+++ b/pkgs/development/interpreters/chibi/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
 
   fixupPhase = ''
     wrapProgram "$out/bin/chibi-scheme" \
-      --prefix CHIBI_MODULE_PATH : "$out/share/chibi:$out/lib/chibi"
+      --prefix CHIBI_MODULE_PATH : "$out/share/chibi:$out/lib/chibi" \
+      ${lib.optionalString stdenv.isDarwin "--prefix DYLD_LIBRARY_PATH : $out/lib"}
 
     for f in chibi-doc chibi-ffi snow-chibi; do
       substituteInPlace "$out/bin/$f" \
diff --git a/pkgs/development/interpreters/luajit/default.nix b/pkgs/development/interpreters/luajit/default.nix
index d1211ce0a9283..a3ecf1a3166d7 100644
--- a/pkgs/development/interpreters/luajit/default.nix
+++ b/pkgs/development/interpreters/luajit/default.nix
@@ -25,6 +25,12 @@
 , enableAPICheck ? false
 , enableVMAssertions ? false
 , useSystemMalloc ? false
+# Upstream generates randomized string id's by default for security reasons
+# https://github.com/LuaJIT/LuaJIT/issues/626. Deterministic string id's should
+# never be needed for correctness (that should be fixed in the lua code),
+# but may be helpful when you want to embed jit-compiled raw lua blobs in
+# binaries that you want to be reproducible.
+, deterministicStringIds ? false
 , luaAttr ? "luajit_${lib.versions.major version}_${lib.versions.minor version}"
 } @ inputs:
 assert enableJITDebugModule -> enableJIT;
@@ -44,6 +50,7 @@ let
     ++ optional enableGDBJITSupport "-DLUAJIT_USE_GDBJIT"
     ++ optional enableAPICheck "-DLUAJIT_USE_APICHECK"
     ++ optional enableVMAssertions "-DLUAJIT_USE_ASSERT"
+    ++ optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0"
   ;
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 15626fe28cd7c..4052281b0f0df 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -199,11 +199,10 @@ let
     "--enable-shared"
   ] ++ [
     "--with-threads"
-    "--enable-unicode=ucs${toString ucsEncoding}"
-  ] ++ optionals (stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isAarch64) [
     "--with-system-ffi"
-  ] ++ optionals stdenv.hostPlatform.isCygwin [
     "--with-system-expat"
+    "--enable-unicode=ucs${toString ucsEncoding}"
+  ] ++ optionals stdenv.hostPlatform.isCygwin [
     "ac_cv_func_bind_textdomain_codeset=yes"
   ] ++ optionals stdenv.isDarwin [
     "--disable-toolbox-glue"
@@ -238,10 +237,7 @@ let
   strictDeps = true;
   buildInputs =
     optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
-    [ bzip2 openssl zlib ]
-    ++ optional (stdenv.hostPlatform.isCygwin || stdenv.hostPlatform.isAarch64) libffi
-    ++ optional stdenv.hostPlatform.isCygwin expat
-    ++ [ db gdbm ncurses sqlite readline ]
+    [ bzip2 openssl zlib libffi expat db gdbm ncurses sqlite readline ]
     ++ optionals x11Support [ tcl tk libX11 ]
     ++ optional (stdenv.isDarwin && configd != null) configd;
   nativeBuildInputs =
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index c7e01ea0f94d8..04ed31bbf3aa7 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -248,7 +248,7 @@ let
             inherit lib stdenv makeWrapper buildRubyGem buildEnv;
             gemConfig = defaultGemConfig;
             ruby = self;
-          }) withPackages gems;
+          }) withPackages buildGems gems;
 
         } // lib.optionalAttrs useBaseRuby {
           inherit baseRuby;
diff --git a/pkgs/development/libraries/ada/spark2014/default.nix b/pkgs/development/libraries/ada/spark2014/default.nix
index 1e6157cfb9a25..d928dddfc8df5 100644
--- a/pkgs/development/libraries/ada/spark2014/default.nix
+++ b/pkgs/development/libraries/ada/spark2014/default.nix
@@ -5,7 +5,6 @@
 , gnatcoll-core
 , gprbuild
 , python3
-, why3
 , ocaml
 , ocamlPackages
 , makeWrapper
@@ -53,11 +52,9 @@ stdenv.mkDerivation rec {
     make setup
   '';
 
-  postInstall = ''
+  installPhase = ''
+    make install-all
     cp -a ./install/. $out
-    # help gnatprove to locate why3server
-    wrapProgram "$out/bin/gnatprove" \
-        --prefix PATH : "${why3}/lib/why3"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/afflib/default.nix b/pkgs/development/libraries/afflib/default.nix
index cb0c8025ddfab..e82c3c8dfe77a 100644
--- a/pkgs/development/libraries/afflib/default.nix
+++ b/pkgs/development/libraries/afflib/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.7.19";
+  version = "3.7.20";
   pname = "afflib";
 
   src = fetchFromGitHub {
     owner = "sshock";
     repo = "AFFLIBv3";
     rev = "v${version}";
-    sha256 = "1qs843yi33yqbp0scqirn753lxzg762rz6xy2h3f8f77fijqj2qb";
+    sha256 = "sha256-xkqBfTftzn+rgeuoaKfHP7vQmy4VZuaCq8VFlfZTUE4=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/cegui/default.nix b/pkgs/development/libraries/cegui/default.nix
index ba3366198c2c8..cb302f3381ca0 100644
--- a/pkgs/development/libraries/cegui/default.nix
+++ b/pkgs/development/libraries/cegui/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, ogre, freetype, boost, expat }:
+{ lib, stdenv, fetchurl, cmake, ogre, freetype, boost, expat, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "cegui";
@@ -10,12 +10,15 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ ogre freetype boost expat ];
+  buildInputs = [ ogre freetype boost expat ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv ];
+
+  cmakeFlags = lib.optional (stdenv.isDarwin && stdenv.isAarch64) "-DCMAKE_OSX_ARCHITECTURES=arm64";
 
   meta = with lib; {
     homepage = "http://cegui.org.uk/";
     description = "C++ Library for creating GUIs";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gtksourceview/5.x.nix b/pkgs/development/libraries/gtksourceview/5.x.nix
index d3ac8246d95e5..083c987853429 100644
--- a/pkgs/development/libraries/gtksourceview/5.x.nix
+++ b/pkgs/development/libraries/gtksourceview/5.x.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch2
 , meson
 , ninja
 , pkg-config
@@ -37,6 +38,13 @@ stdenv.mkDerivation rec {
     # but not from its own datadr (it assumes it will be in XDG_DATA_DIRS).
     # Since this is not generally true with Nix, let’s add $out/share unconditionally.
     ./4.x-nix_share_path.patch
+
+    # Add Nix syntax highlighting.
+    # https://gitlab.gnome.org/GNOME/gtksourceview/-/merge_requests/303
+    (fetchpatch2 {
+      url = "https://gitlab.gnome.org/GNOME/gtksourceview/-/commit/2cc7fd079f9fc8b593c727c68a2c783c82299562.patch";
+      sha256 = "bTYWjEDpdbnUxcYNKl2YtSLfYlMfcbQSSYQjhixOGS8=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/jxrlib/default.nix b/pkgs/development/libraries/jxrlib/default.nix
index 06499e151ba1a..e6768dc0fa501 100644
--- a/pkgs/development/libraries/jxrlib/default.nix
+++ b/pkgs/development/libraries/jxrlib/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, python3, fixDarwinDylibNames }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "jxrlib";
@@ -13,21 +13,25 @@ stdenv.mkDerivation rec {
     sha256 = "0rk3hbh00nw0wgbfbqk1szrlfg3yq7w6ar16napww3nrlm9cj65w";
   };
 
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "cc" "$CC"
-  '' + lib.optionalString stdenv.isDarwin ''
-    substituteInPlace Makefile \
-      --replace '-shared' '-dynamiclib -undefined dynamic_lookup' \
-      --replace '.so' '.dylib'
-  '';
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian-phototools-team/jxrlib/-/raw/df96f9b9c1fbe9cdc97589c337f8a948bc81c4d0/debian/patches/usecmake.patch";
+      sha256 = "sha256-BpCToLgA5856PZk5mXlwAy3Oh9aYP/2wvu2DXDTqufM=";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian-phototools-team/jxrlib/-/raw/6c88037293aff8d5bc8a76ea32b36781c430ede3/debian/patches/bug803743.patch";
+      sha256 = "sha256-omIGa+ZrWjaH/IkBn4jgjufF/HEDKw69anVCX4hw+xQ=";
+    })
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian-phototools-team/jxrlib/-/raw/b23d49062ec6a9b2739c9dade86be525a72fc807/debian/patches/pkg-config.patch";
+      sha256 = "sha256-ZACaXEi+rbKIFBHtSBheyFfqV2HYsKKrT+SmTShyUhg=";
+    })
+  ];
 
-  nativeBuildInputs = [ python3 ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [ cmake ];
 
   strictDeps = true;
 
-  makeFlags = [ "DIR_INSTALL=$(out)" "SHARED=1" ];
-
   meta = with lib; {
     description = "Implementation of the JPEG XR image codec standard";
     homepage = "https://jxrlib.codeplex.com";
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index f987e7c6497f5..bc10d06b846cc 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -11,27 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libbluray";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchurl {
     url = "https://get.videolan.org/libbluray/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-RWgU258Hwe7N736ED8uyCXbvgU34dUKL+4Hs9FhR8XA=";
+    hash = "sha256-R4/9aKD13ejvbKmJt/A1taCiLFmRQuXNP/ewO76+Xys=";
   };
 
-  patches = [
-    ./BDJ-JARFILE-path.patch
-    (fetchpatch {
-      name = "Initial-support-for-Java-18.patch";
-      url = "https://code.videolan.org/videolan/libbluray/-/commit/3187c3080096e107f0a27eed1843232b58342577.patch";
-      hash = "sha256-2TSciAoPzELkgmFGB38h1RgynOCJueyCL8hIADxAPHo=";
-    })
-    (fetchpatch {
-      name = "bd-j-BDJSecurityManager-Change-setSecurityManager-de.patch";
-      url = "https://code.videolan.org/videolan/libbluray/-/commit/9a2d23d049760ef9cc9661ff90011a84d90368f1.patch";
-      hash = "sha256-xCc2h5ocXCqnpVMPQaybT2Ncs2YOzifQ0mlCCUhYlc8=";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config autoreconfHook ]
     ++ lib.optionals withJava [ ant ];
 
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index e19a9764bdf9e..75c9beea9b98c 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
     "-DLINK_PYTHON_LIBRARY=${onOff pythonSupport}"
     "-DPYTHON_BINDINGS=${onOff pythonSupport}"
     "-DDOCUMENTATION=${onOff docSupport}"
+  ] ++ lib.optionals pythonSupport [
     "-DPYTHON_EXECUTABLE=${python3.pythonForBuild.interpreter}"
     "-DPYTHON_LIBRARY=${python3}/lib/libpython${python3.pythonVersion}${stdenv.hostPlatform.extensions.sharedLibrary}"
   ];
diff --git a/pkgs/development/libraries/libmilter/darwin.patch b/pkgs/development/libraries/libmilter/darwin.patch
index be46662d6b385..9bad640450c60 100644
--- a/pkgs/development/libraries/libmilter/darwin.patch
+++ b/pkgs/development/libraries/libmilter/darwin.patch
@@ -13,16 +13,16 @@ Fix build issues on Darwin.
  define(`confLDOPTS', `${Extra_LD_Flags}')
 --- a/sendmail/sendmail.h	2020-05-18 14:51:17.000000000 +0200
 +++ b/sendmail/sendmail.h	2020-05-18 14:51:00.000000000 +0200
-@@ -104,7 +104,11 @@
- # endif /* NETX25 */
+@@ -122,7 +122,11 @@
+ # endif
  
- # if NAMED_BIND
--#  include <arpa/nameser.h>
-+#  ifdef __APPLE__
-+#   include <arpa/nameser_compat.h>
-+#  else
-+#   include <arpa/nameser.h>
-+#  endif
- #  ifdef NOERROR
- #   undef NOERROR		/* avoid <sys/streams.h> conflict */
- #  endif /* NOERROR */
+ #if NAMED_BIND
+-# include <arpa/nameser.h>
++# ifdef __APPLE__
++#  include <arpa/nameser_compat.h>
++# else
++#  include <arpa/nameser.h>
++# endif
+ # ifdef NOERROR
+ #  undef NOERROR		/* avoid <sys/streams.h> conflict */
+ # endif
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index 38788b3c964ba..ee92235adacce 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmilter";
-  version = "8.15.2";
+  version = "8.17.1";
 
   src = fetchurl {
     url = "ftp://ftp.sendmail.org/pub/sendmail/sendmail.${version}.tar.gz";
-    sha256 = "0fdl9ndmspqspdlmghzxlaqk56j3yajk52d7jxcg21b7sxglpy94";
+    sha256 = "sha256-BLx2tsiG5tERvn/Y2qMrjOABKKKItrUuBnvCnzhUpuY=";
   };
 
   buildPhase = ''
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     sh Build -f ./a.m4
   '';
 
-  patches = [ ./install.patch ./sharedlib.patch ./glibc-2.30.patch ./darwin.patch ];
+  patches = [ ./install.patch ./sharedlib.patch ./darwin.patch ];
 
   nativeBuildInputs = [ m4 ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/libraries/libmilter/glibc-2.30.patch b/pkgs/development/libraries/libmilter/glibc-2.30.patch
deleted file mode 100644
index e72ec9911e37a..0000000000000
--- a/pkgs/development/libraries/libmilter/glibc-2.30.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/libmilter/sm_gethost.c b/libmilter/sm_gethost.c
-index 2423c34..f00468c 100644
---- a/libmilter/sm_gethost.c
-+++ b/libmilter/sm_gethost.c
-@@ -52,16 +52,8 @@ sm_getipnodebyname(name, family, flags, err)
- 	bool resv6 = true;
- 	struct hostent *h;
- 
--	if (family == AF_INET6)
--	{
--		/* From RFC2133, section 6.1 */
--		resv6 = bitset(RES_USE_INET6, _res.options);
--		_res.options |= RES_USE_INET6;
--	}
- 	SM_SET_H_ERRNO(0);
--	h = gethostbyname(name);
--	if (family == AF_INET6 && !resv6)
--		_res.options &= ~RES_USE_INET6;
-+	h = gethostbyname2(name, family);
- 
- 	/* the function is supposed to return only the requested family */
- 	if (h != NULL && h->h_addrtype != family)
-diff --git a/sendmail/conf.c b/sendmail/conf.c
-index c73334e..500dafb 100644
---- a/sendmail/conf.c
-+++ b/sendmail/conf.c
-@@ -4243,16 +4243,8 @@ sm_getipnodebyname(name, family, flags, err)
- # else /* HAS_GETHOSTBYNAME2 */
- 	bool resv6 = true;
- 
--	if (family == AF_INET6)
--	{
--		/* From RFC2133, section 6.1 */
--		resv6 = bitset(RES_USE_INET6, _res.options);
--		_res.options |= RES_USE_INET6;
--	}
- 	SM_SET_H_ERRNO(0);
--	h = gethostbyname(name);
--	if (!resv6)
--		_res.options &= ~RES_USE_INET6;
-+	h = gethostbyname2(name, family);
- 
- 	/* the function is supposed to return only the requested family */
- 	if (h != NULL && h->h_addrtype != family)
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index bf36a14b1b17e..4291b3668039a 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   # fix "argb_paint_i386.c:53:Incorrect register `%rax' used with `l' suffix"
   # errors
-  configureFlags = lib.optional stdenv.isDarwin "--build=x86_64";
+  configureFlags = lib.optional (stdenv.isDarwin && stdenv.isx86_64) "--build=x86_64";
 
   # fixes a cast in inline asm: easier than patching
   buildFlags = lib.optional stdenv.isDarwin "CFLAGS=-fheinous-gnu-extensions";
@@ -29,7 +29,5 @@ stdenv.mkDerivation rec {
     license     = licenses.bsd2;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.all;
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/libraries/libpg_query/default.nix b/pkgs/development/libraries/libpg_query/default.nix
index 0387679835e53..cb5f545c9d935 100644
--- a/pkgs/development/libraries/libpg_query/default.nix
+++ b/pkgs/development/libraries/libpg_query/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpg_query";
-  version = "14-3.0.0";
+  version = "15-4.0.0";
 
   src = fetchFromGitHub {
     owner = "pganalyze";
     repo = "libpg_query";
     rev = version;
-    sha256 = "sha256-rICN8fkPcYw32N6TdpbrszGUoRzwQdfRSW6A0AC8toM=";
+    sha256 = "sha256-2BZT/jGfGwia+Map5OkeTcWVFJssykhrdRT2IDAzrfs=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/development/libraries/libucontext/default.nix b/pkgs/development/libraries/libucontext/default.nix
new file mode 100644
index 0000000000000..1ce0e443b352a
--- /dev/null
+++ b/pkgs/development/libraries/libucontext/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "libucontext";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "kaniini";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-fk3ZKkp3dsyeF6SOWSccr5MkKEwS4AAuosD/h+6wjSw=";
+  };
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/kaniini/libucontext";
+    description = "ucontext implementation featuring glibc-compatible ABI";
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.yuka ];
+  };
+}
diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix
index 55d3bcdd511a6..038d96cad76c6 100644
--- a/pkgs/development/libraries/lime/default.nix
+++ b/pkgs/development/libraries/lime/default.nix
@@ -10,7 +10,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lime";
-  version = "5.1.61";
+  version = "5.2.6";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cgc3123UvOzasBp/ImzXjt1JCkdqwPLnnk0PiStVcB8=";
+    sha256 = "sha256-WQ6AcJpQSvWR5m2edVNji5u6ZiS4QOH45vQN2q+39NU=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/mpdecimal/default.nix b/pkgs/development/libraries/mpdecimal/default.nix
new file mode 100644
index 0000000000000..5fa03b7083e2b
--- /dev/null
+++ b/pkgs/development/libraries/mpdecimal/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "mpdecimal";
+  version = "2.5.1";
+  outputs = [ "out" "doc" ];
+
+  src = fetchurl {
+    url = "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-${version}.tar.gz";
+    hash = "sha256-n5zUwEH5m1xJ/7e1nZ8S2VtoPYhYVgiqVqYwdmeysh8=";
+  };
+
+  configureFlags = [ "LD=${stdenv.cc.targetPrefix}cc" ];
+
+  meta = {
+    description = "Library for arbitrary precision decimal floating point arithmetic";
+
+    longDescription =  ''
+      libmpdec is a fast C/C++ library for correctly-rounded arbitrary
+      precision decimal floating point arithmetic.  It is a complete
+      implementation of Mike Cowlishaw/IBM's General Decimal Arithmetic
+      Specification. The full specification is available here:
+
+      http://speleotrove.com/decimal/
+
+      libmpdec will - with minor restrictions - also conform to the IEEE
+      754-2008 Standard for Floating-Point Arithmetic, provided that the
+      appropriate context parameters are set.
+
+      libmpdec++ is a complete implementation of the General Decimal Arithmetic
+      Specification.  libmpdec++ is mostly a header library around libmpdec's C
+      functions.
+    '';
+
+    homepage = "https://www.bytereef.org/mpdecimal/index.html";
+
+    downloadPage = "https://www.bytereef.org/mpdecimal/download.html";
+
+    changelog = "https://www.bytereef.org/mpdecimal/changelog.html";
+
+    license = lib.licenses.bsd2;
+
+    maintainers = with lib.maintainers; [ kaction ];
+
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/nss/generic.nix b/pkgs/development/libraries/nss/generic.nix
index a2e44f40227f8..89227b78f2f73 100644
--- a/pkgs/development/libraries/nss/generic.nix
+++ b/pkgs/development/libraries/nss/generic.nix
@@ -103,7 +103,11 @@ stdenv.mkDerivation rec {
       runHook postBuild
     '';
 
-  NIX_CFLAGS_COMPILE = "-Wno-error -DNIX_NSS_LIBDIR=\"${placeholder "out"}/lib/\" " + lib.optionalString stdenv.hostPlatform.is64bit "-DNSS_USE_64=1";
+  NIX_CFLAGS_COMPILE =
+    "-Wno-error -DNIX_NSS_LIBDIR=\"${placeholder "out"}/lib/\" "
+    + lib.optionalString stdenv.hostPlatform.is64bit "-DNSS_USE_64=1"
+    + lib.optionalString stdenv.hostPlatform.isILP32 " -DNS_PTR_LE_32=1" # See RNG_RandomUpdate() in drdbg.c
+  ;
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/development/libraries/nv-codec-headers/11_x.nix b/pkgs/development/libraries/nv-codec-headers/11_x.nix
index 284905cd4aa36..fba333ff6dbe6 100644
--- a/pkgs/development/libraries/nv-codec-headers/11_x.nix
+++ b/pkgs/development/libraries/nv-codec-headers/11_x.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nv-codec-headers";
-  version = "11.1.5.1";
+  version = "11.1.5.2";
 
   src = fetchgit {
     url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
     rev = "n${version}";
-    sha256 = "sha256-yTOKLjyYLxT/nI1FBOMwHpkDhfuua3+6Z5Mpb7ZrRhU=";
+    sha256 = "sha256-KzaqwpzISHB7tSTruynEOJmSlJnAFK2h7/cRI/zkNPk=";
   };
 
   makeFlags = [
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
index cd65630879ef9..73f15b744bf5c 100644
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/pkgs/development/libraries/ogre/1.10.x.nix
@@ -1,50 +1,110 @@
-{ fetchurl, stdenv, lib
-, cmake, libGLU, libGL
-, freetype, freeimage, zziplib, xorgproto, libXrandr
-, libXaw, freeglut, libXt, libpng, boost, ois
-, libX11, libXmu, libSM, pkg-config
-, libXxf86vm, libICE
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, cmake
+, pkg-config
+, boost
+, freeimage
+, freetype
+, libpng
+, ois
+, zziplib
+, freeglut
+, libGL
+, libGLU
+, libICE
+, libSM
+, libX11
+, libXaw
+, libXmu
+, libXrandr
 , libXrender
-, withNvidiaCg ? false, nvidia_cg_toolkit
-, withSamples ? false }:
+, libXt
+, libXxf86vm
+, xorgproto
+, darwin
+, withNvidiaCg ? false
+, nvidia_cg_toolkit
+, withSamples ? false
+}:
 
+let
+  inherit (darwin.apple_sdk.frameworks) AGL Cocoa;
+in
 stdenv.mkDerivation rec {
   pname = "ogre";
   version = "1.10.11";
 
   src = fetchurl {
-     url = "https://bitbucket.org/sinbad/ogre/get/v${lib.replaceStrings ["."] ["-"] version}.tar.gz";
-     sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
+    url = "https://bitbucket.org/sinbad/ogre/get/v${lib.replaceStrings ["."] ["-"] version}.tar.gz";
+    sha256 = "1zwvlx5dz9nwjazhnrhzb0w8ilpa84r0hrxrmmy69pgr1p1yif5a";
   };
 
-  # fix for ARM. sys/sysctl.h has moved in later glibcs, and
-  # https://github.com/OGRECave/ogre-next/issues/132 suggests it isn't
-  # needed anyway.
-  postPatch = ''
-    substituteInPlace OgreMain/src/OgrePlatformInformation.cpp \
-      --replace '#include <sys/sysctl.h>' ""
-  '';
+  patches = [
+    # aarch64-darwin support
+    (fetchpatch {
+      url = "https://github.com/OGRECave/ogre/commit/bd5fbe3482c56e58c6c3b3bf439b1eab8c1be258.patch";
+      includes = [ "OgreMain/include/OgrePlatform*.h" ];
+      sha256 = "sha256-ELeCklQkltz7DeDaGl78Jk1H3Wdfu8fMUiMZaJM4s/Y=";
+    })
+    (fetchpatch {
+      url = "https://github.com/OGRECave/ogre/commit/0873244cc06b613ca2afbcb5522fe9ef89f111c5.patch";
+      sha256 = "sha256-xGvlMB55B2rdthxNMIM5iFf9p/6zuE8bGL9P04qtweQ=";
+    })
+    # aarch64-linux support
+    (fetchpatch {
+      name = "fix-build-on-aarch64-linux.patch";
+      url = "https://github.com/OGRECave/ogre/commit/8ec086e9bc2e24fab373b514c572483b69071d69.patch";
+      sha256 = "sha256-22wlJPZ7lRIPAMqvpI/2YI0neQjGi1UXt8y5zNSpxCw=";
+    })
+  ];
 
-  cmakeFlags = [ "-DOGRE_BUILD_SAMPLES=${toString withSamples}" ]
-    ++ map (x: "-DOGRE_BUILD_PLUGIN_${x}=on")
-           ([ "BSP" "OCTREE" "PCZ" "PFX" ] ++ lib.optional withNvidiaCg "CG")
-    ++ map (x: "-DOGRE_BUILD_RENDERSYSTEM_${x}=on") [ "GL" ];
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs =
-   [ libGLU libGL
-     freetype freeimage zziplib xorgproto libXrandr
-     libXaw freeglut libXt libpng boost ois
-     libX11 libXmu libSM
-     libXxf86vm libICE
-     libXrender
-   ] ++ lib.optional withNvidiaCg nvidia_cg_toolkit;
+  buildInputs = [
+    boost
+    freeimage
+    freetype
+    libpng
+    ois
+    zziplib
+  ] ++ lib.optionals stdenv.isLinux [
+    freeglut
+    libGL
+    libGLU
+    libICE
+    libSM
+    libX11
+    libXaw
+    libXmu
+    libXrandr
+    libXrender
+    libXt
+    libXxf86vm
+    xorgproto
+  ] ++ lib.optionals stdenv.isDarwin [
+    AGL
+    Cocoa
+  ] ++ lib.optionals withNvidiaCg [
+    nvidia_cg_toolkit
+  ];
+
+  cmakeFlags = [
+    "-DOGRE_BUILD_COMPONENT_OVERLAY_IMGUI=FALSE"
+    "-DOGRE_BUILD_SAMPLES=${toString withSamples}"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "-DOGRE_BUILD_LIBS_AS_FRAMEWORKS=FALSE"
+  ];
 
   meta = {
-    description = "A 3D engine";
+    description = "3D Object-Oriented Graphics Rendering Engine";
     homepage = "https://www.ogre3d.org/";
-    maintainers = [ lib.maintainers.raskin ];
-    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ raskin wegank ];
+    platforms = lib.platforms.unix;
     license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/openfec/default.nix b/pkgs/development/libraries/openfec/default.nix
index 2a0588a71ebd6..a908b4980dadb 100644
--- a/pkgs/development/libraries/openfec/default.nix
+++ b/pkgs/development/libraries/openfec/default.nix
@@ -27,6 +27,9 @@ stdenv.mkDerivation rec {
       find $dev/include -type f -a ! -iname '*.h' -delete
 
       install -D -m755 -t $out/lib ../bin/Release/libopenfec${so}
+    '' + lib.optionalString stdenv.isDarwin ''
+      install_name_tool -id $out/lib/libopenfec${so} $out/lib/libopenfec${so}
+    '' + ''
       ln -s libopenfec${so} $out/lib/libopenfec${so}.1
     '';
 
diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix
index f2b95bd07e3c9..214149edad94b 100644
--- a/pkgs/development/libraries/openvdb/default.nix
+++ b/pkgs/development/libraries/openvdb/default.nix
@@ -3,19 +3,29 @@
 stdenv.mkDerivation rec
 {
   pname = "openvdb";
-  version = "9.1.0";
+  version = "10.0.1";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
-    owner = "dreamworksanimation";
+    owner = "AcademySoftwareFoundation";
     repo = "openvdb";
     rev = "v${version}";
-    sha256 = "sha256-OP1xCR1YW60125mhhrW5+8/4uk+EBGIeoWGEU9OiIGY=";
+    sha256 = "sha256-kaf5gpGYVWinmnRwR/IafE1SJcwmP2psfe/UZdtH1Og=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ openexr boost tbb jemalloc c-blosc ilmbase ];
 
+  cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" ];
+
+  postFixup = ''
+    substituteInPlace $dev/lib/cmake/OpenVDB/FindOpenVDB.cmake \
+      --replace \''${OPENVDB_LIBRARYDIR} $out/lib \
+      --replace \''${OPENVDB_INCLUDEDIR} $dev/include
+  '';
+
   meta = with lib; {
     description = "An open framework for voxel";
     homepage = "https://www.openvdb.org";
diff --git a/pkgs/development/libraries/tkrzw/default.nix b/pkgs/development/libraries/tkrzw/default.nix
index 4ede98f75099e..db963e5d86237 100644
--- a/pkgs/development/libraries/tkrzw/default.nix
+++ b/pkgs/development/libraries/tkrzw/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, nimPackages }:
 
 stdenv.mkDerivation rec {
   pname = "tkrzw";
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # memory intensive
 
+  passthru.tests.nim = nimPackages.tkrzw;
   meta = with lib; {
     description = "A set of implementations of DBM";
     homepage = "https://dbmx.net/tkrzw/";
diff --git a/pkgs/development/mobile/maestro/default.nix b/pkgs/development/mobile/maestro/default.nix
index 6228b4760b64b..cbcbb619585ef 100644
--- a/pkgs/development/mobile/maestro/default.nix
+++ b/pkgs/development/mobile/maestro/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "maestro";
-  version = "1.18.2";
+  version = "1.18.3";
 
   src = fetchurl {
     url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
-    sha256 = "02w544q5dwyayl3mcrp0q4b140bpmk0xpcjjqq0i0sbhffzw1jn8";
+    sha256 = "13kv6ydd2xka0lnnpcn5jv12pw9n6p7nljdlgkimwvsqsh1z5kfc";
   };
 
   dontUnpack = true;
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     homepage = "https://maestro.mobile.dev/";
     license = licenses.asl20;
     platforms = lib.platforms.all;
+    changelog = "https://github.com/mobile-dev-inc/maestro/blob/main/CHANGELOG.md";
     maintainers = with maintainers; [ SubhrajyotiSen ];
   };
 }
diff --git a/pkgs/development/nim-packages/base32/default.nix b/pkgs/development/nim-packages/base32/default.nix
new file mode 100644
index 0000000000000..543c63754bc61
--- /dev/null
+++ b/pkgs/development/nim-packages/base32/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildNimPackage, fetchFromGitHub }:
+
+buildNimPackage rec {
+  pname = "base32";
+  version = "0.1.3";
+  src = fetchFromGitHub {
+    owner = "OpenSystemsLab";
+    repo = "${pname}.nim";
+    rev = version;
+    hash = "sha256-BsDly13xsY2bu4N9LGHB0OGej/JhAx3B01TDdF0M8Jk=";
+  };
+  doCheck = true;
+  meta = src.meta // {
+    description = "Base32 library for Nim";
+    maintainers = with lib.maintainers; [ ehmry ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/nim-packages/cbor/default.nix b/pkgs/development/nim-packages/cbor/default.nix
new file mode 100644
index 0000000000000..9302ca7a97e21
--- /dev/null
+++ b/pkgs/development/nim-packages/cbor/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildNimPackage, fetchFromSourcehut }:
+
+buildNimPackage rec {
+  pname = "cbor";
+  version = "20221007";
+  src = fetchFromSourcehut {
+    owner = "~ehmry";
+    repo = "nim_${pname}";
+    rev = version;
+    hash = "sha256-zFkYsXFRAiBrfz3VNML3l+rYrdJmczl0bfZcJSbHHbM=";
+  };
+  doCheck = true;
+  meta = with lib;
+    src.meta // {
+      description =
+        "Concise Binary Object Representation decoder and encoder (RFC8949)";
+      license = licenses.unlicense;
+      maintainers = [ maintainers.ehmry ];
+      mainProgram = "cbordiag";
+    };
+}
diff --git a/pkgs/development/nim-packages/nimSHA2/default.nix b/pkgs/development/nim-packages/nimSHA2/default.nix
new file mode 100644
index 0000000000000..812b179b5d704
--- /dev/null
+++ b/pkgs/development/nim-packages/nimSHA2/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildNimPackage, fetchFromGitHub }:
+
+buildNimPackage rec {
+  pname = "nimSHA2";
+  version = "unstable-2021-09-09";
+  src = fetchFromGitHub {
+    owner = "jangko";
+    repo = pname;
+    rev = "b8f666069dff1ed0c5142dd1ca692f0e71434716";
+    hash = "sha256-Wqb3mQ7638UOTze71mf6WMyGiw9qTwhbJiGGb+9OR2k=";
+  };
+  doCheck = true;
+  meta = src.meta // {
+    description = "Secure Hash Algorithm 2";
+    maintainers = with lib.maintainers; [ ehmry ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/nim-packages/npeg/default.nix b/pkgs/development/nim-packages/npeg/default.nix
new file mode 100644
index 0000000000000..552449b7102a5
--- /dev/null
+++ b/pkgs/development/nim-packages/npeg/default.nix
@@ -0,0 +1,18 @@
+{ lib, buildNimPackage, fetchFromGitHub }:
+
+buildNimPackage rec {
+  pname = "npeg";
+  version = "1.0.1";
+  src = fetchFromGitHub {
+    owner = "zevv";
+    repo = pname;
+    rev = version;
+    hash = "sha256-EN3wTSa+WveO7V29A2lJgWLwIlHzQE8t7T2m4u7niMc=";
+  };
+  doCheck = true;
+  meta = src.meta // {
+    description = "NPeg is a pure Nim pattern matching library";
+    maintainers = with lib.maintainers; [ ehmry ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/nim-packages/taps/default.nix b/pkgs/development/nim-packages/taps/default.nix
new file mode 100644
index 0000000000000..4bf8f247977e8
--- /dev/null
+++ b/pkgs/development/nim-packages/taps/default.nix
@@ -0,0 +1,19 @@
+{ lib, buildNimPackage, fetchFromSourcehut, getdns }:
+
+buildNimPackage rec {
+  pname = "taps";
+  version = "20221228";
+  src = fetchFromSourcehut {
+    owner = "~ehmry";
+    repo = "nim_${pname}";
+    rev = version;
+    hash = "sha256-0EjMP5pIPJg4/3nzj6ECC68f709TS06OrJlTZ0tavEo=";
+  };
+  propagatedBuildInputs = [ getdns ];
+  doCheck = false;
+  meta = src.meta // {
+    description = "Transport Services Interface";
+    license = lib.licenses.isc;
+    maintainers = [ lib.maintainers.ehmry ];
+  };
+}
diff --git a/pkgs/development/nim-packages/tkrzw/default.nix b/pkgs/development/nim-packages/tkrzw/default.nix
new file mode 100644
index 0000000000000..1988260ac4854
--- /dev/null
+++ b/pkgs/development/nim-packages/tkrzw/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildNimPackage, fetchFromSourcehut, pkg-config, tkrzw }:
+
+buildNimPackage rec {
+  pname = "tkrzw";
+  version = "20220922";
+  src = fetchFromSourcehut {
+    owner = "~ehmry";
+    repo = "nim-${pname}";
+    rev = version;
+    hash = "sha256-66rUuK+wUrqs1QYjteZcaIrfg+LHQNcR+XM+EtVuGsA=";
+  };
+  propagatedNativeBuildInputs = [ pkg-config ];
+  propagatedBuildInputs = [ tkrzw ];
+  doCheck = true;
+  meta = with lib;
+    src.meta // {
+      description = "Nim wrappers over some of the Tkrzw C++ library";
+      license = lib.licenses.apsl20;
+      maintainers = with lib.maintainers; [ ehmry ];
+    };
+}
diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix
index 7310bb968ffcc..26230287dd52a 100644
--- a/pkgs/development/ocaml-modules/base64/default.nix
+++ b/pkgs/development/ocaml-modules/base64/default.nix
@@ -1,18 +1,18 @@
-{ lib, fetchurl, buildDunePackage, ocaml, alcotest, bos, rresult }:
+{ lib, fetchurl, buildDunePackage, ocaml, findlib, alcotest, bos, rresult }:
 
 buildDunePackage rec {
   pname = "base64";
   version = "3.5.0";
 
-  minimumOCamlVersion = "4.03";
-
-  useDune2 = true;
+  minimalOCamlVersion = "4.03";
 
   src = fetchurl {
     url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-v${version}.tbz";
     sha256 = "sha256-WJ3pwAV46/54QZismBjTWGxHSyMWts0+HEbMsfYq46Q=";
   };
 
+  propagatedBuildInputs = [ findlib ];
+
   # otherwise fmt breaks evaluation
   doCheck = lib.versionAtLeast ocaml.version "4.08";
   checkInputs = [ alcotest bos rresult ];
diff --git a/pkgs/development/ocaml-modules/fileutils/default.nix b/pkgs/development/ocaml-modules/fileutils/default.nix
index 819298ac8cf18..0431c733cb909 100644
--- a/pkgs/development/ocaml-modules/fileutils/default.nix
+++ b/pkgs/development/ocaml-modules/fileutils/default.nix
@@ -1,25 +1,25 @@
-{ lib, fetchurl, buildDunePackage, stdlib-shims, ounit }:
+{ lib, fetchurl, ocaml, buildDunePackage, seq, stdlib-shims, ounit2 }:
 
 buildDunePackage rec {
   pname = "fileutils";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchurl {
-    url = "https://github.com/gildor478/ocaml-fileutils/releases/download/v${version}/fileutils-v${version}.tbz";
-    sha256 = "0qhlhc7fzcq0yfg1wyszsi0gyc4w9hyzmfv84aq9wc79i3283xgg";
+    url = "https://github.com/gildor478/ocaml-fileutils/releases/download/v${version}/fileutils-${version}.tbz";
+    hash = "sha256-enu2vGo2tuvawrTkap6bENNmxaLUQXpfHWih+7oKRF8=";
   };
 
-  minimumOCamlVersion = "4.03";
-  useDune2 = true;
+  minimalOCamlVersion = "4.03";
 
   propagatedBuildInputs = [
+    seq
     stdlib-shims
   ];
 
   checkInputs = [
-    ounit
+    ounit2
   ];
-  doCheck = true;
+  doCheck = lib.versionAtLeast ocaml.version "4.04";
 
   meta = with lib; {
     description = "OCaml API to manipulate real files (POSIX like) and filenames";
diff --git a/pkgs/development/ocaml-modules/inotify/default.nix b/pkgs/development/ocaml-modules/inotify/default.nix
index d1c6dc3761647..85afd33457401 100644
--- a/pkgs/development/ocaml-modules/inotify/default.nix
+++ b/pkgs/development/ocaml-modules/inotify/default.nix
@@ -1,42 +1,26 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, ocamlbuild
-, ocaml_lwt # optional lwt support
-, ounit, fileutils # only for tests
+{ lib, fetchFromGitHub, buildDunePackage
+, lwt # optional lwt support
+, ounit2, fileutils # only for tests
 }:
 
-stdenv.mkDerivation rec {
-  version = "2.3";
-  pname = "ocaml${ocaml.version}-inotify";
+buildDunePackage rec {
+  version = "2.4.1";
+  pname = "inotify";
 
   src = fetchFromGitHub {
     owner = "whitequark";
     repo = "ocaml-inotify";
     rev = "v${version}";
-    sha256 = "1s6vmqpx19hxzsi30jvp3h7p56rqnxfhfddpcls4nz8sqca1cz5y";
+    hash = "sha256-2ATFF3HeATjhWgW4dG4jheQ9m1oE8xTQ7mpMT/1Jdp8=";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/whitequark/ocaml-inotify/commit/716c8002cc1652f58eb0c400ae92e04003cba8c9.patch";
-    sha256 = "04lfxrrsmk2mc704kaln8jqx93jc4bkxhijmfy2d4cmk1cim7r6k";
-  }) ];
-
-  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
-  buildInputs = [ ocaml_lwt ];
-  checkInputs = [ ounit fileutils ];
+  buildInputs = [ lwt ];
+  checkInputs = [ ounit2 fileutils ];
 
   # Otherwise checkInputs can't be found
   strictDeps = false;
 
-  configureFlags = [ "--enable-lwt"
-    (lib.optionalString doCheck "--enable-tests") ];
-
-  postConfigure = lib.optionalString doCheck ''
-    echo '<lib_test/test_inotify_lwt.*>: pkg_threads' | tee -a _tags
-  '';
-
   doCheck = true;
-  checkTarget = "test";
-
-  createFindlibDestdir = true;
 
   meta = {
     description = "Bindings for Linux’s filesystem monitoring interface, inotify";
diff --git a/pkgs/development/ocaml-modules/mrmime/default.nix b/pkgs/development/ocaml-modules/mrmime/default.nix
index 50cd04ddb0a77..a2d118765616d 100644
--- a/pkgs/development/ocaml-modules/mrmime/default.nix
+++ b/pkgs/development/ocaml-modules/mrmime/default.nix
@@ -6,6 +6,7 @@
 , bigarray-overlap
 , bigstringaf
 , buildDunePackage
+, cmdliner
 , emile
 , fetchzip
 , fmt
@@ -16,6 +17,7 @@
 , ke
 , lib
 , mirage-crypto-rng
+, ocaml
 , pecu
 , prettym
 , ptime
@@ -34,7 +36,9 @@ buildDunePackage rec {
     sha256 = "14k67v0b39b8jq3ny2ymi8g8sqx2gd81mlzsjphdzdqnlx6fk716";
   };
 
-  useDune2 = true;
+  duneVersion = "3";
+
+  buildInputs = [ cmdliner hxd ];
 
   propagatedBuildInputs = [
     angstrom
@@ -60,10 +64,9 @@ buildDunePackage rec {
 
   checkInputs = [
     alcotest
-    hxd
     jsonm
   ];
-  doCheck = true;
+  doCheck = lib.versionOlder ocaml.version "5.0";
 
   meta = {
     description = "Parser and generator of mail in OCaml";
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 22cd84da1f865..c650155ff3822 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -2,9 +2,8 @@
 , gnutls, nettle
 }:
 
-if lib.versionOlder ocaml.version "4.02"
-then throw "ocamlnet is not available for OCaml ${ocaml.version}"
-else
+lib.throwIf (lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0")
+  "ocamlnet is not available for OCaml ${ocaml.version}"
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-ocamlnet";
diff --git a/pkgs/development/ocaml-modules/piaf/default.nix b/pkgs/development/ocaml-modules/piaf/default.nix
index 0d0ec1594d40a..7239a70a0b747 100644
--- a/pkgs/development/ocaml-modules/piaf/default.nix
+++ b/pkgs/development/ocaml-modules/piaf/default.nix
@@ -1,5 +1,6 @@
 { alcotest-lwt
 , buildDunePackage
+, ocaml
 , dune-site
 , fetchzip
 , gluten-lwt-unix
@@ -14,6 +15,9 @@
 , uri
 }:
 
+lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
+  "piaf is not available for OCaml ${ocaml.version}"
+
 buildDunePackage rec {
   pname = "piaf";
   version = "0.1.0";
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index fbe484dea0448..176e8ff8abc73 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
@@ -1,6 +1,7 @@
 { lib
 , fetchurl
 , buildDunePackage
+, ocaml
 , cppo
 , ppxlib
 , ppx_derivers
@@ -51,7 +52,7 @@ buildDunePackage rec {
     result
   ];
 
-  doCheck = true;
+  doCheck = lib.versionOlder ocaml.version "5.0";
   checkInputs = [
     (if lib.versionAtLeast version "5.2" then ounit2 else ounit)
   ];
diff --git a/pkgs/development/ocaml-modules/wodan/default.nix b/pkgs/development/ocaml-modules/wodan/default.nix
deleted file mode 100644
index f33d7b9861f63..0000000000000
--- a/pkgs/development/ocaml-modules/wodan/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, buildDunePackage, fetchFromGitHub, lwt_ppx, ppx_cstruct, optint
-, checkseum, diet, bitv, logs, lru, io-page, mirage-block }:
-
-buildDunePackage rec {
-  pname = "wodan";
-  version = "unstable-2020-11-20";
-
-  useDune2 = true;
-
-  src = fetchFromGitHub {
-    owner = "mirage";
-    repo = pname;
-    rev = "cc08fe25888051c207f1009bcd2d39f8c514484f";
-    sha256 = "0186vlhnl8wcz2hmpn327n9a0bibnypmjy3w4nxq3yyglh6vj1im";
-    fetchSubmodules = true;
-  };
-
-  minimumOCamlVersion = "4.08";
-
-  propagatedBuildInputs = [
-    lwt_ppx
-    ppx_cstruct
-    optint
-    checkseum
-    diet
-    bitv
-    /* nocrypto */
-    logs
-    lru
-    io-page
-    mirage-block
-  ];
-
-  meta = with lib; {
-    broken = true; # nocrypto is no longer available in nixpkgs
-    inherit (src.meta) homepage;
-    description = "A flash-friendly, safe and flexible filesystem library";
-    license = licenses.isc;
-    maintainers = with maintainers; [ ehmry ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/wodan/irmin.nix b/pkgs/development/ocaml-modules/wodan/irmin.nix
deleted file mode 100644
index 6389b47b61796..0000000000000
--- a/pkgs/development/ocaml-modules/wodan/irmin.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, buildDunePackage, irmin-chunk, irmin-git
-, mirage-block-ramdisk, mirage-block-unix, wodan }:
-
-buildDunePackage rec {
-  pname = "wodan-irmin";
-  inherit (wodan) version src useDune2;
-
-  propagatedBuildInputs = [
-    /* io-page-unix */ # No longer available in nixpkgs
-    irmin-chunk
-    irmin-git
-    mirage-block-ramdisk
-    mirage-block-unix
-    wodan
-  ];
-
-  meta = wodan.meta // {
-    # wodan is currently incompatible with irmin 2.3.0.
-    # additionally upgrading to current master (unclear
-    # if the issue is fixed there) is not possible as it
-    # depends on a custom fork of mirage-block
-    broken = true;
-    description = "Wodan as an Irmin store";
-  };
-}
diff --git a/pkgs/development/ocaml-modules/wodan/unix.nix b/pkgs/development/ocaml-modules/wodan/unix.nix
deleted file mode 100644
index bd694bce801b3..0000000000000
--- a/pkgs/development/ocaml-modules/wodan/unix.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, buildDunePackage, base64, benchmark, csv, cmdliner, wodan, afl-persistent
-, mirage-block-ramdisk, mirage-block-unix }:
-
-buildDunePackage rec {
-  outputs = [ "bin" "out" ];
-  pname = "wodan-unix";
-  inherit (wodan) version src useDune2;
-
-  propagatedBuildInputs = [
-    afl-persistent
-    base64
-    benchmark
-    cmdliner
-    csv
-    /* io-page-unix */
-    mirage-block-ramdisk
-    mirage-block-unix
-    wodan
-  ];
-
-  postInstall = ''
-    moveToOutput bin "''${!outputBin}"
-  '';
-
-  meta = wodan.meta // {
-    broken = true; # io-page-unix is no longer available
-    description = "Wodan clients with Unix integration";
-    mainProgram = "wodanc";
-  };
-
-}
diff --git a/pkgs/development/ocaml-modules/xml-light/default.nix b/pkgs/development/ocaml-modules/xml-light/default.nix
index 010d7f8e1dbf6..f91eb0b5b5cd0 100644
--- a/pkgs/development/ocaml-modules/xml-light/default.nix
+++ b/pkgs/development/ocaml-modules/xml-light/default.nix
@@ -1,5 +1,8 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, gitUpdater }:
 
+lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
+  "xml-light is not available for OCaml ${ocaml.version}"
+
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-xml-light";
   version = "2.4";
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index b6f79b6c5fc60..d9a222182ae77 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "apscheduler";
-  version = "3.9.1";
+  version = "3.9.1.post1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "APScheduler";
     inherit version;
-    hash = "sha256-ZeZXS2OVSY03HQRfKop+T31Qxq0h73MT0VscfPIN8eM=";
+    hash = "sha256-sr6gMJVp2lOnJhv6DOGcZ92/4VG9p3amqQdXn9vT6yo=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/adguardhome/default.nix b/pkgs/development/python-modules/adguardhome/default.nix
index 134132f9931e4..500fb1fb9b9fc 100644
--- a/pkgs/development/python-modules/adguardhome/default.nix
+++ b/pkgs/development/python-modules/adguardhome/default.nix
@@ -12,15 +12,16 @@
 
 buildPythonPackage rec {
   pname = "adguardhome";
-  version = "0.5.1";
+  version = "0.6.1";
   format = "pyproject";
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-${pname}";
-    rev = "v${version}";
-    sha256 = "sha256-HAgt52Bo2NOUkpr5xvWTcRyrLKpfcBDlVAZxgDNI7hY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZeajC8FM7Py+DWknVjnwiM4jaCCcnxfC+kTbHEEmyms=";
   };
 
   postPatch = ''
@@ -32,7 +33,9 @@ buildPythonPackage rec {
       --replace 0.0.0 ${version}
   '';
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     aiohttp
@@ -45,11 +48,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "adguardhome" ];
+  pythonImportsCheck = [
+    "adguardhome"
+  ];
 
   meta = with lib; {
     description = "Python client for the AdGuard Home API";
     homepage = "https://github.com/frenck/python-adguardhome";
+    changelog = "https://github.com/frenck/python-adguardhome/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jamiemagee ];
   };
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 13be1fcc1a67a..00b2df6256371 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.31";
+  version = "9.2.32";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-jG7lZet15mp1ltbdcv1ZMHHa+ydFXQiNS+dl70tmluE=";
+    hash = "sha256-JHKF1uTzAzYrVx1iOtOjJYFbnvFeTzUjTmm24leHIMs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioaladdinconnect/default.nix b/pkgs/development/python-modules/aioaladdinconnect/default.nix
index 658a32c0b52c4..a713713cead63 100644
--- a/pkgs/development/python-modules/aioaladdinconnect/default.nix
+++ b/pkgs/development/python-modules/aioaladdinconnect/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioaladdinconnect";
-  version = "0.1.48";
+  version = "0.1.50";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "AIOAladdinConnect";
     inherit version;
-    hash = "sha256-FrefWV42+DqvuAVScavwqtCfiCRXacuCruqGP0Gks6Y=";
+    hash = "sha256-5IeqIEIQzPq5GkuAf/92J0SBI3Lu1ftJ4UOj4oQLQC4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 82355e75be927..0646d10a13732 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -31,7 +31,7 @@
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.31";
+  version = "9.2.32";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i7kIHDg1iCtEeigS2+4MTS2fmUYYEbruL7q0s1skR9k=";
+    hash = "sha256-nyFEyOo4qtkyjAmkOV0JEOKAKWJKwjRrywKqP2yoJ54=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible-lint/default.nix b/pkgs/development/python-modules/ansible-lint/default.nix
index 691a4f1146cff..b567c10e8d926 100644
--- a/pkgs/development/python-modules/ansible-lint/default.nix
+++ b/pkgs/development/python-modules/ansible-lint/default.nix
@@ -22,13 +22,14 @@
 
 buildPythonPackage rec {
   pname = "ansible-lint";
-  version = "6.10.0";
+  version = "6.10.1";
   format = "pyproject";
+
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9ezsWOvntr/El2vn1uQAQRqK8FsOGhnxXyX1nzQBNIw=";
+    hash = "sha256-JPFbYa9SvCKwXQCPnrdmLxz0KrdACNqfia9x/FQMz6Q=";
   };
 
   postPatch = ''
@@ -91,15 +92,15 @@ buildPythonPackage rec {
     "test_run_inside_role_dir"
     "test_run_multiple_role_path_no_trailing_slash"
     "test_runner_exclude_globs"
-
     "test_discover_lintables_umlaut"
   ];
 
   makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ ansible-core ]}" ];
 
   meta = with lib; {
-    homepage = "https://github.com/ansible/ansible-lint";
     description = "Best practices checker for Ansible";
+    homepage = "https://github.com/ansible/ansible-lint";
+    changelog = "https://github.com/ansible/ansible-lint/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ sengaya ];
   };
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 4bdc1c5585c9d..bc1b290a1f26d 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.31";
+  version = "9.2.32";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-mrsEdVUp13XqVwrbLYbR8vAsu5wPHQcIOBBSmSPJQYY=";
+    hash = "sha256-LChk65iM238jB1jwgEis5Wfz8YGmb9UCOdmQcU+3bFA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix
index 451ac4ed221fb..5299ad46e5057 100644
--- a/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.32.3";
+  version = "0.33.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = "refs/tags/${version}";
-    hash = "sha256-1/RW84ammc6mu90izMtL7Cv11krc4WhdqCSq9ncFibI=";
+    hash = "sha256-I7C2ho+pmowerJFK82wYcqEOhRV3KZ5j5IBVCKjhllM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bincopy/default.nix b/pkgs/development/python-modules/bincopy/default.nix
index 7af89c7aed87d..6ecb4d1d18d2e 100644
--- a/pkgs/development/python-modules/bincopy/default.nix
+++ b/pkgs/development/python-modules/bincopy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "bincopy";
-  version = "17.11.0";
+  version = "17.14.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rk7jYr9jUz7TUckoYkv74rr5D9fJLD3h7UFBH0XeleE=";
+    sha256 = "sha256-sx+0sBbY2P6vQt38e2M72GLU8tRwKOMpVWNNNtEXx0k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index 5831ea18ee33d..8e25f403a5e8d 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4KsMYQQN/4A2sbk2Fj8CYOBf7/UAciJ4wTSFYZaCfdk=";
+    hash = "sha256-BLRXoKZkSWgzGIztwmO8El8pF25QBrTEX05FWXZrHxc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cachecontrol/default.nix b/pkgs/development/python-modules/cachecontrol/default.nix
index 529975f1080bf..c5c7128f72236 100644
--- a/pkgs/development/python-modules/cachecontrol/default.nix
+++ b/pkgs/development/python-modules/cachecontrol/default.nix
@@ -18,6 +18,8 @@ buildPythonPackage rec {
 
   disabled = pythonOlder "3.6";
 
+  __darwinAllowLocalNetworking = true;
+
   src = fetchFromGitHub {
     owner = "ionrock";
     repo = pname;
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 3190cb6f7190d..9c7bb0898d863 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.31";
+  version = "9.2.32";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-hIzB6E1z3ufbHFoe2IfBTuF4uuJibaFTqDjTf5ubHDU=";
+    hash = "sha256-Cf56Q2ZqBq3uoCGqG5pYxA6ANP8VLC6pAMZIL5ubq30=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 02d7d9e5390b8..3e876db6d66a6 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -16,7 +16,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.31";
+  version = "9.2.32";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-ZgM1GEsmp6LOoFf33l6cZY6cyCoitPDEpFbAVuAd0p8=";
+    hash = "sha256-KYWhwL3DAa/2Hb4I1NfYWA5gXrwEeMpDpAWCWGLqFeE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index cb6f40e422ce7..b4df7caed3ed9 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -43,14 +43,14 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "4.1.4";
+  version = "4.1.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-04pOEI0jhsuWN9pmqC3I0HM8rt5Mg8Sv29p4r0IUIRs=";
+    hash = "sha256-/1br1+rQ/V2+Bv4VewAkp6rqLgWTuzeF+1lM+U2tWO8=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/geniushub-client/default.nix b/pkgs/development/python-modules/geniushub-client/default.nix
index 019c1e1a21bce..da0e7e2c33588 100644
--- a/pkgs/development/python-modules/geniushub-client/default.nix
+++ b/pkgs/development/python-modules/geniushub-client/default.nix
@@ -1,30 +1,47 @@
 { lib
-, buildPythonPackage
-, fetchPypi
 , aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "geniushub-client";
-  version = "0.6.30";
+  version = "0.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "390932b6e5051e221d104b2683d9deb6e352172c4ec4eeede0954bf2f9680211";
+  src = fetchFromGitHub {
+    owner = "manzanotti";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-amsMZjCsPI8CUfSct4uumn8nVZDESlQFh19LXu3yb7o=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'VERSION = os.environ["GITHUB_REF_NAME"]' "" \
+      --replace "version=VERSION," 'version="${version}",'
+  '';
+
   propagatedBuildInputs = [
     aiohttp
   ];
 
-  # tests only implemented after 0.6.30
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "geniushubclient" ];
+  pythonImportsCheck = [
+    "geniushubclient"
+  ];
 
   meta = with lib; {
-    description = "Aiohttp-based client for Genius Hub systems";
-    homepage = "https://github.com/zxdavb/geniushub-client";
+    description = "Module to interact with Genius Hub systems";
+    homepage = "https://github.com/manzanotti/geniushub-client";
+    changelog = "https://github.com/manzanotti/geniushub-client/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/ghrepo-stats/default.nix b/pkgs/development/python-modules/ghrepo-stats/default.nix
index 154700e89af24..71e640cce795e 100644
--- a/pkgs/development/python-modules/ghrepo-stats/default.nix
+++ b/pkgs/development/python-modules/ghrepo-stats/default.nix
@@ -1,4 +1,5 @@
 { lib
+, beautifulsoup4
 , buildPythonPackage
 , fetchFromGitHub
 , matplotlib
@@ -8,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ghrepo-stats";
-  version = "0.4.0";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,10 +18,17 @@ buildPythonPackage rec {
     owner = "mrbean-bremen";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-KFjqHrN0prcqu3wEPZpa7rLfuD0X/DN7BMo4zcHNmYo=";
+    hash = "sha256-rTW6wADpkP9GglNmQNVecHfA2yJZuzYhJfsLfucbcgY=";
   };
 
+  postPatch = ''
+    # https://github.com/mrbean-bremen/ghrepo-stats/pull/1
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4"
+  '';
+
   propagatedBuildInputs = [
+    beautifulsoup4
     matplotlib
     PyGithub
   ];
diff --git a/pkgs/development/python-modules/govee-ble/default.nix b/pkgs/development/python-modules/govee-ble/default.nix
index 7cee9b5713e77..abbac7610982f 100644
--- a/pkgs/development/python-modules/govee-ble/default.nix
+++ b/pkgs/development/python-modules/govee-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "govee-ble";
-  version = "0.19.3";
+  version = "0.21.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-HoEWFwpEzlTVlCD1sPOSKhvZleErxJdaqxKPv+1PcGo=";
+    hash = "sha256-BObJQTt1l+fFh02/zhcKRNRs0LQl+oJelMQq9EW2XuY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index 44fbdc0401237..ad19991140bae 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
-    rev = "${version}";
+    rev = "refs/tags/${version}";
     sha256 = "sha256-uJgm8l1SxIRC5PV6BIH/ht/1ucGT5UaUhkFMdusejgA=";
   };
 
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index 0ef7db463ed0d..3a58e64beaa8f 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 = "5.0.5";
+  version = "5.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-RtARu9+EKUMOOJjUdkEZ5KYz9DzzlLeNhkRMLSm4AYo=";
+    hash = "sha256-g70FjY0tc4KjgdVweuBBkFrByt8xlGPJEPz/OvTtjZk=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/meross-iot/default.nix b/pkgs/development/python-modules/meross-iot/default.nix
index 7b707e25afdf8..e7507bcee171e 100644
--- a/pkgs/development/python-modules/meross-iot/default.nix
+++ b/pkgs/development/python-modules/meross-iot/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "meross-iot";
-  version = "0.4.5.2";
+  version = "0.4.5.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "albertogeniola";
     repo = "MerossIot";
     rev = "refs/tags/${version}";
-    hash = "sha256-gT4HxdmyX7oOQFBo1frkmmoXrNfGOcqL0hPZ40kRZeo=";
+    hash = "sha256-HPA3oeanFHx+g0nt/nsTzG3RTCdsjNSvDCXILR271P4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix
index b85000fe05c50..688065712c81a 100644
--- a/pkgs/development/python-modules/mitmproxy/default.nix
+++ b/pkgs/development/python-modules/mitmproxy/default.nix
@@ -47,8 +47,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "mitmproxy";
     repo = "mitmproxy";
-    rev = "refs/tags/v${version}";
-    sha256 = "sha256-nW/WfiY6uF67qNa95tvNvSv/alP2WmzTk34LEBma/04=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-CINKvRnBspciS+wefJB8gzBE13L8CjbYCkmLmTTeYlA=";
   };
 
   propagatedBuildInputs = [
@@ -110,6 +110,10 @@ buildPythonPackage rec {
     "test_flowview"
     # ValueError: Exceeds the limit (4300) for integer string conversion
     "test_roundtrip_big_integer"
+
+    "test_wireguard"
+    "test_commands_exist"
+    "test_statusbar"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index d83ad44b441b7..2a9fcd2010356 100644
--- a/pkgs/development/python-modules/motionblinds/default.nix
+++ b/pkgs/development/python-modules/motionblinds/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.6.14";
+  version = "0.6.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = "refs/tags/${version}";
-    hash = "sha256-OHFOV0vOAw54XOfgDUSARKIAgkWFnvf8O9xXJYZHPFE=";
+    hash = "sha256-OTnlfJeE64tURR5YrTXjzTHbvGnbeEWu9UHGynzmSiQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/garages-amsterdam/default.nix b/pkgs/development/python-modules/odp-amsterdam/default.nix
index 2b25decd4fc82..30c98144906b3 100644
--- a/pkgs/development/python-modules/garages-amsterdam/default.nix
+++ b/pkgs/development/python-modules/odp-amsterdam/default.nix
@@ -1,28 +1,33 @@
 { lib
 , aiohttp
+, aresponses
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
 , pythonOlder
+, pytest-asyncio
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "garages-amsterdam";
-  version = "4.1.0";
+  pname = "odp-amsterdam";
+  version = "5.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
-    repo = "garages_amsterdam";
+    repo = "python-odp-amsterdam";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-ZWp543msRAgn/fFplEt6saSNbZ2flC5gwjxrll4w0W0=";
+    hash = "sha256-zVnM4KYH4R6n2y9IAaYGOZVPnc8RuT/S2bseKJBO9bg=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace '"0.0.0"' '"${version}"'
+
+    sed -i '/addopts/d' pyproject.toml
   '';
 
   nativeBuildInputs = [
@@ -33,11 +38,14 @@ buildPythonPackage rec {
     aiohttp
   ];
 
-  # The only test requires network access
-  doCheck = false;
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
-    "garages_amsterdam"
+    "odp_amsterdam"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/osc-lib/default.nix b/pkgs/development/python-modules/osc-lib/default.nix
index 9d2a4929a6e77..1e86f11e41472 100644
--- a/pkgs/development/python-modules/osc-lib/default.nix
+++ b/pkgs/development/python-modules/osc-lib/default.nix
@@ -56,7 +56,6 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "osc_lib" ];
 
   meta = with lib; {
-    broken = stdenv.isDarwin;
     description = "OpenStackClient Library";
     homepage = "https://github.com/openstack/osc-lib";
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index 8fd12d1d3041d..44515e57e725b 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "9.2.2";
+  version = "9.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Azco/ZFWDqb+gTskW3V44YJ9Zi3Fg2nYLY4PXvqOrRo=";
+    hash = "sha256-/NsPRspe/Q1hgcgMatFUPWuSfNz0rnmQ2k2fYDo5CnQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix
index f448942ae01d7..0abcd60dcb843 100644
--- a/pkgs/development/python-modules/pyatmo/default.nix
+++ b/pkgs/development/python-modules/pyatmo/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyatmo";
-  version = "7.4.0";
+  version = "7.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "jabesq";
     repo = "pyatmo";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-0AgmH0cxXPUBzC30HyX68WsSyYsDcPaVQHLOIsZbHzI=";
+    hash = "sha256-GucatimZTg0Fggrz4bG1x6YSa3wE/uLGB4ufil/km3w=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -62,6 +62,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Simple API to access Netatmo weather station data";
     homepage = "https://github.com/jabesq/pyatmo";
+    changelog = "https://github.com/jabesq/pyatmo/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ delroth ];
   };
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index c81c42d47707b..86265aebbcb72 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "105";
+  version = "106";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "deconz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8GQJ4PCl8te3sovC5FwWoaQnXIRR27b7gPwfmyPRVBE=";
+    hash = "sha256-13of5ohz/hezlmGvSNqCu9QoOPKdPPtrhQHbxmG2/Do=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix
index de4373dff41f0..33a47238b36f5 100644
--- a/pkgs/development/python-modules/pyisy/default.nix
+++ b/pkgs/development/python-modules/pyisy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyisy";
-  version = "3.0.9";
+  version = "3.0.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "automicus";
     repo = "PyISY";
     rev = "refs/tags/v${version}";
-    hash = "sha256-95MUOxWR4YUce0fFcasKc6YjoSHTGhXJcUAg0mbXxCs=";
+    hash = "sha256-nThHJYU23I9q5Irk5SoW1+dy5Agl9IJc5gnLirzp3YM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pykaleidescape/default.nix b/pkgs/development/python-modules/pykaleidescape/default.nix
new file mode 100644
index 0000000000000..62d65490ff0aa
--- /dev/null
+++ b/pkgs/development/python-modules/pykaleidescape/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, dnspython
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pykaleidescape";
+  version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "SteveEasley";
+    repo = pname;
+    rev = "refs/tags/v${version}";
+    hash = "sha256-KM/gtpsQ27QZz2uI1t/yVN5no0zp9LZag1duAJzK55g=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    dnspython
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "kaleidescape"
+  ];
+
+  disabledTests = [
+    # Test requires network access
+    "test_resolve_succeeds"
+  ];
+
+  meta = with lib; {
+    description = "Module for controlling Kaleidescape devices";
+    homepage = "https://github.com/SteveEasley/pykaleidescape";
+    changelog = "https://github.com/SteveEasley/pykaleidescape/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pynina/default.nix b/pkgs/development/python-modules/pynina/default.nix
index be81bd6e6557a..1d6376d0af69c 100644
--- a/pkgs/development/python-modules/pynina/default.nix
+++ b/pkgs/development/python-modules/pynina/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynina";
-  version = "0.1.8";
+  version = "0.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyNINA";
     inherit version;
-    sha256 = "sha256-U8/SzkkZJLRBpTQx8NRpFWUlckn4Jr0n9cHR4/plyb0=";
+    hash = "sha256-2Ujq2+6xQXPjKzK3HQbJnjz8cX3ALUV+22gdQflFxFY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index 13519664b52bc..26292d3a8312d 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pypck";
-  version = "0.7.15";
+  version = "0.7.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "alengwenus";
     repo = pname;
-    rev = version;
-    hash = "sha256-OuM/r9rxIl4niY87cEcbZ73x2ZIQbaPZqbMrQ7hZE/g=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-OcXMVgG62JUH28BGvfO/rpnC++/klhBLJ2HafDu9R40=";
   };
 
   checkInputs = [
@@ -45,6 +45,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "LCN-PCK library written in Python";
     homepage = "https://github.com/alengwenus/pypck";
+    changelog = "https://github.com/alengwenus/pypck/releases/tag/${version}";
     license = with licenses; [ epl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pyswitchbee/default.nix b/pkgs/development/python-modules/pyswitchbee/default.nix
index 58466f0d9b809..47614cffdfdbb 100644
--- a/pkgs/development/python-modules/pyswitchbee/default.nix
+++ b/pkgs/development/python-modules/pyswitchbee/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbee";
-  version = "1.6.2";
+  version = "1.7.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "jafar-atili";
     repo = "pySwitchbee";
     rev = "refs/tags/${version}";
-    hash = "sha256-MDutpeHI6MW1VwCRTPJK/y08ee4eidOHluMf6lPQfEk=";
+    hash = "sha256-M3sxxBp4IoqZLX9Lyw35Z0zkV6fDT7AkeDOcdPN5k7w=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
index 8100fcea5157b..df5cf9d796077 100644
--- a/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -1,15 +1,18 @@
 { lib
 , bleak
 , bleak-retry-connector
+, boto3
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.30.1";
+  version = "0.36.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,12 +21,15 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-5Rn1hQ1TZhRiCJGJCaA1sl+HnerL/oOhRdMiSl1Recg=";
+    hash = "sha256-eXCHmtdizRJJdwFeZU0yLi8NWwMqbET6ZItQQClYVI4=";
   };
 
   propagatedBuildInputs = [
     bleak
     bleak-retry-connector
+    boto3
+    cryptography
+    requests
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pytest-unordered/default.nix b/pkgs/development/python-modules/pytest-unordered/default.nix
index 5dc0916991c9d..5bf17834e0681 100644
--- a/pkgs/development/python-modules/pytest-unordered/default.nix
+++ b/pkgs/development/python-modules/pytest-unordered/default.nix
@@ -1,25 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytest
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-unordered";
-  version = "0.4.1";
+  version = "0.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "utapyngo";
-    repo = pname;
-    rev = "972012a984b1e9fb3e98f9e8fe9e2ada16ad8110";
-    hash = "sha256-mCcR6WZb2+V5n0PwgsjvnChWnANkIyQ0YtqwTKBYtaA=";
+    repo = "pytest-unordered";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-51UJjnGBO7qBvQlY8F0B29n8+EO2aa3DF3WOwcjZzSo=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  buildInputs = [
+    pytest
+  ];
 
-  pythonImportsCheck = [ "pytest_unordered" ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_unordered"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/utapyngo/pytest-unordered/blob/v${version}/CHANGELOG.md";
     description = "Test equality of unordered collections in pytest";
     homepage = "https://github.com/utapyngo/pytest-unordered";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/python-arango/default.nix b/pkgs/development/python-modules/python-arango/default.nix
index ba44e94b9a31a..c5c3a93c3bae2 100644
--- a/pkgs/development/python-modules/python-arango/default.nix
+++ b/pkgs/development/python-modules/python-arango/default.nix
@@ -22,15 +22,16 @@ in
 
 buildPythonPackage rec {
   pname = "python-arango";
-  version = "7.5.3";
-  disabled = pythonOlder "3.7";
+  version = "7.5.4";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "ArangoDB-Community";
     repo = "python-arango";
-    rev = version;
-    sha256 = "0qb2yp05z8dmgsyyxqrl3q0a60jaiih96zhxmqrn2yf7as45n07j";
+    rev = "refs/tags/${version}";
+    hash = "sha256-b3UZuH2hpulRSThReBkDwh0MLJmc95HeWInmmMAl4g0=";
   };
 
   propagatedBuildInputs = [
@@ -127,12 +128,15 @@ buildPythonPackage rec {
     "test_replication_applier"
   ];
 
-  pythonImportsCheck = [ "arango" ];
+  pythonImportsCheck = [
+    "arango"
+  ];
 
   meta = with lib; {
     description = "Python Driver for ArangoDB";
     homepage = "https://github.com/ArangoDB-Community/python-arango";
+    changelog = "https://github.com/ArangoDB-Community/python-arango/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = [ maintainers.jsoo1 ];
+    maintainers = with maintainers; [ jsoo1 ];
   };
 }
diff --git a/pkgs/development/python-modules/python-fsutil/default.nix b/pkgs/development/python-modules/python-fsutil/default.nix
index 1f04a3a14b2d9..6ebb1485d2038 100644
--- a/pkgs/development/python-modules/python-fsutil/default.nix
+++ b/pkgs/development/python-modules/python-fsutil/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "python-fsutil";
-  version = "0.8.0";
+  version = "0.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "fabiocaccamo";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-J5B5THfB/yPG1JSCpO2HTHTH0jn0nbKFzXpZMGJ/dKA=";
+    hash = "sha256-rMQjsGqdiXe8zS18hZQAro3UWyHPjNJYyQ/NAoxbE7k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-ipmi/default.nix b/pkgs/development/python-modules/python-ipmi/default.nix
index cbd68f387656d..08c23dfb5d3a5 100644
--- a/pkgs/development/python-modules/python-ipmi/default.nix
+++ b/pkgs/development/python-modules/python-ipmi/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-ipmi";
-  version = "0.5.2";
+  version = "0.5.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kontron";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VXWSoVRfgJWf9rOT4SE1mTJdeNmzR3TRc2pc6Pp1M5U=";
+    sha256 = "sha256-Y8HJ7MXYHJRUWPTcw8p+GGSFswuRI7u+/bIaJpKy7lY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix
index 5ad8815509ac6..4f0b96fed32cc 100644
--- a/pkgs/development/python-modules/pytibber/default.nix
+++ b/pkgs/development/python-modules/pytibber/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pytibber";
-  version = "0.26.6";
+  version = "0.26.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = "refs/tags/${version}";
-    hash = "sha256-A/P59fhXlMu1QF1Nc7zeE9q4KgS6ABe7FraZWZPYDys=";
+    hash = "sha256-T2J31+H/cO000qi2AlEGaFtAu0fl7u1LAA/QUxRAiK8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 2f82837c5cf4d..12cfd4e71779a 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.31";
+  version = "9.2.32";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Te0wFz+3/HVKlMXW5WJ6mRGh8wWiMXR6Ypi/4hvnz/8=";
+    hash = "sha256-5ZCFAEHcM+3yH9pFyrduG8Uo1Ofr4JkvcXjJEi5KRMc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/qtawesome/default.nix b/pkgs/development/python-modules/qtawesome/default.nix
index b4e02e77b2290..00873503e0f7c 100644
--- a/pkgs/development/python-modules/qtawesome/default.nix
+++ b/pkgs/development/python-modules/qtawesome/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "qtawesome";
-  version = "1.2.1";
+  version = "1.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "spyder-ide";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-KcYCXrTP8ED5j/VTLTw7a8zotDSqIu9ultmwp8Ip5nM=";
+    hash = "sha256-zXwIwYG76aCKPTE8mGiAOK8kQUCzJbqnjJszmIqByaA=";
   };
 
   propagatedBuildInputs = [
@@ -40,6 +40,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Iconic fonts in PyQt and PySide applications";
     homepage = "https://github.com/spyder-ide/qtawesome";
+    changelog = "https://github.com/spyder-ide/qtawesome/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ ];
     platforms = platforms.linux; # fails on Darwin
diff --git a/pkgs/development/python-modules/quadprog/default.nix b/pkgs/development/python-modules/quadprog/default.nix
new file mode 100644
index 0000000000000..bb1112f5e8fa9
--- /dev/null
+++ b/pkgs/development/python-modules/quadprog/default.nix
@@ -0,0 +1,54 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, cython
+, numpy
+, pytestCheckHook
+, scipy
+}:
+
+buildPythonPackage rec {
+  pname = "quadprog";
+  version = "0.1.11";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-/suv1KbG3HbiYqEiuCtB/ia3xbxAO5AMuWx1Svy0rMw=";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+  ];
+
+  preBuild = ''
+    cython quadprog/quadprog.pyx
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+    scipy
+  ];
+
+  pytestFlagsArray = [
+    # test fails on aarch64-darwin
+    "--deselect=tests/test_1.py::test_5"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/quadprog/quadprog";
+    changelog = "https://github.com/quadprog/quadprog/releases/tag/v${version}";
+    description = "Quadratic Programming Solver";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ wegank ];
+  };
+}
diff --git a/pkgs/development/python-modules/radicale_infcloud/default.nix b/pkgs/development/python-modules/radicale_infcloud/default.nix
index 580ab59e630b8..0bd4629b0912b 100644
--- a/pkgs/development/python-modules/radicale_infcloud/default.nix
+++ b/pkgs/development/python-modules/radicale_infcloud/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage {
     homepage = "https://github.com/Unrud/RadicaleInfCloud/";
     description = "Integrate InfCloud into Radicale's web interface";
     license = with licenses; [ agpl3 gpl3 ];
-    maintainers = with maintainers; [ aneeshusa erictapen ];
+    maintainers = with maintainers; [ erictapen ];
   };
 }
diff --git a/pkgs/development/python-modules/reolink-aio/default.nix b/pkgs/development/python-modules/reolink-aio/default.nix
new file mode 100644
index 0000000000000..ff6acc1f2b597
--- /dev/null
+++ b/pkgs/development/python-modules/reolink-aio/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, aiohttp
+, aiounittest
+, buildPythonPackage
+, fetchFromGitHub
+, ffmpeg-python
+, pytestCheckHook
+, pythonOlder
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "reolink-aio";
+  version = "0.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "starkillerOG";
+    repo = "reolink_aio";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-KUsBCV8OVPj0QC1DKUBVRqtt1dpGq+JunuBZsZKfQno=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    ffmpeg-python
+    requests
+  ];
+
+  checkInputs = [
+    aiounittest
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # Packages in nixpkgs is different than the module name
+    substituteInPlace setup.py \
+      --replace "ffmpeg" "ffmpeg-python"
+  '';
+
+  pytestFlagsArray = [
+    "tests/test.py"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test1_settings"
+    "test2_states"
+    "test3_images"
+    "test4_properties"
+    "test_succes"
+  ];
+
+  pythonImportsCheck = [
+    "reolink_aio"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the Reolink IP camera API";
+    homepage = "https://github.com/starkillerOG/reolink_aio";
+    changelog = "https://github.com/starkillerOG/reolink_aio/releases/tag/${version}";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/reolink/default.nix b/pkgs/development/python-modules/reolink/default.nix
index 896eb093cf9be..070c665e8a415 100644
--- a/pkgs/development/python-modules/reolink/default.nix
+++ b/pkgs/development/python-modules/reolink/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fwestenberg";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-XUYTDHh0oTro6BT+h4LjRdMukOZTlWP+giFpjLciZNQ=";
+    hash = "sha256-XUYTDHh0oTro6BT+h4LjRdMukOZTlWP+giFpjLciZNQ=";
   };
 
   propagatedBuildInputs = [
@@ -61,8 +61,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Python module to interact with the Reolink IP camera API";
+    description = "Module to interact with the Reolink IP camera API";
     homepage = "https://github.com/fwestenberg/reolink";
+    changelog = "https://github.com/fwestenberg/reolink/releases/tag/v${version}";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/roonapi/default.nix b/pkgs/development/python-modules/roonapi/default.nix
index 282e5b684f65f..ae3116de9ae53 100644
--- a/pkgs/development/python-modules/roonapi/default.nix
+++ b/pkgs/development/python-modules/roonapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "roonapi";
-  version = "0.1.2";
+  version = "0.1.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pavoni";
     repo = "pyroon";
     rev = version;
-    hash = "sha256-HcHs9UhRbSKTxW5qEvmMrQ+kWIBAqVpyldapx635uNM=";
+    hash = "sha256-QOFBNTz8g3f6C8Vjkblrd3QFCRrA1WqOCv6xS4GbFC4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/skodaconnect/default.nix b/pkgs/development/python-modules/skodaconnect/default.nix
index a3354718c3aa4..6ea921c9f58af 100644
--- a/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/pkgs/development/python-modules/skodaconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "skodaconnect";
-  version = "1.2.5";
+  version = "1.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lendy007";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-Re6ECMaDmg007XHw9Kpa46+oEs+01CzOZzszKzKS4WA=";
+    hash = "sha256-1x1TQNhKL3RgoeYSB8l607mHt0VrHwOU1CFemoaTCt8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/socialscan/default.nix b/pkgs/development/python-modules/socialscan/default.nix
index 9e51ccd81d37e..5e25e3c16bec2 100644
--- a/pkgs/development/python-modules/socialscan/default.nix
+++ b/pkgs/development/python-modules/socialscan/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "socialscan";
-  version = "1.4.2";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "iojw";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "rT+/j6UqDOzuNBdN3I74YIxS6qkhd7BjHCGX+gGjprc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-jiyTcpJ00DvfweChawj1ugdCVHHAdwDbHEp9jivH7gs=";
   };
 
   propagatedBuildInputs = [
@@ -37,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library and CLI for accurately querying username and email usage on online platforms";
     homepage = "https://github.com/iojw/socialscan";
+    changelog = "https://github.com/iojw/socialscan/releases/tag/v${version}";
     license = with licenses; [ mpl20 ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/torch/default.nix b/pkgs/development/python-modules/torch/default.nix
index f33c6744c25e9..bdeec017fbf4c 100644
--- a/pkgs/development/python-modules/torch/default.nix
+++ b/pkgs/development/python-modules/torch/default.nix
@@ -167,7 +167,7 @@ in buildPythonPackage rec {
   ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
 
   buildInputs = [ blas blas.provider pybind11 ]
-    ++ [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now
+    ++ lib.optionals stdenv.isLinux [ linuxHeaders_5_19 ] # TMP: avoid "flexible array member" errors for now
     ++ lib.optionals cudaSupport [ cudnn magma nccl ]
     ++ lib.optionals stdenv.isLinux [ numactl ]
     ++ lib.optionals stdenv.isDarwin [ CoreServices libobjc ];
diff --git a/pkgs/development/python-modules/tubeup/default.nix b/pkgs/development/python-modules/tubeup/default.nix
index 045780219d427..abb5e6c1fc0fd 100644
--- a/pkgs/development/python-modules/tubeup/default.nix
+++ b/pkgs/development/python-modules/tubeup/default.nix
@@ -4,29 +4,39 @@
 , fetchPypi
 , yt-dlp
 , docopt
-, isPy27
+, pythonOlder
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "0.0.34";
+  version = "0.0.35";
   format = "setuptools";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae1e606b243fd70742f8b5871c497628d258ee9f416caa46544aca9a5fbfbca0";
+    sha256 = "006aea68bb8d967a7427c58ee7862e3f2481dae667c2bbcfb1a1f2fd80e665d1";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
+      --replace "internetarchive==3.0.2" "internetarchive" \
+      --replace "urllib3==1.26.13" "urllib3" \
       --replace "docopt==0.6.2" "docopt"
   '';
 
-  propagatedBuildInputs = [ internetarchive docopt yt-dlp ];
+  propagatedBuildInputs = [
+    internetarchive
+    docopt
+    urllib3
+    yt-dlp
+  ];
 
-  pythonImportsCheck = [ "tubeup" ];
+  pythonImportsCheck = [
+    "tubeup"
+  ];
 
   # Tests failing upstream
   doCheck = false;
@@ -34,7 +44,8 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Youtube (and other video site) to Internet Archive Uploader";
     homepage = "https://github.com/bibanon/tubeup";
+    changelog = "https://github.com/bibanon/tubeup/releases/tag/${version}";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/pkgs/development/python-modules/vallox-websocket-api/default.nix b/pkgs/development/python-modules/vallox-websocket-api/default.nix
index 821dbb19e6358..8e760921ba28e 100644
--- a/pkgs/development/python-modules/vallox-websocket-api/default.nix
+++ b/pkgs/development/python-modules/vallox-websocket-api/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , construct
 , websockets
 , asynctest
@@ -10,19 +11,22 @@
 
 buildPythonPackage rec {
   pname = "vallox-websocket-api";
-  version = "2.12.0";
+  version = "3.0.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
-  format = "setuptools";
-
   src = fetchFromGitHub {
     owner = "yozik04";
     repo = "vallox_websocket_api";
     rev = "refs/tags/${version}";
-    hash = "sha256-Ibp+oAd6q8Vu9V+TaLzlPbWIDheFUjCyW83Hg4Ztw20=";
+    hash = "sha256-iy5ipW7ldvLWhfxgPlWcsFeKrAXqtyypveAX74u8zmo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     construct
     websockets
diff --git a/pkgs/development/python-modules/whois/default.nix b/pkgs/development/python-modules/whois/default.nix
index 9cfae34b5ad61..11669fd81c13b 100644
--- a/pkgs/development/python-modules/whois/default.nix
+++ b/pkgs/development/python-modules/whois/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "whois";
-  version = "0.9.19";
+  version = "0.9.20";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "DannyCork";
     repo = "python-whois";
     rev = "refs/tags/${version}";
-    hash = "sha256-b8OZppynDT0MCwH4ic+wMJzWqyUzsigzxD0yYGfgJmI=";
+    hash = "sha256-J2v2TKTrzhi1XLW2e/N3jAGCy3W8cQEFV5cJAf8gT4g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 2f3a3768331fa..9d97d0268edcd 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "2.1.0";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-a8hC63G+FZBe6yePgrmzRsRTzpHWS+tBQmVUS/uHfzI=";
+    hash = "sha256-vz24saI0wuhax4/zCBDM3HB+ZjZI8bGOWr2va4V3zV8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 6bc6b7888d8c5..a65e485004a89 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -4,15 +4,17 @@
 , buildPythonPackage
 , fetchFromGitHub
 , ifaddr
+, poetry-core
 , pytest-asyncio
 , pythonOlder
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.39.4";
-  format = "setuptools";
+  version = "0.47.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,9 +22,14 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-CUHpTtCQBuuy8E8bjxfhGOIKr9n2Gdhg/RIyv6OWGvI=";
+    hash = "sha256-vY4n0QIEzumtUayRbGGqycR3z7kpbOH4XKxSMcnTVrA=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     ifaddr
@@ -36,6 +43,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  preCheck = ''
+    sed -i '/addopts/d' pyproject.toml
+  '';
+
   disabledTests = [
     # tests that require network interaction
     "test_close_multiple_times"
@@ -58,6 +69,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/python-zeroconf/python-zeroconf/releases/tag/${version}";
     description = "Python implementation of multicast DNS service discovery";
     homepage = "https://github.com/jstasiak/python-zeroconf";
     license = licenses.lgpl21Only;
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index c4cc67e24c0b1..c0e0edb124c7f 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.89";
+  version = "0.0.90";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-5qSznGO3Cke+lGPLHjzh/db5O0/Ypmd6D5MTHuiox6Q=";
+    hash = "sha256-SfzwS7M821uGfbOLR37iiw+gEebKDgu1H7f0fs3J9kw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 42aaaa4d13e19..1f18447ee7221 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.43.1";
+  version = "0.44.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qnGMUY7c2jqLQbVybVdu9vWcPMFoxCnCCTBhWP+AXE0=";
+    hash = "sha256-AG8LXdQvutlgeg7543bDx8Znidf67CzusnnD6GOakf4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 35b93abda4900..43878362bb6d9 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "2.3.26";
-  source.sha256 = "sha256-HuU832HnKK2Cxtv/Bs/NhVHVQi6I6GID8OLb6a6Zngk=";
+  version = "2.4.2";
+  source.sha256 = "sha256-mYUOxAWH7hv7Kn521OVI8PyzoO3T6LGPJjAxA07buR8=";
   dontPatchShebangs = true;
 
   passthru.updateScript = writeScript "gem-update-script" ''
diff --git a/pkgs/development/tools/analysis/hotspot/default.nix b/pkgs/development/tools/analysis/hotspot/default.nix
index 5fede1aee5c52..449d5b6b5ed3b 100644
--- a/pkgs/development/tools/analysis/hotspot/default.nix
+++ b/pkgs/development/tools/analysis/hotspot/default.nix
@@ -9,6 +9,7 @@
 , kio
 , kitemmodels
 , kitemviews
+, kparts
 , kwindowsystem
 , libelf
 , qtbase
@@ -21,13 +22,13 @@
 
 mkDerivation rec {
   pname = "hotspot";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "KDAB";
     repo = "hotspot";
     rev = "v${version}";
-    sha256 = "1f68bssh3p387hkavfjkqcf7qf7w5caznmjfjldicxphap4riqr5";
+    hash = "sha256-7GuIe8F3QqosW/XaN3KC1WeWcI7woUiEc9Nw0b+fSk0=";
     fetchSubmodules = true;
   };
 
@@ -36,12 +37,13 @@ mkDerivation rec {
     extra-cmake-modules
   ];
   buildInputs = [
-    elfutils
+    (elfutils.override { enableDebuginfod = true; }) # perfparser needs to find debuginfod.h
     kconfigwidgets
     ki18n
     kio
     kitemmodels
     kitemviews
+    kparts
     kwindowsystem
     libelf
     qtbase
@@ -60,11 +62,6 @@ mkDerivation rec {
     mkdir -p 3rdparty/{perfparser,PrefixTickLabels}/.git
   '';
 
-  cmakeFlags = [
-    "-DRUSTC_DEMANGLE_INCLUDE_DIR=${rustc-demangle}/include"
-    "-DRUSTC_DEMANGLE_LIBRARY=${rustc-demangle}/lib/librustc_demangle.so"
-  ];
-
   meta = {
     description = "A GUI for Linux perf";
     longDescription = ''
diff --git a/pkgs/development/tools/build-managers/tup/default.nix b/pkgs/development/tools/build-managers/tup/default.nix
index 0763f2e9359c9..e53acd4e9e606 100644
--- a/pkgs/development/tools/build-managers/tup/default.nix
+++ b/pkgs/development/tools/build-managers/tup/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, pcre }:
+{ lib, stdenv, fetchFromGitHub, fuse3, macfuse-stubs, pkg-config, sqlite, pcre }:
 
 let
   fuse = if stdenv.isDarwin then macfuse-stubs else fuse3;
@@ -15,13 +15,24 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ fuse pcre ];
+  buildInputs = [ fuse pcre sqlite ];
 
   patches = [ ./fusermount-setuid.patch ];
 
   configurePhase = ''
     substituteInPlace  src/tup/link.sh --replace '`git describe' '`echo ${version}'
-    substituteInPlace Tuprules.tup --replace 'pcre-config' 'pkg-config libpcre'
+
+    for f in Tupfile Tuprules.tup src/tup/server/Tupfile build.sh; do
+      substituteInPlace "$f" \
+        --replace "pkg-config"  "${stdenv.cc.targetPrefix}pkg-config" \
+        --replace "pcre-config" "${stdenv.cc.targetPrefix}pkg-config libpcre"
+    done
+
+    cat << EOF > tup.config
+    CONFIG_CC=${stdenv.cc.targetPrefix}cc
+    CONFIG_AR=${stdenv.cc.targetPrefix}ar
+    CONFIG_TUP_USE_SYSTEM_SQLITE=y
+    EOF
   '';
 
   # Regular tup builds require fusermount to have suid, which nix cannot
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
index aa83dfb16166e..b5eda9efb9173 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/cli.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, callPackage, fetchFromGitHub, fetchpatch }:
+{ lib, buildGoModule, callPackage, fetchFromGitHub }:
 let
   common = callPackage ./common.nix { };
 in
@@ -7,16 +7,6 @@ buildGoModule {
   inherit (common) version src ldflags postBuild;
   vendorSha256 = null;
 
-  patches = [
-    # Fixes https://github.com/NixOS/nixpkgs/issues/184875, until a new version
-    # is released.
-    (fetchpatch {
-      name = "display-system-ca-error-only-if-there-is-an-error.patch";
-      url = "https://github.com/woodpecker-ci/woodpecker/commit/1fb800329488de74c9db7cfc5dc43fb5a4efbad8.patch";
-      sha256 = "sha256-wKI/7PhbxsAD/qrl4nnkHyyQhQcvGlySysnxytGJzfU=";
-    })
-  ];
-
   subPackages = "cmd/cli";
 
   CGO_ENABLED = 0;
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/common.nix b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
index d6b337f4892af..e94e83b7e6b98 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/common.nix
+++ b/pkgs/development/tools/continuous-integration/woodpecker/common.nix
@@ -1,8 +1,8 @@
 { lib, fetchFromGitHub }:
 let
-  version = "0.15.5";
-  srcSha256 = "yaA2PKw4xuqd8vGXh/GhcJJHw4mJ1z97tWJTREE14ow=";
-  yarnSha256 = "1jpb4gblmknl81f6iclqg8ba82ca931q38xpm0kzki8y5ayk9n67";
+  version = "0.15.6";
+  srcSha256 = "sha256-8XXeGEw7+NGULsD5/g1j9+P2h82oRpEuMJT6sMp+z38=";
+  yarnSha256 = "sha256-PY0BIBbjyi2DG+n5x/IPc0AwrFSwII4huMDU+FeZ/Sc=";
 in
 {
   inherit version yarnSha256;
diff --git a/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json b/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
index eb29431a0566c..3caa2f3cbf7f0 100644
--- a/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
+++ b/pkgs/development/tools/continuous-integration/woodpecker/woodpecker-package.json
@@ -18,7 +18,6 @@
   },
   "dependencies": {
     "@kyvg/vue3-notification": "2.3.4",
-    "@meforma/vue-toaster": "1.2.2",
     "ansi-to-html": "0.7.2",
     "dayjs": "1.10.7",
     "floating-vue": "2.0.0-beta.5",
@@ -54,7 +53,7 @@
     "typescript": "4.4.4",
     "unplugin-icons": "0.12.17",
     "unplugin-vue-components": "0.17.0",
-    "vite": "2.6.13",
+    "vite": "2.9.13",
     "vite-plugin-windicss": "1.4.12",
     "vite-svg-loader": "3.0.0",
     "vue-tsc": "0.28.10",
diff --git a/pkgs/development/tools/database/apgdiff/default.nix b/pkgs/development/tools/database/apgdiff/default.nix
index 016259f0bbb4c..d96e3dbd99d04 100644
--- a/pkgs/development/tools/database/apgdiff/default.nix
+++ b/pkgs/development/tools/database/apgdiff/default.nix
@@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
     homepage = "https://apgdiff.com";
     license = licenses.mit;
     inherit (jre.meta) platforms;
-    sourceProvenance = sourceTypes.binaryBytecode;
+    sourceProvenance = [ sourceTypes.binaryBytecode ];
     maintainers = [ maintainers.misterio77 ];
   };
 })
diff --git a/pkgs/development/tools/database/timescaledb-tune/default.nix b/pkgs/development/tools/database/timescaledb-tune/default.nix
index faf820c1bde21..020c99380b6aa 100644
--- a/pkgs/development/tools/database/timescaledb-tune/default.nix
+++ b/pkgs/development/tools/database/timescaledb-tune/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "timescaledb-tune";
-  version = "0.14.2";
+  version = "0.14.3";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vbFfqGWYpw0ppon/0oQMRixQStk+YSi/QFMi0AQoUpQ=";
+    sha256 = "sha256-MQi8A7eWOShP/VhxuX4Uhz1ueLtKvOi1x4E7aFXEsQo=";
   };
 
-  vendorSha256 = "sha256-n2jrg9FiR/gSrbds/QVV8Duf7BTEs36yYi4F3Ve+d0E=";
+  vendorSha256 = "sha256-yXWeINubvfZ2S+3gVFsrzeVO3XXIiZ14qfK+9Bj3SV4=";
 
   ldflags = [ "-s" "-w" ];
 
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 42f02ee15f858..07b136ab03b6e 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.16.7";
+  version = "0.16.13";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-zo7YQ4Is3VWsXGvPNrg95tZ76qTSQRyntFjDeqhoyVw=";
+    hash = "sha256-X4UB2RDfupUP+u+4g2jLxbpx4n4uarhcjs5VtP9Zi20=";
   };
 
-  vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
+  vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
 
   subPackages = [ "cmd/esbuild" ];
 
diff --git a/pkgs/development/tools/haskell/vaultenv/default.nix b/pkgs/development/tools/haskell/vaultenv/default.nix
index b0810d33b50aa..bde2dce30eeb3 100644
--- a/pkgs/development/tools/haskell/vaultenv/default.nix
+++ b/pkgs/development/tools/haskell/vaultenv/default.nix
@@ -19,6 +19,7 @@
 , parser-combinators
 , retry
 , lib
+, quickcheck-instances
 , text
 , unix
 , unordered-containers
@@ -28,13 +29,13 @@
 }:
 mkDerivation rec {
   pname = "vaultenv";
-  version = "0.14.0";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "channable";
     repo = "vaultenv";
     rev = "v${version}";
-    sha256 = "sha256-sH4iaKQXgwI/WISXzMR7xqh9Dyx61U/gjYn7exgUetI=";
+    sha256 = "sha256-yoYkAypH+HQSVTvd/qKNFkL5krbB5mZw3ec9ojvy+Pw=";
   };
 
   buildTools = [ hpack ];
@@ -86,6 +87,7 @@ mkDerivation rec {
     optparse-applicative
     parser-combinators
     retry
+    quickcheck-instances
     text
     unix
     unordered-containers
@@ -96,8 +98,4 @@ mkDerivation rec {
   description = "Runs processes with secrets from HashiCorp Vault";
   license = lib.licenses.bsd3;
   maintainers = with lib.maintainers; [ lnl7 manveru ];
-
-  # Does not compile on ghc92
-  hydraPlatforms = lib.platforms.none;
-  broken = true;
 }
diff --git a/pkgs/development/tools/language-servers/millet/default.nix b/pkgs/development/tools/language-servers/millet/default.nix
index ccc895b895694..1c87084f7d868 100644
--- a/pkgs/development/tools/language-servers/millet/default.nix
+++ b/pkgs/development/tools/language-servers/millet/default.nix
@@ -2,24 +2,24 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "millet";
-  version = "0.6.0";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "azdavis";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-tP1ccUtHfj+JPUYGo+QFYjbz56uNl3p53QNeE/xaCt4=";
+    hash = "sha256-sZy5SQ3Gd6bZcEx/30XJXoUI2/HRGTUn8ZZHtti5Cos=";
   };
 
-  cargoHash = "sha256-umOlvHDA8AtoAeB1i8nNgbjvzTmzwZfdjF+TCTKzqAU=";
+  cargoHash = "sha256-74bGGZakz3yAaamqt3UU4r0QGbUcN6vIXebsgTj6cBM=";
 
   postPatch = ''
     rm .cargo/config.toml
   '';
 
-  cargoBuildFlags = [ "--package" "lang-srv" ];
+  cargoBuildFlags = [ "--package" "millet-ls" ];
 
-  cargoTestFlags = [ "--package" "lang-srv" ];
+  cargoTestFlags = [ "--package" "millet-ls" ];
 
   meta = with lib; {
     description = "A language server for Standard ML";
@@ -27,6 +27,6 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/azdavis/millet/raw/v${version}/docs/changelog.md";
     license = [ licenses.mit /* or */ licenses.asl20 ];
     maintainers = with maintainers; [ marsam ];
-    mainProgram = "lang-srv";
+    mainProgram = "millet-ls";
   };
 }
diff --git a/pkgs/development/tools/misc/loccount/default.nix b/pkgs/development/tools/misc/loccount/default.nix
index 32a14404c6062..5fd519eb06a51 100644
--- a/pkgs/development/tools/misc/loccount/default.nix
+++ b/pkgs/development/tools/misc/loccount/default.nix
@@ -1,18 +1,29 @@
-{ lib, buildGoPackage, fetchFromGitLab }:
-buildGoPackage rec {
+{ lib, buildGoModule, fetchFromGitLab, python3 }:
+buildGoModule rec {
   pname = "loccount";
-  version = "1.2";
-
-  goPackagePath = "gitlab.com/esr/loccount";
-  excludedPackages = "tests";
+  version = "2.14";
 
   src = fetchFromGitLab {
     owner = "esr";
     repo = "loccount";
     rev = version;
-    sha256 = "18z7ai7wy2k9yd3w65d37apfqs3h9bc2c15y7v1bydppi44zfsdk";
+    hash = "sha256-9tzDNwWM4uzxC+xqM603l8EIqYrGUUvZgSe6r1EyHi8=";
   };
 
+  vendorHash = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  excludedPackages = "tests";
+
+  nativeBuildInputs = [ python3 ];
+
+  ldflags = [ "-s" "-w" ];
+
+  preBuild = ''
+    patchShebangs --build tablegen.py
+
+    go generate
+  '';
+
   meta = with lib; {
     description = "Re-implementation of sloccount in Go";
     longDescription = ''
@@ -26,10 +37,9 @@ buildGoPackage rec {
       an exception; loccount corrects buggy counting of single-quote multiline
       literals in sloccount 2.26.
     '';
-    homepage="https://gitlab.com/esr/loccount";
-    downloadPage="https://gitlab.com/esr/loccount/tree/master";
+    homepage = "https://gitlab.com/esr/loccount";
+    downloadPage = "https://gitlab.com/esr/loccount/tree/master";
     license = licenses.bsd2;
     maintainers = with maintainers; [ calvertvl ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/ptags/default.nix b/pkgs/development/tools/misc/ptags/default.nix
index b8be0ee3dc6da..6f554e6d352b6 100644
--- a/pkgs/development/tools/misc/ptags/default.nix
+++ b/pkgs/development/tools/misc/ptags/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ptags";
-  version = "0.3.2";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "ptags";
     rev = "v${version}";
-    sha256 = "1xr1szh4dfrcmi6s6dj791k1ix2zbv75rqkqbyb1lmh5548kywkg";
+    sha256 = "sha256-hFHzNdTX3nw2OwRxk9lKrt/YpaBXwi5aE/Qn3W9PRf4=";
   };
 
-  cargoSha256 = "1pz5hvn1iq26i8c2cmqavhnri8h0sn40khrxvcdkj9q47nsj5wcx";
+  cargoSha256 = "sha256-cFezB7uwUznC/8NXJNrBqP0lf0sXAQBoGksXFOGrUIg=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index 02d5a4e549da2..30c0800f2c5f4 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation (finalAttrs: {
   pname = "universal-ctags";
-  version = "5.9.20221106.0";
+  version = "6.0.0";
 
   src = fetchFromGitHub {
     owner = "universal-ctags";
     repo = "ctags";
-    rev = "p${finalAttrs.version}";
-    hash = "sha256-6piWdofvlX+ysXmRPnQc7PlZuHSyVqdVxOztY2+Pcss=";
+    rev = "v${finalAttrs.version}";
+    hash = "sha256-XlqBndo8g011SDGp3zM7S+AQ0aCp6rpQlqJF6e5Dd6w=";
   };
 
   depsBuildBuild = [
@@ -76,7 +76,7 @@ stdenv.mkDerivation (finalAttrs: {
     '';
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
-    platforms = platforms.unix;
+    platforms = platforms.all;
     mainProgram = "ctags";
     priority = 1; # over the emacs implementation
   };
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index c6e5c3da01649..7c305012c57ea 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "sha256-8dWsBLegJ/PVSeJc+IXr96zBNeApHBjmtDEjp5nBQ84=";
+    sha256 = "sha256-ttSrhI77BKoqMl0AFdMu1EFO1xMOx6oS+YFY7/RFzzw=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/ruff/default.nix b/pkgs/development/tools/ruff/default.nix
index 5caa5357e9b78..8c38ec2833ca2 100644
--- a/pkgs/development/tools/ruff/default.nix
+++ b/pkgs/development/tools/ruff/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruff";
-  version = "0.0.205";
+  version = "0.0.209";
 
   src = fetchFromGitHub {
     owner = "charliermarsh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fs9AjYnsOV3tbmoXoIfK5OJbErfImQl01TvorS/R4zc=";
+    sha256 = "sha256-DYMGGA/GGE4Vue8G61gmDFspODVI81vTK9iOuIB8dDA=";
   };
 
-  cargoSha256 = "sha256-YirtNOamGgjM84rZcZhOXfWj1WD4vvAJvi6nKx0lmTI=";
+  cargoSha256 = "sha256-Uvl/3VutaquorMMd8KQlqBc5DOdh23oLZSjGExTqUWE=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     darwin.apple_sdk.frameworks.CoreServices
diff --git a/pkgs/development/tools/rust/cargo-nextest/default.nix b/pkgs/development/tools/rust/cargo-nextest/default.nix
index 13bfdccac61f4..676a09bae86c5 100644
--- a/pkgs/development/tools/rust/cargo-nextest/default.nix
+++ b/pkgs/development/tools/rust/cargo-nextest/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-nextest";
-  version = "0.9.47";
+  version = "0.9.48";
 
   src = fetchFromGitHub {
     owner = "nextest-rs";
     repo = "nextest";
     rev = "cargo-nextest-${version}";
-    sha256 = "sha256-G7Y2x9aRcQB28uR2TlyG8JW9kYSD9iMPASd0VFXOxcE=";
+    sha256 = "sha256-y1Ka9XEXuwavAI23C4UmjTHraHHnbsA3QzDIkkSqfoU=";
   };
 
-  cargoSha256 = "sha256-7fesLvkHPpPS4xKn3r6hLjQzP0udm92BsVPhdckTk7c=";
+  cargoSha256 = "sha256-1LsAbBdRz5Xf+LF/eOc34d+SQ0Ein8JW5/4v7ZZEFqA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/rust/cargo-tauri/default.nix b/pkgs/development/tools/rust/cargo-tauri/default.nix
index 9c863e09efdd9..3f9549401441c 100644
--- a/pkgs/development/tools/rust/cargo-tauri/default.nix
+++ b/pkgs/development/tools/rust/cargo-tauri/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
@@ -7,8 +8,12 @@
 , cairo
 , gtk3
 , webkitgtk
+, darwin
 }:
 
+let
+  inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+in
 rustPlatform.buildRustPackage rec {
   pname = "tauri";
   version = "1.2.3";
@@ -26,7 +31,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-Hp6+T2CN0CsXaGnCVqAYaOjZNDkmI+MXDfHIgbU1S0g=";
 
-  buildInputs = [ glibc libsoup cairo gtk3 webkitgtk ];
+  buildInputs = lib.optionals stdenv.isLinux [ glibc libsoup cairo gtk3 webkitgtk ]
+    ++ lib.optionals stdenv.isDarwin [ CoreServices Security ];
   nativeBuildInputs = [ pkg-config ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/sq/default.nix b/pkgs/development/tools/sq/default.nix
index d150332ae63e1..e13549009792d 100644
--- a/pkgs/development/tools/sq/default.nix
+++ b/pkgs/development/tools/sq/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sq";
-  version = "0.18.2";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "neilotoole";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-x5NHMTyOZSGOnAUCRu1qZggU5m832TFrBTSNJU6DUKo=";
+    sha256 = "sha256-mJp4lb4pzjdjodHk2zLAEePn+oIPI/vTtU0YOIbmWDY=";
   };
 
-  vendorSha256 = "sha256-IRuwX+VF0ltASTt/QKlZ3A00tgDhc9qpBfzhINp3HgQ=";
+  vendorSha256 = "sha256-8kk+KCanbnsizGRjF3qcxCBxC7Sx0zfptQFTETZp89E=";
 
   proxyVendor = true;
 
diff --git a/pkgs/development/tools/zsv/default.nix b/pkgs/development/tools/zsv/default.nix
index a4aabab9d93f0..d5f188f80b684 100644
--- a/pkgs/development/tools/zsv/default.nix
+++ b/pkgs/development/tools/zsv/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zsv";
-  version = "0.3.3-alpha";
+  version = "0.3.4-alpha";
 
   src = fetchFromGitHub {
     owner = "liquidaty";
     repo = "zsv";
     rev = "v${version}";
-    sha256 = "sha256-gKtnyBCgiXNKiAjOYk2rxExfcNGHEAmjealcCTWRj+M=";
+    sha256 = "sha256-3drVqKRs5bjkvQiHyEANI5geeF5g7ba2+RxmAhxbu84=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/games/itch/default.nix b/pkgs/games/itch/default.nix
index 5776a1b43b2b0..ca0a04a8492d1 100644
--- a/pkgs/games/itch/default.nix
+++ b/pkgs/games/itch/default.nix
@@ -93,7 +93,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/itchio/itch";
     license = licenses.mit;
     platforms = platforms.linux;
-    sourceProvenance = lib.sourceTypes.binaryBytecode;
+    sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
     maintainers = with maintainers; [ pasqui23 ];
   };
 }
diff --git a/pkgs/games/r2mod_cli/default.nix b/pkgs/games/r2mod_cli/default.nix
index eb1dd25811aaf..b34159c3cd602 100644
--- a/pkgs/games/r2mod_cli/default.nix
+++ b/pkgs/games/r2mod_cli/default.nix
@@ -8,20 +8,20 @@
 
 stdenv.mkDerivation rec {
   pname = "r2mod_cli";
-  version = "1.2.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "Foldex";
     repo = "r2mod_cli";
     rev = "v${version}";
-    sha256 = "sha256-FS9P/uTZU4d6zpM3TlEW6i6PLGHxqqO2fc8D7VsPCig=";
+    sha256 = "sha256-WL6zF6EdGjNyOm0j4zYZ1Oe7StEttKFNO28Ne/dA7CQ=";
   };
 
   buildInputs = [ bashInteractive ];
 
   nativeBuildInputs = [ makeWrapper ];
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "DESTDIR=" "PREFIX=$(out)" ];
 
   postInstall = ''
     wrapProgram $out/bin/r2mod --prefix PATH : "${lib.makeBinPath [ jq p7zip ]}";
diff --git a/pkgs/games/rare/default.nix b/pkgs/games/rare/default.nix
index fbd3f95128218..766673d3ea024 100644
--- a/pkgs/games/rare/default.nix
+++ b/pkgs/games/rare/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonApplication rec {
   pname = "rare";
-  version = "1.9.3";
+  version = "1.9.4";
 
   src = fetchFromGitHub {
     owner = "Dummerle";
     repo = "Rare";
-    rev = version;
-    sha256 = "sha256-M+OMsyamh4WHIx7Pv2sLylOrnSmYrv1aEm3atqXrDaw=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-+STwVsDdvjP7HaqmaQVug+6h0n0rw/j4LGQQSNdLVQQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix b/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
index b8786ec92f6da..4d9f68c0d35f6 100644
--- a/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk-11.0/private-frameworks.nix
@@ -18,4 +18,7 @@
 
   # Also expose CoreSymbolication; used by `root` package.
   CoreSymbolication = {};
+
+  # Also expose DebugSymbols; used by `llvmPackages_8.lldb` package.
+  DebugSymbols = {};
 }
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 0cf95cbe9c561..376cc731639d8 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -326,7 +326,7 @@ in rec {
         "Versions/A/Frameworks/WebKitLegacy.framework/Versions/A/WebKitLegacy.tbd"
       ];
     });
-  } // lib.genAttrs [ "ContactsPersistence" "CoreSymbolication" "GameCenter" "SkyLight" "UIFoundation" ] (x: tbdOnlyFramework x {});
+  } // lib.genAttrs [ "ContactsPersistence" "CoreSymbolication" "DebugSymbols" "GameCenter" "SkyLight" "UIFoundation" ] (x: tbdOnlyFramework x {});
 
   bareFrameworks = lib.mapAttrs framework (import ./frameworks.nix {
     inherit frameworks libs;
diff --git a/pkgs/os-specific/darwin/yabai/default.nix b/pkgs/os-specific/darwin/yabai/default.nix
index 2c7114c76af75..046981223f946 100644
--- a/pkgs/os-specific/darwin/yabai/default.nix
+++ b/pkgs/os-specific/darwin/yabai/default.nix
@@ -9,16 +9,16 @@
 , yabai
 , xxd
 , xcodebuild
+  # These all need to be from SDK 11.0 or later starting with yabai 5.0.0
 , Carbon
 , Cocoa
 , ScriptingBridge
-  # This needs to be from SDK 10.13 or higher, SLS APIs introduced in that version get used
 , SkyLight
 }:
 
 let
   pname = "yabai";
-  version = "4.0.4";
+  version = "5.0.2";
 
   test-version = testers.testVersion {
     package = yabai;
@@ -52,7 +52,7 @@ in
 
     src = fetchzip {
       url = "https://github.com/koekeishiya/yabai/releases/download/v${version}/yabai-v${version}.tar.gz";
-      sha256 = "sha256-NS8tMUgovhWqc6WdkNI4wKee411i/e/OE++JVc86kFE=";
+      sha256 = "sha256-wL6N2+mfFISrOFn4zaCQI+oH6ixwUMRKRi1dAOigBro=";
     };
 
     nativeBuildInputs = [
@@ -81,14 +81,14 @@ in
     };
   };
 
-  x86_64-darwin = stdenv.mkDerivation rec {
+  x86_64-darwin = stdenv.mkDerivation {
     inherit pname version;
 
     src = fetchFromGitHub {
       owner = "koekeishiya";
       repo = "yabai";
       rev = "v${version}";
-      sha256 = "sha256-TeT+8UAV2jR60XvTs4phkp611Gi0nzLmQnezLA0xb44=";
+      sha256 = "sha256-/HS8TDzDA4Zvmm56ZZeMXyCKHRRTcucd7qDHT0qbrQg=";
     };
 
     nativeBuildInputs = [
@@ -128,50 +128,15 @@ in
       mkdir -p $out/{bin,share/icons/hicolor/scalable/apps}
 
       cp ./bin/yabai $out/bin/yabai
-      ln -s ${loadScriptingAddition} $out/bin/yabai-load-sa
       cp ./assets/icon/icon.svg $out/share/icons/hicolor/scalable/apps/yabai.svg
       installManPage ./doc/yabai.1
 
       runHook postInstall
     '';
 
-    # Defining this here exposes it as a passthru attribute, which is useful because it allows us to run `builtins.hashFile` on it in pure-eval mode.
-    # With that we can programmatically generate an `/etc/sudoers.d` entry which disables the password requirement, so that a user-agent can run it at login.
-    loadScriptingAddition = writeShellScript "yabai-load-sa" ''
-      # For whatever reason the regular commands to load the scripting addition do not work, yabai will throw an error.
-      # The installation command mutably installs binaries to '/System', but then fails to start them. Manually running
-      # the bins as root does start the scripting addition, so this serves as a more user-friendly way to do that.
-
-      set -euo pipefail
-
-      if [[ "$EUID" != 0 ]]; then
-          echo "error: the scripting-addition loader must ran as root. try 'sudo $0'"
-          exit 1
-      fi
-
-      loaderPath="/Library/ScriptingAdditions/yabai.osax/Contents/MacOS/mach_loader";
-
-      if ! test -x "$loaderPath"; then
-          echo "could not locate the scripting-addition loader at '$loaderPath', installing it..."
-          echo "note: this may display an error"
-
-          eval "$(dirname "''${BASH_SOURCE[0]}")/yabai --install-sa" || true
-          sleep 1
-      fi
-
-      echo "executing loader..."
-      eval "$loaderPath"
-      echo "scripting-addition started"
-    '';
-
     passthru.tests.version = test-version;
 
     meta = _meta // {
-      longDescription = _meta.longDescription + ''
-        Note that due to a nix-only bug the scripting addition cannot be launched using the regular
-        procedure. Instead, you can use the provided `yabai-load-sa` script.
-      '';
-
       sourceProvenance = with lib.sourceTypes; [
         fromSource
       ];
diff --git a/pkgs/os-specific/linux/eudev/default.nix b/pkgs/os-specific/linux/eudev/default.nix
index 7807f475e9b17..0dd69784516a5 100644
--- a/pkgs/os-specific/linux/eudev/default.nix
+++ b/pkgs/os-specific/linux/eudev/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , autoreconfHook
-, glib
 , gperf
 , kmod
 , pkg-config
@@ -27,7 +26,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    glib
     kmod
     util-linux
   ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 91746b9f10903..4e3f3762370d3 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -70,9 +70,16 @@
 
   # the (optional) BPF feature requires bpftool, libbpf, clang and llvm-strip to be available during build time.
   # Only libbpf should be a runtime dependency.
+  # Note: llvmPackages is explicitly taken from buildPackages instead of relying
+  # on splicing. Splicing will evaluate the adjacent (pkgsHostTarget) llvmPackages
+  # which is sometimes problematic: llvmPackages.clang looks at targetPackages.stdenv.cc
+  # which, in the unfortunate case of pkgsCross.ghcjs, `throw`s. If we explicitly
+  # take buildPackages.llvmPackages, this is no problem because
+  # `buildPackages.targetPackages.stdenv.cc == stdenv.cc` relative to us. Working
+  # around this is important, because systemd is in the dependency closure of
+  # GHC via emscripten and jdk.
 , bpftools
 , libbpf
-, llvmPackages
 
 , withAnalyze ? true
 , withApparmor ? true
@@ -86,7 +93,7 @@
 , withHostnamed ? true
 , withHwdb ? true
 , withImportd ? !stdenv.hostPlatform.isMusl
-, withLibBPF ? lib.versionAtLeast llvmPackages.clang.version "10.0"
+, withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0"
 , withLocaled ? true
 , withLogind ? true
 , withMachined ? true
@@ -368,8 +375,8 @@ stdenv.mkDerivation {
     ]
     ++ lib.optionals withLibBPF [
       bpftools
-      llvmPackages.clang
-      llvmPackages.libllvm
+      buildPackages.llvmPackages.clang
+      buildPackages.llvmPackages.libllvm
     ]
   ;
 
diff --git a/pkgs/os-specific/linux/waydroid/default.nix b/pkgs/os-specific/linux/waydroid/default.nix
index 55630f2fad3b1..efa21cfb26b57 100644
--- a/pkgs/os-specific/linux/waydroid/default.nix
+++ b/pkgs/os-specific/linux/waydroid/default.nix
@@ -1,5 +1,4 @@
-{ stdenv
-, lib
+{ lib
 , fetchFromGitHub
 , python3Packages
 , dnsmasq
@@ -8,7 +7,6 @@
 , kmod
 , lxc
 , iproute2
-, iptables
 , nftables
 , util-linux
 , which
@@ -17,14 +15,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "waydroid";
-  version = "1.3.3";
+  version = "1.3.4";
   format = "other";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-av1kcOSViUV2jsFiTE21N6sAJIL6K+zKkpPHjx6iYVk=";
+    sha256 = "sha256-0GBob9BUwiE5cFGdK8AdwsTjTOdc+AIWqUGN/gFfOqI=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/servers/apcupsd/default.nix b/pkgs/servers/apcupsd/default.nix
index 9e5e81457e905..aff8bba91a7f5 100644
--- a/pkgs/servers/apcupsd/default.nix
+++ b/pkgs/servers/apcupsd/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv, fetchurl, pkg-config, systemd, util-linux, coreutils, wall, hostname, man
 , enableCgiScripts ? true, gd
+, nixosTests
 }:
 
 assert enableCgiScripts -> gd != null;
@@ -52,6 +53,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.tests.smoke = nixosTests.apcupsd;
+
   meta = with lib; {
     description = "Daemon for controlling APC UPSes";
     homepage = "http://www.apcupsd.com/";
diff --git a/pkgs/servers/bazarr/default.nix b/pkgs/servers/bazarr/default.nix
index 3463e3688c09c..0b26b527fe02f 100644
--- a/pkgs/servers/bazarr/default.nix
+++ b/pkgs/servers/bazarr/default.nix
@@ -8,13 +8,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bazarr";
-  version = "1.1.3";
+  version = "1.1.4";
 
   sourceRoot = ".";
 
   src = fetchurl {
     url = "https://github.com/morpheus65535/bazarr/releases/download/v${version}/bazarr.zip";
-    sha256 = "sha256-jt6E+VtD7JdPIJdWBkVrQyiNfT7vxSYz4kXrFQAdpXE=";
+    sha256 = "sha256-eitChQTTkiNY/NbDM+u2ZlyuczzJ9nVjIS1sS05DO3Q=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index b797951e41122..b3a1754dcab62 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "clickhouse";
-  version = "22.8.5.29";
+  version = "22.8.11.15";
 
   broken = stdenv.buildPlatform.is32bit; # not supposed to work on 32-bit https://github.com/ClickHouse/ClickHouse/pull/23959#issuecomment-835343685
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     repo   = "ClickHouse";
     rev    = "v${version}-lts";
     fetchSubmodules = true;
-    sha256 = "sha256-JRdZb5YgaumTnjJEYIXh9o3NSv67DAdl9gizVKvGTJI=";
+    sha256 = "sha256-ZFS7RgeTV/eMSiI0o9WO1fHjRkPDNZs0Gm3w+blGsz0=";
   };
 
   nativeBuildInputs = [ cmake libtool llvm-bintools ninja ];
diff --git a/pkgs/servers/gonic/default.nix b/pkgs/servers/gonic/default.nix
index 552d2d455beae..be137a4df7798 100644
--- a/pkgs/servers/gonic/default.nix
+++ b/pkgs/servers/gonic/default.nix
@@ -12,12 +12,12 @@
 
 buildGoModule rec {
   pname = "gonic";
-  version = "0.15.1";
+  version = "0.15.2";
   src = fetchFromGitHub {
     owner = "sentriz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xq2Xk5iAKq+ttYYDNef0P3ewURmn/arTNhVc0I5gHLY=";
+    sha256 = "sha256-lyKKD6Rxr4psFUxqGTtqQ3M/vQXoNPbcg0cTam9MkXk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index a5f509fd65f60..dee4a13077ace 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.12.8";
+  version = "2023.1.0";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -79,6 +79,9 @@
     "airvisual" = ps: with ps; [
       pyairvisual
     ];
+    "airvisual_pro" = ps: with ps; [
+      pyairvisual
+    ];
     "airzone" = ps: with ps; [
       aioairzone
     ];
@@ -657,9 +660,6 @@
     ];
     "derivative" = ps: with ps; [
     ];
-    "deutsche_bahn" = ps: with ps; [
-      schiene
-    ];
     "device_automation" = ps: with ps; [
     ];
     "device_sun_light_trigger" = ps: with ps; [
@@ -728,6 +728,7 @@
       aiohttp-cors
       async-upnp-client
       fnvhash
+      getmac
       ifaddr
       sqlalchemy
       zeroconf
@@ -1147,7 +1148,7 @@
     "garadget" = ps: with ps; [
     ];
     "garages_amsterdam" = ps: with ps; [
-      garages-amsterdam
+      odp-amsterdam
     ];
     "gaviota" = ps: with ps; [
     ];
@@ -1229,6 +1230,11 @@
       pyturbojpeg
       aiohttp-cors
     ];
+    "google_assistant_sdk" = ps: with ps; [
+      aiohttp-cors
+      fnvhash
+      sqlalchemy
+    ]; # missing inputs: gassist-text
     "google_cloud" = ps: with ps; [
       google-cloud-texttospeech
     ];
@@ -1459,12 +1465,12 @@
       zigpy
     ];
     "homekit" = ps: with ps; [
+      hap-python
       pyqrcode
       pyturbojpeg
       aiohttp-cors
       base36
       fnvhash
-      hap-python
       ha-ffmpeg
       ifaddr
       sqlalchemy
@@ -1586,14 +1592,14 @@
     "ihc" = ps: with ps; [
       defusedxml
     ]; # missing inputs: ihcsdk
-    "image" = ps: with ps; [
-      aiohttp-cors
-      pillow
-    ];
     "image_processing" = ps: with ps; [
       pyturbojpeg
       aiohttp-cors
     ];
+    "image_upload" = ps: with ps; [
+      aiohttp-cors
+      pillow
+    ];
     "imap" = ps: with ps; [
       aioimaplib
     ];
@@ -1720,7 +1726,8 @@
     "kaiterra" = ps: with ps; [
     ]; # missing inputs: kaiterra-async-client
     "kaleidescape" = ps: with ps; [
-    ]; # missing inputs: pykaleidescape
+      pykaleidescape
+    ];
     "kankun" = ps: with ps; [
     ];
     "keba" = ps: with ps; [
@@ -2666,6 +2673,8 @@
     "pure_energie" = ps: with ps; [
       gridnet
     ];
+    "purpleair" = ps: with ps; [
+    ]; # missing inputs: aiopurpleair
     "push" = ps: with ps; [
       aiohttp-cors
     ];
@@ -2800,6 +2809,9 @@
     "renault" = ps: with ps; [
       renault-api
     ];
+    "reolink" = ps: with ps; [
+      reolink-aio
+    ];
     "repairs" = ps: with ps; [
       aiohttp-cors
     ];
@@ -3618,7 +3630,7 @@
       pytrafikverket
     ];
     "transmission" = ps: with ps; [
-      transmissionrpc
+      transmission-rpc
     ];
     "transport_nsw" = ps: with ps; [
       pytransportnsw
@@ -4101,6 +4113,7 @@
     "airthings_ble"
     "airtouch4"
     "airvisual"
+    "airvisual_pro"
     "airzone"
     "aladdin_connect"
     "alarm_control_panel"
@@ -4353,8 +4366,8 @@
     "icloud"
     "ifttt"
     "ign_sismologia"
-    "image"
     "image_processing"
+    "image_upload"
     "imap_email_content"
     "influxdb"
     "inkbird"
@@ -4381,6 +4394,7 @@
     "jewish_calendar"
     "juicenet"
     "justnimbus"
+    "kaleidescape"
     "keenetic_ndms2"
     "kegtron"
     "keymitt_ble"
@@ -4550,6 +4564,7 @@
     "radarr"
     "radio_browser"
     "radiotherm"
+    "rainbird"
     "rainforest_eagle"
     "rainmachine"
     "random"
@@ -4560,6 +4575,7 @@
     "reddit"
     "remote"
     "renault"
+    "reolink"
     "repairs"
     "rest"
     "rest_command"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 24d59402d2818..bc7fc267dafa2 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -43,6 +43,22 @@ let
         };
       });
 
+      astral = super.astral.overridePythonAttrs (oldAttrs: rec {
+        pname = "astral";
+        version = "2.2";
+        src = self.fetchPypi {
+          inherit pname version;
+          hash = "sha256-5B2ZZ9XEi+QhNGVS8PTe2tQ/85qDV09f8q0ytmJ7b74=";
+        };
+        postPatch = ''
+          substituteInPlace pyproject.toml \
+            --replace "poetry.masonry" "poetry.core.masonry"
+        '';
+        propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
+          self.pytz
+        ];
+      });
+
       caldav = super.caldav.overridePythonAttrs (old: rec {
         version = "0.9.1";
         src = fetchFromGitHub {
@@ -69,17 +85,6 @@ let
         };
       });
 
-      hap-python = super.hap-python.overridePythonAttrs (oldAtrs: rec {
-        pname = "ha-hap-python";
-        version = "4.5.2";
-        src = fetchFromGitHub {
-          owner = "bdraco";
-          repo = "ha-HAP-python";
-          rev = "refs/tags/v4.5.2";
-          hash = "sha256-xCmx5QopNShKIuXewT+T86Bxyi4P0ddh8r2UlJ48Wig=";
-        };
-      });
-
       # Pinned due to API changes in 0.1.0
       poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec {
         version = "0.0.8";
@@ -190,7 +195,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.12.8";
+  hassVersion = "2023.1.0";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -208,7 +213,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-oJwA0YELlgMbnf1XiLDGlMLrvFaLP7WMv9/0KOI4XDI=";
+    hash = "sha256-uYQnymJQ893F5fX/yi8S3OZL4LkT5z7QNOzkoedXllM=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -225,6 +230,7 @@ in python.pkgs.buildPythonApplication rec {
       "attrs"
       "awesomeversion"
       "bcrypt"
+      "ciso8601"
       "cryptography"
       "home-assistant-bluetooth"
       "httpx"
@@ -284,11 +290,13 @@ in python.pkgs.buildPythonApplication rec {
   checkInputs = with python.pkgs; [
     # test infrastructure (selectively from requirement_test.txt)
     freezegun
+    pytest-asyncio
     pytest-aiohttp
     pytest-freezegun
     pytest-mock
     pytest-rerunfailures
     pytest-socket
+    pytest-unordered
     pytest-xdist
     pytestCheckHook
     requests-mock
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index e91913798a18a..2f694ac96855b 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20221213.1";
+  version = "20230104.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-QL+3dIZlUJstRgK80ANnK9CKR4muvfEQz16bTTMS3Fs=";
+    hash = "sha256-tzn+TGhEcbXRly1iTLQr1UkG7y2NwLZTobDqmDe1JHo=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index a77b48c6b17eb..162bb4af04b9f 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -39,7 +39,7 @@ PKG_SET = "home-assistant.python.pkgs"
 PKG_PREFERENCES = {
     "fiblary3": "fiblary3-fork",  # https://github.com/home-assistant/core/issues/66466
     "ha-av": "av",
-    "ha-HAP-python": "hap-python",
+    "HAP-python": "hap-python",
     "tensorflow": "tensorflow",
     "youtube_dl": "youtube-dl-light",
 }
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index cbcd0847b790f..601d0fe0367ff 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -14,6 +14,7 @@ let
     generic = [ av ];
     google_translate = [ mutagen ];
     google_sheets = [ oauth2client ];
+    govee_ble = [ ibeacon-ble ];
     hassio = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
     homeassistant_sky_connect = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zwave-js-server-python ];
     homeassistant_yellow = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
diff --git a/pkgs/servers/libreddit/default.nix b/pkgs/servers/libreddit/default.nix
index ba609526015d8..4dbc9f6a5050d 100644
--- a/pkgs/servers/libreddit/default.nix
+++ b/pkgs/servers/libreddit/default.nix
@@ -3,21 +3,31 @@
 , nixosTests
 , rustPlatform
 , fetchFromGitHub
+, fetchpatch
 , Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "libreddit";
-  version = "0.25.1";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "libreddit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-/K79EHjqkclyh1AmRaevYcyUD4XSrTfd5zjnpOmBNcE=";
+    hash = "sha256-+sSzYewqN3VjTl+wjgan3yxlFiuCg2rprJDpDktuQHo=";
   };
 
-  cargoSha256 = "sha256-KYuEy5MwgdiHHbDDNyb+NVYyXdvx1tCH7dQdPWCCfQo=";
+  cargoSha256 = "sha256-HhtslN6JV9DUBhuyesciZGGYVz7mvpdyxVps9xAc+Rs=";
+
+  patches = [
+    # https://github.com/libreddit/libreddit/pull/687
+    (fetchpatch {
+      name = "fix-cfg-test.patch";
+      url = "https://github.com/libreddit/libreddit/commit/dff91da8777dc42d38abf8b5d63addbd71fdabff.patch";
+      sha256 = "sha256-6np5gf8cyKotF7KJ19mCtRAF7SxDpNFpQCgdy/XDsng=";
+    })
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin [
     Security
diff --git a/pkgs/servers/mautrix-googlechat/default.nix b/pkgs/servers/mautrix-googlechat/default.nix
new file mode 100644
index 0000000000000..db1f7c6d1f254
--- /dev/null
+++ b/pkgs/servers/mautrix-googlechat/default.nix
@@ -0,0 +1,72 @@
+{ fetchFromGitHub, fetchpatch
+, lib
+, python3
+, protobuf3_20
+, enableE2be ? true, enableMetrics ? true, enableSqlite ? true
+}: python3.pkgs.buildPythonApplication rec {
+  pname = "mautrix-googlechat";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "mautrix";
+    repo = "googlechat";
+    rev = "v${version}";
+    sha256 = "sha256-UVWYT0HTOUEkBG0n6KNhCSSO/2PAF1rIvCaw478z+q0=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # patch setup.py to generate $out/bin/mautrix-googlechat
+      # https://github.com/mautrix/googlechat/pull/81
+      name = "mautrix-googlechat-entry-point.patch";
+      url = "https://github.com/mautrix/googlechat/pull/81/commits/112fa3d27bc6f89a02321cb80d219de149e00df8.patch";
+      sha256 = "sha256-DsITDNLsIgBIqN6sD5JHaFW0LToxVUTzWc7mE2L09IQ=";
+    })
+  ];
+
+  doCheck = false;
+
+  postPatch = ''
+    sed -i requirements.txt \
+      -e 's/asyncpg>=.*/asyncpg/'
+  '';
+
+  baseConfigPath = "share/mautrix-googlechat/example-config.yaml";
+  postInstall = ''
+    rm $out/example-config.yaml
+    install -D mautrix_googlechat/example-config.yaml $out/$baseConfigPath
+  '';
+
+  passthru.optional-dependencies = with python3.pkgs; {
+    e2be = [
+      python-olm
+      pycryptodome
+      unpaddedbase64
+    ];
+    metrics = [ prometheus-client ];
+    sqlite = [ aiosqlite ];
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    aiohttp
+    yarl
+    asyncpg
+    ruamel-yaml
+    CommonMark
+    python-magic
+    (protobuf.override {
+      protobuf = protobuf3_20;
+    })
+    mautrix
+  ] ++ lib.optionals enableE2be passthru.optional-dependencies.e2be
+  ++ lib.optionals enableMetrics passthru.optional-dependencies.metrics
+  ++ lib.optionals enableSqlite passthru.optional-dependencies.sqlite;
+
+  meta = with lib; {
+    homepage = "https://github.com/mautrix/googlechat";
+    description = "A Matrix-Google Chat puppeting bridge";
+    license = licenses.agpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ arcnmx ];
+  };
+}
diff --git a/pkgs/servers/monitoring/vmagent/default.nix b/pkgs/servers/monitoring/vmagent/default.nix
index 71038d5637de4..c19be78717072 100644
--- a/pkgs/servers/monitoring/vmagent/default.nix
+++ b/pkgs/servers/monitoring/vmagent/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, buildGoModule }:
 buildGoModule rec {
   pname = "vmagent";
-  version = "1.85.0";
+  version = "1.85.3";
 
   src = fetchFromGitHub {
     owner = "VictoriaMetrics";
     repo = "VictoriaMetrics";
     rev = "v${version}";
-    sha256 = "sha256-ez/gq+QBDy2xGqUBoUWQFDDUpd4i0zpj9mUDZUWKbIw=";
+    sha256 = "sha256-/p5oHxp1fVyUMjZ3vim9YKNhFqIACGa3KTYIv/k4MXg=";
   };
 
   ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index f99935449cb0e..b34c18a08bc67 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, lua, pkg-config, nixosTests
-, tcl, which, ps, getconf, fetchpatch
+, tcl, which, ps, getconf
 , withSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isStatic, systemd
 # dependency ordering is broken at the moment when building with openssl
 , tlsSupport ? !stdenv.hostPlatform.isStatic, openssl
@@ -7,22 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "redis";
-  version = "7.0.5";
+  version = "7.0.7";
 
   src = fetchurl {
     url = "https://download.redis.io/releases/${pname}-${version}.tar.gz";
-    hash = "sha256-ZwVMw3tYwSXfk714AAJh7A70Q2omtA84Jix4DlYxXMM=";
+    hash = "sha256-jTJ9foh9G7MI/Deq9xegv3n1gSnjc5Bpqu6uiJVaxYY=";
   };
 
-  patches = [
-    # https://nvd.nist.gov/vuln/detail/CVE-2022-3647
-    (fetchpatch {
-      name = "CVE-2022-3647.patch";
-      url = "https://github.com/redis/redis/commit/0bf90d944313919eb8e63d3588bf63a367f020a3.patch";
-      sha256 = "sha256-R5Tj/bHFTRnvWXiOYvRulqePzU5zvKbGfpO87TLfLWk=";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ lua ]
diff --git a/pkgs/servers/onlyoffice-documentserver/default.nix b/pkgs/servers/onlyoffice-documentserver/default.nix
index 179257f67e37b..51417fce2666e 100644
--- a/pkgs/servers/onlyoffice-documentserver/default.nix
+++ b/pkgs/servers/onlyoffice-documentserver/default.nix
@@ -144,7 +144,7 @@ let
       homepage = "ONLYOFFICE Document Server is an online office suite comprising viewers and editors";
       license = licenses.agpl3;
       platforms = [ "x86_64-linux" ];
-      sourceProvenance = sourceTypes.binaryNativeCode;
+      sourceProvenance = [ sourceTypes.binaryNativeCode ];
       maintainers = with maintainers; [ SuperSandro2000 ];
     };
   };
diff --git a/pkgs/servers/radicale/2.x.nix b/pkgs/servers/radicale/2.x.nix
index 1951c54e1db0d..a739d993e77aa 100644
--- a/pkgs/servers/radicale/2.x.nix
+++ b/pkgs/servers/radicale/2.x.nix
@@ -41,6 +41,6 @@ python3.pkgs.buildPythonApplication rec {
       on mobile phones or computers.
     '';
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ edwtjo pSub aneeshusa infinisil ];
+    maintainers = with maintainers; [ edwtjo pSub infinisil ];
   };
 }
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index e1493e9528db9..b971d2def92b5 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-anc2nFZXYO0Ab5xwDasXGw8/SluNt15C6pRmQfUJVDs=";
+    sha256 = "sha256-QH4M6Kr6UiDJAaDtEn2GXQT9oSSz3lqkf+VE0GfOqeg=";
   };
 
-  cargoSha256 = "sha256-EyrQR9gevInCI4kBZvUW5U9FrE0ZHbRUFyLKVZefKEE=";
+  cargoSha256 = "sha256-lzw26aat+Zk0E70H7/xwZ6azRMkknfQmTrE4wOJRwfo=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 46867aa19e7fd..df235abe98c4b 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -18,7 +18,6 @@
 , zlib
 , liburing
 , gnutls
-, libunwind
 , systemd
 , samba
 , jansson
@@ -41,6 +40,7 @@
 , enableCephFS ? false, ceph
 , enableGlusterFS ? false, glusterfs, libuuid
 , enableAcl ? (!stdenv.isDarwin), acl
+, enableLibunwind ? (!stdenv.isDarwin), libunwind
 , enablePam ? (!stdenv.isDarwin), pam
 }:
 
@@ -75,11 +75,12 @@ stdenv.mkDerivation rec {
     perl.pkgs.ParseYapp
     perl.pkgs.JSON
     libxslt
-    buildPackages.stdenv.cc
     docbook_xsl
     docbook_xml_dtd_45
     cmocka
     rpcsvc-proto
+  ] ++ optionals stdenv.isLinux [
+    buildPackages.stdenv.cc
   ] ++ optional (stdenv.buildPlatform != stdenv.hostPlatform) samba # asn1_compile/compile_et
     ++ optionals stdenv.isDarwin [
     fixDarwinDylibNames
@@ -98,7 +99,6 @@ stdenv.mkDerivation rec {
     libbsd
     libarchive
     zlib
-    libunwind
     gnutls
     libtasn1
     tdb
@@ -113,6 +113,7 @@ stdenv.mkDerivation rec {
     ++ optional (enableCephFS && stdenv.isLinux) (lib.getDev ceph)
     ++ optionals (enableGlusterFS && stdenv.isLinux) [ glusterfs libuuid ]
     ++ optional enableAcl acl
+    ++ optional enableLibunwind libunwind
     ++ optional enablePam pam;
 
   postPatch = ''
@@ -133,7 +134,6 @@ stdenv.mkDerivation rec {
   wafConfigureFlags = [
     "--with-static-modules=NONE"
     "--with-shared-modules=ALL"
-    "--with-libunwind"
     "--enable-fhs"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
@@ -143,7 +143,8 @@ stdenv.mkDerivation rec {
   ++ optionals (!enableLDAP) [
     "--without-ldap"
     "--without-ads"
-  ] ++ optional enableProfiling "--with-profiling-data"
+  ] ++ optional enableLibunwind "--with-libunwind"
+    ++ optional enableProfiling "--with-profiling-data"
     ++ optional (!enableAcl) "--without-acl-support"
     ++ optional (!enablePam) "--without-pam"
     ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
@@ -175,16 +176,25 @@ stdenv.mkDerivation rec {
   # Use find -type f -executable -exec echo {} \; -exec sh -c 'ldd {} | grep "not found"' \;
   # Looks like a bug in installer scripts.
   postFixup = ''
-    export SAMBA_LIBS="$(find $out -type f -regex '.*\.so\(\..*\)?' -exec dirname {} \; | sort | uniq)"
+    export SAMBA_LIBS="$(find $out -type f -regex '.*\${stdenv.hostPlatform.extensions.sharedLibrary}\(\..*\)?' -exec dirname {} \; | sort | uniq)"
     read -r -d "" SCRIPT << EOF || true
     [ -z "\$SAMBA_LIBS" ] && exit 1;
     BIN='{}';
+  '' + lib.optionalString stdenv.isLinux ''
     OLD_LIBS="\$(patchelf --print-rpath "\$BIN" 2>/dev/null | tr ':' '\n')";
     ALL_LIBS="\$(echo -e "\$SAMBA_LIBS\n\$OLD_LIBS" | sort | uniq | tr '\n' ':')";
     patchelf --set-rpath "\$ALL_LIBS" "\$BIN" 2>/dev/null || exit $?;
     patchelf --shrink-rpath "\$BIN";
+  '' + lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id \$BIN \$BIN
+    for old_rpath in \$(otool -L \$BIN | grep /private/tmp/ | awk '{print \$1}'); do
+      new_rpath=\$(find \$SAMBA_LIBS -name \$(basename \$old_rpath) | head -n 1)
+      install_name_tool -change \$old_rpath \$new_rpath \$BIN
+    done
+  '' + ''
     EOF
-    find $out -type f -regex '.*\.so\(\..*\)?' -exec $SHELL -c "$SCRIPT" \;
+    find $out -type f -regex '.*\${stdenv.hostPlatform.extensions.sharedLibrary}\(\..*\)?' -exec $SHELL -c "$SCRIPT" \;
+    find $out/bin -type f -exec $SHELL -c "$SCRIPT" \;
 
     # Fix PYTHONPATH for some tools
     wrapPythonPrograms
@@ -209,10 +219,7 @@ stdenv.mkDerivation rec {
     description = "The standard Windows interoperability suite of programs for Linux and Unix";
     license = licenses.gpl3;
     platforms = platforms.unix;
-    # N.B. enableGlusterFS does not build
-    # TODO: darwin support needs newer SDK for "_futimens" and "_utimensat"
-    # see https://github.com/NixOS/nixpkgs/issues/101229
-    broken = stdenv.isDarwin || enableGlusterFS;
+    broken = enableGlusterFS;
     maintainers = with maintainers; [ aneeshusa ];
   };
 }
diff --git a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix
index be044befb266f..1def48d46d976 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_ivm.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_ivm.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_ivm";
-  version = "1.3";
+  version = "1.4";
 
   src = fetchFromGitHub {
     owner = "sraoss";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-HdIqAB/A6+EvioKhS2OKmlABjpeTAgkbU5ihbt/OzdI=";
+    hash = "sha256-pz9eHmd7GC30r0uUObOlrcdkAX4c+szjYAXS1U999CE=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 05be683f1ff73..0bccc1bfb7a33 100644
--- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgroonga";
-  version = "2.4.0";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-W6quDn2B+BZ+J46aNMbtVq7OizT1q5jyKMZECAk0F7M=";
+    sha256 = "sha256-5klltU+9dz30tjE0lQfNinrVEZyT8UpK120kQ1j/yig=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/sql/postgresql/ext/pgrouting.nix b/pkgs/servers/sql/postgresql/ext/pgrouting.nix
index 68aaa1dd0a4ae..5dc21742ef495 100644
--- a/pkgs/servers/sql/postgresql/ext/pgrouting.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgrouting.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pgrouting";
-  version = "3.3.2";
+  version = "3.4.2";
 
   nativeBuildInputs = [ cmake perl ];
   buildInputs = [ postgresql boost ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner  = "pgRouting";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-H7h+eiH02qLscpiZ8yV5ofL7upeqRBXNQDGYS86f3og=";
+    sha256 = "sha256-By3XX4ow5+OdvpLlpozZe3674VSehO9T96pQtJy5y6g=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index 3254bf9e2519b..4c5b006099185 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "2.2.4";
+  version = "2.2.6";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YUJLh1IgOOnNxPrH8NaY3jGEV+4mTjRffooIANkbbFo=";
+    hash = "sha256-8HFyIzJ1iF3K2vTlibFallvkMKjFTJ2DO64fORToD8E=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
index d14a1559e4681..8c8a65360c14c 100644
--- a/pkgs/servers/web-apps/wordpress/default.nix
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -1,36 +1,7 @@
-{ lib, stdenv, fetchurl, nixosTests, writeScript }:
-
-stdenv.mkDerivation rec {
-  pname = "wordpress";
-  version = "6.0.3";
-
-  src = fetchurl {
-    url = "https://wordpress.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-eSi0qwzXoJ1wYUzi34s7QbBbwRm2hfXoyGFivhPBq5o=";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/wordpress
-    cp -r . $out/share/wordpress
-  '';
-
-  passthru.tests = {
-    inherit (nixosTests) wordpress;
-  };
-
-  passthru.updateScript = writeScript "update.sh" ''
-    #!/usr/bin/env nix-shell
-    #!nix-shell -i bash -p common-updater-scripts jq
-    set -eu -o pipefail
-    version=$(curl --globoff "https://api.wordpress.org/core/version-check/1.7/" | jq -r '.offers[0].version')
-    update-source-version wordpress $version
-  '';
-
-  meta = with lib; {
-    homepage = "https://wordpress.org";
-    description = "WordPress is open source software you can use to create a beautiful website, blog, or app";
-    license = [ licenses.gpl2 ];
-    maintainers = [ maintainers.basvandijk ];
-    platforms = platforms.all;
+{ callPackage }: builtins.mapAttrs (_: callPackage ./generic.nix) rec {
+  wordpress = wordpress6_1;
+  wordpress6_1 = {
+    version = "6.1.1";
+    hash = "sha256-IR6FSmm3Pd8cCHNQTH1oIaLYsEP1obVjr0bDJkD7H60=";
   };
 }
diff --git a/pkgs/servers/web-apps/wordpress/generic.nix b/pkgs/servers/web-apps/wordpress/generic.nix
new file mode 100644
index 0000000000000..3c9aa377d7704
--- /dev/null
+++ b/pkgs/servers/web-apps/wordpress/generic.nix
@@ -0,0 +1,36 @@
+{ lib, version, hash, stdenv, fetchurl, nixosTests, writeScript }:
+
+stdenv.mkDerivation rec {
+  pname = "wordpress";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://wordpress.org/${pname}-${version}.tar.gz";
+    inherit hash;
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/wordpress
+    cp -r . $out/share/wordpress
+  '';
+
+  passthru.tests = {
+    inherit (nixosTests) wordpress;
+  };
+
+  passthru.updateScript = writeScript "update.sh" ''
+    #!/usr/bin/env nix-shell
+    #!nix-shell -i bash -p common-updater-scripts jq
+    set -eu -o pipefail
+    version=$(curl --globoff "https://api.wordpress.org/core/version-check/1.7/" | jq -r '.offers[0].version')
+    update-source-version wordpress $version
+  '';
+
+  meta = with lib; {
+    homepage = "https://wordpress.org";
+    description = "WordPress is open source software you can use to create a beautiful website, blog, or app";
+    license = [ licenses.gpl2 ];
+    maintainers = [ maintainers.basvandijk ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/web-apps/wordpress/packages/default.nix b/pkgs/servers/web-apps/wordpress/packages/default.nix
index d8968de20c397..715e9556bc7fd 100644
--- a/pkgs/servers/web-apps/wordpress/packages/default.nix
+++ b/pkgs/servers/web-apps/wordpress/packages/default.nix
@@ -2,7 +2,7 @@
 # Licensed under: MIT
 # Slightly modified
 
-{ lib, newScope, plugins, themes, languages }:
+{ lib, newScope, plugins, themes, languages, callPackage }:
 
 let packages = self:
   let
@@ -82,4 +82,4 @@ let packages = self:
   } // lib.mapAttrs (type: pkgs: lib.makeExtensible (_: lib.mapAttrs (pname: data: self.mkOfficialWordpressDerivation { type = lib.removeSuffix "s" type; inherit pname data; }) pkgs)) generatedJson;
 
 # This creates an extensible scope.
-in (lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfWP: superWP: {})
+in lib.recursiveUpdate ((lib.makeExtensible (_: (lib.makeScope newScope packages))).extend (selfWP: superWP: {})) (callPackage ./thirdparty.nix {})
diff --git a/pkgs/servers/web-apps/wordpress/packages/generate.sh b/pkgs/servers/web-apps/wordpress/packages/generate.sh
index ebe58f526982f..bd4435dc2ff0a 100755
--- a/pkgs/servers/web-apps/wordpress/packages/generate.sh
+++ b/pkgs/servers/web-apps/wordpress/packages/generate.sh
@@ -6,13 +6,7 @@ set -u
 set -o pipefail
 set -x
 
-NIX_VERSION=$(nix --version|cut -d ' ' -f 3|cut -c -3)
-if [[ "$NIX_VERSION" > 2.3 ]]; then
-  nixFlags="--option experimental-features nix-command eval --raw --impure --expr"
-else
-  nixFlags="eval --raw"
-fi
-
+nixFlags="--option experimental-features nix-command eval --raw --impure --expr"
 export WP_VERSION=$(nix $nixFlags '(import <nixpkgs> {}).wordpress.version')
 
 PLUGINS=`cat wordpress-plugins.json | jq -r '.[]' | sed -z 's/\n/,/g;s/,$/\n/'`
diff --git a/pkgs/servers/web-apps/wordpress/packages/languages.json b/pkgs/servers/web-apps/wordpress/packages/languages.json
index 7e71d225f85e3..d9fc99aad950c 100644
--- a/pkgs/servers/web-apps/wordpress/packages/languages.json
+++ b/pkgs/servers/web-apps/wordpress/packages/languages.json
@@ -1,14 +1,14 @@
 {
   "de_DE": {
     "path": "de_DE",
-    "rev": "970135",
-    "sha256": "1kd05aihdcf8bqrci50wg4i61mqrjhd6z5d5yb05p4ivaiirak6x",
-    "version": "5.8"
+    "rev": "1010364",
+    "sha256": "0viir2hyfvf8vbnfz8hzijsbdqqqigd887risvdsy8w8ysd71f8r",
+    "version": "6.0"
   },
   "fr_FR": {
     "path": "fr_FR",
-    "rev": "968330",
-    "sha256": "12mzr1i2dl1hh7p93zda6af0xi49mw31v79gg0qgqsnhd5adrlgm",
-    "version": "5.8"
+    "rev": "1004765",
+    "sha256": "0g8h21hi4p0vl6pa57656lm508ycdyhpadq1liwk2d4x183avygh",
+    "version": "6.0"
   }
 }
diff --git a/pkgs/servers/web-apps/wordpress/packages/plugins.json b/pkgs/servers/web-apps/wordpress/packages/plugins.json
index 047b26d1a9dcf..0e844758b20d0 100644
--- a/pkgs/servers/web-apps/wordpress/packages/plugins.json
+++ b/pkgs/servers/web-apps/wordpress/packages/plugins.json
@@ -18,16 +18,16 @@
     "version": "2.21.08.31"
   },
   "breeze": {
-    "path": "breeze/tags/2.0.10",
-    "rev": "2799885",
-    "sha256": "00d36s6ws8bd8qj33nq090lplw2fqj9zz1yzfky4w74lyabih0hw",
-    "version": "2.0.10"
+    "path": "breeze/tags/2.0.14",
+    "rev": "2822681",
+    "sha256": "1c47yw802yrkmbsa922xvh08x0wvcgqdy11j55qr4l9dsk9ljbv3",
+    "version": "2.0.14"
   },
   "co-authors-plus": {
-    "path": "co-authors-plus/tags/3.5.2",
-    "rev": "2735979",
-    "sha256": "0ph3iskixi2j6bsnlpd4x8wixzm2hbdzchnyfz9mxzzys93qb41k",
-    "version": "3.5.2"
+    "path": "co-authors-plus/tags/3.5.6",
+    "rev": "2819241",
+    "sha256": "02na4smh9mba8bpksmcbj6k8q2k0024ax40p1k7zs8s22s70nkc1",
+    "version": "3.5.6"
   },
   "code-syntax-block": {
     "path": "code-syntax-block/tags/3.1.1",
@@ -36,10 +36,10 @@
     "version": "3.1.1"
   },
   "cookie-notice": {
-    "path": "cookie-notice/tags/2.4.1",
-    "rev": "2790369",
-    "sha256": "1a1qnmi81z8c30d6zgcd5xqd08cxkq71g2hzb6xcbdv04036nf77",
-    "version": "2.4.1"
+    "path": "cookie-notice/tags/2.4.4",
+    "rev": "2833482",
+    "sha256": "03ip3yxg8151snbrzmyxxlflrlhdd9gppnlhjlsg46m5760c5bxw",
+    "version": "2.4.4"
   },
   "disable-xml-rpc": {
     "path": "disable-xml-rpc/tags/1.0.1",
@@ -48,16 +48,16 @@
     "version": "1.0.1"
   },
   "gutenberg": {
-    "path": "gutenberg/tags/14.3.1",
-    "rev": "2800224",
-    "sha256": "1irs8slis4vax8l5pnal6zlaxs6487xh84kq1c89azf9raqx4h0z",
-    "version": "14.3.1"
+    "path": "gutenberg/tags/14.8.4",
+    "rev": "2841225",
+    "sha256": "1nyyqrf61l17crw6pjq5pf9wa657sm0r85b0lxp0vzlpsfsvvw47",
+    "version": "14.8.4"
   },
   "jetpack": {
-    "path": "jetpack/tags/11.4",
-    "rev": "2794223",
-    "sha256": "123kfn6wn23sz7zv8yk8rszrxwnjgjfrm0cqpwmrs3h1plfqv7kg",
-    "version": "11.4"
+    "path": "jetpack/tags/11.6",
+    "rev": "2829451",
+    "sha256": "0hfsjcfd10mplsh4k78mmag9nh2zl0m42vrgrykdaw58zwjis2fj",
+    "version": "11.6"
   },
   "jetpack-lite": {
     "path": "jetpack-lite/tags/3.0.3",
@@ -72,10 +72,10 @@
     "version": "5.0.18"
   },
   "mailpoet": {
-    "path": "mailpoet/tags/3.101.0",
-    "rev": "2800580",
-    "sha256": "050ip4vd514nlfw69ax9x8acszlcsqzd7zw5bdvy1xk3dlva6fkb",
-    "version": "3.101.0"
+    "path": "mailpoet/tags/4.3.1",
+    "rev": "2843001",
+    "sha256": "0nnmfk1rxhf31makfc0v7mlh30799saxpf8agqdlavrmqpvypvzb",
+    "version": "4.3.1"
   },
   "merge-minify-refresh": {
     "path": "merge-minify-refresh/trunk",
@@ -85,15 +85,15 @@
   },
   "opengraph": {
     "path": "opengraph/tags/1.11.0",
-    "rev": "2730257",
-    "sha256": "133mzlccbdpppps1aq83n2az4xzikak61k4rdzg9aax23l5ggss6",
+    "rev": "2815207",
+    "sha256": "08fs38gkrfy4i3gx5lpw95hhdqfnzybzxds2ipmpdildx31i9qy1",
     "version": "1.11.0"
   },
   "simple-login-captcha": {
-    "path": "simple-login-captcha/tags/1.3.3",
-    "rev": "2729196",
-    "sha256": "1wy9cbibbngjarc8c9qn4bil3qc8i0h2kz0k364zcsnfpwi8jk3c",
-    "version": "1.3.3"
+    "path": "simple-login-captcha/tags/1.3.4",
+    "rev": "2827561",
+    "sha256": "11lrhgyfas2gxdc8jfckzr9dr0i0cws4gz029gj9zi9n031fr5wc",
+    "version": "1.3.4"
   },
   "static-mail-sender-configurator": {
     "path": "static-mail-sender-configurator/tags/0.9.3",
@@ -102,10 +102,10 @@
     "version": "0.9.3"
   },
   "webp-converter-for-media": {
-    "path": "webp-converter-for-media/tags/5.3.1",
-    "rev": "2798010",
-    "sha256": "1flggxd6hw0ps3b0y32a2aj9g3zfpzbaiwzx1zn2s7zpxn508y1b",
-    "version": "5.3.1"
+    "path": "webp-converter-for-media/tags/5.6.1",
+    "rev": "2840699",
+    "sha256": "1srrlrwxkv00j0wj0br5xjzfgwa2n4n0qr6b7xyzavxf7v0lnm7q",
+    "version": "5.6.1"
   },
   "webp-express": {
     "path": "webp-express/tags/0.25.5",
@@ -114,28 +114,28 @@
     "version": "0.25.5"
   },
   "wordpress-seo": {
-    "path": "wordpress-seo/tags/19.8",
-    "rev": "2796969",
-    "sha256": "0vnj7b37s9rra2m957baz8ki4z6x6acl76wgx8yj2063823q0pl2",
-    "version": "19.8"
+    "path": "wordpress-seo/tags/19.13",
+    "rev": "2836498",
+    "sha256": "1ajfxw0fhx0lispcmlcm6wlgfml6kq2315gfdnlf41ai8rl3lpkh",
+    "version": "19.13"
   },
   "worker": {
-    "path": "worker/tags/4.9.14",
-    "rev": "2739771",
-    "sha256": "14bq99cdpdqp1vydhgk3n4gyi99w1b0x1xkz1rnalj0xgqiq19hd",
-    "version": "4.9.14"
+    "path": "worker/tags/4.9.16",
+    "rev": "2839308",
+    "sha256": "0dg3ibzjfxsg7qqk9fbinc9q2hz5iin1qidb7ggvd48y9rbjb2s9",
+    "version": "4.9.16"
   },
   "wp-change-email-sender": {
     "path": "wp-change-email-sender/trunk",
-    "rev": "2796798",
-    "sha256": "1wkj15vclbh4l38fkrmbmc4w7lapfydq9rrpn508ki19f4544dam",
+    "rev": "2812298",
+    "sha256": "1ibdj2yv572pk21pr313pdrqxi2f9vawwd0byb0s38224jjx4plh",
     "version": "1.0"
   },
   "wp-fastest-cache": {
-    "path": "wp-fastest-cache/tags/1.0.6",
-    "rev": "2793013",
-    "sha256": "14xqqnv1snc2nc4y7cc6mmjkfkds18lk4xh7x75cbhy5cd8nqx8x",
-    "version": "1.0.6"
+    "path": "wp-fastest-cache/tags/1.0.9",
+    "rev": "2833576",
+    "sha256": "00jajz49lqgcl83hkiis9qf3h4zh7xzpnwi17hrmnarrqss9z7q2",
+    "version": "1.0.9"
   },
   "wp-gdpr-compliance": {
     "path": "wp-gdpr-compliance/tags/2.0.20",
@@ -144,21 +144,27 @@
     "version": "2.0.20"
   },
   "wp-mail-smtp": {
-    "path": "wp-mail-smtp/tags/3.6.1",
-    "rev": "2795051",
-    "sha256": "14ry7302c4h7d7lrasiql9jiy3x54ylim3y7j5b633g5lyzadynl",
-    "version": "3.6.1"
+    "path": "wp-mail-smtp/tags/3.7.0",
+    "rev": "2834385",
+    "sha256": "1qrmdz2qb0qz2qf5zxf3vs3a1cgnpmi0xlbm7wpxq45bg6qziwzr",
+    "version": "3.7.0"
   },
   "wp-statistics": {
-    "path": "wp-statistics/tags/13.2.7",
-    "rev": "2803072",
-    "sha256": "001b9q8vmpj3rvlv2s8h7c9m2xvd58mcvcas99n4bmllzrxy2pji",
-    "version": "13.2.7"
+    "path": "wp-statistics/tags/13.2.11",
+    "rev": "2841966",
+    "sha256": "0bdg63q9wq82rpj7lxiwsvbpxa03r2v1pngs2pxifd4632b7ikni",
+    "version": "13.2.11"
   },
   "wp-user-avatars": {
     "path": "wp-user-avatars/trunk",
     "rev": "2540784",
     "sha256": "1g21nl6xs9zyq0ainjwa06wl90975l8f9rj0fa20zkmw17w2mdgl",
     "version": "1.4.1"
+  },
+  "wpforms-lite": {
+    "path": "wpforms-lite/tags/1.7.8",
+    "rev": "2815943",
+    "sha256": "0xqnjxlj2m6zpcasj3gksg9qzjm8pynjr8sar8xbgfz8ichs5m6m",
+    "version": "1.7.8"
   }
 }
diff --git a/pkgs/servers/web-apps/wordpress/packages/themes.json b/pkgs/servers/web-apps/wordpress/packages/themes.json
index a67d0d9818ae5..60e5af582f730 100644
--- a/pkgs/servers/web-apps/wordpress/packages/themes.json
+++ b/pkgs/servers/web-apps/wordpress/packages/themes.json
@@ -1,14 +1,14 @@
 {
   "twentytwentyone": {
-    "path": "twentytwentyone/1.6",
-    "rev": "168450",
-    "sha256": "0wfqdyd59hifnncjv59ywjak050gaggsvjx7r01agh44nzkr84fs",
-    "version": "1.6"
+    "path": "twentytwentyone/1.7",
+    "rev": "178738",
+    "sha256": "090j6xb2hpq4qjis4yismgzip893ihdqs5r58a13nngl17xilmxw",
+    "version": "1.7"
   },
   "twentytwentytwo": {
-    "path": "twentytwentytwo/1.2",
-    "rev": "168451",
-    "sha256": "0ry7h5bd9h97q38jmsgymm05dfml0ycdhqn7iskpdlc1nnrjrk04",
-    "version": "1.2"
+    "path": "twentytwentytwo/1.3",
+    "rev": "178733",
+    "sha256": "11lwmirh83yv8wlgacrb9w1qmczkfqxpnl3dn15n38z494kx7zdg",
+    "version": "1.3"
   }
 }
diff --git a/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix b/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix
new file mode 100644
index 0000000000000..19d23531f6b02
--- /dev/null
+++ b/pkgs/servers/web-apps/wordpress/packages/thirdparty.nix
@@ -0,0 +1,8 @@
+{fetchzip}: {
+  plugins.civicrm = fetchzip rec {
+    name = "civicrm";
+    version = "5.56.0";
+    url = "https://storage.googleapis.com/${name}/${name}-stable/${version}/${name}-${version}-wordpress.zip";
+    hash = "sha256-XsNFxVL0LF+OHlsqjjTV41x9ERLwMDq9BnKKP3Px2aI=";
+  };
+}
diff --git a/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json b/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json
index 4e4e84ab8ccc2..193c0ae4f2ae5 100644
--- a/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json
+++ b/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json
@@ -26,4 +26,5 @@
 , "wp-mail-smtp"
 , "wp-statistics"
 , "wp-user-avatars"
+, "wpforms-lite"
 ]
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index c956f0fc44a73..c1980309e1f18 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "hilbish";
-  version = "1.2.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    sha256 = "sha256-fUGeQM+7FRGTRL3J4c2+c+NTwrM6d99F2ucKsou2kRk=";
+    sha256 = "sha256-5GPJVusF3/WbEE5VH45Wyxq40wbNxgjO8QI2cLMpdN0=";
     fetchSubmodules = true;
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-j7YAt7+kUJXdd/9LaRZny3MxYdd+0n5G3AffeDMo5DY=";
+  vendorSha256 = "sha256-Kiy1JR3X++naY2XNLpnGujrNQt7qlL0zxv8E96cHmHo=";
 
   ldflags = [
     "-s"
@@ -28,7 +28,7 @@ buildGoModule rec {
     cp .hilbishrc.lua $out/share/hilbish/
     cp -r docs -t $out/share/hilbish/
     cp -r libs -t $out/share/hilbish/
-    cp -r prelude/ $out/share/hilbish/
+    cp -r nature $out/share/hilbish/
   '';
 
   meta = with lib; {
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 83557f995af34..da2e9b135f2e3 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -93,14 +93,14 @@ let
 
   hasNonSourceProvenance = attrs:
     (attrs ? meta.sourceProvenance) &&
-    isNonSource (lib.lists.toList attrs.meta.sourceProvenance);
+    isNonSource attrs.meta.sourceProvenance;
 
   # Allow granular checks to allow only some non-source-built packages
   # Example:
   # { pkgs, ... }:
   # {
   #   allowNonSource = false;
-  #   allowNonSourcePredicate = with pkgs.lib.lists; pkg: !(any (p: !p.isSource && p != lib.sourceTypes.binaryFirmware) (toList pkg.meta.sourceProvenance));
+  #   allowNonSourcePredicate = with pkgs.lib.lists; pkg: !(any (p: !p.isSource && p != lib.sourceTypes.binaryFirmware) pkg.meta.sourceProvenance);
   # }
   allowNonSourcePredicate = config.allowNonSourcePredicate or (x: false);
 
@@ -269,7 +269,7 @@ let
     license = let
       licenseType = either (attrsOf anything) str; # TODO disallow `str` licenses, use a module
     in either licenseType (listOf licenseType);
-    sourceProvenance = either (listOf (attrsOf anything)) (attrsOf anything);
+    sourceProvenance = listOf lib.types.attrs;
     maintainers = listOf (attrsOf anything); # TODO use the maintainer type from lib/tests/maintainer-module.nix
     priority = int;
     platforms = listOf str;
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index dbaff342fb1af..5116de9803487 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -1,8 +1,61 @@
 # This file constructs the standard build environment for the
-# Linux/i686 platform.  It's completely pure; that is, it relies on no
+# Linux platform.  It's completely pure; that is, it relies on no
 # external (non-Nix) tools, such as /usr/bin/gcc, and it contains a C
 # compiler and linker that do not search in default locations,
 # ensuring purity of components produced by it.
+#
+# It starts from prebuilt seed bootstrapFiles and creates a series of
+# nixpkgs instances (stages) to gradually rebuild stdenv, which
+# is used to build all other packages (including the bootstrapFiles).
+#
+# Goals of the bootstrap process:
+# 1. final stdenv must not reference any of the bootstrap files.
+# 2. final stdenv must not contain any of the bootstrap files
+#    (the only current violation is libgcc_s.so in glibc).
+# 3. final stdenv must not contain any of the files directly
+#    generated by the bootstrap code generators (assembler, linker,
+#    compiler). The only current violations are: libgcc_s.so in glibc,
+#    the lib{mpfr,mpc,gmp,isl} which are statically linked
+#    into the final gcc).
+#
+# These goals ensure that final packages and final stdenv are built
+# exclusively using nixpkgs package definitions and don't depend
+# on bootstrapTools (via direct references, inclusion
+# of copied code, or code compiled directly by bootstrapTools).
+#
+# Stages are described below along with their definitions.
+#
+# Debugging stdenv dependency graph:
+# An useful tool to explore dependencies across stages is to use
+# '__bootPackages' attribute of 'stdenv. Examples of last 3 stages:
+# - stdenv
+# - stdenv.__bootPackages.stdenv
+# - stdenv.__bootPackages.stdenv.__bootPackages.stdenv
+# - ... and so on.
+#
+# To explore build-time dependencies in graphical form one can use
+# the following:
+#     $ nix-store --query --graph $(nix-instantiate -A stdenv) |
+#         grep -P -v '[.]sh|[.]patch|bash|[.]tar' | # avoid clutter
+#         dot -Tsvg > stdenv-final.svg
+#
+# To find all the packages built by a particular stdenv instance:
+#    $ for stage in 0 1 2 3 4; do
+#      echo "stage${stage} used in:"
+#      nix-store --query --graph $(nix-instantiate -A stdenv) |
+#          grep -P ".*bootstrap-stage${stage}-stdenv.*->.*" |
+#          sed 's/"[0-9a-z]\{32\}-/"/g'
+#      done
+#
+# To verify which stdenv was used to build a given final package:
+#     $ nix-store --query --graph $(nix-instantiate -A stdenv) |
+#       grep -P -v '[.]sh|[.]patch|bash|[.]tar' |
+#       grep -P '.*stdenv.*->.*glibc-2'
+#     "...-bootstrap-stage2-stdenv-linux.drv" -> "...-glibc-2.35-224.drv";
+#
+# For a TUI (rather than CLI) view, you can use:
+#
+#     $ nix-tree --derivation $(nix-instantiate -A stdenv)
 { lib
 , localSystem, crossSystem, config, overlays, crossOverlays ? []
 
@@ -147,6 +200,9 @@ in
 
   # Build a dummy stdenv with no GCC or working fetchurl.  This is
   # because we need a stdenv to build the GCC wrapper and fetchurl.
+  #
+  # resulting stage0 stdenv:
+  # - coreutils, binutils, glibc, gcc: from bootstrapFiles
   (prevStage: stageFun prevStage {
     name = "bootstrap-stage0";
 
@@ -202,6 +258,9 @@ in
   # If we ever need to use a package from more than one stage back, we
   # simply re-export those packages in the middle stage(s) using the
   # overrides attribute and the inherit syntax.
+  #
+  # resulting stage1 stdenv:
+  # - coreutils, binutils, glibc, gcc: from bootstrapFiles
   (prevStage: stageFun prevStage {
     name = "bootstrap-stage1";
 
@@ -228,6 +287,10 @@ in
 
   # 2nd stdenv that contains our own rebuilt binutils and is used for
   # compiling our own Glibc.
+  #
+  # resulting stage2 stdenv:
+  # - coreutils, glibc, gcc: from bootstrapFiles
+  # - binutils: from nixpkgs, built by bootstrapFiles toolchain
   (prevStage: stageFun prevStage {
     name = "bootstrap-stage2";
 
@@ -296,6 +359,10 @@ in
   # Construct a third stdenv identical to the 2nd, except that this
   # one uses the rebuilt Glibc from stage2.  It still uses the recent
   # binutils and rest of the bootstrap tools, including GCC.
+  #
+  # resulting stage3 stdenv:
+  # - coreutils, gcc: from bootstrapFiles
+  # - glibc, binutils: from nixpkgs, built by bootstrapFiles toolchain
   (prevStage: stageFun prevStage {
     name = "bootstrap-stage3";
 
@@ -332,6 +399,17 @@ in
 
   # Construct a fourth stdenv that uses the new GCC.  But coreutils is
   # still from the bootstrap tools.
+  #
+  # resulting stage4 stdenv:
+  # - coreutils: from bootstrapFiles
+  # - glibc, binutils: from nixpkgs, built by bootstrapFiles toolchain
+  # - gcc: from nixpkgs, built by bootstrapFiles toolchain. Can assume
+  #        it has almost no code from bootstrapTools as gcc bootstraps
+  #        internally. The only exceptions are crt files from glibc
+  #        built by bootstrapTools used to link executables and libraries,
+  #        and the bootstrapTools-built, statically-linked
+  #        lib{mpfr,mpc,gmp,isl}.a which are linked into the final gcc
+  #        (see commit cfde88976ba4cddd01b1bb28b40afd12ea93a11d).
   (prevStage: stageFun prevStage {
     name = "bootstrap-stage4";
 
@@ -388,6 +466,17 @@ in
   # When updating stdenvLinux, make sure that the result has no
   # dependency (`nix-store -qR') on bootstrapTools or the first
   # binutils built.
+  #
+  # resulting stage5 (final) stdenv:
+  # - coreutils, binutils: from nixpkgs, built by nixpkgs toolchain
+  # - glibc: from nixpkgs, built by bootstrapFiles toolchain
+  # - gcc: from nixpkgs, built by bootstrapFiles toolchain. Can assume
+  #        it has almost no code from bootstrapTools as gcc bootstraps
+  #        internally. The only exceptions are crt files from glibc
+  #        built by bootstrapTools used to link executables and libraries,
+  #        and the bootstrapTools-built, statically-linked
+  #        lib{mpfr,mpc,gmp,isl}.a which are linked into the final gcc
+  #        (see commit cfde88976ba4cddd01b1bb28b40afd12ea93a11d).
   (prevStage: {
     inherit config overlays;
     stdenv = import ../generic rec {
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index dd94f5ad46a23..05a36726c0c75 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -151,6 +151,7 @@ in buildPythonApplication rec {
     python-uinput
     pyxdg
     rencode
+    invoke
   ] ++ lib.optionals withNvenc [
     pycuda
     pynvml
diff --git a/pkgs/tools/admin/pulumi/default.nix b/pkgs/tools/admin/pulumi/default.nix
index ddfbfee6107f7..e95a265ebd6f4 100644
--- a/pkgs/tools/admin/pulumi/default.nix
+++ b/pkgs/tools/admin/pulumi/default.nix
@@ -109,7 +109,7 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://pulumi.io/";
     description = "Pulumi is a cloud development platform that makes creating cloud programs easy and productive";
-    sourceProvenance = sourceTypes.fromSource;
+    sourceProvenance = [ sourceTypes.fromSource ];
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [
diff --git a/pkgs/tools/admin/qovery-cli/default.nix b/pkgs/tools/admin/qovery-cli/default.nix
index 23a38397f4990..947f10521e712 100644
--- a/pkgs/tools/admin/qovery-cli/default.nix
+++ b/pkgs/tools/admin/qovery-cli/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "qovery-cli";
-  version = "0.48.1";
+  version = "0.48.2";
 
   src = fetchFromGitHub {
     owner = "Qovery";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-areQ9otV3Ws/D34ocuyZ72i/PqPHK+l4l2J2jLFQU18=";
+    hash = "sha256-cAIEfkWCRvYcoDshQDye3lPebMsBAsF4/nfPsP6xnB8=";
   };
 
   vendorHash = "sha256-6/TT3/98wBH9oMbPOzgvwN2nxj4RSbL2vxSMFlM5sgo=";
diff --git a/pkgs/tools/audio/vgmtools/default.nix b/pkgs/tools/audio/vgmtools/default.nix
index a65ba1b4cda40..9571e1160666b 100644
--- a/pkgs/tools/audio/vgmtools/default.nix
+++ b/pkgs/tools/audio/vgmtools/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vgmtools";
-  version = "unstable-2022-12-03";
+  version = "unstable-2022-12-30";
 
   src = fetchFromGitHub {
     owner = "vgmrips";
     repo = "vgmtools";
-    rev = "b9216623ffb9219c46a7a10669175c7a4c8cd946";
-    sha256 = "fPt/z4D4C8TWoz7FivxmXGDcYGc7sXWvxE0+CoyFgDQ=";
+    rev = "6c2c21dfc871f8cb9c33a77fe7db01419b6ad97d";
+    sha256 = "qe8cHGf8X7JjjoiRQ/S3q/WhyvgrMEwsCo7QoQkmg5w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/filesystems/gcsfuse/default.nix b/pkgs/tools/filesystems/gcsfuse/default.nix
index 225048f0e3a83..f45d4cd95b690 100644
--- a/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -1,21 +1,31 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
 buildGoModule rec {
   pname = "gcsfuse";
-  version = "0.41.9";
+  version = "0.41.10";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
-    rev = "v${version}";
-    sha256 = "sha256-hfdQa0e1S1cIF4V2XPFBl4jzzTWlIxZIJ99PRxCP55s=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-rtBqXC1CTkbKDP6pzkRQ7GnM5f4xt6eUMW3n9wZu0hc=";
   };
 
   vendorSha256 = null;
 
-  subPackages = [ "." "tools/mount_gcsfuse" ];
+  subPackages = [
+    "."
+    "tools/mount_gcsfuse"
+  ];
 
-  ldflags = [ "-s" "-w" "-X main.gcsfuseVersion=${version}" ];
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.gcsfuseVersion=${version}"
+  ];
 
   preCheck =
     let skippedTests = [
@@ -35,6 +45,7 @@ buildGoModule rec {
   meta = with lib;{
     description = "A user-space file system for interacting with Google Cloud Storage";
     homepage = "https://cloud.google.com/storage/docs/gcs-fuse";
+    changelog = "https://github.com/GoogleCloudPlatform/gcsfuse/releases/tag/v${version}";
     license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ aaronjheng ];
diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix
index 1138ecb7f9970..a19333f1cc838 100644
--- a/pkgs/tools/filesystems/httm/default.nix
+++ b/pkgs/tools/filesystems/httm/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httm";
-  version = "0.18.3";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "kimono-koans";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LJFBridWS7YYO9Bw3mzRdRnh2gGUxAtuoNq2T1wuAcY=";
+    sha256 = "sha256-0diHZFD4+glTdGWWJk/5amr0mDsvKV5OibKGQNtitIk=";
   };
 
-  cargoSha256 = "sha256-/v0QQ3EnmL1EKEjJ4O0t52SOrCz+CVBpunogEfVMpBw=";
+  cargoSha256 = "sha256-Rg1wmDLmkDC25meZIe94WZ3Wp8a93VAqRJXjmaE6k18=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 0effd84566490..6c02117936dac 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -9,7 +9,7 @@
 , cmake
 , file
 , fuse
-, jdk
+, jdk8
 , openssl
 , python3
 , valgrind
@@ -17,30 +17,49 @@
 }:
 
 stdenv.mkDerivation {
+  pname = "XtreemFS";
+  # using unstable release because stable (v1.5.1) has broken repl java plugin
+  version = "unstable-2015-06-17";
+
   src = fetchFromGitHub {
-    # using unstable release because stable (v1.5.1) has broken repl java plugin
     rev = "7ddcb081aa125b0cfb008dc98addd260b8353ab3";
     owner = "xtreemfs";
     repo = "xtreemfs";
     sha256 = "1hjmd32pla27zf98ghzz6r5ml8ry86m9dsryv1z01kxv5l95b3m0";
   };
 
-  pname = "XtreemFS";
-  version = "1.5.1.81";
-
   nativeBuildInputs = [ makeWrapper python3 ];
   buildInputs = [ which attr ];
 
   patches = [
     (fetchpatch {
+      name = "protobuf-add-arm64-atomicops.patch";
+      url = "https://github.com/protocolbuffers/protobuf/commit/2ca19bd8066821a56f193e7fca47139b25c617ad.patch";
+      stripLen = 1;
+      extraPrefix = "cpp/thirdparty/protobuf-2.5.0/";
+      sha256 = "sha256-hlL5ZiJhpO3fPpcSTV+yki4zahg/OhFdIZEGF1TNTe0=";
+    })
+    (fetchpatch {
+      name = "protobuf-add-aarch64-architecture-to-platform-macros.patch";
+      url = "https://github.com/protocolbuffers/protobuf/commit/f0b6a5cfeb5f6347c34975446bda08e0c20c9902.patch";
+      stripLen = 1;
+      extraPrefix = "cpp/thirdparty/protobuf-2.5.0/";
+      sha256 = "sha256-VRl303x9g5ES/LMODcAdhsPiEmQTq/qXhE/DfvLXF84=";
+    })
+    (fetchpatch {
+      name = "xtreemfs-fix-for-boost-version-1.66.patch";
+      url = "https://github.com/xtreemfs/xtreemfs/commit/aab843cb115ab0739edf7f58fd2d4553a05374a8.patch";
+      sha256 = "sha256-y/vXI/PT1TwSy8/73+RKIgKq4pZ9i22MBxr6jo/M5l8=";
+    })
+    (fetchpatch {
+      name = "xtreemfs-fix-for-openssl_1_1.patch";
       url = "https://github.com/xtreemfs/xtreemfs/commit/ebfdc2fff56c09f310159d92026883941e42a953.patch";
       sha256 = "075w00ad88qm6xpm5679m0gfzkrc53w17sk7ycybf4hzxjs29ygy";
-      name = "xtreemfs-fix-for-openssl_1_1";
     })
   ];
 
   preConfigure = ''
-    export JAVA_HOME=${jdk}
+    export JAVA_HOME=${jdk8}
     export ANT_HOME=${ant}
 
     export BOOST_INCLUDEDIR=${boost.dev}/include
@@ -90,7 +109,5 @@ stdenv.mkDerivation {
     maintainers = with lib.maintainers; [ raskin matejc ];
     platforms = lib.platforms.linux;
     license = lib.licenses.bsd3;
-    # never built on aarch64-linux since first introduction in nixpkgs
-    broken = stdenv.isLinux && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 5bd2f231392fa..c920aebd32168 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , rustPlatform
-, fetchCrate
+, fetchFromGitHub
 , installShellFiles
 , makeWrapper
 , pkg-config
@@ -15,14 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.18.0";
+  version = "1.19.0";
 
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-GR0a5NDJBcRLoNOeG6S+fP3Fr7r5fVB9oEcjANRYJt4=";
+  src = fetchFromGitHub {
+    owner = "Canop";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-pg+eHmClDd04tWljQUS0IRyMzkHnkpkofuhz/KyQbWo=";
   };
 
-  cargoHash = "sha256-Hk9bc1mo8GxcPICKXc9zDq18S5TZElDncxJ+w2fC2do=";
+  cargoHash = "sha256-+RUYC39L7yyh1xYPfZn7tDIf1cmmBuGcqTNibFk7s6M=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix
index 343713c02255a..6b710f2e2c0d0 100644
--- a/pkgs/tools/misc/debian-devscripts/default.nix
+++ b/pkgs/tools/misc/debian-devscripts/default.nix
@@ -34,13 +34,14 @@ in stdenv.mkDerivation rec {
     tgtpy="$out/lib/${python.libPrefix}/site-packages"
     mkdir -p "$tgtpy"
     export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy"
-    find po4a scripts -type f -exec sed -r \
+    find lib po4a scripts -type f -exec sed -r \
       -e "s@/usr/bin/gpg(2|)@${gnupg}/bin/gpg@g" \
       -e "s@/usr/(s|)bin/sendmail@${sendmailPath}@g" \
       -e "s@/usr/bin/diff@${diffutils}/bin/diff@g" \
       -e "s@/usr/bin/gpgv(2|)@${gnupg}/bin/gpgv@g" \
       -e "s@(command -v|/usr/bin/)curl@${curl.bin}/bin/curl@g" \
       -e "s@sensible-editor@${sensible-editor}@g" \
+      -e "s@(^|\W)/bin/bash@\1${stdenv.shell}@g" \
       -i {} +
     sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile
     sed -r \
@@ -66,6 +67,9 @@ in stdenv.mkDerivation rec {
         --prefix PYTHONPATH : "$out/${python.sitePackages}" \
         --prefix PATH : "${dpkg}/bin"
     done
+    ln -s cvs-debi $out/bin/cvs-debc
+    ln -s debchange $out/bin/dch
+    ln -s pts-subscribe $out/bin/pts-unsubscribe
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/iay/default.nix b/pkgs/tools/misc/iay/default.nix
index 9c8b0a47ab867..88e14f582394a 100644
--- a/pkgs/tools/misc/iay/default.nix
+++ b/pkgs/tools/misc/iay/default.nix
@@ -38,10 +38,9 @@ rustPlatform.buildRustPackage rec {
   NIX_LDFLAGS = lib.optionals stdenv.isDarwin [ "-framework" "AppKit" ];
 
   meta = with lib; {
-    description =
-      "Minimalistic, blazing-fast, and extendable prompt for bash and zsh";
+    description = "Minimalistic, blazing-fast, and extendable prompt for bash and zsh";
     homepage = "https://github.com/aaqaishtyaq/iay";
     license = licenses.mit;
-    maintainers = with maintainers; [ aaqaishtyaq ];
+    maintainers = with maintainers; [ aaqaishtyaq omasanori ];
   };
 }
diff --git a/pkgs/tools/misc/nurl/default.nix b/pkgs/tools/misc/nurl/default.nix
index 6f0cf9bdfefaa..b716e279404e7 100644
--- a/pkgs/tools/misc/nurl/default.nix
+++ b/pkgs/tools/misc/nurl/default.nix
@@ -10,22 +10,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nurl";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nurl";
     rev = "v${version}";
-    hash = "sha256-fLa9gNdwBOSOMisU1UI8KAKGOkDN13LZsBpH+bObqUM=";
+    hash = "sha256-bZJlhGbRjhrLk8J0WJq3NCY71MZYsxy8f1ippguOsIM=";
   };
 
-  cargoSha256 = "sha256-vyhsZYYSpR2qbwTXOw8e1DFRQ78RVHktK6zCbiXT7RI=";
+  cargoSha256 = "sha256-904IOaovvSOuMyXIxZjaG2iqUoz5qq3hftLGaiA8h0U=";
 
   nativeBuildInputs = [
     installShellFiles
     makeWrapper
   ];
 
+  # tests require internet access
+  doCheck = false;
+
   postInstall = ''
     wrapProgram $out/bin/nurl \
       --prefix PATH : ${lib.makeBinPath [ gitMinimal mercurial nix ]}
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 1b01cca1a3f9f..4bcb98532ebad 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -20,11 +20,11 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2022.11.11";
+  version = "2023.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9rliAjwXp3FRR28Pbtcb6H0Bdim6XZmUUovFSFIRkbY=";
+    sha256 = "sha256-uNe7tcFZX3GIVaMfNNigJ2pwhvXT9ULAIaje2LJtNq4=";
   };
 
   propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
diff --git a/pkgs/tools/networking/aardvark-dns/default.nix b/pkgs/tools/networking/aardvark-dns/default.nix
index fdf76d459a296..4f4576dfe297d 100644
--- a/pkgs/tools/networking/aardvark-dns/default.nix
+++ b/pkgs/tools/networking/aardvark-dns/default.nix
@@ -1,6 +1,7 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, nixosTests
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,6 +17,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-naWkSXQHfImd6R+RHKkmTe8UiqxknZEFYoJ0g/URCVY=";
 
+  passthru.tests = { inherit (nixosTests) podman; };
+
   meta = with lib; {
     description = "Authoritative dns server for A/AAAA container records";
     homepage = "https://github.com/containers/aardvark-dns";
diff --git a/pkgs/tools/networking/chrony/default.nix b/pkgs/tools/networking/chrony/default.nix
index de710e6b3f18f..2b1bee85bcff0 100644
--- a/pkgs/tools/networking/chrony/default.nix
+++ b/pkgs/tools/networking/chrony/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv, fetchurl, pkg-config, libcap, readline, texinfo, nss, nspr
-, libseccomp, pps-tools, gnutls }:
+{ lib, stdenv, fetchurl, pkg-config
+, gnutls, libedit, nspr, nss, readline, texinfo
+, libcap, libseccomp, pps-tools
+}:
 
 stdenv.mkDerivation rec {
   pname = "chrony";
@@ -7,22 +9,33 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/chrony/${pname}-${version}.tar.gz";
-    sha256 = "sha256-nQ2oiahl8ImlohYQ/7ZxPjyUOM4wOmO0nC+26v9biAQ=";
+    hash = "sha256-nQ2oiahl8ImlohYQ/7ZxPjyUOM4wOmO0nC+26v9biAQ=";
   };
 
+  outputs = [ "out" "man" ];
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ gnutls libedit nspr nss readline texinfo ]
+    ++ lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
+
+  configureFlags = [
+    "--enable-ntp-signd"
+    "--sbindir=$(out)/bin"
+    "--chronyrundir=/run/chrony"
+  ] ++ lib.optional stdenv.isLinux "--enable-scfilter";
+
+  patches = [
+    # Cleanup the installation script
+    ./makefile.patch
+  ];
+
   postPatch = ''
     patchShebangs test
   '';
 
-  buildInputs = [ readline texinfo nss nspr gnutls ]
-    ++ lib.optionals stdenv.isLinux [ libcap libseccomp pps-tools ];
-  nativeBuildInputs = [ pkg-config ];
-
   hardeningEnable = [ "pie" ];
 
-  configureFlags = [ "--chronyvardir=$(out)/var/lib/chrony" "--enable-ntp-signd" ]
-    ++ lib.optional stdenv.isLinux "--enable-scfilter";
-
   meta = with lib; {
     description = "Sets your computer's clock from time servers on the Net";
     homepage = "https://chrony.tuxfamily.org/";
diff --git a/pkgs/tools/networking/chrony/makefile.patch b/pkgs/tools/networking/chrony/makefile.patch
new file mode 100644
index 0000000000000..be15ccb5cb22a
--- /dev/null
+++ b/pkgs/tools/networking/chrony/makefile.patch
@@ -0,0 +1,23 @@
+diff --git a/Makefile.in b/Makefile.in
+index ef100a4..47f54f4 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -23,7 +23,7 @@
+ 
+ SYSCONFDIR = @SYSCONFDIR@
+ BINDIR = @BINDIR@
+-SBINDIR = @SBINDIR@
++SBINDIR = @BINDIR@
+ LOCALSTATEDIR = @LOCALSTATEDIR@
+ CHRONYVARDIR = @CHRONYVARDIR@
+ DESTDIR =
+@@ -86,9 +86,7 @@ getdate :
+ 
+ install: chronyd chronyc
+ 	[ -d $(DESTDIR)$(SYSCONFDIR) ] || mkdir -p $(DESTDIR)$(SYSCONFDIR)
+-	[ -d $(DESTDIR)$(SBINDIR) ] || mkdir -p $(DESTDIR)$(SBINDIR)
+ 	[ -d $(DESTDIR)$(BINDIR) ] || mkdir -p $(DESTDIR)$(BINDIR)
+-	[ -d $(DESTDIR)$(CHRONYVARDIR) ] || mkdir -p $(DESTDIR)$(CHRONYVARDIR)
+ 	if [ -f $(DESTDIR)$(SBINDIR)/chronyd ]; then rm -f $(DESTDIR)$(SBINDIR)/chronyd ; fi
+ 	if [ -f $(DESTDIR)$(BINDIR)/chronyc ]; then rm -f $(DESTDIR)$(BINDIR)/chronyc ; fi
+ 	cp chronyd $(DESTDIR)$(SBINDIR)/chronyd
diff --git a/pkgs/tools/networking/filegive/default.nix b/pkgs/tools/networking/filegive/default.nix
index 681bda5b4e1ba..2fafc90fcf019 100644
--- a/pkgs/tools/networking/filegive/default.nix
+++ b/pkgs/tools/networking/filegive/default.nix
@@ -1,23 +1,23 @@
-{ buildGoPackage, lib, fetchurl }:
+{ buildGoModule, lib, fetchurl }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "filegive";
-  version = "0.7.4";
+  version = "unstable-2022-05-29";
+  rev = "5b28e7087a";
 
   src = fetchurl {
-    url = "https://viric.name/soft/filegive/filegive-${version}.tar.gz";
-    sha256 = "1z3vyqfdp271qa5ah0i6jmn9gh3gb296wcm33sd2zfjqapyh12hy";
+    url = "https://viric.name/cgi-bin/filegive/tarball/${rev}/filegive-${rev}.tar.gz";
+    hash = "sha256-A69oys59GEysZvQLaYsfoX/X2ENMMH2BGfJqXohQjpc=";
   };
 
-  goDeps = ./deps.nix;
+  vendorHash = "sha256-l7FRl58NWGBynMlGu1SCxeVBEzTdxREvUWzmJDiliZM=";
 
-  goPackagePath = "viric.name/soft/filegive";
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     homepage = "https://viric.name/cgi-bin/filegive";
     description = "Easy p2p file sending program";
     license = licenses.agpl3Plus;
-    maintainers = [ maintainers.viric ];
-    platforms = platforms.unix;
+    maintainers = with maintainers; [ viric ];
   };
 }
diff --git a/pkgs/tools/networking/filegive/deps.nix b/pkgs/tools/networking/filegive/deps.nix
deleted file mode 100644
index 24c262195086b..0000000000000
--- a/pkgs/tools/networking/filegive/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "code.google.com/p/go-nat-pmp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jackpal/go-nat-pmp";
-      rev = "e04deda90d5683d6e375732740814a89eea7bafd";
-      sha256 = "1swwfyzaj3l40yh9np3x4fcracgs79nwryc85sxbdakx8wwxs2xb";
-    };
-  }
-]
diff --git a/pkgs/tools/networking/iwgtk/default.nix b/pkgs/tools/networking/iwgtk/default.nix
index c2781fbaf7977..0c72c41ce626b 100644
--- a/pkgs/tools/networking/iwgtk/default.nix
+++ b/pkgs/tools/networking/iwgtk/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iwgtk";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "j-lentz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-89rzDxalZtQkwAKS6hKPVY87kOWPySwDeZrPs2rGs/k=";
+    sha256 = "sha256-/Nxti4PfYVLnIiBgtAuR3KGI8dULszuSdTp+2DzBfbs=";
   };
 
   # patch systemd service to pass necessary environments and use absolute paths
@@ -29,9 +29,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gtk4 qrencode ];
 
   postInstall = ''
-    mv $out/share/lib/systemd $out/share
-    rmdir $out/share/lib
-    substituteInPlace $out/share/systemd/user/iwgtk.service --subst-var out
+    substituteInPlace $out/lib/systemd/user/iwgtk.service --subst-var out
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/netavark/default.nix b/pkgs/tools/networking/netavark/default.nix
index fbd0a8119c51f..bac09558e7fbb 100644
--- a/pkgs/tools/networking/netavark/default.nix
+++ b/pkgs/tools/networking/netavark/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , installShellFiles
 , mandown
+, nixosTests
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -25,6 +26,8 @@ rustPlatform.buildRustPackage rec {
     installManPage docs/netavark.1
   '';
 
+  passthru.tests = { inherit (nixosTests) podman; };
+
   meta = with lib; {
     description = "Rust based network stack for containers";
     homepage = "https://github.com/containers/netavark";
diff --git a/pkgs/tools/networking/nfdump/default.nix b/pkgs/tools/networking/nfdump/default.nix
index 3a24794f419b1..713bf400f4b1b 100644
--- a/pkgs/tools/networking/nfdump/default.nix
+++ b/pkgs/tools/networking/nfdump/default.nix
@@ -1,22 +1,40 @@
-{ lib, stdenv, fetchFromGitHub
-, autoconf, automake, libtool, pkg-config
-, bzip2, libpcap, flex, bison }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, automake
+, libtool
+, pkg-config
+, bzip2
+, libpcap
+, flex
+, bison
+}:
 
-let version = "1.7.0.1"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "nfdump";
-  inherit version;
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "phaag";
     repo = "nfdump";
-    rev = "v${version}";
-    sha256 = "sha256-yD/NFGw38ishqQmKhlnHYodXmJuezI09hxNsyObZ1QE=";
+    rev =  "refs/tags/v${version}";
+    hash = "sha256-oCaJPx6+C0NQSuUcsP54sycNLt/zaqe5c81dwHNBcnQ=";
   };
 
-  nativeBuildInputs = [ autoconf automake flex libtool pkg-config bison ];
-  buildInputs = [ bzip2 libpcap ];
+  nativeBuildInputs = [
+    autoconf
+    automake
+    flex
+    libtool
+    pkg-config
+    bison
+  ];
+
+  buildInputs = [
+    bzip2
+    libpcap
+  ];
 
   preConfigure = ''
     # The script defaults to glibtoolize on darwin, so we pass the correct
@@ -37,8 +55,9 @@ stdenv.mkDerivation {
       nfdump is a set of tools for working with netflow data.
     '';
     homepage = "https://github.com/phaag/nfdump";
+    changelog = "https://github.com/phaag/nfdump/releases/tag/v${version}";
     license = licenses.bsd3;
-    maintainers = [ maintainers.takikawa ];
+    maintainers = with maintainers; [ takikawa ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index 0b203ba2caaee..d4e2b590b08ca 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -1,24 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, CoreServices, libiconv }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security, CoreServices }:
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.14.3";
+  version = "1.15.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "sha256-tRiziyCw1Qpm22RtZHeKt4VFReJidFHsPxPSjxIA3hA=";
+    hash = "sha256-CvAOvtC5U2njQuUjFxjnGeqhuxrCw4XI6goo1TxIhIU=";
   };
 
-  cargoSha256 = "sha256-snnzNb1yJ8L5pMvNNEIf5hZOpFV6DKOWGtGP1T3YTWg=";
+  cargoHash = "sha256-ctZlYo82M7GKVvrEkw/7+aH9R0MeEsyv3IKl9k4SbiA=";
 
-  RUSTC_BOOTSTRAP = 1;
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
-  nativeBuildInputs = [ pkg-config ];
-
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ CoreServices libiconv ];
+  buildInputs = lib.optionals stdenv.isLinux [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ Security CoreServices ];
 
   cargoBuildFlags = [
     "--features=aead-cipher-extra,local-dns,local-http-native-tls,local-redir,local-tun"
@@ -36,8 +34,9 @@ rustPlatform.buildRustPackage rec {
   ];
 
   meta = with lib; {
+    description = "A Rust port of Shadowsocks";
     homepage = "https://github.com/shadowsocks/shadowsocks-rust";
-    description = "A Rust port of shadowsocks";
+    changelog = "https://github.com/shadowsocks/shadowsocks-rust/raw/v${version}/debian/changelog";
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/tools/networking/sing-box/default.nix b/pkgs/tools/networking/sing-box/default.nix
index 99d320f4f85c8..fbc268e7b880d 100644
--- a/pkgs/tools/networking/sing-box/default.nix
+++ b/pkgs/tools/networking/sing-box/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "sing-box";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "SagerNet";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-CNy+C5E5iAZHZ7PsS0Hj43irCuCvy/bes3kovvH81/o=";
+    hash = "sha256-FbW2h/muCk/vAItYHYRA/DFFPQvmTqNq74XUZQkUXaA=";
   };
 
-  vendorHash = "sha256-fUHfvqzbu2P7N413dDuV41myhReNSYvgF+Cc6SgG6y4=";
+  vendorHash = "sha256-kJE+1bekIpv36cG0/Gi25kjnJmTjTp6lt344kFCUSXI=";
 
   tags = [
     "with_quic"
diff --git a/pkgs/tools/networking/smokeping/default.nix b/pkgs/tools/networking/smokeping/default.nix
index 2b4a12bc73788..29996a1c7243b 100644
--- a/pkgs/tools/networking/smokeping/default.nix
+++ b/pkgs/tools/networking/smokeping/default.nix
@@ -1,16 +1,26 @@
-{ lib, stdenv, fetchurl, fping, rrdtool, perlPackages, nixosTests }:
+{ lib, stdenv, fetchurl, fetchpatch, fping, rrdtool, perlPackages, autoreconfHook, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "smokeping";
-  version = "2.6.11";
+  version = "2.8.2";
   src = fetchurl {
     url = "https://oss.oetiker.ch/smokeping/pub/smokeping-${version}.tar.gz";
-    sha256 = "1p9hpa2zs33p7hzrds80kwrm5255s0869v3s3qmsyx2sx63c7czj";
+    sha256 = "sha256-KeYRGLRV4juWmtpfjiq0MtPi74fUr+LIbeSgPXGItuo=";
   };
+
+  patches = [
+    (fetchpatch {
+      url = "https://src.fedoraproject.org/rpms/smokeping/raw/4ebf1921706a5a29c758fdce2f59cc35652c944a/f/smokeping-2.8.2-no-3rd-party.patch";
+      hash = "sha256-97rQ4m9HHl3lIpQyjZvu+gZSrNIB2pckxmopCQAQPp0=";
+    })
+  ];
+
   propagatedBuildInputs = [ rrdtool ] ++
     (with perlPackages; [ perl FCGI CGI CGIFast ConfigGrammar DigestHMAC NetTelnet
       NetOpenSSH NetSNMP LWP IOTty fping NetDNS perlldap ]);
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   postInstall = ''
     mv $out/htdocs/smokeping.fcgi.dist $out/htdocs/smokeping.fcgi
   '';
@@ -19,7 +29,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Network latency collector";
-    homepage = "http://oss.oetiker.ch/smokeping";
+    homepage = "https://oss.oetiker.ch/smokeping";
     license = lib.licenses.gpl2Plus;
     platforms = lib.platforms.all;
     maintainers = [ lib.maintainers.erictapen ];
diff --git a/pkgs/tools/networking/v2ray/default.nix b/pkgs/tools/networking/v2ray/default.nix
index 741465bebee4e..51f70abcc71db 100644
--- a/pkgs/tools/networking/v2ray/default.nix
+++ b/pkgs/tools/networking/v2ray/default.nix
@@ -6,18 +6,18 @@
 
 buildGoModule rec {
   pname = "v2ray-core";
-  version = "5.1.0";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "v2ray-core";
     rev = "v${version}";
-    hash = "sha256-87BtyaJN6qbinZQ+6MAwaK62YzbVnncj4qnEErG5tfA=";
+    hash = "sha256-/n8GyKcTsus7BWspg6Br4ALH98A1dSpkNFNKkRlIqHs=";
   };
 
   # `nix-update` doesn't support `vendorHash` yet.
   # https://github.com/Mic92/nix-update/pull/95
-  vendorSha256 = "sha256-RuDCAgTzqwe5fUwa9ce2wRx4FPT8siRLbP7mU8/jg/Y=";
+  vendorSha256 = "sha256-85k6XWe12m2siejfoPJru87/AYdVSl+ag09jUkBIc0M=";
 
   ldflags = [ "-s" "-w" "-buildid=" ];
 
diff --git a/pkgs/tools/networking/wireproxy/default.nix b/pkgs/tools/networking/wireproxy/default.nix
new file mode 100644
index 0000000000000..9f4109b1e0b0d
--- /dev/null
+++ b/pkgs/tools/networking/wireproxy/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "wireproxy";
+  version = "1.0.5";
+
+  src = fetchFromGitHub {
+    owner = "octeep";
+    repo = "wireproxy";
+    rev = "v${version}";
+    hash = "sha256-5xyKmFxXYhrR8EbG1/ByD10lhkPT9Ky1lq+LL2djaao=";
+  };
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X main.version=v${version}"
+  ];
+
+  vendorHash = "sha256-/LZs6N2m5nHx735Ug+PcM1I1ZL9f8VYEpd7Tt4WizMQ=";
+
+  meta = with lib; {
+    description = "Wireguard client that exposes itself as a socks5 proxy";
+    homepage = "https://github.com/octeep/wireproxy";
+    license = licenses.isc;
+    maintainers = with maintainers; [ _3JlOy-PYCCKUi ];
+  };
+}
diff --git a/pkgs/tools/nix/nixdoc/default.nix b/pkgs/tools/nix/nixdoc/default.nix
index 945809e7a7673..be485f9065531 100644
--- a/pkgs/tools/nix/nixdoc/default.nix
+++ b/pkgs/tools/nix/nixdoc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, rustPlatform, darwin }:
 
 rustPlatform.buildRustPackage rec {
   pname = "nixdoc";
@@ -11,6 +11,14 @@ rustPlatform.buildRustPackage rec {
     sha256 = "14d4dq06jdqazxvv7fq5872zy0capxyb0fdkp8qg06gxl1iw201s";
   };
 
+  patches = [
+    # Support nested identifiers https://github.com/nix-community/nixdoc/pull/27
+    (fetchpatch {
+      url = "https://github.com/nix-community/nixdoc/pull/27/commits/ea542735bf675fe2ccd37edaffb9138d1a8c1b7e.patch";
+      sha256 = "1fmz44jv2r9qsnjxvkkjfb0safy69l4x4vx1g5gisrp8nwdn94rj";
+    })
+  ];
+
   buildInputs =  lib.optionals stdenv.isDarwin [ darwin.Security ];
 
   cargoSha256 = "1nv6g8rmjjbwqmjkrpqncypqvx5c7xp2zlx5h6rw2j9d1wlys0v5";
diff --git a/pkgs/tools/package-management/licensee/Gemfile.lock b/pkgs/tools/package-management/licensee/Gemfile.lock
index 438ba3e8c6f3d..487224bf5da21 100644
--- a/pkgs/tools/package-management/licensee/Gemfile.lock
+++ b/pkgs/tools/package-management/licensee/Gemfile.lock
@@ -4,25 +4,25 @@ GEM
     addressable (2.8.1)
       public_suffix (>= 2.0.2, < 6.0)
     dotenv (2.8.1)
-    faraday (2.7.1)
+    faraday (2.7.2)
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
     faraday-net_http (3.0.2)
-    licensee (9.15.3)
+    licensee (9.16.0)
       dotenv (~> 2.0)
       octokit (>= 4.20, < 7.0)
       reverse_markdown (>= 1, < 3)
       rugged (>= 0.24, < 2.0)
       thor (>= 0.19, < 2.0)
-    mini_portile2 (2.8.0)
-    nokogiri (1.13.9)
+    mini_portile2 (2.8.1)
+    nokogiri (1.13.10)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     octokit (6.0.1)
       faraday (>= 1, < 3)
       sawyer (~> 0.9)
-    public_suffix (5.0.0)
-    racc (1.6.0)
+    public_suffix (5.0.1)
+    racc (1.6.2)
     reverse_markdown (2.1.1)
       nokogiri
     ruby2_keywords (0.0.5)
@@ -39,4 +39,4 @@ DEPENDENCIES
   licensee
 
 BUNDLED WITH
-   2.3.25
+   2.3.26
diff --git a/pkgs/tools/package-management/licensee/gemset.nix b/pkgs/tools/package-management/licensee/gemset.nix
index 656f67f3a270e..25726d2ac5c25 100644
--- a/pkgs/tools/package-management/licensee/gemset.nix
+++ b/pkgs/tools/package-management/licensee/gemset.nix
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wyz9ab0mzi84gpf81fs19vrixglmmxi25k6n1mn9h141qmsp590";
+      sha256 = "17lacy6n0hsayafvgxgzmngfq2x62b2arbn32bj2yyzmgxwyxhqn";
       type = "gem";
     };
-    version = "2.7.1";
+    version = "2.7.2";
   };
   faraday-net_http = {
     groups = ["default"];
@@ -47,20 +47,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n0l1c8kxhpdg6pgv1wgwpdfc7gqkygpd8h41shwc95rapdha9gg";
+      sha256 = "0i4hs0vbgp0w3pdddr37zhydm16af122rmr0w39v3nqrj1ir65kv";
       type = "gem";
     };
-    version = "9.15.3";
+    version = "9.16.0";
   };
   mini_portile2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rapl1sfmfi3bfr68da4ca16yhc0pp93vjwkj7y3rdqrzy3b41hy";
+      sha256 = "1af4yarhbbx62f7qsmgg5fynrik0s36wjy3difkawy536xg343mp";
       type = "gem";
     };
-    version = "2.8.0";
+    version = "2.8.1";
   };
   nokogiri = {
     dependencies = ["mini_portile2" "racc"];
@@ -68,10 +68,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cam1455nmi3fzzpa9ixn2hsim10fbprmj62ajpd6d02mwdprwwn";
+      sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk";
       type = "gem";
     };
-    version = "1.13.9";
+    version = "1.13.10";
   };
   octokit = {
     dependencies = ["faraday" "sawyer"];
@@ -89,20 +89,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sqw1zls6227bgq38sxb2hs8nkdz4hn1zivs27mjbniswfy4zvi6";
+      sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
       type = "gem";
     };
-    version = "5.0.0";
+    version = "5.0.1";
   };
   racc = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0la56m0z26j3mfn1a9lf2l03qx1xifanndf9p3vx1azf6sqy7v9d";
+      sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.6.2";
   };
   reverse_markdown = {
     dependencies = ["nokogiri"];
diff --git a/pkgs/tools/security/expliot/default.nix b/pkgs/tools/security/expliot/default.nix
index 4c0318ffa3bee..4ec31802710d5 100644
--- a/pkgs/tools/security/expliot/default.nix
+++ b/pkgs/tools/security/expliot/default.nix
@@ -55,7 +55,8 @@ buildPythonApplication rec {
       --replace "pynetdicom>=1.5.1,<2" "pynetdicom>=2,<3" \
       --replace "cryptography>=3.0,<4" "cryptography>=35,<40" \
       --replace "python-can>=3.3.3,<4" "python-can>=3.3.3,<5" \
-      --replace "pyparsing>=2.4.7,<3" "pyparsing>=2.4.7,<4"
+      --replace "pyparsing>=2.4.7,<3" "pyparsing>=2.4.7,<4" \
+      --replace "zeroconf>=0.30,<0.40" "zeroconf"
   '';
 
   # Project has no tests
diff --git a/pkgs/tools/security/gnupg/23.nix b/pkgs/tools/security/gnupg/23.nix
index 0b7941ce46e18..2030e8195e680 100644
--- a/pkgs/tools/security/gnupg/23.nix
+++ b/pkgs/tools/security/gnupg/23.nix
@@ -57,7 +57,8 @@ stdenv.mkDerivation rec {
     "--with-ksba-prefix=${libksba.dev}"
     "--with-npth-prefix=${npth}"
   ] ++ lib.optional guiSupport "--with-pinentry-pgm=${pinentry}/${pinentryBinaryPath}"
-  ++ lib.optional withTpm2Tss "--with-tss=intel";
+  ++ lib.optional withTpm2Tss "--with-tss=intel"
+  ++ lib.optional stdenv.isDarwin "--disable-ccid-driver";
   postInstall = if enableMinimal
   then ''
     rm -r $out/{libexec,sbin,share}
diff --git a/pkgs/tools/security/libacr38u/default.nix b/pkgs/tools/security/libacr38u/default.nix
index 378fc217ae977..5211f42b96efd 100644
--- a/pkgs/tools/security/libacr38u/default.nix
+++ b/pkgs/tools/security/libacr38u/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, pcsclite , libusb-compat-0_1, IOKit }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, pcsclite , libusb-compat-0_1, IOKit }:
 
 stdenv.mkDerivation {
   version = "1.7.11";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
 
   doCheck = true;
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ pcsclite libusb-compat-0_1 ]
     ++ lib.optional stdenv.isDarwin IOKit;
 
@@ -38,7 +38,5 @@ stdenv.mkDerivation {
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ berce ];
     platforms = with platforms; unix;
-    # never built on aarch64-darwin since first introduction in nixpkgs
-    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/tools/security/mitmproxy2swagger/default.nix b/pkgs/tools/security/mitmproxy2swagger/default.nix
index 560e9a175da0c..3378e0d332c7f 100644
--- a/pkgs/tools/security/mitmproxy2swagger/default.nix
+++ b/pkgs/tools/security/mitmproxy2swagger/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mitmproxy2swagger";
-  version = "0.7.1";
+  version = "0.7.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "alufers";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-morBtuRZZ/d3ye8aB+m2dSwWoaF3JJ92c+CgF71MqH4=";
+    hash = "sha256-LnH0RDiRYJAGI7ZT6Idu1AqSz0yBRuBJvhIgY72Z4CA=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/pass/extensions/checkup.nix b/pkgs/tools/security/pass/extensions/checkup.nix
index 5ae846d4a4b31..b1cff6a20724b 100644
--- a/pkgs/tools/security/pass/extensions/checkup.nix
+++ b/pkgs/tools/security/pass/extensions/checkup.nix
@@ -3,7 +3,7 @@
 
 let
   pname = "pass-checkup";
-  version = "0.2.1";
+  version = "0.2.2";
 in stdenv.mkDerivation {
   inherit pname version;
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
     owner = "etu";
     repo = pname;
     rev = version;
-    sha256 = "18b6rx59r7g0hvqs2affvw0g0jyifyzhanwgz2q2b8nhjgqgnar2";
+    sha256 = "1p65yxr00k35g4bnagszp8i03pmhnrcmipgrdsawps2ba8faqp6r";
   };
 
   nativeBuildInputs = [ shellcheck ];
diff --git a/pkgs/tools/security/trufflehog/default.nix b/pkgs/tools/security/trufflehog/default.nix
index 27574241576ad..76ccda498b47f 100644
--- a/pkgs/tools/security/trufflehog/default.nix
+++ b/pkgs/tools/security/trufflehog/default.nix
@@ -1,43 +1,33 @@
 { lib
-, python3Packages
+, fetchFromGitHub
+, buildGoModule
 }:
 
-let
-  truffleHogRegexes = python3Packages.buildPythonPackage rec {
-    pname = "truffleHogRegexes";
-    version = "0.0.7";
-    src = python3Packages.fetchPypi {
-      inherit pname version;
-      sha256 = "b81dfc60c86c1e353f436a0e201fd88edb72d5a574615a7858485c59edf32405";
-    };
-  };
-in
-  python3Packages.buildPythonApplication rec {
-    pname = "truffleHog";
-    version = "2.2.1";
+buildGoModule rec {
+  pname = "trufflehog";
+  version = "3.21.0";
 
-    src = python3Packages.fetchPypi {
-      inherit pname version;
-      hash = "sha256-fw0JyM2iqQrkL4FAXllEozJdkKWELS3eAURx5NZcceQ=";
-    };
+  src = fetchFromGitHub {
+    owner = "trufflesecurity";
+    repo = "trufflehog";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-rse5uyQ7EUBhs0IyC92B/Z7YCeNIXTlZEqrlcjFekgA=";
+  };
 
-    # Relax overly restricted version constraint
-    postPatch = ''
-      substituteInPlace setup.py --replace "GitPython ==" "GitPython >= "
-    '';
+  vendorHash = "sha256-KyyJ7hUWF29L8oB9GkJ918/BQoLMsz+tStT2T9Azunk=";
 
-    propagatedBuildInputs = [
-      python3Packages.gitpython
-      truffleHogRegexes
-    ];
+  # Test cases run git clone and require network access
+  doCheck = false;
 
-    # Test cases run git clone and require network access
-    doCheck = false;
+  postInstall = ''
+    rm $out/bin/{generate,snifftest}
+  '';
 
-    meta = with lib; {
-      homepage = "https://github.com/dxa4481/truffleHog";
-      description = "Searches through git repositories for high entropy strings and secrets, digging deep into commit history";
-      license = with licenses; [ gpl2 ];
-      maintainers = with maintainers; [ bhipple ];
-    };
-  }
+  meta = with lib; {
+    description = "Find credentials all over the place";
+    homepage = "https://github.com/trufflesecurity/trufflehog";
+    changelog = "https://github.com/trufflesecurity/trufflehog/releases/tag/v${version}";
+    license = with licenses; [ agpl3 ];
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index 0bdf2c4a36a01..100e9126582e4 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -3,17 +3,19 @@
 , buildGoModule
 , fetchFromGitHub
 , installShellFiles
+, testers
+, gdu
 }:
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.20.0";
+  version = "5.21.0";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8wkp6pu6QDQBrXJVasi9YhxdzyaobDp0WbwNFCQpLag=";
+    sha256 = "sha256-7zVYki4sA5jsnxWye0ouUwAOwKUBf/TiZDqFuXTm45w=";
   };
 
   vendorSha256 = "sha256-UP6IdJLc93gRP4vwKKOJl3sNt4sOFeYXjvwk8QM+D48=";
@@ -36,6 +38,10 @@ buildGoModule rec {
 
   doCheck = !stdenv.isDarwin;
 
+  passthru.tests.version = testers.testVersion {
+    package = gdu;
+  };
+
   meta = with lib; {
     description = "Disk usage analyzer with console interface";
     longDescription = ''
@@ -46,6 +52,5 @@ buildGoModule rec {
     homepage = "https://github.com/dundee/gdu";
     license = with licenses; [ mit ];
     maintainers = [ maintainers.fab maintainers.zowoq ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/frawk/default.nix b/pkgs/tools/text/frawk/default.nix
index d4e0f809ebe1e..74afabac33bdc 100644
--- a/pkgs/tools/text/frawk/default.nix
+++ b/pkgs/tools/text/frawk/default.nix
@@ -10,14 +10,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "frawk";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-yEdfMikMcsQePxQL1+lma95O1x5z1B7aXAEf8apuGaU=";
+    sha256 = "sha256-fqOFFkw+mV9QLTH3K6Drk3kDqU4wrQTj7OQrtgYuD7M=";
   };
 
-  cargoSha256 = "sha256-osi77Fx8jSfIvAIpThgPbnuJVF/Ydr2/+ROHcDG5ZbA=";
+  cargoSha256 = "sha256-G39/CESjMouwPQJBdsmd+MBusGNQmyNjw3PJSFBCdSk=";
 
   buildInputs = [ libxml2 ncurses zlib ];
 
@@ -36,8 +36,8 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "A small programming language for writing short programs processing textual data";
     homepage = "https://github.com/ezrosent/frawk";
+    changelog = "https://github.com/ezrosent/frawk/releases/tag/v${version}";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ figsoda ];
-    platforms = platforms.x86;
   };
 }
diff --git a/pkgs/tools/text/miller/default.nix b/pkgs/tools/text/miller/default.nix
index ed7e0f0230d1a..9d00ab028a9aa 100644
--- a/pkgs/tools/text/miller/default.nix
+++ b/pkgs/tools/text/miller/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "miller";
-  version = "6.5.0";
+  version = "6.6.0";
 
   src = fetchFromGitHub {
     owner = "johnkerl";
     repo = "miller";
     rev = "v${version}";
-    sha256 = "sha256-k/ibxJYgk3CT+/mYJ3DN9GatuiIgMPMs1+5cbCg4jxM=";
+    sha256 = "sha256-Uvf2kkWD6ir8XicEX+FNYmd2A9c/jd6GgwjYomNfjfc=";
   };
 
-  vendorSha256 = "sha256-UQHqDuQeXfmGrRYSbqW6lnBDVTgDJGhJWmH4kgPrggE=";
+  vendorSha256 = "sha256-VW0mTq0oc95wVkFa+0rpsiOlS/9LT2Xy6u0RtSTsEoA=";
 
   subPackages = [ "cmd/mlr" ];
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3f7ae1cc2f8eb..7041d012f4b2c 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -633,6 +633,7 @@ mapAliases ({
 
   ### I ###
 
+  i3-gaps = i3; # Added 2023-01-03
   i3cat = throw "i3cat has been dropped due to the lack of maintanence from upstream since 2016"; # Added 2022-06-02
   iana_etc = throw "'iana_etc' has been renamed to/replaced by 'iana-etc'"; # Converted to throw 2022-02-22
   iasl = throw "iasl has been removed, use acpica-tools instead"; # Added 2021-08-08
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f942575830600..9df56d2890b7b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1543,6 +1543,8 @@ with pkgs;
 
   ### APPLICATIONS/VERSION-MANAGEMENT
 
+  deepgit = callPackage ../applications/version-management/deepgit {};
+
   git = callPackage ../applications/version-management/git {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
     perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
@@ -8852,6 +8854,8 @@ with pkgs;
 
   mautrix-facebook = callPackage ../servers/mautrix-facebook { };
 
+  mautrix-googlechat = callPackage ../servers/mautrix-googlechat { };
+
   mautrix-signal = recurseIntoAttrs (callPackage ../servers/mautrix-signal { });
 
   mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { });
@@ -10348,7 +10352,7 @@ with pkgs;
   oshka = callPackage ../development/tools/oshka {};
 
   osl = libsForQt5.callPackage ../development/compilers/osl {
-    boost = boost165;
+    boost = boost17x;
   };
 
   osqp = callPackage ../development/libraries/science/math/osqp { };
@@ -11596,7 +11600,7 @@ with pkgs;
   shabnam-fonts = callPackage ../data/fonts/shabnam-fonts { };
 
   shadowsocks-rust = callPackage ../tools/networking/shadowsocks-rust {
-    inherit (darwin.apple_sdk.frameworks) CoreServices;
+    inherit (darwin.apple_sdk.frameworks) Security CoreServices;
   };
 
   shadowsocks-v2ray-plugin = callPackage ../tools/networking/shadowsocks-v2ray-plugin { };
@@ -12892,6 +12896,8 @@ with pkgs;
 
   wireguard-tools = callPackage ../tools/networking/wireguard-tools { };
 
+  wireproxy = callPackage ../tools/networking/wireproxy { };
+
   wiringpi = callPackage ../os-specific/linux/wiringpi { };
 
   wg-friendly-peer-names = callPackage ../tools/networking/wg-friendly-peer-names { };
@@ -13353,8 +13359,7 @@ with pkgs;
   };
 
   xtreemfs = callPackage ../tools/filesystems/xtreemfs {
-    boost = boost165;
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
+    boost = boost17x;
   };
 
   xurls = callPackage ../tools/text/xurls {};
@@ -14490,7 +14495,7 @@ with pkgs;
 
   gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { };
 
-  gccgo = wrapCC (gcc.cc.override {
+  gccgo = wrapCC ((if stdenv.hostPlatform.isMusl then gcc_latest else gcc).cc.override {
     name = "gccgo";
     langCC = true; #required for go.
     langC = true;
@@ -14521,7 +14526,8 @@ with pkgs;
   gcc-arm-embedded-9 = callPackage ../development/compilers/gcc-arm-embedded/9 {};
   gcc-arm-embedded-10 = callPackage ../development/compilers/gcc-arm-embedded/10 {};
   gcc-arm-embedded-11 = callPackage ../development/compilers/gcc-arm-embedded/11 {};
-  gcc-arm-embedded = gcc-arm-embedded-11;
+  gcc-arm-embedded-12 = callPackage ../development/compilers/gcc-arm-embedded/12 {};
+  gcc-arm-embedded = gcc-arm-embedded-12;
 
   # Has to match the default gcc so that there are no linking errors when
   # using C/C++ libraries in D packages
@@ -15578,7 +15584,8 @@ with pkgs;
   sbcl_2_2_9 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.9"; };
   sbcl_2_2_10 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.10"; };
   sbcl_2_2_11 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.2.11"; };
-  sbcl = sbcl_2_2_11;
+  sbcl_2_3_0 = callPackage ../development/compilers/sbcl/2.x.nix { version = "2.3.0"; };
+  sbcl = sbcl_2_3_0;
 
   roswell = callPackage ../development/tools/roswell { };
 
@@ -15685,7 +15692,7 @@ with pkgs;
     gconf = gnome2.GConf;
   };
 
-  tinycc = callPackage ../development/compilers/tinycc { };
+  tinycc = darwin.apple_sdk_11_0.callPackage ../development/compilers/tinycc { };
 
   tinygo = callPackage ../development/compilers/tinygo {
     llvmPackages = llvmPackages_14;
@@ -16283,6 +16290,8 @@ with pkgs;
 
   pipenv = callPackage ../development/tools/pipenv {};
 
+  pipx = with python3.pkgs; toPythonApplication pipx;
+
   pipewire = callPackage ../development/libraries/pipewire {
     # ffmpeg depends on SDL2 which depends on pipewire by default.
     # Break the cycle by depending on ffmpeg-headless.
@@ -19614,6 +19623,8 @@ with pkgs;
 
   mpfi = callPackage ../development/libraries/mpfi { };
 
+  mpdecimal = callPackage ../development/libraries/mpdecimal { };
+
   mpfshell = callPackage ../development/tools/mpfshell { };
 
   # A GMP fork
@@ -21411,6 +21422,8 @@ with pkgs;
 
   libusbsio = callPackage ../development/libraries/libusbsio { };
 
+  libucontext = callPackage ../development/libraries/libucontext { };
+
   libutempter = callPackage ../development/libraries/libutempter { };
 
   libuldaq = callPackage ../development/libraries/libuldaq { };
@@ -23858,9 +23871,9 @@ with pkgs;
 
   clickhouse = callPackage ../servers/clickhouse {
     # upstream requires llvm12 as of v22.3.2.2
-    inherit (llvmPackages_13) clang-unwrapped lld llvm;
-    llvm-bintools = llvmPackages_13.bintools;
-    stdenv = llvmPackages_13.stdenv;
+    inherit (llvmPackages_14) clang-unwrapped lld llvm;
+    llvm-bintools = llvmPackages_14.bintools;
+    stdenv = llvmPackages_14.stdenv;
   };
 
   clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
@@ -24792,7 +24805,7 @@ with pkgs;
 
   deadpixi-sam-unstable = callPackage ../applications/editors/deadpixi-sam { };
 
-  samba4 = callPackage ../servers/samba/4.x.nix { };
+  samba4 = darwin.apple_sdk_11_0.callPackage ../servers/samba/4.x.nix { };
 
   samba = samba4;
 
@@ -27038,7 +27051,9 @@ with pkgs;
   nordzy-icon-theme = callPackage ../data/icons/nordzy-icon-theme { };
 
   inherit (callPackages ../data/fonts/noto-fonts {})
+    mkNoto
     noto-fonts
+    noto-fonts-lgc-plus
     noto-fonts-cjk-sans
     noto-fonts-cjk-serif
     noto-fonts-emoji
@@ -27774,6 +27789,8 @@ with pkgs;
 
   avocode = callPackage ../applications/graphics/avocode {};
 
+  ax25-apps = callPackage ../applications/radio/ax25-apps {};
+
   ax25-tools = callPackage ../applications/radio/ax25-tools {};
 
   azpainter = callPackage ../applications/graphics/azpainter { };
@@ -29774,8 +29791,6 @@ with pkgs;
 
   i3-auto-layout = callPackage ../applications/window-managers/i3/auto-layout.nix { };
 
-  i3-gaps = callPackage ../applications/window-managers/i3/gaps.nix { };
-
   i3-rounded = callPackage ../applications/window-managers/i3/rounded.nix { };
 
   i3altlayout = callPackage ../applications/window-managers/i3/altlayout.nix { };
@@ -30107,6 +30122,8 @@ with pkgs;
 
   kdeltachat = libsForQt5.callPackage ../applications/networking/instant-messengers/kdeltachat { };
 
+  keet = callPackage ../applications/networking/instant-messengers/keet { };
+
   kepubify = callPackage ../tools/misc/kepubify { };
 
   kermit = callPackage ../tools/misc/kermit { };
@@ -30285,6 +30302,8 @@ with pkgs;
 
   kiln = callPackage ../applications/misc/kiln { };
 
+  karmor = callPackage ../applications/networking/cluster/karmor {};
+
   kubernetes-code-generator = callPackage ../development/tools/kubernetes-code-generator {};
 
   kubernetes-controller-tools = callPackage ../development/tools/kubernetes-controller-tools { };
@@ -31008,6 +31027,8 @@ with pkgs;
 
   nerd-font-patcher = callPackage ../applications/misc/nerd-font-patcher { };
 
+  netmaker = callPackage ../applications/networking/netmaker {};
+
   newsflash = callPackage ../applications/networking/feedreaders/newsflash {
     webkitgtk = webkitgtk_5_0;
   };
@@ -37877,7 +37898,7 @@ with pkgs;
 
   wmutils-opt = callPackage ../tools/X11/wmutils-opt { };
 
-  wordpress = callPackage ../servers/web-apps/wordpress { };
+  inherit (callPackage ../servers/web-apps/wordpress {}) wordpress wordpress6_1;
 
   wordpressPackages = ( callPackage ../servers/web-apps/wordpress/packages {
     plugins = lib.importJSON ../servers/web-apps/wordpress/packages/plugins.json;
@@ -37970,8 +37991,7 @@ with pkgs;
   xzoom = callPackage ../tools/X11/xzoom {};
 
   yabai = darwin.apple_sdk_11_0.callPackage ../os-specific/darwin/yabai {
-    inherit (darwin.apple_sdk.frameworks) Cocoa Carbon ScriptingBridge;
-    inherit (darwin.apple_sdk_11_0.frameworks) SkyLight;
+    inherit (darwin.apple_sdk_11_0.frameworks) SkyLight Cocoa Carbon ScriptingBridge;
   };
 
   yacreader = libsForQt5.callPackage ../applications/graphics/yacreader { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 35281cf5f0867..b4beafcfd3c4a 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -277,9 +277,9 @@ in {
       # https://github.com/xattr/xattr/issues/44 and
       # https://github.com/xattr/xattr/issues/55 are solved.
       inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
-      # 2022-08-04: Support range >= 10 && < 14
-      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
-      llvmPackages = pkgs.llvmPackages_12;
+      # 2022-08-04: Support range >= 10 && < 15
+      buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_14;
+      llvmPackages = pkgs.llvmPackages_14;
     };
 
     ghcjs = compiler.ghcjs810;
diff --git a/pkgs/top-level/nim-packages.nix b/pkgs/top-level/nim-packages.nix
index 2277a1f1b7b41..ca52d7f52b566 100644
--- a/pkgs/top-level/nim-packages.nix
+++ b/pkgs/top-level/nim-packages.nix
@@ -14,12 +14,16 @@ lib.makeScope newScope (self:
     astpatternmatching =
       callPackage ../development/nim-packages/astpatternmatching { };
 
-    bumpy = callPackage ../development/nim-packages/bumpy { };
+    base32 = callPackage ../development/nim-packages/base32 { };
 
-    chroma = callPackage ../development/nim-packages/chroma { };
+    bumpy = callPackage ../development/nim-packages/bumpy { };
 
     c2nim = callPackage ../development/nim-packages/c2nim { };
 
+    cbor = callPackage ../development/nim-packages/cbor { };
+
+    chroma = callPackage ../development/nim-packages/chroma { };
+
     docopt = callPackage ../development/nim-packages/docopt { };
 
     flatty = callPackage ../development/nim-packages/flatty { };
@@ -47,10 +51,14 @@ lib.makeScope newScope (self:
 
     nimbox = callPackage ../development/nim-packages/nimbox { };
 
+    nimSHA2 = callPackage ../development/nim-packages/nimSHA2 { };
+
     nimsimd = callPackage ../development/nim-packages/nimsimd { };
 
     noise = callPackage ../development/nim-packages/noise { };
 
+    npeg = callPackage ../development/nim-packages/npeg { };
+
     packedjson = callPackage ../development/nim-packages/packedjson { };
 
     pixie = callPackage ../development/nim-packages/pixie { };
@@ -82,8 +90,12 @@ lib.makeScope newScope (self:
 
     supersnappy = callPackage ../development/nim-packages/supersnappy { };
 
+    taps = callPackage ../development/nim-packages/taps { };
+
     tempfile = callPackage ../development/nim-packages/tempfile { };
 
+    tkrzw = callPackage ../development/nim-packages/tkrzw { inherit (pkgs) tkrzw; };
+
     ui = callPackage ../development/nim-packages/ui { inherit (pkgs) libui; };
 
     unicodedb = callPackage ../development/nim-packages/unicodedb { };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 1ac15512d76d8..10bb18908ca60 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1517,12 +1517,6 @@ let
 
     webmachine = callPackage ../development/ocaml-modules/webmachine { };
 
-    wodan = callPackage ../development/ocaml-modules/wodan { };
-
-    wodan-irmin = callPackage ../development/ocaml-modules/wodan/irmin.nix { };
-
-    wodan-unix = callPackage ../development/ocaml-modules/wodan/unix.nix { };
-
     wtf8 = callPackage ../development/ocaml-modules/wtf8 { };
 
     x509 = callPackage ../development/ocaml-modules/x509 { };
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 75f5cf537a20f..4d842aa556c77 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -85,6 +85,7 @@ mapAliases ({
   flask_testing = flask-testing; # added 2022-04-25
   flask_wtf = flask-wtf; # added 2022-05-24
   functorch = throw "functorch is now part of the torch package and has therefore been removed. See https://github.com/pytorch/functorch/releases/tag/v1.13.0 for more info."; # added 2022-12-01
+  garages-amsterdam = throw "garages-amsterdam has been renamed odp-amsterdam."; # added 2023-01-04
   garminconnect-ha = garminconnect; # added 2022-02-05
   gigalixir = throw "gigalixir has been promoted to a top-level attribute"; # Added 2022-10-02
   gitdb2 = throw "gitdb2 has been deprecated, use gitdb instead."; # added 2020-03-14
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 79e77719abced..c07ff886535eb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3622,8 +3622,6 @@ self: super: with self; {
 
   gast = callPackage ../development/python-modules/gast { };
 
-  garages-amsterdam = callPackage ../development/python-modules/garages-amsterdam { };
-
   gatt = callPackage ../development/python-modules/gatt { };
 
   gattlib = callPackage ../development/python-modules/gattlib {
@@ -6452,6 +6450,8 @@ self: super: with self; {
 
   odfpy = callPackage ../development/python-modules/odfpy { };
 
+  odp-amsterdam = callPackage ../development/python-modules/odp-amsterdam { };
+
   offtrac = callPackage ../development/python-modules/offtrac { };
 
   ofxclient = callPackage ../development/python-modules/ofxclient { };
@@ -8061,6 +8061,8 @@ self: super: with self; {
 
   pykakasi = callPackage ../development/python-modules/pykakasi { };
 
+  pykaleidescape = callPackage ../development/python-modules/pykaleidescape { };
+
   pykdl = callPackage ../development/python-modules/pykdl { };
 
   pykdtree = callPackage ../development/python-modules/pykdtree {
@@ -9602,6 +9604,8 @@ self: super: with self; {
 
   qtpy = callPackage ../development/python-modules/qtpy { };
 
+  quadprog = callPackage ../development/python-modules/quadprog { };
+
   qualysclient = callPackage ../development/python-modules/qualysclient { };
 
   quamash = callPackage ../development/python-modules/quamash { };
@@ -9757,6 +9761,8 @@ self: super: with self; {
 
   reolink = callPackage ../development/python-modules/reolink { };
 
+  reolink-aio = callPackage ../development/python-modules/reolink-aio { };
+
   reparser = callPackage ../development/python-modules/reparser { };
 
   repeated-test = callPackage ../development/python-modules/repeated-test { };
diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix
index ccca912db791b..0a419ae7cf06e 100644
--- a/pkgs/top-level/release-cross.nix
+++ b/pkgs/top-level/release-cross.nix
@@ -92,7 +92,7 @@ let
   # with their host distribution's versions of nix's numerous
   # build dependencies.
   nixCrossStatic = {
-    nixStatic = nativePlatforms;
+    nixStatic = linux;  # no need for buildPlatform=*-darwin
   };
 
 in