summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-08-04 10:54:22 +0000
committerAlyssa Ross <hi@alyssa.is>2021-08-04 10:54:22 +0000
commitd2e147bedf251976ed99b94b6c905d6761f7a892 (patch)
tree9e0c62d61698916fd4627ed98d3d880c8fc0ab2e
parent62614cbef7da005c1eda8c9400160f6bcd6546b8 (diff)
parentc464dc811babfe316ed4ab7bbc12351122e69dd7 (diff)
downloadnixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.tar
nixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.tar.gz
nixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.tar.bz2
nixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.tar.lz
nixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.tar.xz
nixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.tar.zst
nixpkgs-d2e147bedf251976ed99b94b6c905d6761f7a892.zip
Merge remote-tracking branch 'nixpkgs/nixos-unstable' into master
-rw-r--r--.github/labeler.yml1
-rw-r--r--doc/contributing/coding-conventions.chapter.md32
-rw-r--r--doc/languages-frameworks/rust.section.md12
-rw-r--r--lib/systems/doubles.nix16
-rw-r--r--lib/systems/parse.nix7
-rw-r--r--lib/systems/platforms.nix6
-rw-r--r--lib/tests/systems.nix2
-rw-r--r--maintainers/maintainer-list.nix18
-rwxr-xr-xmaintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh4
-rw-r--r--maintainers/scripts/luarocks-packages.csv3
-rwxr-xr-xmaintainers/scripts/update-luarocks-packages6
-rw-r--r--maintainers/team-list.nix1
-rw-r--r--nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md6
-rw-r--r--nixos/doc/manual/development/nixos-tests.xml1
-rw-r--r--nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml10
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml69
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md15
-rw-r--r--nixos/lib/testing-python.nix9
-rw-r--r--nixos/modules/hardware/all-firmware.nix13
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix6
-rw-r--r--nixos/modules/installer/netboot/netboot.nix6
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix10
-rw-r--r--nixos/modules/misc/ids.nix1
-rw-r--r--nixos/modules/misc/version.nix5
-rw-r--r--nixos/modules/module-list.nix5
-rw-r--r--nixos/modules/programs/captive-browser.nix2
-rw-r--r--nixos/modules/services/admin/meshcentral.nix53
-rw-r--r--nixos/modules/services/cluster/kubernetes/addons/dns.nix54
-rw-r--r--nixos/modules/services/cluster/kubernetes/pki.nix2
-rw-r--r--nixos/modules/services/continuous-integration/gitlab-runner.nix8
-rw-r--r--nixos/modules/services/databases/redis.nix2
-rw-r--r--nixos/modules/services/hardware/sane.nix27
-rw-r--r--nixos/modules/services/misc/gitea.nix11
-rw-r--r--nixos/modules/services/misc/libreddit.nix66
-rw-r--r--nixos/modules/services/misc/mx-puppet-discord.nix120
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix1
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix34
-rw-r--r--nixos/modules/services/network-filesystems/litestream/default.nix100
-rw-r--r--nixos/modules/services/network-filesystems/litestream/litestream.xml65
-rw-r--r--nixos/modules/services/networking/bird.nix4
-rw-r--r--nixos/modules/services/networking/firewall.nix4
-rw-r--r--nixos/modules/services/networking/kea.nix16
-rw-r--r--nixos/modules/services/networking/networkmanager.nix13
-rw-r--r--nixos/modules/services/networking/nftables.nix1
-rw-r--r--nixos/modules/services/networking/syncthing.nix634
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix3
-rw-r--r--nixos/modules/services/system/uptimed.nix10
-rw-r--r--nixos/modules/services/web-apps/node-red.nix148
-rw-r--r--nixos/modules/services/web-apps/tt-rss.nix127
-rwxr-xr-xnixos/modules/services/x11/display-managers/set-session.py3
-rw-r--r--nixos/modules/system/boot/systemd.nix3
-rw-r--r--nixos/modules/system/etc/etc.nix64
-rw-r--r--nixos/modules/system/etc/make-etc.sh45
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix8
-rw-r--r--nixos/tests/all-tests.nix5
-rw-r--r--nixos/tests/gitlab.nix12
-rw-r--r--nixos/tests/kbd-update-search-paths-patch.nix18
-rw-r--r--nixos/tests/libreddit.nix19
-rw-r--r--nixos/tests/litestream.nix93
-rw-r--r--nixos/tests/mpv.nix28
-rw-r--r--nixos/tests/node-red.nix31
-rw-r--r--nixos/tests/prometheus-exporters.nix20
-rw-r--r--nixos/tests/rabbitmq.nix2
-rw-r--r--nixos/tests/soapui.nix24
-rw-r--r--nixos/tests/syncthing-init.nix16
-rw-r--r--nixos/tests/syncthing.nix4
-rw-r--r--pkgs/applications/audio/axoloti/libusb1.nix13
-rw-r--r--pkgs/applications/audio/dfasma/default.nix2
-rw-r--r--pkgs/applications/audio/easyeffects/default.nix4
-rw-r--r--pkgs/applications/audio/fmit/default.nix2
-rw-r--r--pkgs/applications/audio/friture/default.nix2
-rw-r--r--pkgs/applications/audio/gpodder/default.nix7
-rw-r--r--pkgs/applications/audio/iannix/default.nix2
-rw-r--r--pkgs/applications/audio/mimms/default.nix4
-rw-r--r--pkgs/applications/audio/mixxx/default.nix2
-rw-r--r--pkgs/applications/audio/ncspot/default.nix6
-rw-r--r--pkgs/applications/audio/rosegarden/default.nix36
-rw-r--r--pkgs/applications/audio/spectmorph/default.nix2
-rw-r--r--pkgs/applications/audio/tageditor/default.nix2
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc/default.nix (renamed from pkgs/applications/blockchains/bitcoin-abc.nix)52
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc/fix-bitcoin-qt-build.patch (renamed from pkgs/applications/blockchains/fix-bitcoin-qt-build.patch)0
-rw-r--r--pkgs/applications/blockchains/bitcoin-classic/default.nix (renamed from pkgs/applications/blockchains/bitcoin-classic.nix)50
-rw-r--r--pkgs/applications/blockchains/bitcoin-gold/default.nix (renamed from pkgs/applications/blockchains/bitcoin-gold.nix)0
-rw-r--r--pkgs/applications/blockchains/bitcoin-knots/default.nix (renamed from pkgs/applications/blockchains/bitcoin-knots.nix)0
-rw-r--r--pkgs/applications/blockchains/bitcoin-unlimited/default.nix (renamed from pkgs/applications/blockchains/bitcoin-unlimited.nix)0
-rw-r--r--pkgs/applications/blockchains/bitcoin/default.nix (renamed from pkgs/applications/blockchains/bitcoin.nix)0
-rw-r--r--pkgs/applications/blockchains/chia-plotter/default.nix65
-rw-r--r--pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch50
-rw-r--r--pkgs/applications/blockchains/chia/default.nix1
-rw-r--r--pkgs/applications/blockchains/clightning/default.nix (renamed from pkgs/applications/blockchains/clightning.nix)0
-rw-r--r--pkgs/applications/blockchains/crypto-org-wallet/default.nix (renamed from pkgs/applications/blockchains/crypto-org-wallet.nix)0
-rw-r--r--pkgs/applications/blockchains/dashpay/default.nix (renamed from pkgs/applications/blockchains/dashpay.nix)0
-rw-r--r--pkgs/applications/blockchains/dcrd/default.nix (renamed from pkgs/applications/blockchains/dcrd.nix)0
-rw-r--r--pkgs/applications/blockchains/dcrwallet/default.nix (renamed from pkgs/applications/blockchains/dcrwallet.nix)0
-rw-r--r--pkgs/applications/blockchains/dero/default.nix (renamed from pkgs/applications/blockchains/dero.nix)0
-rw-r--r--pkgs/applications/blockchains/digibyte/default.nix (renamed from pkgs/applications/blockchains/digibyte.nix)0
-rw-r--r--pkgs/applications/blockchains/dogecoin/default.nix (renamed from pkgs/applications/blockchains/dogecoin.nix)0
-rw-r--r--pkgs/applications/blockchains/eclair/default.nix (renamed from pkgs/applications/blockchains/eclair.nix)0
-rw-r--r--pkgs/applications/blockchains/electrs/default.nix (renamed from pkgs/applications/blockchains/electrs.nix)0
-rw-r--r--pkgs/applications/blockchains/elements/default.nix (renamed from pkgs/applications/blockchains/elements.nix)0
-rw-r--r--pkgs/applications/blockchains/go-ethereum/default.nix (renamed from pkgs/applications/blockchains/go-ethereum.nix)0
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix6
-rw-r--r--pkgs/applications/blockchains/litecoin/default.nix (renamed from pkgs/applications/blockchains/litecoin.nix)0
-rw-r--r--pkgs/applications/blockchains/lnd/default.nix (renamed from pkgs/applications/blockchains/lnd.nix)0
-rw-r--r--pkgs/applications/blockchains/lndmanage/default.nix (renamed from pkgs/applications/blockchains/lndmanage.nix)4
-rw-r--r--pkgs/applications/blockchains/masari/default.nix (renamed from pkgs/applications/blockchains/masari.nix)0
-rw-r--r--pkgs/applications/blockchains/namecoin/default.nix (renamed from pkgs/applications/blockchains/namecoin.nix)0
-rw-r--r--pkgs/applications/blockchains/nano-wallet/default.nix6
-rw-r--r--pkgs/applications/blockchains/particl-core/default.nix (renamed from pkgs/applications/blockchains/particl/particl-core.nix)0
-rw-r--r--pkgs/applications/blockchains/pivx/default.nix (renamed from pkgs/applications/blockchains/pivx.nix)53
-rw-r--r--pkgs/applications/blockchains/quorum/default.nix (renamed from pkgs/applications/blockchains/quorum.nix)0
-rw-r--r--pkgs/applications/blockchains/stellar-core/default.nix (renamed from pkgs/applications/blockchains/stellar-core.nix)0
-rw-r--r--pkgs/applications/blockchains/sumokoin/default.nix (renamed from pkgs/applications/blockchains/sumokoin.nix)0
-rw-r--r--pkgs/applications/blockchains/tessera/default.nix (renamed from pkgs/applications/blockchains/tessera.nix)0
-rw-r--r--pkgs/applications/blockchains/turbo-geth/default.nix (renamed from pkgs/applications/blockchains/turbo-geth.nix)0
-rw-r--r--pkgs/applications/blockchains/vertcoin/default.nix (renamed from pkgs/applications/blockchains/vertcoin.nix)0
-rw-r--r--pkgs/applications/blockchains/wownero/default.nix (renamed from pkgs/applications/blockchains/wownero.nix)0
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json20
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix42
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json1539
-rw-r--r--pkgs/applications/editors/focuswriter/default.nix2
-rw-r--r--pkgs/applications/editors/ne/default.nix2
-rw-r--r--pkgs/applications/editors/texmaker/default.nix2
-rw-r--r--pkgs/applications/editors/tiled/default.nix2
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/djv/default.nix152
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix13
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix2
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/k3d/default.nix4
-rw-r--r--pkgs/applications/graphics/ktikz/default.nix1
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix15
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix13
-rw-r--r--pkgs/applications/graphics/sane/drivers.nix13
-rw-r--r--pkgs/applications/graphics/scantailor/default.nix2
-rw-r--r--pkgs/applications/graphics/shutter/default.nix2
-rw-r--r--pkgs/applications/graphics/timelapse-deflicker/default.nix2
-rw-r--r--pkgs/applications/graphics/yacreader/default.nix2
-rw-r--r--pkgs/applications/misc/1password/default.nix12
-rw-r--r--pkgs/applications/misc/archiver/default.nix1
-rw-r--r--pkgs/applications/misc/audio/wavesurfer/default.nix2
-rw-r--r--pkgs/applications/misc/authy/default.nix6
-rw-r--r--pkgs/applications/misc/bibletime/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix20
-rw-r--r--pkgs/applications/misc/corectrl/default.nix4
-rw-r--r--pkgs/applications/misc/corefm/default.nix32
-rw-r--r--pkgs/applications/misc/coretoppings/0001-fix-install-phase.patch8
-rw-r--r--pkgs/applications/misc/coretoppings/default.nix62
-rw-r--r--pkgs/applications/misc/coursera-dl/default.nix9
-rw-r--r--pkgs/applications/misc/dasel/default.nix10
-rw-r--r--pkgs/applications/misc/electrum/default.nix21
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix4
-rw-r--r--pkgs/applications/misc/free42/default.nix4
-rw-r--r--pkgs/applications/misc/freeplane/default.nix6
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/haxor-news/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix4
-rw-r--r--pkgs/applications/misc/kratos/default.nix6
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lyx/default.nix6
-rw-r--r--pkgs/applications/misc/menumaker/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/splitter/default.nix4
-rw-r--r--pkgs/applications/misc/mkgmap/splitter/testinputs.nix2
-rw-r--r--pkgs/applications/misc/mkgmap/testinputs.nix2
-rw-r--r--pkgs/applications/misc/nixnote2/default.nix2
-rw-r--r--pkgs/applications/misc/openbrf/default.nix1
-rw-r--r--pkgs/applications/misc/phoc/default.nix4
-rw-r--r--pkgs/applications/misc/privacyidea/default.nix4
-rw-r--r--pkgs/applications/misc/qlcplus/default.nix2
-rw-r--r--pkgs/applications/misc/qtpass/default.nix2
-rw-r--r--pkgs/applications/misc/stretchly/default.nix4
-rw-r--r--pkgs/applications/misc/subsurface/default.nix2
-rw-r--r--pkgs/applications/misc/topydo/default.nix2
-rw-r--r--pkgs/applications/misc/xplr/default.nix6
-rw-r--r--pkgs/applications/misc/yambar/default.nix4
-rw-r--r--pkgs/applications/networking/apache-directory-studio/default.nix26
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/captive-browser/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix51
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/closure_compiler-Use-the-Java-binary-from-the-system.patch31
-rw-r--r--pkgs/applications/networking/browsers/chromium/ungoogled.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json18
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/icecat-bin/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/qtchan/default.nix1
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/widevine.nix2
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/hadoop/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/kubectl/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/kuttl/default.nix7
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/pig/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json7
-rw-r--r--pkgs/applications/networking/cluster/velero/default.nix17
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/gui.nix2
-rw-r--r--pkgs/applications/networking/gns3/server.nix2
-rw-r--r--pkgs/applications/networking/hydroxide/default.nix6
-rw-r--r--pkgs/applications/networking/ids/daq/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json14
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix3160
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-web.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gtmess/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/pantalaimon/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/msn-pecan/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-osd/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-facebook/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-plugin-pack/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-xmpp-http-upload/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/skype4pidgin/default.nix41
-rw-r--r--pkgs/applications/networking/instant-messengers/ratox/default.nix3
-rwxr-xr-xpkgs/applications/networking/instant-messengers/ripcord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/silc-client/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/telegram-cli/default.nix49
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/gabble/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/haze/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/salut/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/tensor/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/vk-cli/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/whatsapp-for-linux/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix4
-rw-r--r--pkgs/applications/networking/ipfs-cluster/default.nix12
-rw-r--r--pkgs/applications/networking/ipfs-cluster/test.patch12
-rw-r--r--pkgs/applications/networking/ipget/default.nix11
-rw-r--r--pkgs/applications/networking/iptraf/default.nix7
-rw-r--r--pkgs/applications/networking/irc/communi/default.nix2
-rw-r--r--pkgs/applications/networking/irc/convos/default.nix4
-rw-r--r--pkgs/applications/networking/irc/ii/default.nix5
-rw-r--r--pkgs/applications/networking/irc/irssi/fish/default.nix14
-rw-r--r--pkgs/applications/networking/irc/quassel/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix-bridge/default.nix3
-rw-r--r--pkgs/applications/networking/juju/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/astroid/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mmh/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/msgviewer/default.nix15
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix48
-rw-r--r--pkgs/applications/networking/mumble/overlay.nix5
-rw-r--r--pkgs/applications/networking/offrss/default.nix7
-rw-r--r--pkgs/applications/networking/p2p/opentracker/default.nix3
-rw-r--r--pkgs/applications/networking/pcloud/default.nix19
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/generic.nix4
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/x2goclient/default.nix2
-rw-r--r--pkgs/applications/networking/siproxd/default.nix5
-rw-r--r--pkgs/applications/networking/sniffers/etherape/default.nix5
-rw-r--r--pkgs/applications/networking/soapui/default.nix13
-rw-r--r--pkgs/applications/networking/sync/rsync/base.nix9
-rw-r--r--pkgs/applications/networking/sync/rsync/default.nix68
-rw-r--r--pkgs/applications/networking/sync/rsync/rrsync.nix9
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix75
-rw-r--r--pkgs/applications/networking/znc/modules.nix20
-rw-r--r--pkgs/applications/office/osmo/default.nix2
-rw-r--r--pkgs/applications/radio/chirp/default.nix4
-rw-r--r--pkgs/applications/radio/qradiolink/default.nix2
-rw-r--r--pkgs/applications/radio/qsstv/default.nix2
-rw-r--r--pkgs/applications/radio/soapysdr/default.nix4
-rw-r--r--pkgs/applications/science/biology/cd-hit/default.nix2
-rw-r--r--pkgs/applications/science/biology/mosdepth/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/cp2k/default.nix117
-rw-r--r--pkgs/applications/science/logic/poly/default.nix4
-rw-r--r--pkgs/applications/science/logic/verifast/default.nix2
-rw-r--r--pkgs/applications/science/math/maxima/default.nix21
-rw-r--r--pkgs/applications/science/math/nauty/default.nix6
-rw-r--r--pkgs/applications/science/physics/xflr5/default.nix2
-rw-r--r--pkgs/applications/science/robotics/apmplanner2/default.nix2
-rw-r--r--pkgs/applications/science/robotics/mavproxy/default.nix4
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix1
-rw-r--r--pkgs/applications/terminal-emulators/cool-retro-term/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/sakura/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/default.nix13
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile6
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock50
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix46
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile46
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock124
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix194
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix472
-rw-r--r--pkgs/applications/video/droidcam/default.nix4
-rw-r--r--pkgs/applications/video/kazam/default.nix59
-rw-r--r--pkgs/applications/video/lightworks/default.nix1
-rw-r--r--pkgs/applications/video/makemkv/default.nix19
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix135
-rw-r--r--pkgs/applications/video/mpv/scripts/simple-mpv-webui.nix6
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix1
-rw-r--r--pkgs/applications/video/qmplay2/default.nix20
-rw-r--r--pkgs/applications/video/shotcut/default.nix1
-rw-r--r--pkgs/applications/video/srtrelay/default.nix25
-rw-r--r--pkgs/applications/video/streamlink/default.nix12
-rw-r--r--pkgs/applications/video/vlc/default.nix14
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix2
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix8
-rw-r--r--pkgs/applications/virtualization/crun/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/buildx.nix4
-rw-r--r--pkgs/applications/virtualization/driver/win-spice/default.nix50
-rw-r--r--pkgs/applications/virtualization/driver/win-virtio/default.nix16
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix6
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-what/default.nix4
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix7
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/fix-configure-pkgconfig-qt.patch11
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix2
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix6
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix17
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix4
-rw-r--r--pkgs/build-support/bintools-wrapper/add-hardening.sh2
-rw-r--r--pkgs/build-support/build-fhs-userenv/env.nix12
-rw-r--r--pkgs/build-support/fetchgitlab/default.nix28
-rw-r--r--pkgs/build-support/setup-hooks/auto-patchelf.sh1
-rw-r--r--pkgs/data/documentation/stdman/default.nix4
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix116
-rw-r--r--pkgs/data/fonts/jetbrains-mono/default.nix4
-rw-r--r--pkgs/data/fonts/overpass/default.nix12
-rw-r--r--pkgs/data/fonts/scheherazade/default.nix4
-rw-r--r--pkgs/data/fonts/terminus-font-ttf/default.nix4
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/mailcap/default.nix4
-rw-r--r--pkgs/data/themes/flat-remix-gnome/default.nix6
-rw-r--r--pkgs/data/themes/matcha/default.nix4
-rw-r--r--pkgs/data/themes/yaru/default.nix4
-rw-r--r--pkgs/desktops/arcan/arcan.nix6
-rw-r--r--pkgs/desktops/arcan/wrapper.nix5
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-common/default.nix2
-rw-r--r--pkgs/desktops/enlightenment/enlightenment/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/seahorse/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gnome-autoar/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/krunner-symbols.nix2
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix5
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix3
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-linux-base.nix3
-rw-r--r--pkgs/development/compilers/algol68g/0001-plotutils-png-support.diff27
-rw-r--r--pkgs/development/compilers/algol68g/default.nix55
-rw-r--r--pkgs/development/compilers/clasp/default.nix4
-rw-r--r--pkgs/development/compilers/cone/default.nix42
-rw-r--r--pkgs/development/compilers/dtc/default.nix2
-rw-r--r--pkgs/development/compilers/ecl/default.nix31
-rw-r--r--pkgs/development/compilers/gcc/10/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/common/configure-flags.nix7
-rw-r--r--pkgs/development/compilers/gnatboot/default.nix8
-rw-r--r--pkgs/development/compilers/graalvm/community-edition.nix5
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/11/llvm/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/12/llvm/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/rocm/clang.nix4
-rw-r--r--pkgs/development/compilers/marst/default.nix54
-rw-r--r--pkgs/development/compilers/mkcl/default.nix23
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix10
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/11.nix4
-rw-r--r--pkgs/development/compilers/osl/default.nix4
-rw-r--r--pkgs/development/compilers/ponyc/pony-corral.nix4
-rw-r--r--pkgs/development/compilers/seexpr/default.nix4
-rw-r--r--pkgs/development/compilers/terra/default.nix3
-rw-r--r--pkgs/development/compilers/vyper/default.nix7
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/compilers/zulu/8.nix3
-rw-r--r--pkgs/development/compilers/zulu/default.nix3
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix19
-rw-r--r--pkgs/development/coq-modules/VST/default.nix21
-rw-r--r--pkgs/development/coq-modules/category-theory/default.nix3
-rw-r--r--pkgs/development/coq-modules/corn/default.nix2
-rw-r--r--pkgs/development/coq-modules/graph-theory/default.nix33
-rw-r--r--pkgs/development/coq-modules/interval/default.nix15
-rw-r--r--pkgs/development/em-modules/generic/default.nix6
-rw-r--r--pkgs/development/haskell-modules/cabal2nix-unstable.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix9
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml6
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml10
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml50
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml3
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1304
-rw-r--r--pkgs/development/interpreters/erlang/R24.nix4
-rw-r--r--pkgs/development/interpreters/io/default.nix2
-rw-r--r--pkgs/development/interpreters/python/default.nix17
-rw-r--r--pkgs/development/interpreters/yabasic/default.nix6
-rw-r--r--pkgs/development/libraries/agda/functional-linear-algebra/default.nix6
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix16
-rw-r--r--pkgs/development/libraries/attr/default.nix9
-rw-r--r--pkgs/development/libraries/attr/syscall.patch120
-rw-r--r--pkgs/development/libraries/audio/libgme/default.nix3
-rw-r--r--pkgs/development/libraries/audio/lvtk/default.nix4
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/dyncall/default.nix8
-rw-r--r--pkgs/development/libraries/eigen/default.nix4
-rw-r--r--pkgs/development/libraries/eigen/include-dir.patch13
-rw-r--r--pkgs/development/libraries/ethash/default.nix4
-rw-r--r--pkgs/development/libraries/eventlog/default.nix6
-rw-r--r--pkgs/development/libraries/fftw/default.nix4
-rw-r--r--pkgs/development/libraries/freetds/default.nix4
-rw-r--r--pkgs/development/libraries/freetype/default.nix4
-rw-r--r--pkgs/development/libraries/gcab/default.nix2
-rw-r--r--pkgs/development/libraries/gdcm/default.nix2
-rw-r--r--pkgs/development/libraries/gensio/default.nix4
-rw-r--r--pkgs/development/libraries/git2/default.nix4
-rw-r--r--pkgs/development/libraries/gpgme/default.nix6
-rw-r--r--pkgs/development/libraries/grpc/default.nix50
-rw-r--r--pkgs/development/libraries/gsettings-desktop-schemas/default.nix8
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix6
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix3
-rw-r--r--pkgs/development/libraries/khronos-ocl-icd-loader/default.nix2
-rw-r--r--pkgs/development/libraries/leptonica/default.nix4
-rw-r--r--pkgs/development/libraries/libaom/default.nix4
-rw-r--r--pkgs/development/libraries/libayatana-appindicator/default.nix8
-rw-r--r--pkgs/development/libraries/libayatana-indicator/default.nix4
-rw-r--r--pkgs/development/libraries/libbluray/default.nix4
-rw-r--r--pkgs/development/libraries/libbytesize/default.nix4
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix23
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--pkgs/development/libraries/libcprime/0001-fix-application-dirs.patch29
-rw-r--r--pkgs/development/libraries/libcprime/default.nix2
-rw-r--r--pkgs/development/libraries/libdvdcss/default.nix4
-rw-r--r--pkgs/development/libraries/libdvdread/default.nix4
-rw-r--r--pkgs/development/libraries/libebur128/default.nix4
-rw-r--r--pkgs/development/libraries/libffcall/default.nix4
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix13
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix4
-rw-r--r--pkgs/development/libraries/libgrss/default.nix11
-rw-r--r--pkgs/development/libraries/libhdhomerun/default.nix4
-rwxr-xr-xpkgs/development/libraries/libjpeg/builder.sh25
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix20
-rw-r--r--pkgs/development/libraries/libndp/default.nix4
-rw-r--r--pkgs/development/libraries/libnetfilter_acct/default.nix2
-rw-r--r--pkgs/development/libraries/libnetfilter_cthelper/default.nix2
-rw-r--r--pkgs/development/libraries/libnetfilter_queue/default.nix2
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix2
-rw-r--r--pkgs/development/libraries/librdf/raptor.nix2
-rw-r--r--pkgs/development/libraries/librdf/raptor2.nix2
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix2
-rw-r--r--pkgs/development/libraries/librdf/redland.nix2
-rw-r--r--pkgs/development/libraries/librelp/default.nix4
-rw-r--r--pkgs/development/libraries/libroxml/default.nix2
-rw-r--r--pkgs/development/libraries/libsystemtap/default.nix4
-rw-r--r--pkgs/development/libraries/libuv/default.nix15
-rw-r--r--pkgs/development/libraries/libvmi/default.nix2
-rw-r--r--pkgs/development/libraries/mapnik/default.nix16
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/mlt/default.nix6
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix4
-rw-r--r--pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--pkgs/development/libraries/pcl/default.nix20
-rw-r--r--pkgs/development/libraries/physics/fastnlo_toolkit/default.nix2
-rw-r--r--pkgs/development/libraries/qmlbox2d/default.nix1
-rw-r--r--pkgs/development/libraries/qmltermwidget/default.nix2
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix1
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.15/default.nix20
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix2
-rw-r--r--pkgs/development/libraries/qtinstaller/default.nix1
-rw-r--r--pkgs/development/libraries/raylib/default.nix2
-rw-r--r--pkgs/development/libraries/reproc/default.nix4
-rw-r--r--pkgs/development/libraries/science/biology/mirtk/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix23
-rw-r--r--pkgs/development/libraries/science/math/petsc/default.nix4
-rw-r--r--pkgs/development/libraries/snack/default.nix2
-rw-r--r--pkgs/development/libraries/subunit/default.nix6
-rw-r--r--pkgs/development/libraries/talloc/default.nix14
-rw-r--r--pkgs/development/libraries/tdb/default.nix6
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix4
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix24
-rw-r--r--pkgs/development/libraries/xvidcore/default.nix6
-rw-r--r--pkgs/development/libraries/zchunk/default.nix8
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix30
-rw-r--r--pkgs/development/misc/rpiboot/default.nix (renamed from pkgs/development/misc/rpiboot/unstable.nix)10
-rw-r--r--pkgs/development/node-packages/node-packages.json2
-rw-r--r--pkgs/development/node-packages/node-packages.nix7431
-rw-r--r--pkgs/development/ocaml-modules/cudf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dose3/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/odoc-parser/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/opam-repository/download-tool.patch20
-rw-r--r--pkgs/development/ocaml-modules/pecu/default.nix14
-rw-r--r--pkgs/development/php-packages/box/default.nix3
-rw-r--r--pkgs/development/php-packages/php-cs-fixer/default.nix3
-rw-r--r--pkgs/development/php-packages/phpcbf/default.nix3
-rw-r--r--pkgs/development/php-packages/phpcs/default.nix3
-rw-r--r--pkgs/development/php-packages/phpmd/default.nix3
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix3
-rw-r--r--pkgs/development/php-packages/psalm/default.nix3
-rw-r--r--pkgs/development/php-packages/psysh/default.nix3
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioambient/default.nix10
-rw-r--r--pkgs/development/python-modules/aiolip/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosmb/default.nix16
-rw-r--r--pkgs/development/python-modules/aiowinreg/default.nix11
-rw-r--r--pkgs/development/python-modules/amcrest/default.nix8
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--pkgs/development/python-modules/anyio/default.nix11
-rw-r--r--pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix24
-rw-r--r--pkgs/development/python-modules/async-dns/default.nix6
-rw-r--r--pkgs/development/python-modules/autologging/default.nix2
-rw-r--r--pkgs/development/python-modules/bitstring/default.nix23
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/2.nix4
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix4
-rw-r--r--pkgs/development/python-modules/brotlicffi/default.nix44
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix20
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix2
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rwxr-xr-xpkgs/development/python-modules/buildbot/update.sh12
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix2
-rw-r--r--pkgs/development/python-modules/cbor2/default.nix4
-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/click-repl/default.nix4
-rw-r--r--pkgs/development/python-modules/clickhouse-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/clintermission/default.nix4
-rw-r--r--pkgs/development/python-modules/coconut/default.nix4
-rw-r--r--pkgs/development/python-modules/datasets/default.nix10
-rw-r--r--pkgs/development/python-modules/dbus-next/default.nix7
-rw-r--r--pkgs/development/python-modules/dipy/default.nix4
-rw-r--r--pkgs/development/python-modules/dotmap/default.nix4
-rw-r--r--pkgs/development/python-modules/dufte/default.nix25
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/environmental-override/default.nix26
-rw-r--r--pkgs/development/python-modules/geocachingapi/default.nix44
-rw-r--r--pkgs/development/python-modules/hap-python/default.nix4
-rw-r--r--pkgs/development/python-modules/iaqualink/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/5.nix4
-rw-r--r--pkgs/development/python-modules/ipython/7.16.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/iso8601/default.nix4
-rw-r--r--pkgs/development/python-modules/joblib/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_console/5.nix4
-rw-r--r--pkgs/development/python-modules/jupyter_console/default.nix4
-rw-r--r--pkgs/development/python-modules/luddite/default.nix37
-rw-r--r--pkgs/development/python-modules/lz4/default.nix (renamed from pkgs/development/python-modules/python-lz4/default.nix)0
-rw-r--r--pkgs/development/python-modules/matrix-client/default.nix27
-rw-r--r--pkgs/development/python-modules/millheater/default.nix5
-rw-r--r--pkgs/development/python-modules/motioneye-client/default.nix4
-rw-r--r--pkgs/development/python-modules/msldap/default.nix4
-rw-r--r--pkgs/development/python-modules/nbxmpp/default.nix35
-rw-r--r--pkgs/development/python-modules/neo/default.nix6
-rw-r--r--pkgs/development/python-modules/nexia/default.nix4
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix13
-rw-r--r--pkgs/development/python-modules/palace/default.nix40
-rw-r--r--pkgs/development/python-modules/papis/default.nix4
-rw-r--r--pkgs/development/python-modules/perfplot/default.nix23
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix9
-rw-r--r--pkgs/development/python-modules/pglast/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip/default.nix4
-rw-r--r--pkgs/development/python-modules/pipdate/default.nix26
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix11
-rw-r--r--pkgs/development/python-modules/praw/default.nix4
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/1.nix (renamed from pkgs/development/python-modules/prompt_toolkit/1.nix)23
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/default.nix (renamed from pkgs/development/python-modules/prompt_toolkit/default.nix)22
-rw-r--r--pkgs/development/python-modules/ptpython/default.nix4
-rw-r--r--pkgs/development/python-modules/pweave/default.nix2
-rw-r--r--pkgs/development/python-modules/pyairvisual/default.nix4
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix14
-rw-r--r--pkgs/development/python-modules/pyfantom/default.nix2
-rw-r--r--pkgs/development/python-modules/pyfma/default.nix30
-rw-r--r--pkgs/development/python-modules/pyiqvia/default.nix15
-rw-r--r--pkgs/development/python-modules/pykoplenti/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pymodbus/default.nix4
-rw-r--r--pkgs/development/python-modules/pypck/default.nix6
-rw-r--r--pkgs/development/python-modules/pyqtgraph/default.nix2
-rw-r--r--pkgs/development/python-modules/pyroma/default.nix44
-rw-r--r--pkgs/development/python-modules/pysma/default.nix4
-rw-r--r--pkgs/development/python-modules/pytenable/default.nix4
-rw-r--r--pkgs/development/python-modules/pytesseract/default.nix4
-rw-r--r--pkgs/development/python-modules/pytesseract/tesseract-binary.patch6
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix9
-rw-r--r--pkgs/development/python-modules/python-magic/libmagic-path.patch41
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix45
-rw-r--r--pkgs/development/python-modules/python-uinput/default.nix2
-rw-r--r--pkgs/development/python-modules/pytile/default.nix4
-rw-r--r--pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--pkgs/development/python-modules/pyupgrade/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pywemo/default.nix4
-rw-r--r--pkgs/development/python-modules/questionary/default.nix4
-rw-r--r--pkgs/development/python-modules/regenmaschine/default.nix4
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools/44.0.nix2
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix14
-rw-r--r--pkgs/development/python-modules/simplejson/default.nix11
-rw-r--r--pkgs/development/python-modules/softlayer/default.nix6
-rw-r--r--pkgs/development/python-modules/sphinx-inline-tabs/default.nix34
-rw-r--r--pkgs/development/python-modules/sphinxext-opengraph/default.nix32
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/subunit/default.nix2
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix12
-rw-r--r--pkgs/development/python-modules/trezor/default.nix9
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/vispy/default.nix2
-rw-r--r--pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix2
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/youtube-transcript-api/default.nix27
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix4
-rw-r--r--pkgs/development/tools/ammonite/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix2
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--pkgs/development/tools/bacon/default.nix6
-rw-r--r--pkgs/development/tools/buf/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix16
-rw-r--r--pkgs/development/tools/conftest/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/fly/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix9
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--pkgs/development/tools/database/litecli/default.nix2
-rw-r--r--pkgs/development/tools/database/pgcli/default.nix4
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix2
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/gore/default.nix6
-rw-r--r--pkgs/development/tools/gotestsum/default.nix6
-rw-r--r--pkgs/development/tools/ijq/default.nix8
-rw-r--r--pkgs/development/tools/jq/default.nix18
-rw-r--r--pkgs/development/tools/jsduck/default.nix2
-rw-r--r--pkgs/development/tools/just/default.nix6
-rw-r--r--pkgs/development/tools/ktlint/default.nix4
-rw-r--r--pkgs/development/tools/lattice-diamond/default.nix2
-rw-r--r--pkgs/development/tools/libsigrok/default.nix23
-rw-r--r--pkgs/development/tools/metals/default.nix6
-rw-r--r--pkgs/development/tools/minizinc/ide.nix1
-rw-r--r--pkgs/development/tools/misc/aviator/default.nix23
-rw-r--r--pkgs/development/tools/misc/binutils/bfd-elf-Dont-read-non-existing-secondary-relocs.patch26
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix9
-rw-r--r--pkgs/development/tools/misc/chruby/default.nix2
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix4
-rw-r--r--pkgs/development/tools/misc/ddd/default.nix12
-rw-r--r--pkgs/development/tools/misc/distcc/masq.nix3
-rw-r--r--pkgs/development/tools/misc/luarocks/luarocks-nix.nix4
-rw-r--r--pkgs/development/tools/misc/msitools/default.nix3
-rw-r--r--pkgs/development/tools/misc/qtspim/default.nix61
-rw-r--r--pkgs/development/tools/misc/spruce/default.nix23
-rw-r--r--pkgs/development/tools/misc/terraform-ls/default.nix31
-rw-r--r--pkgs/development/tools/misc/usbsdmux/default.nix4
-rw-r--r--pkgs/development/tools/misc/watson-ruby/default.nix2
-rw-r--r--pkgs/development/tools/misc/xspim/default.nix49
-rw-r--r--pkgs/development/tools/misc/xxgdb/default.nix43
-rw-r--r--pkgs/development/tools/misc/xxgdb/xxgdb-pty.patch84
-rw-r--r--pkgs/development/tools/node-webkit/nw12.nix2
-rw-r--r--pkgs/development/tools/nwjs/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/camlidl/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/dune-release/default.nix26
-rw-r--r--pkgs/development/tools/ocaml/ocamlformat/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/ocamlformat/generic.nix20
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix103
-rw-r--r--pkgs/development/tools/ocaml/opam/opam-shebangs.patch5
-rwxr-xr-xpkgs/development/tools/ocaml/opam/opam.nix.pl8
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix2
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/parse-cli-bin/default.nix2
-rw-r--r--pkgs/development/tools/parsing/hammer/default.nix8
-rw-r--r--pkgs/development/tools/pgtop/default.nix2
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides.nix6
-rw-r--r--pkgs/development/tools/protoc-gen-grpc-web/default.nix40
-rw-r--r--pkgs/development/tools/qtcreator/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-criterion/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-msrv/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-watch/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rwxr-xr-xpkgs/development/tools/rust/rust-analyzer/update.sh3
-rw-r--r--pkgs/development/tools/scalafmt/default.nix17
-rw-r--r--pkgs/development/tools/taplo-cli/default.nix25
-rw-r--r--pkgs/development/tools/taplo-lsp/default.nix28
-rw-r--r--pkgs/development/tools/trellis/default.nix10
-rw-r--r--pkgs/development/tools/vagrant/default.nix4
-rw-r--r--pkgs/development/tools/vagrant/gemset.nix14
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix84
-rw-r--r--pkgs/development/tools/wrangler/default.nix6
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/nodejs/v12.nix4
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/development/web/nodejs/v16.nix4
-rw-r--r--pkgs/development/web/remarkjs/node-packages.nix2
-rw-r--r--pkgs/games/crawl/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/twbt/default.nix4
-rw-r--r--pkgs/games/ecwolf/default.nix55
-rw-r--r--pkgs/games/freedroidrpg/default.nix2
-rw-r--r--pkgs/games/gnuchess/default.nix4
-rw-r--r--pkgs/games/ja2-stracciatella/default.nix4
-rw-r--r--pkgs/games/multimc/default.nix5
-rw-r--r--pkgs/games/openmw/default.nix5
-rw-r--r--pkgs/games/openrct2/default.nix4
-rw-r--r--pkgs/games/pokerth/default.nix2
-rw-r--r--pkgs/games/qgo/default.nix2
-rw-r--r--pkgs/games/rott/default.nix54
-rw-r--r--pkgs/games/the-powder-toy/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/estudio/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/mfcl2700dncupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2700dnlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2720dwcupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl2720dwlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl8690cdwcupswrapper/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/mfcl8690cdwlpr/default.nix2
-rw-r--r--pkgs/misc/cups/drivers/splix/default.nix2
-rw-r--r--pkgs/misc/drivers/epson-escpr2/default.nix21
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix2
-rw-r--r--pkgs/misc/emulators/blastem/default.nix4
-rw-r--r--pkgs/misc/emulators/firebird-emu/default.nix2
-rw-r--r--pkgs/misc/emulators/mgba/default.nix33
-rw-r--r--pkgs/misc/emulators/openmsx/default.nix59
-rw-r--r--pkgs/misc/emulators/stella/default.nix4
-rw-r--r--pkgs/misc/lilypond/fonts.nix2
-rw-r--r--pkgs/misc/vim-plugins/build-vim-plugin.nix4
-rw-r--r--pkgs/misc/vim-plugins/generated.nix408
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix6
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names6
-rw-r--r--pkgs/misc/vscode-extensions/default.nix8
-rw-r--r--pkgs/misc/vscode-extensions/remote-ssh/default.nix4
-rw-r--r--pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json28
-rw-r--r--pkgs/os-specific/bsd/netbsd/default.nix27
-rw-r--r--pkgs/os-specific/bsd/setup-hook.sh8
-rw-r--r--pkgs/os-specific/darwin/apple-sdk-11.0/apple_sdk.nix9
-rw-r--r--pkgs/os-specific/darwin/apple-sdk-11.0/frameworks.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libunwind/default.nix2
-rw-r--r--pkgs/os-specific/linux/alsa-project/alsa-topology-conf/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/broadcom-bt-firmware/default.nix2
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix8
-rw-r--r--pkgs/os-specific/linux/iputils/default.nix16
-rw-r--r--pkgs/os-specific/linux/jool/source.nix4
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix6
-rw-r--r--pkgs/os-specific/linux/kbd/search-paths.patch85
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.13.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix12
-rw-r--r--pkgs/os-specific/linux/libcap/default.nix4
-rw-r--r--pkgs/os-specific/linux/libfabric/default.nix4
-rw-r--r--pkgs/os-specific/linux/net-tools/default.nix1
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh3
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh6
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--pkgs/os-specific/linux/powertop/default.nix17
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--pkgs/os-specific/windows/jom/default.nix2
-rw-r--r--pkgs/servers/adguardhome/default.nix2
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix15
-rw-r--r--pkgs/servers/apcupsd/default.nix4
-rw-r--r--pkgs/servers/bazarr/default.nix25
-rw-r--r--pkgs/servers/computing/slurm-spank-x11/default.nix7
-rw-r--r--pkgs/servers/dict/dictd-db-collector.nix134
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix24
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix6
-rw-r--r--pkgs/servers/domoticz/default.nix2
-rw-r--r--pkgs/servers/fingerd/bsd-fingerd/default.nix7
-rw-r--r--pkgs/servers/ftp/bftpd/default.nix7
-rw-r--r--pkgs/servers/ftp/pure-ftpd/default.nix5
-rw-r--r--pkgs/servers/ftp/vsftpd/default.nix5
-rw-r--r--pkgs/servers/gerbera/default.nix4
-rw-r--r--pkgs/servers/gonic/default.nix14
-rw-r--r--pkgs/servers/gotify/ui.nix2
-rw-r--r--pkgs/servers/gpm/default.nix5
-rw-r--r--pkgs/servers/hashi-ui/default.nix2
-rw-r--r--pkgs/servers/hasura/cli.nix2
-rw-r--r--pkgs/servers/headscale/default.nix6
-rw-r--r--pkgs/servers/heisenbridge/default.nix4
-rw-r--r--pkgs/servers/holochain-go/default.nix2
-rw-r--r--pkgs/servers/http/apache-modules/mod_fastcgi/default.nix14
-rw-r--r--pkgs/servers/http/gitlab-pages/default.nix6
-rw-r--r--pkgs/servers/http/jboss/jdbc/mysql/default.nix3
-rw-r--r--pkgs/servers/http/micro-httpd/default.nix3
-rw-r--r--pkgs/servers/http/redstore/default.nix5
-rw-r--r--pkgs/servers/http/tomcat/jdbc/mysql/default.nix3
-rw-r--r--pkgs/servers/icecast/default.nix5
-rw-r--r--pkgs/servers/icingaweb2/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/ipl.nix4
-rw-r--r--pkgs/servers/icingaweb2/theme-april/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/theme-lsd/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/theme-particles/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/theme-snow/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/theme-spring/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/theme-unicorn/default.nix4
-rw-r--r--pkgs/servers/irc/charybdis/default.nix5
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix5
-rw-r--r--pkgs/servers/keycloak/default.nix4
-rw-r--r--pkgs/servers/libreddit/add-Cargo.lock.patch1466
-rw-r--r--pkgs/servers/libreddit/default.nix40
-rw-r--r--pkgs/servers/mail/postfix/default.nix8
-rw-r--r--pkgs/servers/matrix-appservice-discord/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/misc/gobgpd/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/default.nix2
-rw-r--r--pkgs/servers/monitoring/heapster/default.nix3
-rw-r--r--pkgs/servers/monitoring/icinga2/default.nix4
-rw-r--r--pkgs/servers/monitoring/munin/default.nix10
-rw-r--r--pkgs/servers/monitoring/prometheus/influxdb-exporter.nix35
-rw-r--r--pkgs/servers/monitoring/prometheus/jmx-httpserver.nix11
-rw-r--r--pkgs/servers/monitoring/prometheus/node-exporter.nix21
-rw-r--r--pkgs/servers/monitoring/prometheus/postgres-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/tor-exporter.nix2
-rw-r--r--pkgs/servers/nas/default.nix4
-rw-r--r--pkgs/servers/neard/default.nix15
-rw-r--r--pkgs/servers/news/leafnode/default.nix3
-rw-r--r--pkgs/servers/nextcloud/news-updater.nix2
-rw-r--r--pkgs/servers/nosql/aerospike/default.nix2
-rw-r--r--pkgs/servers/nosql/cassandra/generic.nix4
-rw-r--r--pkgs/servers/openafs/1.8/module.nix47
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/pulseaudio/default.nix5
-rw-r--r--pkgs/servers/rippled/data-api.nix2
-rw-r--r--pkgs/servers/roon-bridge/default.nix6
-rw-r--r--pkgs/servers/roon-server/default.nix6
-rw-r--r--pkgs/servers/samba/4.x.nix38
-rw-r--r--pkgs/servers/samba/build-find-pre-built-heimdal-build-tools-in-case-of-.patch87
-rw-r--r--pkgs/servers/search/elasticsearch/6.x.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/7.x.nix4
-rw-r--r--pkgs/servers/shishi/default.nix5
-rw-r--r--pkgs/servers/silc-server/default.nix5
-rw-r--r--pkgs/servers/sip/sipwitch/default.nix5
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix4
-rw-r--r--pkgs/servers/sql/mysql/jdbc/builder.sh9
-rw-r--r--pkgs/servers/sql/mysql/jdbc/default.nix24
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_similarity.nix3
-rw-r--r--pkgs/servers/sql/virtuoso/6.x.nix7
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix7
-rw-r--r--pkgs/servers/tailscale/default.nix6
-rw-r--r--pkgs/servers/tt-rss/default.nix17
-rw-r--r--pkgs/servers/tt-rss/plugin-auth-ldap/default.nix5
-rw-r--r--pkgs/servers/varnish/digest.nix2
-rw-r--r--pkgs/servers/varnish/dynamic.nix2
-rw-r--r--pkgs/servers/varnish/modules.nix2
-rw-r--r--pkgs/servers/web-apps/bookstack/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/all-plugins.nix1
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile5
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock27
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix18
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix76
-rw-r--r--pkgs/servers/web-apps/hedgedoc/default.nix2
-rw-r--r--pkgs/servers/web-apps/plausible/default.nix1
-rw-r--r--pkgs/servers/x11/xquartz/default.nix3
-rw-r--r--pkgs/servers/xinetd/default.nix5
-rw-r--r--pkgs/shells/tcsh/default.nix16
-rw-r--r--pkgs/shells/xonsh/default.nix56
-rw-r--r--pkgs/stdenv/generic/setup.sh2
-rw-r--r--pkgs/test/cuda/cuda-library-samples/generic.nix1
-rw-r--r--pkgs/tools/X11/imwheel/default.nix5
-rw-r--r--pkgs/tools/X11/keynav/default.nix47
-rw-r--r--pkgs/tools/X11/x2vnc/default.nix7
-rw-r--r--pkgs/tools/X11/x2x/default.nix7
-rw-r--r--pkgs/tools/X11/xbrightness/default.nix7
-rw-r--r--pkgs/tools/X11/xcalib/default.nix5
-rw-r--r--pkgs/tools/X11/xchainkeys/default.nix5
-rw-r--r--pkgs/tools/X11/xdg-user-dirs/default.nix5
-rw-r--r--pkgs/tools/X11/xkbset/default.nix5
-rw-r--r--pkgs/tools/X11/xmagnify/default.nix7
-rw-r--r--pkgs/tools/admin/awscli2/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix4
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/cloud_sql_proxy_path.patch6
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix8
-rw-r--r--pkgs/tools/admin/meshcentral/default.nix36
-rw-r--r--pkgs/tools/admin/meshcentral/package.json123
-rwxr-xr-xpkgs/tools/admin/meshcentral/update.sh50
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.lock7351
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.nix8005
-rw-r--r--pkgs/tools/admin/mycli/default.nix2
-rw-r--r--pkgs/tools/audio/darkice/default.nix6
-rw-r--r--pkgs/tools/audio/mididings/default.nix10
-rw-r--r--pkgs/tools/audio/spotdl/default.nix5
-rw-r--r--pkgs/tools/backup/bupstash/default.nix6
-rw-r--r--pkgs/tools/backup/tsm-client/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/unetbootin/default.nix49
-rw-r--r--pkgs/tools/compression/mozlz4a/default.nix2
-rw-r--r--pkgs/tools/compression/ouch/add-Cargo.lock.patch434
-rw-r--r--pkgs/tools/compression/ouch/default.nix28
-rw-r--r--pkgs/tools/compression/zstd/default.nix10
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph-csi/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/mergerfs/tools.nix4
-rw-r--r--pkgs/tools/filesystems/moosefs/default.nix11
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix12
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--pkgs/tools/filesystems/squashfs/darwin.patch56
-rw-r--r--pkgs/tools/filesystems/squashfs/default.nix12
-rw-r--r--pkgs/tools/games/ajour/default.nix6
-rw-r--r--pkgs/tools/graphics/agi/default.nix4
-rw-r--r--pkgs/tools/graphics/appleseed/default.nix7
-rw-r--r--pkgs/tools/graphics/exif/default.nix24
-rw-r--r--pkgs/tools/graphics/graphviz/default.nix6
-rw-r--r--pkgs/tools/graphics/nifskope/default.nix2
-rw-r--r--pkgs/tools/graphics/vulkan-extension-layer/default.nix15
-rw-r--r--pkgs/tools/graphics/vulkan-tools-lunarg/default.nix36
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix30
-rw-r--r--pkgs/tools/misc/android-tools/default.nix17
-rw-r--r--pkgs/tools/misc/arch-install-scripts/default.nix68
-rw-r--r--pkgs/tools/misc/broot/default.nix8
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/coreshot/default.nix32
-rw-r--r--pkgs/tools/misc/dialog/default.nix8
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix8
-rw-r--r--pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--pkgs/tools/misc/elfcat/Cargo.lock7
-rw-r--r--pkgs/tools/misc/elfcat/default.nix2
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix4
-rw-r--r--pkgs/tools/misc/fend/default.nix6
-rw-r--r--pkgs/tools/misc/file/default.nix10
-rw-r--r--pkgs/tools/misc/file/webassembly-format-fix.patch13
-rw-r--r--pkgs/tools/misc/findutils/default.nix15
-rw-r--r--pkgs/tools/misc/findutils/fix-gnulib-tests-arm.patch45
-rw-r--r--pkgs/tools/misc/flameshot/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/hdf5/default.nix4
-rw-r--r--pkgs/tools/misc/kermit/default.nix2
-rw-r--r--pkgs/tools/misc/linuxquota/default.nix4
-rw-r--r--pkgs/tools/misc/mc/default.nix6
-rw-r--r--pkgs/tools/misc/me_cleaner/default.nix4
-rw-r--r--pkgs/tools/misc/ntfy-webpush/default.nix34
-rw-r--r--pkgs/tools/misc/ntfy/default.nix1
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/tests.nix2
-rw-r--r--pkgs/tools/misc/piston-cli/default.nix2
-rw-r--r--pkgs/tools/misc/profile-cleaner/default.nix4
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix2
-rw-r--r--pkgs/tools/misc/tfk8s/default.nix4
-rw-r--r--pkgs/tools/misc/trash-cli/default.nix4
-rw-r--r--pkgs/tools/misc/vector/default.nix6
-rw-r--r--pkgs/tools/misc/vial/default.nix6
-rw-r--r--pkgs/tools/misc/yubikey-manager/default.nix17
-rw-r--r--pkgs/tools/networking/ahcpd/default.nix5
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix5
-rw-r--r--pkgs/tools/networking/arpoison/default.nix5
-rw-r--r--pkgs/tools/networking/bsd-finger/default.nix5
-rw-r--r--pkgs/tools/networking/cadaver/default.nix5
-rw-r--r--pkgs/tools/networking/carddav-util/default.nix4
-rw-r--r--pkgs/tools/networking/cksfv/default.nix5
-rw-r--r--pkgs/tools/networking/cmst/default.nix2
-rw-r--r--pkgs/tools/networking/curl-unix-socket/default.nix3
-rw-r--r--pkgs/tools/networking/dhcpdump/default.nix7
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/dnstop/default.nix5
-rw-r--r--pkgs/tools/networking/dropbear/default.nix5
-rw-r--r--pkgs/tools/networking/email/default.nix3
-rw-r--r--pkgs/tools/networking/filegive/default.nix5
-rw-r--r--pkgs/tools/networking/flvstreamer/default.nix6
-rw-r--r--pkgs/tools/networking/fping/default.nix5
-rw-r--r--pkgs/tools/networking/gftp/default.nix7
-rw-r--r--pkgs/tools/networking/ghostunnel/default.nix31
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix2
-rw-r--r--pkgs/tools/networking/hyenae/default.nix7
-rw-r--r--pkgs/tools/networking/iftop/default.nix7
-rw-r--r--pkgs/tools/networking/imapproxy/default.nix8
-rw-r--r--pkgs/tools/networking/imapsync/default.nix6
-rw-r--r--pkgs/tools/networking/isync/default.nix4
-rw-r--r--pkgs/tools/networking/jnettop/default.nix7
-rw-r--r--pkgs/tools/networking/jwhois/default.nix7
-rw-r--r--pkgs/tools/networking/lsh/default.nix6
-rw-r--r--pkgs/tools/networking/maildrop/default.nix7
-rw-r--r--pkgs/tools/networking/miniupnpd/default.nix7
-rw-r--r--pkgs/tools/networking/modem-manager/default.nix15
-rw-r--r--pkgs/tools/networking/mpack/default.nix5
-rw-r--r--pkgs/tools/networking/mu/default.nix4
-rw-r--r--pkgs/tools/networking/nbd/default.nix9
-rw-r--r--pkgs/tools/networking/ndisc6/default.nix5
-rw-r--r--pkgs/tools/networking/netboot/default.nix6
-rw-r--r--pkgs/tools/networking/netcat/default.nix7
-rw-r--r--pkgs/tools/networking/netkit/tftp/default.nix9
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix154
-rw-r--r--pkgs/tools/networking/networkmanager/fix-paths.patch126
-rw-r--r--pkgs/tools/networking/nss-mdns/default.nix5
-rw-r--r--pkgs/tools/networking/ntp/default.nix5
-rw-r--r--pkgs/tools/networking/nttcp/default.nix27
-rw-r--r--pkgs/tools/networking/nttcp/format-security.patch12
-rw-r--r--pkgs/tools/networking/p2p/azureus/builder.sh19
-rw-r--r--pkgs/tools/networking/p2p/azureus/default.nix16
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix42
-rw-r--r--pkgs/tools/networking/proxify/default.nix6
-rw-r--r--pkgs/tools/networking/sockperf/default.nix31
-rw-r--r--pkgs/tools/networking/sshpass/default.nix4
-rw-r--r--pkgs/tools/networking/ssmtp/default.nix31
-rw-r--r--pkgs/tools/networking/strongswan/default.nix14
-rw-r--r--pkgs/tools/networking/toxvpn/default.nix35
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--pkgs/tools/package-management/checkinstall/default.nix7
-rw-r--r--pkgs/tools/package-management/disnix/DisnixWebService/default.nix7
-rw-r--r--pkgs/tools/package-management/disnix/default.nix7
-rw-r--r--pkgs/tools/package-management/disnix/disnixos/default.nix7
-rw-r--r--pkgs/tools/package-management/disnix/dysnomia/default.nix7
-rw-r--r--pkgs/tools/package-management/holo-build/default.nix2
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix3
-rw-r--r--pkgs/tools/package-management/nix/default.nix6
-rw-r--r--pkgs/tools/package-management/nixpkgs-review/default.nix4
-rw-r--r--pkgs/tools/package-management/opkg-utils/default.nix3
-rw-r--r--pkgs/tools/security/b3sum/default.nix6
-rw-r--r--pkgs/tools/security/cosign/default.nix8
-rw-r--r--pkgs/tools/security/dnsrecon/default.nix2
-rw-r--r--pkgs/tools/security/doppler/default.nix6
-rw-r--r--pkgs/tools/security/exploitdb/default.nix6
-rw-r--r--pkgs/tools/security/fprintd/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock30
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix34
-rw-r--r--pkgs/tools/security/nmap-unfree/default.nix65
-rw-r--r--pkgs/tools/security/nmap/default.nix4
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/onlykey-cli/default.nix2
-rw-r--r--pkgs/tools/security/rekor/default.nix12
-rw-r--r--pkgs/tools/security/step-ca/default.nix8
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix4
-rw-r--r--pkgs/tools/security/verifpal/default.nix6
-rw-r--r--pkgs/tools/security/xcat/default.nix2
-rw-r--r--pkgs/tools/security/yubikey-agent/default.nix12
-rw-r--r--pkgs/tools/system/gdu/default.nix7
-rw-r--r--pkgs/tools/system/stress/default.nix5
-rw-r--r--pkgs/tools/system/ts/default.nix6
-rw-r--r--pkgs/tools/system/undaemonize/default.nix4
-rw-r--r--pkgs/tools/system/uptimed/default.nix5
-rw-r--r--pkgs/tools/text/a2ps/default.nix6
-rw-r--r--pkgs/tools/text/choose/default.nix6
-rw-r--r--pkgs/tools/text/difftastic/default.nix23
-rw-r--r--pkgs/tools/text/enscript/default.nix5
-rw-r--r--pkgs/tools/text/glogg/default.nix1
-rw-r--r--pkgs/tools/text/jumanpp/default.nix2
-rw-r--r--pkgs/tools/text/popfile/default.nix6
-rw-r--r--pkgs/tools/text/rst2html5/default.nix21
-rw-r--r--pkgs/tools/text/shfmt/default.nix8
-rw-r--r--pkgs/tools/text/transifex-client/default.nix18
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix32
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdfchain/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix3
-rwxr-xr-xpkgs/tools/typesetting/tex/texlive/fixHashes.awk2
-rw-r--r--pkgs/tools/typesetting/tex/texlive/fixedHashes.nix18186
-rw-r--r--pkgs/tools/video/dvgrab/default.nix3
-rw-r--r--pkgs/tools/video/mjpegtools/default.nix5
-rw-r--r--pkgs/tools/video/rtmpdump/default.nix29
-rw-r--r--pkgs/tools/video/swfmill/default.nix5
-rw-r--r--pkgs/tools/video/vnc2flv/default.nix2
-rw-r--r--pkgs/tools/video/vncrec/default.nix3
-rw-r--r--pkgs/tools/virtualization/aws/default.nix3
-rw-r--r--pkgs/tools/virtualization/ec2-api-tools/default.nix5
-rw-r--r--pkgs/tools/virtualization/udocker/default.nix49
-rw-r--r--pkgs/top-level/aliases.nix6
-rw-r--r--pkgs/top-level/all-packages.nix328
-rw-r--r--pkgs/top-level/coq-packages.nix1
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix40
-rw-r--r--pkgs/top-level/python-aliases.nix3
-rw-r--r--pkgs/top-level/python-packages.nix44
-rw-r--r--pkgs/top-level/python2-packages.nix4
-rw-r--r--pkgs/top-level/release.nix1
-rw-r--r--pkgs/top-level/unixtools.nix4
1086 files changed, 42311 insertions, 21085 deletions
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 5dd885552d6..ff831042461 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -70,6 +70,7 @@
 
 "6.topic: nixos":
   - nixos/**/*
+  - pkgs/os-specific/linux/nixos-rebuild/**/*
 
 "6.topic: ocaml":
   - doc/languages-frameworks/ocaml.section.md
diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md
index e42ba512b98..7199fc63c8d 100644
--- a/doc/contributing/coding-conventions.chapter.md
+++ b/doc/contributing/coding-conventions.chapter.md
@@ -520,7 +520,7 @@ If you do need to do create this sort of patch file, one way to do so is with gi
 4. Use git to create a diff, and pipe the output to a patch file:
 
     ```ShellSession
-    $ git diff > nixpkgs/pkgs/the/package/0001-changes.patch
+    $ git diff -a > nixpkgs/pkgs/the/package/0001-changes.patch
     ```
 
 If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:
@@ -537,7 +537,13 @@ Note that because the checksum is computed after applying these effects, using o
 
 Tests are important to ensure quality and make reviews and automatic updates easy.
 
-Nix package tests are a lightweight alternative to [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests). They can be used to create simple integration tests for packages while the module tests are used to test services or programs with a graphical user interface on a NixOS VM. Unittests that are included in the source code of a package should be executed in the `checkPhase`.
+The following types of tests exists:
+
+* [NixOS **module tests**](https://nixos.org/manual/nixos/stable/#sec-nixos-tests), which spawn one or more NixOS VMs. They exercise both NixOS modules and the packaged programs used within them. For example, a NixOS module test can start a web server VM running the `nginx` module, and a client VM running `curl` or a graphical `firefox`, and test that they can talk to each other and display the correct content.
+* Nix **package tests** are a lightweight alternative to NixOS module tests. They should be used to create simple integration tests for packages, but cannot test NixOS services, and some programs with graphical user interfaces may also be difficult to test with them.
+* The **`checkPhase` of a package**, which should execute the unit tests that are included in the source code of a package.
+
+Here in the nixpkgs manual we describe mostly _package tests_; for _module tests_ head over to the corresponding [section in the NixOS manual](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
 
 ### Writing package tests {#ssec-package-tests-writing}
 
@@ -568,7 +574,7 @@ let
   inherit (phoronix-test-suite) pname version;
 in
 
-runCommand "${pname}-tests" { meta.timeout = 3; }
+runCommand "${pname}-tests" { meta.timeout = 60; }
   ''
     # automatic initial setup to prevent interactive questions
     ${phoronix-test-suite}/bin/phoronix-test-suite enterprise-setup >/dev/null
@@ -602,3 +608,23 @@ Here are examples of package tests:
 - [Spacy annotation test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/spacy/annotation-test/default.nix)
 - [Libtorch test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/science/math/libtorch/test/default.nix)
 - [Multiple tests for nanopb](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/nanopb/default.nix)
+
+### Linking NixOS module tests to a package {#ssec-nixos-tests-linking}
+
+Like [package tests](#ssec-package-tests-writing) as shown above, [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests) can also be linked to a package, so that the tests can be easily run when changing the related package.
+
+For example, assuming we're packaging `nginx`, we can link its module test via `passthru.tests`:
+
+```nix
+{ stdenv, lib, nixosTests }:
+
+stdenv.mkDerivation {
+  ...
+
+  passthru.tests = {
+    nginx = nixosTests.nginx;
+  };
+
+  ...
+}
+```
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index f5c664bec20..9de9a06465f 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -129,7 +129,15 @@ rustPlatform.buildRustPackage rec {
 ```
 
 This will retrieve the dependencies using fixed-output derivations from
-the specified lockfile.
+the specified lockfile. Note that setting `cargoLock.lockFile` doesn't
+add a `Cargo.lock` to your `src`, and a `Cargo.lock` is still required
+to build a rust package. A simple fix is to use:
+
+```nix
+postPatch = ''
+  cp ${./Cargo.lock} Cargo.lock
+'';
+```
 
 The output hash of each dependency that uses a git source must be
 specified in the `outputHashes` attribute. For example:
@@ -144,7 +152,7 @@ rustPlatform.buildRustPackage rec {
     outputHashes = {
       "finalfusion-0.14.0" = "17f4bsdzpcshwh74w5z119xjy2if6l2wgyjy56v621skr2r8y904";
     };
-  }
+  };
 
   # ...
 }
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index aa630b51ed8..e577059687b 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -26,22 +26,22 @@ let
 
     # Linux
     "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux"
-    "armv7l-linux" "i686-linux" "mipsel-linux" "powerpc64-linux"
-    "powerpc64le-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux"
-    "m68k-linux" "s390-linux"
+    "armv7l-linux" "i686-linux" "m68k-linux" "mipsel-linux"
+    "powerpc64-linux" "powerpc64le-linux" "riscv32-linux"
+    "riscv64-linux" "s390-linux" "x86_64-linux"
 
     # MMIXware
     "mmix-mmixware"
 
     # NetBSD
     "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd"
-    "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd"
-    "riscv64-netbsd" "x86_64-netbsd"
+    "i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd"
+    "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd"
 
     # none
-    "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none" "msp430-none"
-    "or1k-none" "powerpc-none" "riscv32-none" "riscv64-none" "vc4-none" "m68k-none"
-    "s390-none" "x86_64-none"
+    "aarch64-none" "arm-none" "armv6l-none" "avr-none" "i686-none"
+    "msp430-none" "or1k-none" "m68k-none" "powerpc-none"
+    "riscv32-none" "riscv64-none" "s390-none" "vc4-none" "x86_64-none"
 
     # OpenBSD
     "i686-openbsd" "x86_64-openbsd"
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 386f252f2ba..77e941a913c 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -127,9 +127,10 @@ rec {
 
   # GNU build systems assume that older NetBSD architectures are using a.out.
   gnuNetBSDDefaultExecFormat = cpu:
-    if (cpu.family == "x86" && cpu.bits == 32) ||
-       (cpu.family == "arm" && cpu.bits == 32) ||
-       (cpu.family == "sparc" && cpu.bits == 32)
+    if (cpu.family == "arm" && cpu.bits == 32) ||
+       (cpu.family == "sparc" && cpu.bits == 32) ||
+       (cpu.family == "m68k" && cpu.bits == 32) ||
+       (cpu.family == "x86" && cpu.bits == 32)
     then execFormats.aout
     else execFormats.elf;
 
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index 92285346f75..d7efe84e2b8 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -315,6 +315,12 @@ rec {
         # Disable OABI to have seccomp_filter (required for systemd)
         # https://github.com/raspberrypi/firmware/issues/651
         OABI_COMPAT n
+
+        # >=5.12 fails with:
+        # drivers/net/ethernet/micrel/ks8851_common.o: in function `ks8851_probe_common':
+        # ks8851_common.c:(.text+0x179c): undefined reference to `__this_module'
+        # See: https://lore.kernel.org/netdev/20210116164828.40545-1-marex@denx.de/T/
+        KS8851_MLL y
       '';
     };
     gcc = {
diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix
index 6bd43f0d0d0..661b9bc8690 100644
--- a/lib/tests/systems.nix
+++ b/lib/tests/systems.nix
@@ -29,7 +29,7 @@ with lib.systems.doubles; lib.runTests {
   testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
   testillumos = mseteq illumos [ "x86_64-solaris" ];
   testlinux = mseteq linux [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-linux" "mipsel-linux" "riscv32-linux" "riscv64-linux" "x86_64-linux" "powerpc64-linux" "powerpc64le-linux" "m68k-linux" "s390-linux" ];
-  testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ];
+  testnetbsd = mseteq netbsd [ "aarch64-netbsd" "armv6l-netbsd" "armv7a-netbsd" "armv7l-netbsd" "i686-netbsd" "m68k-netbsd" "mipsel-netbsd" "powerpc-netbsd" "riscv32-netbsd" "riscv64-netbsd" "x86_64-netbsd" ];
   testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
   testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
   testunix = mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ cygwin ++ redox);
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 8708bf79f54..35882821253 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -4541,6 +4541,12 @@
     githubId = 592849;
     name = "Ilya Kolpakov";
   };
+  ilyakooo0 = {
+    name = "Ilya Kostyuchenko";
+    email = "ilyakooo0@gmail.com";
+    github = "ilyakooo0";
+    githubId = 6209627;
+  };
   imalison = {
     email = "IvanMalison@gmail.com";
     github = "IvanMalison";
@@ -7477,6 +7483,12 @@
     email = "natedevv@gmail.com";
     name = "Nathan Moore";
   };
+  nathanruiz = {
+    email = "nathanruiz@protonmail.com";
+    github = "nathanruiz";
+    githubId = 18604892;
+    name = "Nathan Ruiz";
+  };
   nathan-gs = {
     email = "nathan@nathan.gs";
     github = "nathan-gs";
@@ -11686,6 +11698,12 @@
     githubId = 3705333;
     name = "Dmitry V.";
   };
+  yayayayaka = {
+    email = "nixpkgs@uwu.is";
+    github = "yayayayaka";
+    githubId = 73759599;
+    name = "Lara A.";
+  };
   yegortimoshenko = {
     email = "yegortimoshenko@riseup.net";
     github = "yegortimoshenko";
diff --git a/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh b/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
index c49ea68fbfb..9e243052f25 100755
--- a/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
+++ b/maintainers/scripts/haskell/upload-nixos-package-list-to-hackage.sh
@@ -12,10 +12,10 @@
 # ~/.cabal/config file.
 
 # e.g. username: maralorn
-#      password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression.)
+#      password-command: pass hackage.haskell.org (this can be any command, but not an arbitrary shell expression. Like cabal we only read the first output line and ignore the rest.)
 # Those fields are specified under `upload` on the `cabal` man page.
 
 package_list="$(nix-build -A haskell.package-list)/nixos-hackage-packages.csv"
 username=$(grep "^username:" ~/.cabal/config | sed "s/^username: //")
 password_command=$(grep "^password-command:" ~/.cabal/config | sed "s/^password-command: //")
-curl -u "$username:$($password_command)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
+curl -u "$username:$($password_command | head -n1)" --digest -H "Content-type: text/csv" -T "$package_list" http://hackage.haskell.org/distro/NixOS/packages.csv
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index a387430245a..b092a58b2d1 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -78,10 +78,11 @@ mpack,,,,,
 moonscript,,,,,arobyn
 nvim-client,,,,,
 penlight,,,,,
+plenary.nvim,,,,lua5_1,
 rapidjson,,,,,
 readline,,,,,
 say,,,,,
-std__debug,std._debug,,,,
+std-_debug,std._debug,,,,
 std_normalize,std.normalize,,,,
 stdlib,,,,,vyp
 vstruct,,,,,
diff --git a/maintainers/scripts/update-luarocks-packages b/maintainers/scripts/update-luarocks-packages
index da4d224bd33..c7180083da2 100755
--- a/maintainers/scripts/update-luarocks-packages
+++ b/maintainers/scripts/update-luarocks-packages
@@ -89,6 +89,10 @@ function convert_pkg() {
         echo "Skipping comment ${*}" >&2
         return
     fi
+
+    # Normalize package name
+    nix_pkg_name_normalized=$(sed 's/\./-/' <(echo "$nix_pkg_name"))
+
     if [ -z "$lua_pkg_name" ]; then
         echo "Using nix_name as lua_pkg_name for '$nix_pkg_name'" >&2
         lua_pkg_name="$nix_pkg_name"
@@ -111,7 +115,7 @@ function convert_pkg() {
         luarocks_args+=("$pkg_version")
     fi
     echo "Running 'luarocks ${luarocks_args[*]}'" >&2
-    if drv="$nix_pkg_name = $(luarocks "${luarocks_args[@]}")"; then
+    if drv="$nix_pkg_name_normalized = $(luarocks "${luarocks_args[@]}")"; then
         echo "$drv"
     else
         echo "Failed to convert $nix_pkg_name" >&2
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index a39567f572c..ff7d9eb3fb4 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -162,6 +162,7 @@ with lib.maintainers; {
       ralith
       mjlbach
       dandellion
+      sumnerevans
     ];
     scope = "Maintain the ecosystem around Matrix, a decentralized messenger.";
   };
diff --git a/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md b/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md
new file mode 100644
index 00000000000..38a64027f7c
--- /dev/null
+++ b/nixos/doc/manual/development/linking-nixos-tests-to-packages.section.md
@@ -0,0 +1,6 @@
+# Linking NixOS tests to packages {#sec-linking-nixos-tests-to-packages}
+
+You can link NixOS module tests to the packages that they exercised,
+so that the tests can be run automatically during code review when the package gets changed.
+This is
+[described in the nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/#ssec-nixos-tests-linking).
diff --git a/nixos/doc/manual/development/nixos-tests.xml b/nixos/doc/manual/development/nixos-tests.xml
index 702fc03f668..67dc09fc715 100644
--- a/nixos/doc/manual/development/nixos-tests.xml
+++ b/nixos/doc/manual/development/nixos-tests.xml
@@ -16,4 +16,5 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test
  <xi:include href="../from_md/development/writing-nixos-tests.section.xml" />
  <xi:include href="../from_md/development/running-nixos-tests.section.xml" />
  <xi:include href="../from_md/development/running-nixos-tests-interactively.section.xml" />
+ <xi:include href="../from_md/development/linking-nixos-tests-to-packages.section.xml" />
 </chapter>
diff --git a/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml b/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml
new file mode 100644
index 00000000000..666bbec6162
--- /dev/null
+++ b/nixos/doc/manual/from_md/development/linking-nixos-tests-to-packages.section.xml
@@ -0,0 +1,10 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-linking-nixos-tests-to-packages">
+  <title>Linking NixOS tests to packages</title>
+  <para>
+    You can link NixOS module tests to the packages that they exercised,
+    so that the tests can be run automatically during code review when
+    the package gets changed. This is
+    <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#ssec-nixos-tests-linking">described
+    in the nixpkgs manual</link>.
+  </para>
+</section>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 9dd98a5262f..2874039e3f0 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -125,6 +125,30 @@
           <link linkend="opt-services.prometheus.exporters.buildkite-agent.enable">services.prometheus.exporters.buildkite-agent</link>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/prometheus/influxdb_exporter">influxdb-exporter</link>
+          a Prometheus exporter that exports metrics received on an
+          InfluxDB compatible endpoint is now available as
+          <link linkend="opt-services.prometheus.exporters.influxdb.enable">services.prometheus.exporters.influxdb</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://github.com/matrix-discord/mx-puppet-discord">mx-puppet-discord</link>,
+          a discord puppeting bridge for matrix. Available as
+          <link linkend="opt-services.mx-puppet-discord.enable">services.mx-puppet-discord</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://www.meshcommander.com/meshcentral2/overview">MeshCentral</link>,
+          a remote administration service (<quote>TeamViewer but
+          self-hosted and with more features</quote>) is now available
+          with a package and a module:
+          <link linkend="opt-services.meshcentral.enable">services.meshcentral.enable</link>
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-incompatibilities">
@@ -555,6 +579,51 @@
           6.0.0 to 9.0.0
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <literal>tt-rss</literal> was upgraded to the commit on
+          2021-06-21, which has breaking changes. If you use
+          <literal>services.tt-rss.extraConfig</literal> you should
+          migrate to the <literal>putenv</literal>-style configuration.
+          See
+          <link xlink:href="https://community.tt-rss.org/t/rip-config-php-hello-classes-config-php/4337">this
+          Discourse post</link> in the tt-rss forums for more details.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The following Visual Studio Code extensions were renamed to
+          keep the naming convention uniform.
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              <literal>bbenoist.Nix</literal> -&gt;
+              <literal>bbenoist.nix</literal>
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>CoenraadS.bracket-pair-colorizer</literal> -&gt;
+              <literal>coenraads.bracket-pair-colorizer</literal>
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>golang.Go</literal> -&gt;
+              <literal>golang.go</literal>
+            </para>
+          </listitem>
+        </itemizedlist>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>services.uptimed</literal> now uses
+          <literal>/var/lib/uptimed</literal> as its stateDirectory
+          instead of <literal>/var/spool/uptimed</literal>. Make sure to
+          move all files to the new directory.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 12e1a938433..fe7a7326a40 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -39,6 +39,12 @@ pt-services.clipcat.enable).
 
 - [buildkite-agent-metrics](https://github.com/buildkite/buildkite-agent-metrics), a command-line tool for collecting Buildkite agent metrics, now has a Prometheus exporter available as [services.prometheus.exporters.buildkite-agent](#opt-services.prometheus.exporters.buildkite-agent.enable).
 
+- [influxdb-exporter](https://github.com/prometheus/influxdb_exporter) a Prometheus exporter that exports metrics received on an InfluxDB compatible endpoint is now available as [services.prometheus.exporters.influxdb](#opt-services.prometheus.exporters.influxdb.enable).
+
+- [mx-puppet-discord](https://github.com/matrix-discord/mx-puppet-discord), a discord puppeting bridge for matrix. Available as [services.mx-puppet-discord](#opt-services.mx-puppet-discord.enable).
+
+- [MeshCentral](https://www.meshcommander.com/meshcentral2/overview), a remote administration service ("TeamViewer but self-hosted and with more features") is now available with a package and a module: [services.meshcentral.enable](#opt-services.meshcentral.enable)
+
 ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
 
 - The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
@@ -142,6 +148,15 @@ pt-services.clipcat.enable).
 
 - the `mingw-64` package has been upgraded from 6.0.0 to 9.0.0
 
+- `tt-rss` was upgraded to the commit on 2021-06-21, which has breaking changes. If you use `services.tt-rss.extraConfig` you should migrate to the `putenv`-style configuration. See [this Discourse post](https://community.tt-rss.org/t/rip-config-php-hello-classes-config-php/4337) in the tt-rss forums for more details.
+
+- The following Visual Studio Code extensions were renamed to keep the naming convention uniform.
+  - `bbenoist.Nix` -> `bbenoist.nix`
+  - `CoenraadS.bracket-pair-colorizer` -> `coenraads.bracket-pair-colorizer`
+  - `golang.Go` -> `golang.go`
+
+- `services.uptimed` now uses `/var/lib/uptimed` as its stateDirectory instead of `/var/spool/uptimed`. Make sure to move all files to the new directory.
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 - The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index 768f1dc2a17..c703484666d 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -130,9 +130,12 @@ rec {
 
       nodeHostNames = map (c: c.config.system.name) (lib.attrValues nodes);
 
+      # TODO: This is an implementation error and needs fixing
+      # the testing famework cannot legitimately restrict hostnames further
+      # beyond RFC1035
       invalidNodeNames = lib.filter
         (node: builtins.match "^[A-z_]([A-z0-9_]+)?$" node == null)
-        (builtins.attrNames nodes);
+        nodeHostNames;
 
       testScript' =
         # Call the test script with the computed nodes.
@@ -146,7 +149,9 @@ rec {
         Cannot create machines out of (${lib.concatStringsSep ", " invalidNodeNames})!
         All machines are referenced as python variables in the testing framework which will break the
         script when special characters are used.
-        Please stick to alphanumeric chars and underscores as separation.
+
+        This is an IMPLEMENTATION ERROR and needs to be fixed. Meanwhile,
+        please stick to alphanumeric chars and underscores as separation.
       ''
     else lib.warnIf skipLint "Linting is disabled" (runCommand testDriverName
       {
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index 3e88a4c20ad..a4e4fa8d0ed 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -35,6 +35,14 @@ in {
       '';
     };
 
+    hardware.wirelessRegulatoryDatabase = mkOption {
+      default = false;
+      type = types.bool;
+      description = ''
+        Load the wireless regulatory database at boot.
+      '';
+    };
+
   };
 
 
@@ -50,6 +58,7 @@ in {
         rtl8723bs-firmware
         rtl8761b-firmware
         rtw88-firmware
+        rtw89-firmware
         zd1211fw
         alsa-firmware
         sof-firmware
@@ -58,6 +67,7 @@ in {
         ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [
         rtl8723bs-firmware
       ];
+      hardware.wirelessRegulatoryDatabase = true;
     })
     (mkIf cfg.enableAllFirmware {
       assertions = [{
@@ -75,5 +85,8 @@ in {
         b43FirmwareCutter
       ] ++ optional (pkgs.stdenv.hostPlatform.isi686 || pkgs.stdenv.hostPlatform.isx86_64) facetimehd-firmware;
     })
+    (mkIf cfg.wirelessRegulatoryDatabase {
+      hardware.firmware = [ pkgs.wireless-regdb ];
+    })
   ];
 }
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index d94af0b5bf7..f0384513247 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -654,7 +654,11 @@ in
       ];
 
     fileSystems."/" =
-      { fsType = "tmpfs";
+      # This module is often over-layed onto an existing host config
+      # that defines `/`. We use mkOverride 60 to override standard
+      # values, but at the same time leave room for mkForce values
+      # targeted at the image build.
+      { fsType = mkOverride 60 "tmpfs";
         options = [ "mode=0755" ];
       };
 
diff --git a/nixos/modules/installer/netboot/netboot.nix b/nixos/modules/installer/netboot/netboot.nix
index 238ab6d0617..f7543fdf4a2 100644
--- a/nixos/modules/installer/netboot/netboot.nix
+++ b/nixos/modules/installer/netboot/netboot.nix
@@ -30,7 +30,11 @@ with lib;
           else [ pkgs.grub2 pkgs.syslinux ]);
 
     fileSystems."/" =
-      { fsType = "tmpfs";
+      # This module is often over-layed onto an existing host config
+      # that defines `/`. We use mkOverride 60 to override standard
+      # values, but at the same time leave room for mkForce values
+      # targeted at the image build.
+      { fsType = mkOverride 60 "tmpfs";
         options = [ "mode=0755" ];
       };
 
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index e3576074a5b..15c76287e34 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,7 +1,7 @@
 {
-  x86_64-linux = "/nix/store/qsgz2hhn6mzlzp53a7pwf9z2pq3l5z6h-nix-2.3.14";
-  i686-linux = "/nix/store/1yw40bj04lykisw2jilq06lir3k9ga4a-nix-2.3.14";
-  aarch64-linux = "/nix/store/32yzwmynmjxfrkb6y6l55liaqdrgkj4a-nix-2.3.14";
-  x86_64-darwin = "/nix/store/06j0vi2d13w4l0p3jsigq7lk4x6gkycj-nix-2.3.14";
-  aarch64-darwin = "/nix/store/77wi7vpbrghw5rgws25w30bwb8yggnk9-nix-2.3.14";
+  x86_64-linux = "/nix/store/jhbxh1jwjc3hjhzs9y2hifdn0rmnfwaj-nix-2.3.15";
+  i686-linux = "/nix/store/9pspwnkdrgzma1l4xlv7arhwa56y16di-nix-2.3.15";
+  aarch64-linux = "/nix/store/72aqi5g7f4fhgvgafbcqwcpqjgnczj48-nix-2.3.15";
+  x86_64-darwin = "/nix/store/6p6qwp73dgfkqhynmxrzbx1lcfgfpqal-nix-2.3.15";
+  aarch64-darwin = "/nix/store/dmq2vksdhssgfl822shd0ky3x5x0klh4-nix-2.3.15";
 }
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 858c7ee53db..a7a31ba8576 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -187,6 +187,7 @@ in
       #seeks = 148; # removed 2020-06-21
       prosody = 149;
       i2pd = 150;
+      systemd-coredump = 151;
       systemd-network = 152;
       systemd-resolve = 153;
       systemd-timesync = 154;
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index a6fffb76f6e..8f246a9278b 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -103,9 +103,10 @@ in
       ''
         NAME=NixOS
         ID=nixos
-        VERSION="${cfg.version} (${cfg.codeName})"
+        VERSION="${cfg.release} (${cfg.codeName})"
         VERSION_CODENAME=${toLower cfg.codeName}
-        VERSION_ID="${cfg.version}"
+        VERSION_ID="${cfg.release}"
+        BUILD_ID="${cfg.version}"
         PRETTY_NAME="NixOS ${cfg.release} (${cfg.codeName})"
         LOGO="nix-snowflake"
         HOME_URL="https://nixos.org/"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 4d1700ed99a..1a6d8599e7e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -236,6 +236,7 @@
   ./security/doas.nix
   ./security/systemd-confinement.nix
   ./security/tpm2.nix
+  ./services/admin/meshcentral.nix
   ./services/admin/oxidized.nix
   ./services/admin/salt/master.nix
   ./services/admin/salt/minion.nix
@@ -519,6 +520,7 @@
   ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/lidarr.nix
+  ./services/misc/libreddit.nix
   ./services/misc/lifecycled.nix
   ./services/misc/mame.nix
   ./services/misc/matrix-appservice-discord.nix
@@ -529,6 +531,7 @@
   ./services/misc/mediatomb.nix
   ./services/misc/metabase.nix
   ./services/misc/mwlib.nix
+  ./services/misc/mx-puppet-discord.nix
   ./services/misc/n8n.nix
   ./services/misc/nix-daemon.nix
   ./services/misc/nix-gc.nix
@@ -633,6 +636,7 @@
   ./services/network-filesystems/glusterfs.nix
   ./services/network-filesystems/kbfs.nix
   ./services/network-filesystems/ipfs.nix
+  ./services/network-filesystems/litestream/default.nix
   ./services/network-filesystems/netatalk.nix
   ./services/network-filesystems/nfsd.nix
   ./services/network-filesystems/openafs/client.nix
@@ -960,6 +964,7 @@
   ./services/web-apps/moodle.nix
   ./services/web-apps/nextcloud.nix
   ./services/web-apps/nexus.nix
+  ./services/web-apps/node-red.nix
   ./services/web-apps/plantuml-server.nix
   ./services/web-apps/plausible.nix
   ./services/web-apps/pgpkeyserver-lite.nix
diff --git a/nixos/modules/programs/captive-browser.nix b/nixos/modules/programs/captive-browser.nix
index 1f223e2475c..007b0369ec1 100644
--- a/nixos/modules/programs/captive-browser.nix
+++ b/nixos/modules/programs/captive-browser.nix
@@ -27,6 +27,7 @@ in
       browser = mkOption {
         type = types.str;
         default = concatStringsSep " " [
+          ''env XDG_CONFIG_HOME="$PREV_CONFIG_HOME"''
           ''${pkgs.chromium}/bin/chromium''
           ''--user-data-dir=''${XDG_DATA_HOME:-$HOME/.local/share}/chromium-captive''
           ''--proxy-server="socks5://$PROXY"''
@@ -111,6 +112,7 @@ in
     security.wrappers.captive-browser = {
       capabilities = "cap_net_raw+p";
       source = pkgs.writeShellScript "captive-browser" ''
+        export PREV_CONFIG_HOME="$XDG_CONFIG_HOME"
         export XDG_CONFIG_HOME=${pkgs.writeTextDir "captive-browser.toml" ''
                                   browser = """${cfg.browser}"""
                                   dhcp-dns = """${cfg.dhcp-dns}"""
diff --git a/nixos/modules/services/admin/meshcentral.nix b/nixos/modules/services/admin/meshcentral.nix
new file mode 100644
index 00000000000..ae7b6edda7d
--- /dev/null
+++ b/nixos/modules/services/admin/meshcentral.nix
@@ -0,0 +1,53 @@
+{ config, pkgs, lib, ... }:
+let
+  cfg = config.services.meshcentral;
+  configFormat = pkgs.formats.json {};
+  configFile = configFormat.generate "meshcentral-config.json" cfg.settings;
+in with lib; {
+  options.services.meshcentral = with types; {
+    enable = mkEnableOption "MeshCentral computer management server";
+    package = mkOption {
+      description = "MeshCentral package to use. Replacing this may be necessary to add dependencies for extra functionality.";
+      type = types.package;
+      default = pkgs.meshcentral;
+      defaultText = "pkgs.meshcentral";
+    };
+    settings = mkOption {
+      description = ''
+        Settings for MeshCentral. Refer to upstream documentation for details:
+
+        <itemizedlist>
+          <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/meshcentral-config-schema.json">JSON Schema definition</link></para></listitem>
+          <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/sample-config.json">simple sample configuration</link></para></listitem>
+          <listitem><para><link xlink:href="https://github.com/Ylianst/MeshCentral/blob/master/sample-config-advanced.json">complex sample configuration</link></para></listitem>
+          <listitem><para><link xlink:href="https://www.meshcommander.com/meshcentral2">Old homepage) with documentation link</link></para></listitem>
+        </itemizedlist>
+      '';
+      type = types.submodule {
+        freeformType = configFormat.type;
+      };
+      example = {
+        settings = {
+          WANonly = true;
+          Cert = "meshcentral.example.com";
+          TlsOffload = "10.0.0.2,fd42::2";
+          Port = 4430;
+        };
+        domains."".certUrl = "https://meshcentral.example.com/";
+      };
+    };
+  };
+  config = mkIf cfg.enable {
+    services.meshcentral.settings.settings.autoBackup.backupPath = lib.mkDefault "/var/lib/meshcentral/backups";
+    systemd.services.meshcentral = {
+      wantedBy = ["multi-user.target"];
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/meshcentral --datapath /var/lib/meshcentral --configfile ${configFile}";
+        DynamicUser = true;
+        StateDirectory = "meshcentral";
+        CacheDirectory = "meshcentral";
+      };
+    };
+  };
+  meta.maintainers = [ maintainers.lheckemann ];
+}
diff --git a/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 24d86628b21..8f937a13231 100644
--- a/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -60,6 +60,45 @@ in {
         sha256 = "02r440xcdsgi137k5lmmvp0z5w5fmk8g9mysq5pnysq1wl8sj6mw";
       };
     };
+
+    corefile = mkOption {
+      description = ''
+        Custom coredns corefile configuration.
+
+        See: <link xlink:href="https://coredns.io/manual/toc/#configuration"/>.
+      '';
+      type = types.str;
+      default = ''
+        .:${toString ports.dns} {
+          errors
+          health :${toString ports.health}
+          kubernetes ${cfg.clusterDomain} in-addr.arpa ip6.arpa {
+            pods insecure
+            fallthrough in-addr.arpa ip6.arpa
+          }
+          prometheus :${toString ports.metrics}
+          forward . /etc/resolv.conf
+          cache 30
+          loop
+          reload
+          loadbalance
+        }'';
+      defaultText = ''
+        .:${toString ports.dns} {
+          errors
+          health :${toString ports.health}
+          kubernetes ''${config.services.kubernetes.addons.dns.clusterDomain} in-addr.arpa ip6.arpa {
+            pods insecure
+            fallthrough in-addr.arpa ip6.arpa
+          }
+          prometheus :${toString ports.metrics}
+          forward . /etc/resolv.conf
+          cache 30
+          loop
+          reload
+          loadbalance
+        }'';
+    };
   };
 
   config = mkIf cfg.enable {
@@ -151,20 +190,7 @@ in {
           namespace = "kube-system";
         };
         data = {
-          Corefile = ".:${toString ports.dns} {
-            errors
-            health :${toString ports.health}
-            kubernetes ${cfg.clusterDomain} in-addr.arpa ip6.arpa {
-              pods insecure
-              fallthrough in-addr.arpa ip6.arpa
-            }
-            prometheus :${toString ports.metrics}
-            forward . /etc/resolv.conf
-            cache 30
-            loop
-            reload
-            loadbalance
-          }";
+          Corefile = cfg.corefile;
         };
       };
 
diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix
index d9311d3e3a0..faf951d8157 100644
--- a/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -189,7 +189,7 @@ in
         # manually paste it in place. Just symlink.
         # otherwise, create the target file, ready for users to insert the token
 
-        mkdir -p $(dirname ${certmgrAPITokenPath})
+        mkdir -p "$(dirname "${certmgrAPITokenPath}")"
         if [ -f "${cfsslAPITokenPath}" ]; then
           ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
         else
diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix
index 2c6d9530a6b..15c37c2bc76 100644
--- a/nixos/modules/services/continuous-integration/gitlab-runner.nix
+++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -339,6 +339,9 @@ in
               <literal>CI_SERVER_URL=&lt;CI server URL&gt;</literal>
 
               <literal>REGISTRATION_TOKEN=&lt;registration secret&gt;</literal>
+
+              WARNING: make sure to use quoted absolute path,
+              or it is going to be copied to Nix Store.
             '';
           };
           registrationFlags = mkOption {
@@ -523,7 +526,10 @@ in
     };
   };
   config = mkIf cfg.enable {
-    warnings = optional (cfg.configFile != null) "services.gitlab-runner.`configFile` is deprecated, please use services.gitlab-runner.`services`.";
+    warnings = (mapAttrsToList
+      (n: v: "services.gitlab-runner.services.${n}.`registrationConfigFile` points to a file in Nix Store. You should use quoted absolute path to prevent this.")
+      (filterAttrs (n: v: isStorePath v.registrationConfigFile) cfg.services))
+    ++ optional (cfg.configFile != null) "services.gitlab-runner.`configFile` is deprecated, please use services.gitlab-runner.`services`.";
     environment.systemPackages = [ cfg.package ];
     systemd.services.gitlab-runner = {
       description = "Gitlab Runner";
diff --git a/nixos/modules/services/databases/redis.nix b/nixos/modules/services/databases/redis.nix
index 9c0740f28c9..8873f6d00e0 100644
--- a/nixos/modules/services/databases/redis.nix
+++ b/nixos/modules/services/databases/redis.nix
@@ -272,7 +272,7 @@ in {
       }
       (mkIf (cfg.bind != null) { bind = cfg.bind; })
       (mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; unixsocketperm = "${toString cfg.unixSocketPerm}"; })
-      (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; })
+      (mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${toString cfg.slaveOf.port}"; })
       (mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; })
       (mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; })
     ];
diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix
index 8c1bde7b415..ccf726bd182 100644
--- a/nixos/modules/services/hardware/sane.nix
+++ b/nixos/modules/services/hardware/sane.nix
@@ -4,7 +4,10 @@ with lib;
 
 let
 
-  pkg = pkgs.sane-backends;
+  pkg = pkgs.sane-backends.override {
+    scanSnapDriversUnfree = config.hardware.sane.drivers.scanSnap.enable;
+    scanSnapDriversPackage = config.hardware.sane.drivers.scanSnap.package;
+  };
 
   sanedConf = pkgs.writeTextFile {
     name = "saned.conf";
@@ -98,6 +101,28 @@ in
       '';
     };
 
+    hardware.sane.drivers.scanSnap.enable = mkOption {
+      type = types.bool;
+      default = false;
+      example = true;
+      description = ''
+        Whether to enable drivers for the Fujitsu ScanSnap scanners.
+
+        The driver files are unfree and extracted from the Windows driver image.
+      '';
+    };
+
+    hardware.sane.drivers.scanSnap.package = mkOption {
+      type = types.package;
+      default = pkgs.sane-drivers.epjitsu;
+      description = ''
+        Epjitsu driver package to use. Useful if you want to extract the driver files yourself.
+
+        The process is described in the <literal>/etc/sane.d/epjitsu.conf</literal> file in
+        the <literal>sane-backends</literal> package.
+      '';
+    };
+
     services.saned.enable = mkOption {
       type = types.bool;
       default = false;
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index b6c1ca3e61a..2f8e595cad0 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -523,19 +523,12 @@ in
         ''}
 
         # update all hooks' binary paths
-        HOOKS=$(find ${cfg.repositoryRoot} -mindepth 4 -maxdepth 6 -type f -wholename "*git/hooks/*")
-        if [ "$HOOKS" ]
-        then
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea}/bin/gitea,g' $HOOKS
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/env,${pkgs.coreutils}/bin/env,g' $HOOKS
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/bash,${pkgs.bash}/bin/bash,g' $HOOKS
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/perl,${pkgs.perl}/bin/perl,g' $HOOKS
-        fi
+        ${gitea}/bin/gitea admin regenerate hooks
 
         # update command option in authorized_keys
         if [ -r ${cfg.stateDir}/.ssh/authorized_keys ]
         then
-          sed -ri 's,/nix/store/[a-z0-9.-]+/bin/gitea,${gitea}/bin/gitea,g' ${cfg.stateDir}/.ssh/authorized_keys
+          ${gitea}/bin/gitea admin regenerate keys
         fi
       '';
 
diff --git a/nixos/modules/services/misc/libreddit.nix b/nixos/modules/services/misc/libreddit.nix
new file mode 100644
index 00000000000..77b34a85620
--- /dev/null
+++ b/nixos/modules/services/misc/libreddit.nix
@@ -0,0 +1,66 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+  let
+    cfg = config.services.libreddit;
+
+    args = concatStringsSep " " ([
+      "--port ${toString cfg.port}"
+      "--address ${cfg.address}"
+    ] ++ optional cfg.redirect "--redirect-https");
+
+in
+{
+  options = {
+    services.libreddit = {
+      enable = mkEnableOption "Private front-end for Reddit";
+
+      address = mkOption {
+        default = "0.0.0.0";
+        example = "127.0.0.1";
+        type =  types.str;
+        description = "The address to listen on";
+      };
+
+      port = mkOption {
+        default = 8080;
+        example = 8000;
+        type = types.port;
+        description = "The port to listen on";
+      };
+
+      redirect = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the redirecting to HTTPS";
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Open ports in the firewall for the libreddit web interface";
+      };
+
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.libreddit = {
+        description = "Private front-end for Reddit";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" ];
+        serviceConfig = {
+          DynamicUser = true;
+          ExecStart = "${pkgs.libreddit}/bin/libreddit ${args}";
+          AmbientCapabilities = lib.mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+          Restart = "on-failure";
+          RestartSec = "2s";
+        };
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
+  };
+}
diff --git a/nixos/modules/services/misc/mx-puppet-discord.nix b/nixos/modules/services/misc/mx-puppet-discord.nix
new file mode 100644
index 00000000000..11116f7c348
--- /dev/null
+++ b/nixos/modules/services/misc/mx-puppet-discord.nix
@@ -0,0 +1,120 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+  dataDir = "/var/lib/mx-puppet-discord";
+  registrationFile = "${dataDir}/discord-registration.yaml";
+  cfg = config.services.mx-puppet-discord;
+  settingsFormat = pkgs.formats.json {};
+  settingsFile = settingsFormat.generate "mx-puppet-discord-config.json" cfg.settings;
+
+in {
+  options = {
+    services.mx-puppet-discord = {
+      enable = mkEnableOption ''
+        mx-puppet-discord is a discord puppeting bridge for matrix.
+        It handles bridging private and group DMs, as well as Guilds (servers)
+      '';
+
+      settings = mkOption rec {
+        apply = recursiveUpdate default;
+        inherit (settingsFormat) type;
+        default = {
+          bridge.port = 8434;
+          presence = {
+            enabled = true;
+            interval = 500;
+          };
+          provisioning.whitelist = [ ];
+          relay.whitelist = [ ];
+
+          # variables are preceded by a colon.
+          namePatterns = {
+            user = ":name";
+            userOverride = ":displayname";
+            room = ":name";
+            group = ":name";
+          };
+
+          #defaults to sqlite but can be configured to use postgresql with
+          #connstring
+          database.filename = "${dataDir}/mx-puppet-discord/database.db";
+          logging = {
+            console = "info";
+            lineDateFormat = "MMM-D HH:mm:ss.SSS";
+          };
+        };
+        example = literalExample ''
+          {
+            bridge = {
+              bindAddress = "localhost";
+              domain = "example.com";
+              homeserverUrl = "https://example.com";
+            };
+
+            provisioning.whitelist = [ "@admin:example.com" ];
+            relay.whitelist = [ "@.*:example.com" ];
+          }
+        '';
+        description = ''
+          <filename>config.yaml</filename> configuration as a Nix attribute set.
+          Configuration options should match those described in
+          <link xlink:href="https://github.com/matrix-discord/mx-puppet-discord/blob/master/sample.config.yaml">
+          sample.config.yaml</link>.
+        '';
+      };
+      serviceDependencies = mkOption {
+        type = with types; listOf str;
+        default = optional config.services.matrix-synapse.enable "matrix-synapse.service";
+        description = ''
+          List of Systemd services to require and wait for when starting the application service.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.mx-puppet-discord = {
+      description = ''
+        mx-puppet-discord is a discord puppeting bridge for matrix.
+        It handles bridging private and group DMs, as well as Guilds (servers).
+      '';
+
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
+      after = [ "network-online.target" ] ++ cfg.serviceDependencies;
+
+      preStart = ''
+        # generate the appservice's registration file if absent
+        if [ ! -f '${registrationFile}' ]; then
+          ${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -r -c ${settingsFile} \
+          -f ${registrationFile}
+        fi
+      '';
+
+      serviceConfig = {
+        Type = "simple";
+        Restart = "always";
+
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+
+        DynamicUser = true;
+        PrivateTmp = true;
+        WorkingDirectory = pkgs.mx-puppet-discord;
+        StateDirectory = baseNameOf dataDir;
+        UMask = 0027;
+
+        ExecStart = ''
+          ${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -c ${settingsFile}
+        '';
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ govanify ];
+}
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index 133e96da0ec..70b27b7d3d0 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -458,7 +458,7 @@ in
                 description = "The flake reference to which <option>from></option> is to be rewritten.";
               };
               flake = mkOption {
-                type = types.unspecified;
+                type = types.nullOr types.attrs;
                 default = null;
                 example = literalExample "nixpkgs";
                 description = ''
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index d648de6a414..9182c2f2ed8 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -33,6 +33,7 @@ let
     "domain"
     "dovecot"
     "fritzbox"
+    "influxdb"
     "json"
     "jitsi"
     "kea"
diff --git a/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
new file mode 100644
index 00000000000..ba45173e946
--- /dev/null
+++ b/nixos/modules/services/monitoring/prometheus/exporters/influxdb.nix
@@ -0,0 +1,34 @@
+{ config, lib, pkgs, options }:
+
+with lib;
+
+let
+  cfg = config.services.prometheus.exporters.influxdb;
+in
+{
+  port = 9122;
+  extraOpts = {
+    sampleExpiry = mkOption {
+      type = types.str;
+      default = "5m";
+      example = "10m";
+      description = "How long a sample is valid for";
+    };
+    udpBindAddress = mkOption {
+      type = types.str;
+      default = ":9122";
+      example = "192.0.2.1:9122";
+      description = "Address on which to listen for udp packets";
+    };
+  };
+  serviceOpts = {
+    serviceConfig = {
+      RuntimeDirectory = "prometheus-influxdb-exporter";
+      ExecStart = ''
+        ${pkgs.prometheus-influxdb-exporter}/bin/influxdb_exporter \
+        --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
+        --influxdb.sample-expiry ${cfg.sampleExpiry} ${concatStringsSep " " cfg.extraFlags}
+      '';
+    };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/litestream/default.nix b/nixos/modules/services/network-filesystems/litestream/default.nix
new file mode 100644
index 00000000000..f1806c5af0a
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/litestream/default.nix
@@ -0,0 +1,100 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.litestream;
+  settingsFormat = pkgs.formats.yaml {};
+in
+{
+  options.services.litestream = {
+    enable = mkEnableOption "litestream";
+
+    package = mkOption {
+      description = "Package to use.";
+      default = pkgs.litestream;
+      defaultText = "pkgs.litestream";
+      type = types.package;
+    };
+
+    settings = mkOption {
+      description = ''
+        See the <link xlink:href="https://litestream.io/reference/config/">documentation</link>.
+      '';
+      type = settingsFormat.type;
+      example = {
+        dbs = [
+          {
+            path = "/var/lib/db1";
+            replicas = [
+              {
+                url = "s3://mybkt.litestream.io/db1";
+              }
+            ];
+          }
+        ];
+      };
+    };
+
+    environmentFile = mkOption {
+      type = types.nullOr types.path;
+      default = null;
+      example = "/run/secrets/litestream";
+      description = ''
+        Environment file as defined in <citerefentry>
+        <refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum>
+        </citerefentry>.
+
+        Secrets may be passed to the service without adding them to the
+        world-readable Nix store, by specifying placeholder variables as
+        the option value in Nix and setting these variables accordingly in the
+        environment file.
+
+        By default, Litestream will perform environment variable expansion
+        within the config file before reading it. Any references to ''$VAR or
+        ''${VAR} formatted variables will be replaced with their environment
+        variable values. If no value is set then it will be replaced with an
+        empty string.
+
+        <programlisting>
+          # Content of the environment file
+          LITESTREAM_ACCESS_KEY_ID=AKIAxxxxxxxxxxxxxxxx
+          LITESTREAM_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxx
+        </programlisting>
+
+        Note that this file needs to be available on the host on which
+        this exporter is running.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ cfg.package ];
+    environment.etc = {
+      "litestream.yml" = {
+        source = settingsFormat.generate "litestream-config.yaml" cfg.settings;
+      };
+    };
+
+    systemd.services.litestream = {
+      description = "Litestream";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "networking.target" ];
+      serviceConfig = {
+        EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
+        ExecStart = "${cfg.package}/bin/litestream replicate";
+        Restart = "always";
+        User = "litestream";
+        Group = "litestream";
+      };
+    };
+
+    users.users.litestream = {
+      description = "Litestream user";
+      group = "litestream";
+      isSystemUser = true;
+    };
+    users.groups.litestream = {};
+  };
+  meta.doc = ./litestream.xml;
+}
diff --git a/nixos/modules/services/network-filesystems/litestream/litestream.xml b/nixos/modules/services/network-filesystems/litestream/litestream.xml
new file mode 100644
index 00000000000..598f9be8cf6
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/litestream/litestream.xml
@@ -0,0 +1,65 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+         xmlns:xlink="http://www.w3.org/1999/xlink"
+         xmlns:xi="http://www.w3.org/2001/XInclude"
+         version="5.0"
+         xml:id="module-services-litestream">
+ <title>Litestream</title>
+ <para>
+  <link xlink:href="https://litestream.io/">Litestream</link> is a standalone streaming
+  replication tool for SQLite.
+ </para>
+
+ <section xml:id="module-services-litestream-configuration">
+  <title>Configuration</title>
+
+  <para>
+   Litestream service is managed by a dedicated user named <literal>litestream</literal>
+   which needs permission to the database file. Here's an example config which gives
+   required permissions to access <link linkend="opt-services.grafana.database.path">
+   grafana database</link>:
+<programlisting>
+{ pkgs, ... }:
+{
+  users.users.litestream.extraGroups = [ "grafana" ];
+
+  systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
+    timeout=10
+
+    while [ ! -f /var/lib/grafana/data/grafana.db ];
+    do
+      if [ "$timeout" == 0 ]; then
+        echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db."
+        exit 1
+      fi
+
+      sleep 1
+
+      ((timeout--))
+    done
+
+    find /var/lib/grafana -type d -exec chmod -v 775 {} \;
+    find /var/lib/grafana -type f -exec chmod -v 660 {} \;
+  '';
+
+  services.litestream = {
+    enable = true;
+
+    environmentFile = "/run/secrets/litestream";
+
+    settings = {
+      dbs = [
+        {
+          path = "/var/lib/grafana/data/grafana.db";
+          replicas = [{
+            url = "s3://mybkt.litestream.io/grafana";
+          }];
+        }
+      ];
+    };
+  };
+}
+</programlisting>
+  </para>
+ </section>
+
+</chapter>
diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix
index 1923afdf83f..c14adbda3c5 100644
--- a/nixos/modules/services/networking/bird.nix
+++ b/nixos/modules/services/networking/bird.nix
@@ -10,8 +10,8 @@ let
       birdBin = if variant == "bird6" then "bird6" else "bird";
       birdc = if variant == "bird6" then "birdc6" else "birdc";
       descr =
-        { bird = "1.9.x with IPv4 suport";
-          bird6 = "1.9.x with IPv6 suport";
+        { bird = "1.6.x with IPv4 support";
+          bird6 = "1.6.x with IPv6 support";
           bird2 = "2.x";
         }.${variant};
     in {
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index cdc3a172ea7..f982621e232 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -339,6 +339,8 @@ in
         description =
           ''
             Whether to log rejected or dropped incoming connections.
+            Note: The logs are found in the kernel logs, i.e. dmesg
+            or journalctl -k.
           '';
       };
 
@@ -350,6 +352,8 @@ in
             Whether to log all rejected or dropped incoming packets.
             This tends to give a lot of log messages, so it's mostly
             useful for debugging.
+            Note: The logs are found in the kernel logs, i.e. dmesg
+            or journalctl -k.
           '';
       };
 
diff --git a/nixos/modules/services/networking/kea.nix b/nixos/modules/services/networking/kea.nix
index 72773b83a49..b11402204ae 100644
--- a/nixos/modules/services/networking/kea.nix
+++ b/nixos/modules/services/networking/kea.nix
@@ -238,6 +238,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        ctrlAgentConfig
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-ctrl-agent -c /etc/kea/ctrl-agent.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}";
         KillMode = "process";
@@ -269,6 +273,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        dhcp4Config
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-dhcp4 -c /etc/kea/dhcp4-server.conf ${lib.escapeShellArgs cfg.dhcp4.extraArgs}";
         # Kea does not request capabilities by itself
@@ -307,6 +315,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        dhcp6Config
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-dhcp6 -c /etc/kea/dhcp6-server.conf ${lib.escapeShellArgs cfg.dhcp6.extraArgs}";
         # Kea does not request capabilities by itself
@@ -343,6 +355,10 @@ in
         KEA_PIDFILE_DIR = "/run/kea";
       };
 
+      restartTriggers = [
+        dhcpDdnsConfig
+      ];
+
       serviceConfig = {
         ExecStart = "${package}/bin/kea-dhcp-ddns -c /etc/kea/dhcp-ddns.conf ${lib.escapeShellArgs cfg.dhcp-ddns.extraArgs}";
         AmbientCapabilites = [
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 064018057cd..c8861171dd6 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -6,7 +6,6 @@ let
   cfg = config.networking.networkmanager;
 
   basePackages = with pkgs; [
-    crda
     modemmanager
     networkmanager
     networkmanager-fortisslvpn
@@ -49,6 +48,7 @@ let
       rc-manager =
         if config.networking.resolvconf.enable then "resolvconf"
         else "unmanaged";
+      firewall-backend = cfg.firewallBackend;
     })
     (mkSection "keyfile" {
       unmanaged-devices =
@@ -244,6 +244,15 @@ in {
         '';
       };
 
+      firewallBackend = mkOption {
+        type = types.enum [ "iptables" "nftables" "none" ];
+        default = "iptables";
+        description = ''
+          Which firewall backend should be used for configuring masquerading with shared mode.
+          If set to none, NetworkManager doesn't manage the configuration at all.
+        '';
+      };
+
       logLevel = mkOption {
         type = types.enum [ "OFF" "ERR" "WARN" "INFO" "DEBUG" "TRACE" ];
         default = "WARN";
@@ -404,6 +413,8 @@ in {
       }
     ];
 
+    hardware.wirelessRegulatoryDatabase = true;
+
     environment.etc = with pkgs; {
       "NetworkManager/NetworkManager.conf".source = configFile;
 
diff --git a/nixos/modules/services/networking/nftables.nix b/nixos/modules/services/networking/nftables.nix
index cb75142965e..72f37c32253 100644
--- a/nixos/modules/services/networking/nftables.nix
+++ b/nixos/modules/services/networking/nftables.nix
@@ -103,6 +103,7 @@ in
     }];
     boot.blacklistedKernelModules = [ "ip_tables" ];
     environment.systemPackages = [ pkgs.nftables ];
+    networking.networkmanager.firewallBackend = mkDefault "nftables";
     systemd.services.nftables = {
       description = "nftables firewall";
       before = [ "network-pre.target" ];
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 28348c7893a..2e92fe51e90 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -5,15 +5,16 @@ with lib;
 let
   cfg = config.services.syncthing;
   defaultUser = "syncthing";
+  defaultGroup = defaultUser;
 
   devices = mapAttrsToList (name: device: {
     deviceID = device.id;
     inherit (device) name addresses introducer;
-  }) cfg.declarative.devices;
+  }) cfg.devices;
 
   folders = mapAttrsToList ( _: folder: {
     inherit (folder) path id label type;
-    devices = map (device: { deviceId = cfg.declarative.devices.${device}.id; }) folder.devices;
+    devices = map (device: { deviceId = cfg.devices.${device}.id; }) folder.devices;
     rescanIntervalS = folder.rescanInterval;
     fsWatcherEnabled = folder.watch;
     fsWatcherDelayS = folder.watchDelay;
@@ -23,215 +24,218 @@ let
   }) (filterAttrs (
     _: folder:
     folder.enable
-  ) cfg.declarative.folders);
-
-  # get the api key by parsing the config.xml
-  getApiKey = pkgs.writers.writeDash "getAPIKey" ''
-    ${pkgs.libxml2}/bin/xmllint \
-      --xpath 'string(configuration/gui/apikey)'\
-      ${cfg.configDir}/config.xml
-  '';
+  ) cfg.folders);
 
   updateConfig = pkgs.writers.writeDash "merge-syncthing-config" ''
     set -efu
-    # wait for syncthing port to open
-    until ${pkgs.curl}/bin/curl -Ss ${cfg.guiAddress} -o /dev/null; do
-      sleep 1
-    done
-
-    API_KEY=$(${getApiKey})
-    OLD_CFG=$(${pkgs.curl}/bin/curl -Ss \
-      -H "X-API-Key: $API_KEY" \
-      ${cfg.guiAddress}/rest/system/config)
-
-    # generate the new config by merging with the nixos config options
-    NEW_CFG=$(echo "$OLD_CFG" | ${pkgs.jq}/bin/jq -s '.[] as $in | $in * {
-      "devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + $in.devices"}),
-      "folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + $in.folders"})
-    }')
-
-    # POST the new config to syncthing
-    echo "$NEW_CFG" | ${pkgs.curl}/bin/curl -Ss \
-      -H "X-API-Key: $API_KEY" \
-      ${cfg.guiAddress}/rest/system/config -d @-
-
-    # restart syncthing after sending the new config
-    ${pkgs.curl}/bin/curl -Ss \
-      -H "X-API-Key: $API_KEY" \
-      -X POST \
-      ${cfg.guiAddress}/rest/system/restart
+
+    # get the api key by parsing the config.xml
+    while
+        ! api_key=$(${pkgs.libxml2}/bin/xmllint \
+            --xpath 'string(configuration/gui/apikey)' \
+            ${cfg.configDir}/config.xml)
+    do sleep 1; done
+
+    curl() {
+        ${pkgs.curl}/bin/curl -sS -H "X-API-Key: $api_key" \
+            --retry 1000 --retry-delay 1 --retry-all-errors \
+            "$@"
+    }
+
+    # query the old config
+    old_cfg=$(curl ${cfg.guiAddress}/rest/config)
+
+    # generate the new config by merging with the NixOS config options
+    new_cfg=$(echo "$old_cfg" | ${pkgs.jq}/bin/jq -c '. * {
+        "devices": (${builtins.toJSON devices}${optionalString (! cfg.overrideDevices) " + .devices"}),
+        "folders": (${builtins.toJSON folders}${optionalString (! cfg.overrideFolders) " + .folders"})
+    } * ${builtins.toJSON cfg.extraOptions}')
+
+    # send the new config
+    curl -X PUT -d "$new_cfg" ${cfg.guiAddress}/rest/config
+
+    # restart Syncthing if required
+    if curl ${cfg.guiAddress}/rest/config/restart-required |
+       ${pkgs.jq}/bin/jq -e .requiresRestart > /dev/null; then
+        curl -X POST ${cfg.guiAddress}/rest/system/restart
+    fi
   '';
 in {
   ###### interface
   options = {
     services.syncthing = {
 
-      enable = mkEnableOption ''
-        Syncthing - the self-hosted open-source alternative
-        to Dropbox and Bittorrent Sync. Initial interface will be
-        available on http://127.0.0.1:8384/.
-      '';
-
-      declarative = {
-        cert = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          description = ''
-            Path to users cert.pem file, will be copied into the syncthing's
-            <literal>configDir</literal>
-          '';
-        };
+      enable = mkEnableOption
+        "Syncthing, a self-hosted open-source alternative to Dropbox and Bittorrent Sync";
 
-        key = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          description = ''
-            Path to users key.pem file, will be copied into the syncthing's
-            <literal>configDir</literal>
-          '';
-        };
+      cert = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Path to the <literal>cert.pem</literal> file, which will be copied into Syncthing's
+          <link linkend="opt-services.syncthing.configDir">configDir</link>.
+        '';
+      };
 
-        overrideDevices = mkOption {
-          type = types.bool;
-          default = true;
-          description = ''
-            Whether to delete the devices which are not configured via the
-            <literal>declarative.devices</literal> option.
-            If set to false, devices added via the webinterface will
-            persist but will have to be deleted manually.
-          '';
+      key = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Path to the <literal>key.pem</literal> file, which will be copied into Syncthing's
+          <link linkend="opt-services.syncthing.configDir">configDir</link>.
+        '';
+      };
+
+      overrideDevices = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to delete the devices which are not configured via the
+          <link linkend="opt-services.syncthing.devices">devices</link> option.
+          If set to <literal>false</literal>, devices added via the web
+          interface will persist and will have to be deleted manually.
+        '';
+      };
+
+      devices = mkOption {
+        default = {};
+        description = ''
+          Peers/devices which Syncthing should communicate with.
+
+          Note that you can still add devices manually, but those changes
+          will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
+          is enabled.
+        '';
+        example = {
+          bigbox = {
+            id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
+            addresses = [ "tcp://192.168.0.10:51820" ];
+          };
         };
+        type = types.attrsOf (types.submodule ({ name, ... }: {
+          options = {
+
+            name = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The name of the device.
+              '';
+            };
 
-        devices = mkOption {
-          default = {};
-          description = ''
-            Peers/devices which syncthing should communicate with.
-          '';
-          example = {
-            bigbox = {
-              id = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
-              addresses = [ "tcp://192.168.0.10:51820" ];
+            addresses = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              description = ''
+                The addresses used to connect to the device.
+                If this is left empty, dynamic configuration is attempted.
+              '';
+            };
+
+            id = mkOption {
+              type = types.str;
+              description = ''
+                The device ID. See <link xlink:href="https://docs.syncthing.net/dev/device-ids.html"/>.
+              '';
             };
+
+            introducer = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Whether the device should act as an introducer and be allowed
+                to add folders on this computer.
+                See <link xlink:href="https://docs.syncthing.net/users/introducer.html"/>.
+              '';
+            };
+
           };
-          type = types.attrsOf (types.submodule ({ name, ... }: {
-            options = {
-
-              name = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  Name of the device
-                '';
-              };
-
-              addresses = mkOption {
-                type = types.listOf types.str;
-                default = [];
-                description = ''
-                  The addresses used to connect to the device.
-                  If this is let empty, dynamic configuration is attempted
-                '';
-              };
-
-              id = mkOption {
-                type = types.str;
-                description = ''
-                  The id of the other peer, this is mandatory. It's documented at
-                  https://docs.syncthing.net/dev/device-ids.html
-                '';
-              };
-
-              introducer = mkOption {
-                type = types.bool;
-                default = false;
-                description = ''
-                  If the device should act as an introducer and be allowed
-                  to add folders on this computer.
-                '';
-              };
+        }));
+      };
+
+      overrideFolders = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to delete the folders which are not configured via the
+          <link linkend="opt-services.syncthing.folders">folders</link> option.
+          If set to <literal>false</literal>, folders added via the web
+          interface will persist and will have to be deleted manually.
+        '';
+      };
 
+      folders = mkOption {
+        default = {};
+        description = ''
+          Folders which should be shared by Syncthing.
+
+          Note that you can still add devices manually, but those changes
+          will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
+          is enabled.
+        '';
+        example = literalExample ''
+          {
+            "/home/user/sync" = {
+              id = "syncme";
+              devices = [ "bigbox" ];
+            };
+          }
+        '';
+        type = types.attrsOf (types.submodule ({ name, ... }: {
+          options = {
+
+            enable = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether to share this folder.
+                This option is useful when you want to define all folders
+                in one place, but not every machine should share all folders.
+              '';
             };
-          }));
-        };
 
-        overrideFolders = mkOption {
-          type = types.bool;
-          default = true;
-          description = ''
-            Whether to delete the folders which are not configured via the
-            <literal>declarative.folders</literal> option.
-            If set to false, folders added via the webinterface will persist
-            but will have to be deleted manually.
-          '';
-        };
+            path = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The path to the folder which should be shared.
+              '';
+            };
 
-        folders = mkOption {
-          default = {};
-          description = ''
-            folders which should be shared by syncthing.
-          '';
-          example = literalExample ''
-            {
-              "/home/user/sync" = {
-                id = "syncme";
-                devices = [ "bigbox" ];
-              };
-            }
-          '';
-          type = types.attrsOf (types.submodule ({ name, ... }: {
-            options = {
-
-              enable = mkOption {
-                type = types.bool;
-                default = true;
-                description = ''
-                  share this folder.
-                  This option is useful when you want to define all folders
-                  in one place, but not every machine should share all folders.
-                '';
-              };
-
-              path = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  The path to the folder which should be shared.
-                '';
-              };
-
-              id = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  The id of the folder. Must be the same on all devices.
-                '';
-              };
-
-              label = mkOption {
-                type = types.str;
-                default = name;
-                description = ''
-                  The label of the folder.
-                '';
-              };
-
-              devices = mkOption {
-                type = types.listOf types.str;
-                default = [];
-                description = ''
-                  The devices this folder should be shared with. Must be defined
-                  in the <literal>declarative.devices</literal> attribute.
-                '';
-              };
-
-              versioning = mkOption {
-                default = null;
-                description = ''
-                  How to keep changed/deleted files with syncthing.
-                  There are 4 different types of versioning with different parameters.
-                  See https://docs.syncthing.net/users/versioning.html
-                '';
-                example = [
+            id = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The ID of the folder. Must be the same on all devices.
+              '';
+            };
+
+            label = mkOption {
+              type = types.str;
+              default = name;
+              description = ''
+                The label of the folder.
+              '';
+            };
+
+            devices = mkOption {
+              type = types.listOf types.str;
+              default = [];
+              description = ''
+                The devices this folder should be shared with. Each device must
+                be defined in the <link linkend="opt-services.syncthing.devices">devices</link> option.
+              '';
+            };
+
+            versioning = mkOption {
+              default = null;
+              description = ''
+                How to keep changed/deleted files with Syncthing.
+                There are 4 different types of versioning with different parameters.
+                See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+              '';
+              example = literalExample ''
+                [
                   {
                     versioning = {
                       type = "simple";
@@ -257,87 +261,99 @@ in {
                   {
                     versioning = {
                       type = "external";
-                      params.versionsPath = pkgs.writers.writeBash "backup" ''
+                      params.versionsPath = pkgs.writers.writeBash "backup" '''
                         folderpath="$1"
                         filepath="$2"
                         rm -rf "$folderpath/$filepath"
-                      '';
+                      ''';
                     };
                   }
-                ];
-                type = with types; nullOr (submodule {
-                  options = {
-                    type = mkOption {
-                      type = enum [ "external" "simple" "staggered" "trashcan" ];
-                      description = ''
-                        Type of versioning.
-                        See https://docs.syncthing.net/users/versioning.html
-                      '';
-                    };
-                    params = mkOption {
-                      type = attrsOf (either str path);
-                      description = ''
-                        Parameters for versioning. Structure depends on versioning.type.
-                        See https://docs.syncthing.net/users/versioning.html
-                      '';
-                    };
+                ]
+              '';
+              type = with types; nullOr (submodule {
+                options = {
+                  type = mkOption {
+                    type = enum [ "external" "simple" "staggered" "trashcan" ];
+                    description = ''
+                      The type of versioning.
+                      See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+                    '';
+                  };
+                  params = mkOption {
+                    type = attrsOf (either str path);
+                    description = ''
+                      The parameters for versioning. Structure depends on
+                      <link linkend="opt-services.syncthing.folders._name_.versioning.type">versioning.type</link>.
+                      See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
+                    '';
                   };
-                });
-              };
-
-              rescanInterval = mkOption {
-                type = types.int;
-                default = 3600;
-                description = ''
-                  How often the folders should be rescaned for changes.
-                '';
-              };
-
-              type = mkOption {
-                type = types.enum [ "sendreceive" "sendonly" "receiveonly" ];
-                default = "sendreceive";
-                description = ''
-                  Whether to send only changes from this folder, only receive them
-                  or propagate both.
-                '';
-              };
-
-              watch = mkOption {
-                type = types.bool;
-                default = true;
-                description = ''
-                  Whether the folder should be watched for changes by inotify.
-                '';
-              };
-
-              watchDelay = mkOption {
-                type = types.int;
-                default = 10;
-                description = ''
-                  The delay after an inotify event is triggered.
-                '';
-              };
-
-              ignorePerms = mkOption {
-                type = types.bool;
-                default = true;
-                description = ''
-                  Whether to propagate permission changes.
-                '';
-              };
-
-              ignoreDelete = mkOption {
-                type = types.bool;
-                default = false;
-                description = ''
-                  Whether to delete files in destination. See <link
-                  xlink:href="https://docs.syncthing.net/advanced/folder-ignoredelete.html">
-                  upstream's docs</link>.
-                '';
-              };
+                };
+              });
+            };
+
+            rescanInterval = mkOption {
+              type = types.int;
+              default = 3600;
+              description = ''
+                How often the folder should be rescanned for changes.
+              '';
+            };
+
+            type = mkOption {
+              type = types.enum [ "sendreceive" "sendonly" "receiveonly" ];
+              default = "sendreceive";
+              description = ''
+                Whether to only send changes for this folder, only receive them
+                or both.
+              '';
+            };
+
+            watch = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether the folder should be watched for changes by inotify.
+              '';
+            };
+
+            watchDelay = mkOption {
+              type = types.int;
+              default = 10;
+              description = ''
+                The delay after an inotify event is triggered.
+              '';
+            };
+
+            ignorePerms = mkOption {
+              type = types.bool;
+              default = true;
+              description = ''
+                Whether to ignore permission changes.
+              '';
+            };
 
+            ignoreDelete = mkOption {
+              type = types.bool;
+              default = false;
+              description = ''
+                Whether to skip deleting files that are deleted by peers.
+                See <link xlink:href="https://docs.syncthing.net/advanced/folder-ignoredelete.html"/>.
+              '';
             };
-          }));
+          };
+        }));
+      };
+
+      extraOptions = mkOption {
+        type = types.addCheck (pkgs.formats.json {}).type isAttrs;
+        default = {};
+        description = ''
+          Extra configuration options for Syncthing.
+          See <link xlink:href="https://docs.syncthing.net/users/config.html"/>.
+        '';
+        example = {
+          options.localAnnounceEnabled = false;
+          gui.theme = "black";
         };
       };
 
@@ -345,31 +361,35 @@ in {
         type = types.str;
         default = "127.0.0.1:8384";
         description = ''
-          Address to serve the GUI.
+          The address to serve the web interface at.
         '';
       };
 
       systemService = mkOption {
         type = types.bool;
         default = true;
-        description = "Auto launch Syncthing as a system service.";
+        description = ''
+          Whether to auto-launch Syncthing as a system service.
+        '';
       };
 
       user = mkOption {
         type = types.str;
         default = defaultUser;
+        example = "yourUser";
         description = ''
-          Syncthing will be run under this user (user will be created if it doesn't exist.
-          This can be your user name).
+          The user to run Syncthing as.
+          By default, a user named <literal>${defaultUser}</literal> will be created.
         '';
       };
 
       group = mkOption {
         type = types.str;
-        default = defaultUser;
+        default = defaultGroup;
+        example = "yourGroup";
         description = ''
-          Syncthing will be run under this group (group will not be created if it doesn't exist.
-          This can be your user name).
+          The group to run Syncthing under.
+          By default, a group named <literal>${defaultGroup}</literal> will be created.
         '';
       };
 
@@ -378,63 +398,67 @@ in {
         default = null;
         example = "socks5://address.com:1234";
         description = ''
-          Overwrites all_proxy environment variable for the syncthing process to
-          the given value. This is normaly used to let relay client connect
-          through SOCKS5 proxy server.
+          Overwrites the all_proxy environment variable for the Syncthing process to
+          the given value. This is normally used to let Syncthing connect
+          through a SOCKS5 proxy server.
+          See <link xlink:href="https://docs.syncthing.net/users/proxying.html"/>.
         '';
       };
 
       dataDir = mkOption {
         type = types.path;
         default = "/var/lib/syncthing";
+        example = "/home/yourUser";
         description = ''
-          Path where synced directories will exist.
+          The path where synchronised directories will exist.
         '';
       };
 
-      configDir = mkOption {
+      configDir = let
+        cond = versionAtLeast config.system.stateVersion "19.03";
+      in mkOption {
         type = types.path;
         description = ''
-          Path where the settings and keys will exist.
+          The path where the settings and keys will exist.
         '';
-        default =
-          let
-            nixos = config.system.stateVersion;
-            cond  = versionAtLeast nixos "19.03";
-          in cfg.dataDir + (optionalString cond "/.config/syncthing");
+        default = cfg.dataDir + (optionalString cond "/.config/syncthing");
+        defaultText = literalExample "dataDir${optionalString cond " + \"/.config/syncthing\""}";
       };
 
       openDefaultPorts = mkOption {
         type = types.bool;
         default = false;
-        example = literalExample "true";
+        example = true;
         description = ''
-          Open the default ports in the firewall:
-            - TCP 22000 for transfers
-            - UDP 21027 for discovery
-          If multiple users are running syncthing on this machine, you will need to manually open a set of ports for each instance and leave this disabled.
-          Alternatively, if are running only a single instance on this machine using the default ports, enable this.
+          Whether to open the default ports in the firewall: TCP 22000 for transfers
+          and UDP 21027 for discovery.
+
+          If multiple users are running Syncthing on this machine, you will need
+          to manually open a set of ports for each instance and leave this disabled.
+          Alternatively, if you are running only a single instance on this machine
+          using the default ports, enable this.
         '';
       };
 
       package = mkOption {
         type = types.package;
         default = pkgs.syncthing;
-        defaultText = "pkgs.syncthing";
-        example = literalExample "pkgs.syncthing";
+        defaultText = literalExample "pkgs.syncthing";
         description = ''
-          Syncthing package to use.
+          The Syncthing package to use.
         '';
       };
     };
   };
 
   imports = [
-    (mkRemovedOptionModule ["services" "syncthing" "useInotify"] ''
-      This option was removed because syncthing now has the inotify functionality included under the name "fswatcher".
-      It can be enabled on a per-folder basis through the webinterface.
+    (mkRemovedOptionModule [ "services" "syncthing" "useInotify" ] ''
+      This option was removed because Syncthing now has the inotify functionality included under the name "fswatcher".
+      It can be enabled on a per-folder basis through the web interface.
     '')
-  ];
+  ] ++ map (o:
+    mkRenamedOptionModule [ "services" "syncthing" "declarative" o ] [ "services" "syncthing" o ]
+  ) [ "cert" "key" "devices" "folders" "overrideDevices" "overrideFolders" "extraOptions"];
 
   ###### implementation
 
@@ -457,8 +481,8 @@ in {
         };
     };
 
-    users.groups = mkIf (cfg.systemService && cfg.group == defaultUser) {
-      ${defaultUser}.gid =
+    users.groups = mkIf (cfg.systemService && cfg.group == defaultGroup) {
+      ${defaultGroup}.gid =
         config.ids.gids.syncthing;
     };
 
@@ -478,14 +502,14 @@ in {
           RestartForceExitStatus="3 4";
           User = cfg.user;
           Group = cfg.group;
-          ExecStartPre = mkIf (cfg.declarative.cert != null || cfg.declarative.key != null)
+          ExecStartPre = mkIf (cfg.cert != null || cfg.key != null)
             "+${pkgs.writers.writeBash "syncthing-copy-keys" ''
               install -dm700 -o ${cfg.user} -g ${cfg.group} ${cfg.configDir}
-              ${optionalString (cfg.declarative.cert != null) ''
-                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.declarative.cert} ${cfg.configDir}/cert.pem
+              ${optionalString (cfg.cert != null) ''
+                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.cert} ${cfg.configDir}/cert.pem
               ''}
-              ${optionalString (cfg.declarative.key != null) ''
-                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.declarative.key} ${cfg.configDir}/key.pem
+              ${optionalString (cfg.key != null) ''
+                install -Dm400 -o ${cfg.user} -g ${cfg.group} ${toString cfg.key} ${cfg.configDir}/key.pem
               ''}
             ''}"
           ;
@@ -516,8 +540,10 @@ in {
         };
       };
       syncthing-init = mkIf (
-        cfg.declarative.devices != {} || cfg.declarative.folders != {}
+        cfg.devices != {} || cfg.folders != {} || cfg.extraOptions != {}
       ) {
+        description = "Syncthing configuration updater";
+        requisite = [ "syncthing.service" ];
         after = [ "syncthing.service" ];
         wantedBy = [ "multi-user.target" ];
 
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index c0a4ce40760..494d21cc867 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -241,7 +241,8 @@ in {
     environment.systemPackages = [ package ];
 
     services.dbus.packages = [ package ];
-    services.udev.packages = [ pkgs.crda ];
+
+    hardware.wirelessRegulatoryDatabase = true;
 
     # FIXME: start a separate wpa_supplicant instance per interface.
     systemd.services.wpa_supplicant = let
diff --git a/nixos/modules/services/system/uptimed.nix b/nixos/modules/services/system/uptimed.nix
index 1e256c51408..67a03876e19 100644
--- a/nixos/modules/services/system/uptimed.nix
+++ b/nixos/modules/services/system/uptimed.nix
@@ -4,7 +4,7 @@ with lib;
 
 let
   cfg = config.services.uptimed;
-  stateDir = "/var/spool/uptimed";
+  stateDir = "/var/lib/uptimed";
 in
 {
   options = {
@@ -21,12 +21,16 @@ in
   };
 
   config = mkIf cfg.enable {
+
+    environment.systemPackages = [ pkgs.uptimed ];
+
     users.users.uptimed = {
       description = "Uptimed daemon user";
       home        = stateDir;
-      createHome  = true;
       uid         = config.ids.uids.uptimed;
+      group       = "uptimed";
     };
+    users.groups.uptimed = {};
 
     systemd.services.uptimed = {
       unitConfig.Documentation = "man:uptimed(8) man:uprecords(1)";
@@ -41,7 +45,7 @@ in
         PrivateTmp              = "yes";
         PrivateNetwork          = "yes";
         NoNewPrivileges         = "yes";
-        ReadWriteDirectories    = stateDir;
+        StateDirectory          = [ "uptimed" ];
         InaccessibleDirectories = "/home";
         ExecStart               = "${pkgs.uptimed}/sbin/uptimed -f -p ${stateDir}/pid";
       };
diff --git a/nixos/modules/services/web-apps/node-red.nix b/nixos/modules/services/web-apps/node-red.nix
new file mode 100644
index 00000000000..16cfb29cf57
--- /dev/null
+++ b/nixos/modules/services/web-apps/node-red.nix
@@ -0,0 +1,148 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.node-red;
+  defaultUser = "node-red";
+  finalPackage = if cfg.withNpmAndGcc then node-red_withNpmAndGcc else cfg.package;
+  node-red_withNpmAndGcc = pkgs.runCommandNoCC "node-red" {
+    nativeBuildInputs = [ pkgs.makeWrapper ];
+  }
+  ''
+    mkdir -p $out/bin
+    makeWrapper ${pkgs.nodePackages.node-red}/bin/node-red $out/bin/node-red \
+      --set PATH '${lib.makeBinPath [ pkgs.nodePackages.npm pkgs.gcc ]}:$PATH' \
+  '';
+in
+{
+  options.services.node-red = {
+    enable = mkEnableOption "the Node-RED service";
+
+    package = mkOption {
+      default = pkgs.nodePackages.node-red;
+      defaultText = "pkgs.nodePackages.node-red";
+      type = types.package;
+      description = "Node-RED package to use.";
+    };
+
+    openFirewall = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Open ports in the firewall for the server.
+      '';
+    };
+
+    withNpmAndGcc = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Give Node-RED access to NPM and GCC at runtime, so 'Nodes' can be
+        downloaded and managed imperatively via the 'Palette Manager'.
+      '';
+    };
+
+    configFile = mkOption {
+      type = types.path;
+      default = "${cfg.package}/lib/node_modules/node-red/settings.js";
+      defaultText = "\${cfg.package}/lib/node_modules/node-red/settings.js";
+      description = ''
+        Path to the JavaScript configuration file.
+        See <link
+        xlink:href="https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/settings.js"/>
+        for a configuration example.
+      '';
+    };
+
+    port = mkOption {
+      type = types.port;
+      default = 1880;
+      description = "Listening port.";
+    };
+
+    user = mkOption {
+      type = types.str;
+      default = defaultUser;
+      description = ''
+        User under which Node-RED runs.If left as the default value this user
+        will automatically be created on system activation, otherwise the
+        sysadmin is responsible for ensuring the user exists.
+      '';
+    };
+
+    group = mkOption {
+      type = types.str;
+      default = defaultUser;
+      description = ''
+        Group under which Node-RED runs.If left as the default value this group
+        will automatically be created on system activation, otherwise the
+        sysadmin is responsible for ensuring the group exists.
+      '';
+    };
+
+    userDir = mkOption {
+      type = types.path;
+      default = "/var/lib/node-red";
+      description = ''
+        The directory to store all user data, such as flow and credential files and all library data. If left
+        as the default value this directory will automatically be created before the node-red service starts,
+        otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership
+        and permissions.
+      '';
+    };
+
+    safe = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Whether to launch Node-RED in --safe mode.";
+    };
+
+    define = mkOption {
+      type = types.attrs;
+      default = {};
+      description = "List of settings.js overrides to pass via -D to Node-RED.";
+      example = literalExample ''
+        {
+          "logging.console.level" = "trace";
+        }
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    users.users = optionalAttrs (cfg.user == defaultUser) {
+      ${defaultUser} = {
+        isSystemUser = true;
+      };
+    };
+
+    users.groups = optionalAttrs (cfg.group == defaultUser) {
+      ${defaultUser} = { };
+    };
+
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
+
+    systemd.services.node-red = {
+      description = "Node-RED Service";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "networking.target" ];
+      environment = {
+        HOME = cfg.userDir;
+      };
+      serviceConfig = mkMerge [
+        {
+          User = cfg.user;
+          Group = cfg.group;
+          ExecStart = "${finalPackage}/bin/node-red ${pkgs.lib.optionalString cfg.safe "--safe"} --settings ${cfg.configFile} --port ${toString cfg.port} --userDir ${cfg.userDir} ${concatStringsSep " " (mapAttrsToList (name: value: "-D ${name}=${value}") cfg.define)}";
+          PrivateTmp = true;
+          Restart = "always";
+          WorkingDirectory = cfg.userDir;
+        }
+        (mkIf (cfg.userDir == "/var/lib/node-red") { StateDirectory = "node-red"; })
+      ];
+    };
+  };
+}
diff --git a/nixos/modules/services/web-apps/tt-rss.nix b/nixos/modules/services/web-apps/tt-rss.nix
index b78487cc928..ed13845915c 100644
--- a/nixos/modules/services/web-apps/tt-rss.nix
+++ b/nixos/modules/services/web-apps/tt-rss.nix
@@ -19,82 +19,84 @@ let
   mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
   pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
 
-  tt-rss-config = pkgs.writeText "config.php" ''
+  tt-rss-config = let
+    password =
+      if (cfg.database.password != null) then
+        "${(escape ["'" "\\"] cfg.database.password)}"
+      else if (cfg.database.passwordFile != null) then
+        "file_get_contents('${cfg.database.passwordFile}'"
+      else
+        ""
+      ;
+  in pkgs.writeText "config.php" ''
     <?php
+      putenv('TTRSS_PHP_EXECUTABLE=${pkgs.php}/bin/php');
 
-      define('PHP_EXECUTABLE', '${pkgs.php}/bin/php');
+      putenv('TTRSS_LOCK_DIRECTORY=${lockDir}');
+      putenv('TTRSS_CACHE_DIR=${cacheDir}');
+      putenv('TTRSS_ICONS_DIR=${feedIconsDir}');
+      putenv('TTRSS_ICONS_URL=${feedIconsDir}');
+      putenv('TTRSS_SELF_URL_PATH=${cfg.selfUrlPath}');
 
-      define('LOCK_DIRECTORY', '${lockDir}');
-      define('CACHE_DIR', '${cacheDir}');
-      define('ICONS_DIR', '${feedIconsDir}');
-      define('ICONS_URL', '${feedIconsDir}');
-      define('SELF_URL_PATH', '${cfg.selfUrlPath}');
+      putenv('TTRSS_MYSQL_CHARSET=UTF8');
 
-      define('MYSQL_CHARSET', 'UTF8');
+      putenv('TTRSS_DB_TYPE=${cfg.database.type}');
+      putenv('TTRSS_DB_HOST=${optionalString (cfg.database.host != null) cfg.database.host}');
+      putenv('TTRSS_DB_USER=${cfg.database.user}');
+      putenv('TTRSS_DB_NAME=${cfg.database.name}');
+      putenv('TTRSS_DB_PASS=${password}');
+      putenv('TTRSS_DB_PORT=${toString dbPort}');
 
-      define('DB_TYPE', '${cfg.database.type}');
-      define('DB_HOST', '${optionalString (cfg.database.host != null) cfg.database.host}');
-      define('DB_USER', '${cfg.database.user}');
-      define('DB_NAME', '${cfg.database.name}');
-      define('DB_PASS', ${
-        if (cfg.database.password != null) then
-          "'${(escape ["'" "\\"] cfg.database.password)}'"
-        else if (cfg.database.passwordFile != null) then
-          "file_get_contents('${cfg.database.passwordFile}')"
-        else
-          "''"
-      });
-      define('DB_PORT', '${toString dbPort}');
+      putenv('TTRSS_AUTH_AUTO_CREATE=${boolToString cfg.auth.autoCreate}');
+      putenv('TTRSS_AUTH_AUTO_LOGIN=${boolToString cfg.auth.autoLogin}');
 
-      define('AUTH_AUTO_CREATE', ${boolToString cfg.auth.autoCreate});
-      define('AUTH_AUTO_LOGIN', ${boolToString cfg.auth.autoLogin});
+      putenv('TTRSS_FEED_CRYPT_KEY=${escape ["'" "\\"] cfg.feedCryptKey}');
 
-      define('FEED_CRYPT_KEY', '${escape ["'" "\\"] cfg.feedCryptKey}');
 
+      putenv('TTRSS_SINGLE_USER_MODE=${boolToString cfg.singleUserMode}');
 
-      define('SINGLE_USER_MODE', ${boolToString cfg.singleUserMode});
+      putenv('TTRSS_SIMPLE_UPDATE_MODE=${boolToString cfg.simpleUpdateMode}');
 
-      define('SIMPLE_UPDATE_MODE', ${boolToString cfg.simpleUpdateMode});
+      # Never check for updates - the running version of the code should
+      # be controlled entirely by the version of TT-RSS active in the
+      # current Nix profile. If TT-RSS updates itself to a version
+      # requiring a database schema upgrade, and then the SystemD
+      # tt-rss.service is restarted, the old code copied from the Nix
+      # store will overwrite the updated version, causing the code to
+      # detect the need for a schema "upgrade" (since the schema version
+      # in the database is different than in the code), but the update
+      # schema operation in TT-RSS will do nothing because the schema
+      # version in the database is newer than that in the code.
+      putenv('TTRSS_CHECK_FOR_UPDATES=false');
 
-      // Never check for updates - the running version of the code should be
-      // controlled entirely by the version of TT-RSS active in the current Nix
-      // profile. If TT-RSS updates itself to a version requiring a database
-      // schema upgrade, and then the SystemD tt-rss.service is restarted, the
-      // old code copied from the Nix store will overwrite the updated version,
-      // causing the code to detect the need for a schema "upgrade" (since the
-      // schema version in the database is different than in the code), but the
-      // update schema operation in TT-RSS will do nothing because the schema
-      // version in the database is newer than that in the code.
-      define('CHECK_FOR_UPDATES', false);
+      putenv('TTRSS_FORCE_ARTICLE_PURGE=${toString cfg.forceArticlePurge}');
+      putenv('TTRSS_SESSION_COOKIE_LIFETIME=${toString cfg.sessionCookieLifetime}');
+      putenv('TTRSS_ENABLE_GZIP_OUTPUT=${boolToString cfg.enableGZipOutput}');
 
-      define('FORCE_ARTICLE_PURGE', ${toString cfg.forceArticlePurge});
-      define('SESSION_COOKIE_LIFETIME', ${toString cfg.sessionCookieLifetime});
-      define('ENABLE_GZIP_OUTPUT', ${boolToString cfg.enableGZipOutput});
+      putenv('TTRSS_PLUGINS=${builtins.concatStringsSep "," cfg.plugins}');
 
-      define('PLUGINS', '${builtins.concatStringsSep "," cfg.plugins}');
+      putenv('TTRSS_LOG_DESTINATION=${cfg.logDestination}');
+      putenv('TTRSS_CONFIG_VERSION=${toString configVersion}');
 
-      define('LOG_DESTINATION', '${cfg.logDestination}');
-      define('CONFIG_VERSION', ${toString configVersion});
 
+      putenv('TTRSS_PUBSUBHUBBUB_ENABLED=${boolToString cfg.pubSubHubbub.enable}');
+      putenv('TTRSS_PUBSUBHUBBUB_HUB=${cfg.pubSubHubbub.hub}');
 
-      define('PUBSUBHUBBUB_ENABLED', ${boolToString cfg.pubSubHubbub.enable});
-      define('PUBSUBHUBBUB_HUB', '${cfg.pubSubHubbub.hub}');
+      putenv('TTRSS_SPHINX_SERVER=${cfg.sphinx.server}');
+      putenv('TTRSS_SPHINX_INDEX=${builtins.concatStringsSep "," cfg.sphinx.index}');
 
-      define('SPHINX_SERVER', '${cfg.sphinx.server}');
-      define('SPHINX_INDEX', '${builtins.concatStringsSep "," cfg.sphinx.index}');
+      putenv('TTRSS_ENABLE_REGISTRATION=${boolToString cfg.registration.enable}');
+      putenv('TTRSS_REG_NOTIFY_ADDRESS=${cfg.registration.notifyAddress}');
+      putenv('TTRSS_REG_MAX_USERS=${toString cfg.registration.maxUsers}');
 
-      define('ENABLE_REGISTRATION', ${boolToString cfg.registration.enable});
-      define('REG_NOTIFY_ADDRESS', '${cfg.registration.notifyAddress}');
-      define('REG_MAX_USERS', ${toString cfg.registration.maxUsers});
+      putenv('TTRSS_SMTP_SERVER=${cfg.email.server}');
+      putenv('TTRSS_SMTP_LOGIN=${cfg.email.login}');
+      putenv('TTRSS_SMTP_PASSWORD=${escape ["'" "\\"] cfg.email.password}');
+      putenv('TTRSS_SMTP_SECURE=${cfg.email.security}');
 
-      define('SMTP_SERVER', '${cfg.email.server}');
-      define('SMTP_LOGIN', '${cfg.email.login}');
-      define('SMTP_PASSWORD', '${escape ["'" "\\"] cfg.email.password}');
-      define('SMTP_SECURE', '${cfg.email.security}');
-
-      define('SMTP_FROM_NAME', '${escape ["'" "\\"] cfg.email.fromName}');
-      define('SMTP_FROM_ADDRESS', '${escape ["'" "\\"] cfg.email.fromAddress}');
-      define('DIGEST_SUBJECT', '${escape ["'" "\\"] cfg.email.digestSubject}');
+      putenv('TTRSS_SMTP_FROM_NAME=${escape ["'" "\\"] cfg.email.fromName}');
+      putenv('TTRSS_SMTP_FROM_ADDRESS=${escape ["'" "\\"] cfg.email.fromAddress}');
+      putenv('TTRSS_DIGEST_SUBJECT=${escape ["'" "\\"] cfg.email.digestSubject}');
 
       ${cfg.extraConfig}
   '';
@@ -564,9 +566,12 @@ let
       "Z '${cfg.root}' 0755 ${cfg.user} tt_rss - -"
     ];
 
-    systemd.services.tt-rss =
-      {
+    systemd.services = {
+      phpfpm-tt-rss = mkIf (cfg.pool == "${poolName}") {
+        restartTriggers = [ tt-rss-config pkgs.tt-rss ];
+      };
 
+      tt-rss = {
         description = "Tiny Tiny RSS feeds update daemon";
 
         preStart = let
@@ -604,6 +609,9 @@ let
           ''}
           ln -sf "${tt-rss-config}" "${cfg.root}/config.php"
           chmod -R 755 "${cfg.root}"
+          chmod -R ug+rwX "${cfg.root}/${lockDir}"
+          chmod -R ug+rwX "${cfg.root}/${cacheDir}"
+          chmod -R ug+rwX "${cfg.root}/${feedIconsDir}"
         ''
 
         + (optionalString (cfg.database.type == "pgsql") ''
@@ -640,6 +648,7 @@ let
         wantedBy = [ "multi-user.target" ];
         requires = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
         after = [ "network.target" ] ++ optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+      };
     };
 
     services.mysql = mkIf mysqlLocal {
diff --git a/nixos/modules/services/x11/display-managers/set-session.py b/nixos/modules/services/x11/display-managers/set-session.py
index 0cca80af44e..75940efe32b 100755
--- a/nixos/modules/services/x11/display-managers/set-session.py
+++ b/nixos/modules/services/x11/display-managers/set-session.py
@@ -72,11 +72,14 @@ def main():
                     f"Setting session name: {session}, as we found the existing wayland-session: {session_file}"
                 )
                 user.set_session(session)
+                user.set_session_type("wayland")
             elif is_session_xsession(session_file):
                 logging.debug(
                     f"Setting session name: {session}, as we found the existing xsession: {session_file}"
                 )
                 user.set_x_session(session)
+                user.set_session(session)
+                user.set_session_type("x11")
             else:
                 logging.error(f"Couldn't figure out session type for {session_file}")
                 sys.exit(1)
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 58064e5de86..73616065a08 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -1044,7 +1044,7 @@ in
           done
         '' + concatMapStrings (name: optionalString (hasPrefix "tmpfiles.d/" name) ''
           rm -f $out/${removePrefix "tmpfiles.d/" name}
-        '') config.system.build.etc.targets;
+        '') config.system.build.etc.passthru.targets;
       }) + "/*";
 
       "systemd/system-generators" = { source = hooks "generators" cfg.generators; };
@@ -1053,6 +1053,7 @@ in
 
     services.dbus.enable = true;
 
+    users.users.systemd-coredump.uid = config.ids.uids.systemd-coredump;
     users.users.systemd-network.uid = config.ids.uids.systemd-network;
     users.groups.systemd-network.gid = config.ids.gids.systemd-network;
     users.users.systemd-resolve.uid = config.ids.uids.systemd-resolve;
diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix
index a450f303572..183de729210 100644
--- a/nixos/modules/system/etc/etc.nix
+++ b/nixos/modules/system/etc/etc.nix
@@ -8,21 +8,61 @@ let
 
   etc' = filter (f: f.enable) (attrValues config.environment.etc);
 
-  etc = pkgs.stdenvNoCC.mkDerivation {
-    name = "etc";
-
-    builder = ./make-etc.sh;
-
+  etc = pkgs.runCommand "etc" {
     preferLocalBuild = true;
     allowSubstitutes = false;
 
-    /* !!! Use toXML. */
-    sources = map (x: x.source) etc';
-    targets = map (x: x.target) etc';
-    modes = map (x: x.mode) etc';
-    users  = map (x: x.user) etc';
-    groups  = map (x: x.group) etc';
-  };
+    # This is needed for the systemd module
+    passthru.targets = map (x: x.target) etc';
+  } /* sh */ ''
+    set -euo pipefail
+
+    makeEtcEntry() {
+      src="$1"
+      target="$2"
+      mode="$3"
+      user="$4"
+      group="$5"
+
+      if [[ "$src" = *'*'* ]]; then
+        # If the source name contains '*', perform globbing.
+        mkdir -p "$out/etc/$target"
+        for fn in $src; do
+            ln -s "$fn" "$out/etc/$target/"
+        done
+      else
+
+        mkdir -p "$out/etc/$(dirname "$target")"
+        if ! [ -e "$out/etc/$target" ]; then
+          ln -s "$src" "$out/etc/$target"
+        else
+          echo "duplicate entry $target -> $src"
+          if [ "$(readlink "$out/etc/$target")" != "$src" ]; then
+            echo "mismatched duplicate entry $(readlink "$out/etc/$target") <-> $src"
+            ret=1
+
+            continue
+          fi
+        fi
+
+        if [ "$mode" != symlink ]; then
+          echo "$mode" > "$out/etc/$target.mode"
+          echo "$user" > "$out/etc/$target.uid"
+          echo "$group" > "$out/etc/$target.gid"
+        fi
+      fi
+    }
+
+    mkdir -p "$out/etc"
+    ${concatMapStringsSep "\n" (etcEntry: escapeShellArgs [
+      "makeEtcEntry"
+      etcEntry.source
+      etcEntry.target
+      etcEntry.mode
+      etcEntry.user
+      etcEntry.group
+    ]) etc'}
+  '';
 
 in
 
diff --git a/nixos/modules/system/etc/make-etc.sh b/nixos/modules/system/etc/make-etc.sh
deleted file mode 100644
index aabfb5e88a6..00000000000
--- a/nixos/modules/system/etc/make-etc.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-source $stdenv/setup
-
-mkdir -p $out/etc
-
-set -f
-sources_=($sources)
-targets_=($targets)
-modes_=($modes)
-users_=($users)
-groups_=($groups)
-set +f
-
-for ((i = 0; i < ${#targets_[@]}; i++)); do
-    source="${sources_[$i]}"
-    target="${targets_[$i]}"
-
-    if [[ "$source" =~ '*' ]]; then
-
-        # If the source name contains '*', perform globbing.
-        mkdir -p $out/etc/$target
-        for fn in $source; do
-            ln -s "$fn" $out/etc/$target/
-        done
-
-    else
-
-        mkdir -p $out/etc/$(dirname $target)
-        if ! [ -e $out/etc/$target ]; then
-            ln -s $source $out/etc/$target
-        else
-            echo "duplicate entry $target -> $source"
-            if test "$(readlink $out/etc/$target)" != "$source"; then
-                echo "mismatched duplicate entry $(readlink $out/etc/$target) <-> $source"
-                exit 1
-            fi
-        fi
-
-        if test "${modes_[$i]}" != symlink; then
-            echo "${modes_[$i]}"  > $out/etc/$target.mode
-            echo "${users_[$i]}"  > $out/etc/$target.uid
-            echo "${groups_[$i]}" > $out/etc/$target.gid
-        fi
-
-    fi
-done
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index 272c696807a..1a0c4df42cb 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -18,6 +18,13 @@ in {
           The size of the VirtualBox base image in MiB.
         '';
       };
+      baseImageFreeSpace = mkOption {
+        type = with types; int;
+        default = 30 * 1024;
+        description = ''
+          Free space in the VirtualBox base image in MiB.
+        '';
+      };
       memorySize = mkOption {
         type = types.int;
         default = 1536;
@@ -129,6 +136,7 @@ in {
       inherit pkgs lib config;
       partitionTableType = "legacy";
       diskSize = cfg.baseImageSize;
+      additionalSpace = "${toString cfg.baseImageFreeSpace}M";
 
       postVM =
         ''
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index d6ef7d42431..ce91d651888 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -204,6 +204,7 @@ in
   k3s = handleTest ./k3s.nix {};
   kafka = handleTest ./kafka.nix {};
   kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
+  kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
   kea = handleTest ./kea.nix {};
   keepalived = handleTest ./keepalived.nix {};
   keepassxc = handleTest ./keepassxc.nix {};
@@ -222,10 +223,12 @@ in
   latestKernel.hardened = handleTest ./hardened.nix { latestKernel = true; };
   latestKernel.login = handleTest ./login.nix { latestKernel = true; };
   leaps = handleTest ./leaps.nix {};
+  libreddit = handleTest ./libreddit.nix {};
   lidarr = handleTest ./lidarr.nix {};
   libreswan = handleTest ./libreswan.nix {};
   lightdm = handleTest ./lightdm.nix {};
   limesurvey = handleTest ./limesurvey.nix {};
+  litestream = handleTest ./litestream.nix {};
   locate = handleTest ./locate.nix {};
   login = handleTest ./login.nix {};
   loki = handleTest ./loki.nix {};
@@ -258,6 +261,7 @@ in
   morty = handleTest ./morty.nix {};
   mosquitto = handleTest ./mosquitto.nix {};
   mpd = handleTest ./mpd.nix {};
+  mpv = handleTest ./mpv.nix {};
   mumble = handleTest ./mumble.nix {};
   musescore = handleTest ./musescore.nix {};
   munin = handleTest ./munin.nix {};
@@ -300,6 +304,7 @@ in
   nix-serve = handleTest ./nix-ssh-serve.nix {};
   nix-ssh-serve = handleTest ./nix-ssh-serve.nix {};
   nixos-generate-config = handleTest ./nixos-generate-config.nix {};
+  node-red = handleTest ./node-red.nix {};
   nomad = handleTest ./nomad.nix {};
   novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
   nsd = handleTest ./nsd.nix {};
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index 696ebabb580..fc153bb06ec 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -51,10 +51,11 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
             host = "localhost";
             port = 143;
           };
-          pages = {
-            enabled = true;
-            host = "localhost";
-          };
+          # https://github.com/NixOS/nixpkgs/issues/132295
+          # pages = {
+          #   enabled = true;
+          #   host = "localhost";
+          # };
         };
         secrets = {
           secretFile = pkgs.writeText "secret" "Aig5zaic";
@@ -90,7 +91,8 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
       waitForServices = ''
         gitlab.wait_for_unit("gitaly.service")
         gitlab.wait_for_unit("gitlab-workhorse.service")
-        gitlab.wait_for_unit("gitlab-pages.service")
+        # https://github.com/NixOS/nixpkgs/issues/132295
+        # gitlab.wait_for_unit("gitlab-pages.service")
         gitlab.wait_for_unit("gitlab-mailroom.service")
         gitlab.wait_for_unit("gitlab.service")
         gitlab.wait_for_unit("gitlab-sidekiq.service")
diff --git a/nixos/tests/kbd-update-search-paths-patch.nix b/nixos/tests/kbd-update-search-paths-patch.nix
new file mode 100644
index 00000000000..2967ee48903
--- /dev/null
+++ b/nixos/tests/kbd-update-search-paths-patch.nix
@@ -0,0 +1,18 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "kbd-update-search-paths-patch";
+
+  machine = { pkgs, options, ... }: {
+    console = {
+      packages = options.console.packages.default ++ [ pkgs.terminus_font ];
+    };
+  };
+
+  testScript = ''
+    command = "${pkgs.kbd}/bin/setfont ter-112n 2>&1"
+    (status, out) = machine.execute(command)
+    pattern = re.compile(r".*Unable to find file:.*")
+    match = pattern.match(out)
+    if match:
+        raise Exception("command `{}` failed".format(command))
+  '';
+})
diff --git a/nixos/tests/libreddit.nix b/nixos/tests/libreddit.nix
new file mode 100644
index 00000000000..f7ef701d086
--- /dev/null
+++ b/nixos/tests/libreddit.nix
@@ -0,0 +1,19 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+{
+  name = "libreddit";
+  meta.maintainers = with maintainers; [ fab ];
+
+  nodes.machine =
+    { pkgs, ... }:
+    { services.libreddit.enable = true; };
+
+  testScript = ''
+    machine.wait_for_unit("libreddit.service")
+    machine.wait_for_open_port("8080")
+    # The service wants to get data from https://www.reddit.com
+    machine.succeed("curl http://localhost:8080/")
+  '';
+})
diff --git a/nixos/tests/litestream.nix b/nixos/tests/litestream.nix
new file mode 100644
index 00000000000..886fbfef9cf
--- /dev/null
+++ b/nixos/tests/litestream.nix
@@ -0,0 +1,93 @@
+import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "litestream";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ jwygoda ];
+  };
+
+  machine =
+    { pkgs, ... }:
+    { services.litestream = {
+        enable = true;
+        settings = {
+          dbs = [
+            {
+              path = "/var/lib/grafana/data/grafana.db";
+              replicas = [{
+                url = "sftp://foo:bar@127.0.0.1:22/home/foo/grafana";
+              }];
+            }
+          ];
+        };
+      };
+      systemd.services.grafana.serviceConfig.ExecStartPost = "+" + pkgs.writeShellScript "grant-grafana-permissions" ''
+        timeout=10
+
+        while [ ! -f /var/lib/grafana/data/grafana.db ];
+        do
+          if [ "$timeout" == 0 ]; then
+            echo "ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db."
+            exit 1
+          fi
+
+          sleep 1
+
+          ((timeout--))
+        done
+
+        find /var/lib/grafana -type d -exec chmod -v 775 {} \;
+        find /var/lib/grafana -type f -exec chmod -v 660 {} \;
+      '';
+      services.openssh = {
+        enable = true;
+        allowSFTP = true;
+        listenAddresses = [ { addr = "127.0.0.1"; port = 22; } ];
+      };
+      services.grafana = {
+        enable = true;
+        security = {
+          adminUser = "admin";
+          adminPassword = "admin";
+        };
+        addr = "localhost";
+        port = 3000;
+        extraOptions = {
+          DATABASE_URL = "sqlite3:///var/lib/grafana/data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL";
+        };
+      };
+      users.users.foo = {
+        isNormalUser = true;
+        password = "bar";
+      };
+      users.users.litestream.extraGroups = [ "grafana" ];
+    };
+
+  testScript = ''
+    start_all()
+    machine.wait_until_succeeds("test -d /home/foo/grafana")
+    machine.wait_for_open_port(3000)
+    machine.succeed("""
+        curl -sSfN -X PUT -H "Content-Type: application/json" -d '{
+          "oldPassword": "admin",
+          "newPassword": "newpass",
+          "confirmNew": "newpass"
+        }' http://admin:admin@127.0.0.1:3000/api/user/password
+    """)
+    # https://litestream.io/guides/systemd/#simulating-a-disaster
+    machine.systemctl("stop litestream.service")
+    machine.succeed(
+        "rm -f /var/lib/grafana/data/grafana.db "
+        "/var/lib/grafana/data/grafana.db-shm "
+        "/var/lib/grafana/data/grafana.db-wal"
+    )
+    machine.succeed(
+        "litestream restore /var/lib/grafana/data/grafana.db "
+        "&& chown grafana:grafana /var/lib/grafana/data/grafana.db "
+        "&& chmod 660 /var/lib/grafana/data/grafana.db"
+    )
+    machine.systemctl("restart grafana.service")
+    machine.wait_for_open_port(3000)
+    machine.succeed(
+        "curl -sSfN -u admin:newpass http://127.0.0.1:3000/api/org/users | grep admin\@localhost"
+    )
+  '';
+})
diff --git a/nixos/tests/mpv.nix b/nixos/tests/mpv.nix
new file mode 100644
index 00000000000..bcfc17cf332
--- /dev/null
+++ b/nixos/tests/mpv.nix
@@ -0,0 +1,28 @@
+import ./make-test-python.nix ({ lib, ... }:
+
+with lib;
+
+let
+  port = toString 4321;
+in
+{
+  name = "mpv";
+  meta.maintainers = with maintainers; [ zopieux ];
+
+  nodes.machine =
+    { pkgs, ... }:
+    {
+      environment.systemPackages = [
+        pkgs.curl
+        (pkgs.mpv-with-scripts.override {
+          scripts = [ pkgs.mpvScripts.simple-mpv-webui ];
+        })
+      ];
+    };
+
+  testScript = ''
+    machine.execute("set -m; mpv --script-opts=webui-port=${port} --idle=yes &")
+    machine.wait_for_open_port(${port})
+    assert "<title>simple-mpv-webui" in machine.succeed("curl -s localhost:${port}")
+  '';
+})
diff --git a/nixos/tests/node-red.nix b/nixos/tests/node-red.nix
new file mode 100644
index 00000000000..7660bc32f4c
--- /dev/null
+++ b/nixos/tests/node-red.nix
@@ -0,0 +1,31 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "nodered";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ matthewcroughan ];
+  };
+
+  nodes = {
+    client = { config, pkgs, ... }: {
+      environment.systemPackages = [ pkgs.curl ];
+    };
+    nodered = { config, pkgs, ... }: {
+      services.node-red = {
+        enable = true;
+        openFirewall = true;
+      };
+    };
+  };
+
+  testScript = ''
+    start_all()
+    nodered.wait_for_unit("node-red.service")
+    nodered.wait_for_open_port("1880")
+
+    client.wait_for_unit("multi-user.target")
+
+    with subtest("Check that the Node-RED webserver can be reached."):
+        assert "<title>Node-RED</title>" in client.succeed(
+            "curl -sSf http:/nodered:1880/ | grep title"
+        )
+  '';
+})
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index e8bc6339ecf..6153ba9e366 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -273,6 +273,26 @@ let
       '';
     };
 
+    influxdb = {
+      exporterConfig = {
+        enable = true;
+        sampleExpiry = "3s";
+      };
+      exporterTest = ''
+        wait_for_unit("prometheus-influxdb-exporter.service")
+        succeed(
+          "curl -XPOST http://localhost:9122/write --data-binary 'influxdb_exporter,distro=nixos,added_in=21.09 value=1'"
+        )
+        succeed(
+          "curl -sSf http://localhost:9122/metrics | grep 'nixos'"
+        )
+        execute("sleep 5")
+        fail(
+          "curl -sSf http://localhost:9122/metrics | grep 'nixos'"
+        )
+      '';
+    };
+
     jitsi = {
       exporterConfig = {
         enable = true;
diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix
index 8a7fcc0e899..69be29b0f9e 100644
--- a/nixos/tests/rabbitmq.nix
+++ b/nixos/tests/rabbitmq.nix
@@ -8,6 +8,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
 
   machine = {
     services.rabbitmq.enable = true;
+    # Ensure there is sufficient extra disk space for rabbitmq to be happy
+    virtualisation.diskSize = 1024;
   };
 
   testScript = ''
diff --git a/nixos/tests/soapui.nix b/nixos/tests/soapui.nix
new file mode 100644
index 00000000000..205128df91f
--- /dev/null
+++ b/nixos/tests/soapui.nix
@@ -0,0 +1,24 @@
+import ./make-test-python.nix ({ pkgs, ... }: {
+  name = "soapui";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ asbachb ];
+  };
+
+  machine = { config, pkgs, ... }: {
+    imports = [
+      ./common/x11.nix
+    ];
+
+    services.xserver.enable = true;
+
+    environment.systemPackages = [ pkgs.soapui ];
+  };
+
+  testScript = ''
+    machine.wait_for_x()
+    machine.succeed("soapui &")
+    machine.wait_for_window(r"SoapUI \d+\.\d+\.\d+")
+    machine.sleep(1)
+    machine.screenshot("soapui")
+  '';
+})
diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix
index 4581e3fd4fb..8b60ad7faf0 100644
--- a/nixos/tests/syncthing-init.nix
+++ b/nixos/tests/syncthing-init.nix
@@ -9,15 +9,14 @@ in {
   machine = {
     services.syncthing = {
       enable = true;
-      declarative = {
-        devices.testDevice = {
-          id = testId;
-        };
-        folders.testFolder = {
-          path = "/tmp/test";
-          devices = [ "testDevice" ];
-        };
+      devices.testDevice = {
+        id = testId;
       };
+      folders.testFolder = {
+        path = "/tmp/test";
+        devices = [ "testDevice" ];
+      };
+      extraOptions.gui.user = "guiUser";
     };
   };
 
@@ -27,5 +26,6 @@ in {
 
     assert "testFolder" in config
     assert "${testId}" in config
+    assert "guiUser" in config
   '';
 })
diff --git a/nixos/tests/syncthing.nix b/nixos/tests/syncthing.nix
index 5536b7055cc..aff1d874413 100644
--- a/nixos/tests/syncthing.nix
+++ b/nixos/tests/syncthing.nix
@@ -25,7 +25,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
             "xmllint --xpath 'string(configuration/gui/apikey)' %s/config.xml" % confdir
         ).strip()
         oldConf = host.succeed(
-            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/system/config" % APIKey
+            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config" % APIKey
         )
         conf = json.loads(oldConf)
         conf["devices"].append({"deviceID": deviceID, "id": name})
@@ -39,7 +39,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
         )
         newConf = json.dumps(conf)
         host.succeed(
-            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/system/config -d %s"
+            "curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config -X PUT -d %s"
             % (APIKey, shlex.quote(newConf))
         )
 
diff --git a/pkgs/applications/audio/axoloti/libusb1.nix b/pkgs/applications/audio/axoloti/libusb1.nix
index b6c2a1b1ae6..820a8998f0b 100644
--- a/pkgs/applications/audio/axoloti/libusb1.nix
+++ b/pkgs/applications/audio/axoloti/libusb1.nix
@@ -1,19 +1,19 @@
-{ stdenv, lib, fetchurl, pkg-config, systemd ? null, libobjc, IOKit, fetchpatch }:
+{ stdenv, lib, fetchurl, pkg-config, systemd, libobjc, IOKit, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.19";
+  pname = "libusb";
+  version = "1.0.19";
 
   src = fetchurl {
-    url = "mirror://sourceforge/libusb/${name}.tar.bz2";
+    url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
     sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
   };
 
   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
 
   buildInputs = [ pkg-config ];
-  propagatedBuildInputs =
-    lib.optional stdenv.isLinux systemd ++
-    lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+  propagatedBuildInputs = lib.optional stdenv.isLinux systemd
+    ++ lib.optionals stdenv.isDarwin [ libobjc IOKit ];
 
   patches = [
     (fetchpatch {
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.libusb.info";
     description = "User-space USB library";
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
     license = licenses.lgpl21;
   };
diff --git a/pkgs/applications/audio/dfasma/default.nix b/pkgs/applications/audio/dfasma/default.nix
index 3d4e5e5e5b9..97870c478eb 100644
--- a/pkgs/applications/audio/dfasma/default.nix
+++ b/pkgs/applications/audio/dfasma/default.nix
@@ -47,8 +47,6 @@ in mkDerivation rec {
     substituteInPlace dfasma.pro --replace "CONFIG += file_sdif" "";
   '';
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Analyse and compare audio files in time and frequency";
     longDescription = ''
diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix
index ee4d16d6b36..1e85d57c3f7 100644
--- a/pkgs/applications/audio/easyeffects/default.nix
+++ b/pkgs/applications/audio/easyeffects/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyeffects";
-  version = "6.0.0";
+  version = "6.0.3";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "easyeffects";
     rev = "v${version}";
-    hash = "sha256:1m3jamnhgpx3z51nfc8xg7adhf5x7dirvw0wf129hzxx4fjl7rch";
+    sha256 = "sha256-GzqPC/m/HMthLMamhJ4EXX6fxZYscdX1QmXgqHOPEcg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/fmit/default.nix b/pkgs/applications/audio/fmit/default.nix
index 967c984bc50..7e376c89d36 100644
--- a/pkgs/applications/audio/fmit/default.nix
+++ b/pkgs/applications/audio/fmit/default.nix
@@ -38,8 +38,6 @@ mkDerivation rec {
       PREFIXSHORTCUT=$out"
   '';
 
-  enableParallelBuilding = true;
-
   meta = {
     description = "Free Musical Instrument Tuner";
     longDescription = ''
diff --git a/pkgs/applications/audio/friture/default.nix b/pkgs/applications/audio/friture/default.nix
index e4bd79a08e3..99ce726ca17 100644
--- a/pkgs/applications/audio/friture/default.nix
+++ b/pkgs/applications/audio/friture/default.nix
@@ -38,7 +38,7 @@ in py.buildPythonApplication rec {
 
   meta = with lib; {
     description = "A real-time audio analyzer";
-    homepage = "http://friture.org/";
+    homepage = "https://friture.org/";
     license = licenses.gpl3;
     platforms = platforms.linux; # fails on Darwin
     maintainers = [ maintainers.laikq ];
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 681c6ffe281..cd5e476b884 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -29,8 +29,14 @@ python3Packages.buildPythonApplication rec {
     glibcLocales
   ];
 
+  # as of 2021-07, the gobject-introspection setup hook does not
+  # work with `strictDeps` enabled, thus for proper `wrapGAppsHook`
+  # it needs to be disabled explicitly. https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
   buildInputs = [
     python3
+    gtk3
     gobject-introspection
     gnome.adwaita-icon-theme
   ];
@@ -49,7 +55,6 @@ python3Packages.buildPythonApplication rec {
     eyeD3
     podcastparser
     html5lib
-    gtk3
   ];
 
   makeFlags = [
diff --git a/pkgs/applications/audio/iannix/default.nix b/pkgs/applications/audio/iannix/default.nix
index f37150994fc..31f0bbbb4c7 100644
--- a/pkgs/applications/audio/iannix/default.nix
+++ b/pkgs/applications/audio/iannix/default.nix
@@ -19,8 +19,6 @@ mkDerivation rec {
 
   installFlags = [ "INSTALL_ROOT=$(out)" ];
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Graphical open-source sequencer";
     homepage = "https://www.iannix.org/";
diff --git a/pkgs/applications/audio/mimms/default.nix b/pkgs/applications/audio/mimms/default.nix
index 9811998c368..28ec09eba9c 100644
--- a/pkgs/applications/audio/mimms/default.nix
+++ b/pkgs/applications/audio/mimms/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, lib, pythonPackages, libmms }:
+{ fetchurl, lib, python2Packages, libmms }:
 
-pythonPackages.buildPythonApplication rec {
+python2Packages.buildPythonApplication rec {
   pname = "mimms";
   version = "3.2";
 
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 60591f42e81..518c54dc48a 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -111,8 +111,6 @@ mkDerivation rec {
     wavpack
   ];
 
-  enableParallelBuilding = true;
-
   qtWrapperArgs = [
     "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
   ];
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 0a887ebaf3d..a2209368518 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -14,16 +14,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "ncspot";
-  version = "0.7.3";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
     rev = "v${version}";
-    sha256 = "0lfly3d8pag78pabmna4i6xjwzi65dx1mwfmsk7nx64brq3iypbq";
+    sha256 = "0sgnd6n8j8lygmb9qvv6i2ir28fdsrpmzlviz7d0gbx684qj0zkc";
   };
 
-  cargoSha256 = "0a6d41ll90fza6k3lixjqzwxim98q6zbkqa3zvxvs7q5ydzg8nsp";
+  cargoSha256 = "0piipqf5y5bczbwkaplv6niqh3rp2di1gn7wwpd0gaa2cw7ylbb1";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/rosegarden/default.nix b/pkgs/applications/audio/rosegarden/default.nix
index 38d8a876962..dd0112d8216 100644
--- a/pkgs/applications/audio/rosegarden/default.nix
+++ b/pkgs/applications/audio/rosegarden/default.nix
@@ -1,22 +1,40 @@
-{ lib, stdenv, fetchurl, cmake, makedepend, perl, pkg-config, qttools, wrapQtAppsHook
-, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2, alsa-lib
-, liblo, libsamplerate, libsndfile, lirc ? null, lrdf, qtbase }:
+{ lib
+, stdenv
+, fetchurl
+, cmake
+, makedepend
+, perl
+, pkg-config
+, qttools
+, wrapQtAppsHook
+, dssi
+, fftwSinglePrec
+, ladspaH
+, ladspaPlugins
+, libjack2
+, alsa-lib
+, liblo
+, libsamplerate
+, libsndfile
+, lirc
+, lrdf
+, qtbase
+}:
 
-stdenv.mkDerivation (rec {
-  version = "20.12";
+stdenv.mkDerivation rec {
   pname = "rosegarden";
+  version = "20.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
     sha256 = "sha256-iGaEr8WFipV4I00fhFGI2xMBFPf784IIxNXs2hUTHFs=";
   };
 
-  patchPhase = ''
+  postPhase = ''
     substituteInPlace src/CMakeLists.txt --replace svnheader svnversion
   '';
 
-  nativeBuildInputs =
-    [ cmake makedepend perl pkg-config qttools wrapQtAppsHook ];
+  nativeBuildInputs = [ cmake makedepend perl pkg-config qttools wrapQtAppsHook ];
 
   buildInputs = [
     dssi
@@ -49,4 +67,4 @@ stdenv.mkDerivation (rec {
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
   };
-})
+}
diff --git a/pkgs/applications/audio/spectmorph/default.nix b/pkgs/applications/audio/spectmorph/default.nix
index 6292d771a51..9b549e02f77 100644
--- a/pkgs/applications/audio/spectmorph/default.nix
+++ b/pkgs/applications/audio/spectmorph/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pname = "spectmorph";
   version = "0.5.2";
   src = fetchurl {
-    url = "http://spectmorph.org/files/releases/${pname}-${version}.tar.bz2";
+    url = "https://spectmorph.org/files/releases/${pname}-${version}.tar.bz2";
     sha256 = "0yrq7mknhk096wfsx0q3b6wwa2w5la0rxa113di26rrrw136xl1f";
   };
 
diff --git a/pkgs/applications/audio/tageditor/default.nix b/pkgs/applications/audio/tageditor/default.nix
index 02e23084cf5..320a26b8172 100644
--- a/pkgs/applications/audio/tageditor/default.nix
+++ b/pkgs/applications/audio/tageditor/default.nix
@@ -45,8 +45,6 @@ stdenv.mkDerivation rec {
     tagparser
   ];
 
-  enableParallelBuilding = true;
-
   meta = with pkgs.lib; {
     homepage = "https://github.com/Martchus/tageditor";
     description = "A tag editor with Qt GUI and command-line interface supporting MP4/M4A/AAC (iTunes), ID3, Vorbis, Opus, FLAC and Matroska";
diff --git a/pkgs/applications/blockchains/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix
index 446aafab8ce..6f1734bbc13 100644
--- a/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix
@@ -1,12 +1,28 @@
-{ lib, stdenv, mkDerivation, fetchFromGitHub, pkg-config, cmake, openssl, db53, boost
-, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent
-, withGui, python3, jemalloc, zeromq4 }:
-
-with lib;
+{ lib
+, stdenv
+, mkDerivation
+, fetchFromGitHub
+, pkg-config
+, cmake
+, openssl
+, db53
+, boost
+, zlib
+, miniupnpc
+, qtbase ? null
+, qttools ? null
+, util-linux
+, protobuf
+, qrencode
+, libevent
+, withGui
+, python3
+, jemalloc
+, zeromq4
+}:
 
 mkDerivation rec {
-
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
+  pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
   version = "0.21.13";
 
   src = fetchFromGitHub {
@@ -19,11 +35,21 @@ mkDerivation rec {
   patches = [ ./fix-bitcoin-qt-build.patch ];
 
   nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4
-                  miniupnpc util-linux protobuf libevent ]
-                  ++ optionals withGui [ qtbase qttools qrencode ];
+  buildInputs = [
+    openssl
+    db53
+    boost
+    zlib
+    python3
+    jemalloc
+    zeromq4
+    miniupnpc
+    util-linux
+    protobuf
+    libevent
+  ] ++ lib.optionals withGui [ qtbase qttools qrencode ];
 
-  cmakeFlags = optionals (!withGui) [
+  cmakeFlags = lib.optionals (!withGui) [
     "-DBUILD_BITCOIN_QT=OFF"
   ];
 
@@ -32,9 +58,9 @@ mkDerivation rec {
     find ./. -type f -iname "*.sh" -exec chmod +x {} \;
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Peer-to-peer electronic cash system (Cash client)";
-    longDescription= ''
+    longDescription = ''
       Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
       It is designed to facilite a hard fork to increase Bitcoin's block size limit.
       "ABC" stands for "Adjustable Blocksize Cap".
diff --git a/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch b/pkgs/applications/blockchains/bitcoin-abc/fix-bitcoin-qt-build.patch
index c49bbc43251..c49bbc43251 100644
--- a/pkgs/applications/blockchains/fix-bitcoin-qt-build.patch
+++ b/pkgs/applications/blockchains/bitcoin-abc/fix-bitcoin-qt-build.patch
diff --git a/pkgs/applications/blockchains/bitcoin-classic.nix b/pkgs/applications/blockchains/bitcoin-classic/default.nix
index f578313323c..533e3c7dca6 100644
--- a/pkgs/applications/blockchains/bitcoin-classic.nix
+++ b/pkgs/applications/blockchains/bitcoin-classic/default.nix
@@ -1,12 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, protobuf, qrencode, libevent
-, withGui }:
-
-with lib;
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, autoreconfHook
+, openssl
+, db48
+, boost
+, zlib
+, miniupnpc
+, qtbase ? null
+, qttools ? null
+, util-linux
+, protobuf
+, qrencode
+, libevent
+, withGui
+}:
 
 stdenv.mkDerivation rec {
-
-  name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
+  pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-classic";
   version = "1.3.8uahf";
 
   src = fetchFromGitHub {
@@ -17,22 +29,30 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ openssl db48 boost zlib
-                  miniupnpc util-linux protobuf libevent ]
-                  ++ optionals withGui [ qtbase qttools qrencode ];
+  buildInputs = [
+    openssl
+    db48
+    boost
+    zlib
+    miniupnpc
+    util-linux
+    protobuf
+    libevent
+  ] ++ lib.optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt5"
-                                            "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
-                                          ];
+    ++ lib.optionals withGui [
+    "--with-gui=qt5"
+    "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+  ];
 
   enableParallelBuilding = true;
 
   dontWrapQtApps = true;
 
-  meta = {
+  meta = with lib; {
     description = "Peer-to-peer electronic cash system (Classic client)";
-    longDescription= ''
+    longDescription = ''
       Bitcoin is a free open source peer-to-peer electronic cash system that is
       completely decentralized, without the need for a central server or trusted
       parties. Users hold the crypto keys to their own money and transact directly
diff --git a/pkgs/applications/blockchains/bitcoin-gold.nix b/pkgs/applications/blockchains/bitcoin-gold/default.nix
index 5d6775f729a..5d6775f729a 100644
--- a/pkgs/applications/blockchains/bitcoin-gold.nix
+++ b/pkgs/applications/blockchains/bitcoin-gold/default.nix
diff --git a/pkgs/applications/blockchains/bitcoin-knots.nix b/pkgs/applications/blockchains/bitcoin-knots/default.nix
index eea836ac62d..eea836ac62d 100644
--- a/pkgs/applications/blockchains/bitcoin-knots.nix
+++ b/pkgs/applications/blockchains/bitcoin-knots/default.nix
diff --git a/pkgs/applications/blockchains/bitcoin-unlimited.nix b/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
index f1825b0cbda..f1825b0cbda 100644
--- a/pkgs/applications/blockchains/bitcoin-unlimited.nix
+++ b/pkgs/applications/blockchains/bitcoin-unlimited/default.nix
diff --git a/pkgs/applications/blockchains/bitcoin.nix b/pkgs/applications/blockchains/bitcoin/default.nix
index 00727d294df..00727d294df 100644
--- a/pkgs/applications/blockchains/bitcoin.nix
+++ b/pkgs/applications/blockchains/bitcoin/default.nix
diff --git a/pkgs/applications/blockchains/chia-plotter/default.nix b/pkgs/applications/blockchains/chia-plotter/default.nix
new file mode 100644
index 00000000000..39f2e3cb0ed
--- /dev/null
+++ b/pkgs/applications/blockchains/chia-plotter/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, fetchFromGitHub
+, stdenv
+, libsodium
+, cmake
+, substituteAll
+, pythonPackages
+}:
+
+stdenv.mkDerivation {
+  pname = "chia-plotter";
+  version = "unstable-2021-07-12";
+
+  src = fetchFromGitHub {
+    owner = "madMAx43v3r";
+    repo = "chia-plotter";
+    rev = "974d6e5f1440f68c48492122ca33828a98864dfc";
+    sha256 = "0dliswvqmi3wq9w8jp0sb0z74n5k37608sig6r60z206g2bwhjja";
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    # prevent CMake from trying to get libraries on the Internet
+    (substituteAll {
+      src = ./dont_fetch_dependencies.patch;
+      pybind11_src = pythonPackages.pybind11.src;
+      relic_src = fetchFromGitHub {
+        owner = "relic-toolkit";
+        repo = "relic";
+        rev = "1885ae3b681c423c72b65ce1fe70910142cf941c";
+        hash = "sha256-tsSZTcssl8t7Nqdex4BesgQ+ACPgTdtHnJFvS9josN0=";
+      };
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ libsodium ];
+
+  # These flags come from the upstream build script:
+  # https://github.com/madMAx43v3r/chia-plotter/blob/974d6e5f1440f68c48492122ca33828a98864dfc/make_devel.sh#L7
+  CXXFLAGS = "-O3 -fmax-errors=1";
+  cmakeFlags = [
+    "-DARITH=easy"
+    "-DBUILD_BLS_PYTHON_BINDINGS=false"
+    "-DBUILD_BLS_TESTS=false"
+    "-DBUILD_BLS_BENCHMARKS=false"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -D -m 755 chia_plot $out/bin/chia_plot
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/madMAx43v3r/chia-plotter";
+    description = "New implementation of a chia plotter which is designed as a processing pipeline";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ilyakooo0 ];
+  };
+}
diff --git a/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch b/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
new file mode 100644
index 00000000000..05486473eef
--- /dev/null
+++ b/pkgs/applications/blockchains/chia-plotter/dont_fetch_dependencies.patch
@@ -0,0 +1,50 @@
+diff --git a/lib/bls-signatures/python-bindings/CMakeLists.txt b/lib/bls-signatures/python-bindings/CMakeLists.txt
+index 255e3bb..5f99c3a 100644
+--- a/lib/bls-signatures/python-bindings/CMakeLists.txt
++++ b/lib/bls-signatures/python-bindings/CMakeLists.txt
+@@ -6,8 +6,7 @@ include(FetchContent)
+
+ FetchContent_Declare(
+   pybind11
+-  GIT_REPOSITORY https://github.com/pybind/pybind11.git
+-  GIT_TAG        v2.6.2
++  SOURCE_DIR @pybind11_src@
+ )
+ FetchContent_MakeAvailable(pybind11 relic)
+
+diff --git a/lib/bls-signatures/src/CMakeLists.txt b/lib/bls-signatures/src/CMakeLists.txt
+index b762b5d..e06073b 100644
+--- a/lib/bls-signatures/src/CMakeLists.txt
++++ b/lib/bls-signatures/src/CMakeLists.txt
+@@ -4,18 +4,11 @@ set (CMAKE_CXX_STANDARD 17)
+ # CMake 3.14+
+ include(FetchContent)
+
+-if (DEFINED ENV{RELIC_MAIN})
+-  set(RELIC_GIT_TAG "origin/main")
+-else ()
+-  set(RELIC_GIT_TAG "1885ae3b681c423c72b65ce1fe70910142cf941c")
+-endif ()
+-
+ message(STATUS "Relic will be built from: ${RELIC_GIT_TAG}")
+
+ FetchContent_Declare(
+   relic
+-  GIT_REPOSITORY https://github.com/relic-toolkit/relic.git
+-  GIT_TAG        ${RELIC_GIT_TAG}
++  SOURCE_DIR @relic_src@
+ )
+ FetchContent_MakeAvailable(relic)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 970ec74..948441a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,6 +38,7 @@ include_directories(
+         ${BLAKE3_PATH}
+         ${CMAKE_BINARY_DIR}/_deps/relic-src/include
+         ${CMAKE_BINARY_DIR}/_deps/relic-build/include
++     @relic_src@/include
+ )
+
+ IF (WIN32)
diff --git a/pkgs/applications/blockchains/chia/default.nix b/pkgs/applications/blockchains/chia/default.nix
index 2c8e986fa86..d0ecdc4f72a 100644
--- a/pkgs/applications/blockchains/chia/default.nix
+++ b/pkgs/applications/blockchains/chia/default.nix
@@ -72,6 +72,7 @@ python3Packages.buildPythonApplication rec {
       --replace "click==7.1.2" "click>=7.1.2" \
       --replace "clvm_rs==0.1.8" "clvm_rs>=0.1.8" \
       --replace "clvm==0.9.7" "clvm>=0.9.7" \
+      --replace "bitstring==3.1.7" "bitstring>=3.1.9" \
   '';
 
   preCheck = ''
diff --git a/pkgs/applications/blockchains/clightning.nix b/pkgs/applications/blockchains/clightning/default.nix
index 44ed4d1541c..44ed4d1541c 100644
--- a/pkgs/applications/blockchains/clightning.nix
+++ b/pkgs/applications/blockchains/clightning/default.nix
diff --git a/pkgs/applications/blockchains/crypto-org-wallet.nix b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
index 7b0a895f4a1..7b0a895f4a1 100644
--- a/pkgs/applications/blockchains/crypto-org-wallet.nix
+++ b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
diff --git a/pkgs/applications/blockchains/dashpay.nix b/pkgs/applications/blockchains/dashpay/default.nix
index ca1dd13e425..ca1dd13e425 100644
--- a/pkgs/applications/blockchains/dashpay.nix
+++ b/pkgs/applications/blockchains/dashpay/default.nix
diff --git a/pkgs/applications/blockchains/dcrd.nix b/pkgs/applications/blockchains/dcrd/default.nix
index e959eca48ae..e959eca48ae 100644
--- a/pkgs/applications/blockchains/dcrd.nix
+++ b/pkgs/applications/blockchains/dcrd/default.nix
diff --git a/pkgs/applications/blockchains/dcrwallet.nix b/pkgs/applications/blockchains/dcrwallet/default.nix
index 2266a1e4c26..2266a1e4c26 100644
--- a/pkgs/applications/blockchains/dcrwallet.nix
+++ b/pkgs/applications/blockchains/dcrwallet/default.nix
diff --git a/pkgs/applications/blockchains/dero.nix b/pkgs/applications/blockchains/dero/default.nix
index 6b15cbd0a16..6b15cbd0a16 100644
--- a/pkgs/applications/blockchains/dero.nix
+++ b/pkgs/applications/blockchains/dero/default.nix
diff --git a/pkgs/applications/blockchains/digibyte.nix b/pkgs/applications/blockchains/digibyte/default.nix
index acf0b355e64..acf0b355e64 100644
--- a/pkgs/applications/blockchains/digibyte.nix
+++ b/pkgs/applications/blockchains/digibyte/default.nix
diff --git a/pkgs/applications/blockchains/dogecoin.nix b/pkgs/applications/blockchains/dogecoin/default.nix
index 9985113b08a..9985113b08a 100644
--- a/pkgs/applications/blockchains/dogecoin.nix
+++ b/pkgs/applications/blockchains/dogecoin/default.nix
diff --git a/pkgs/applications/blockchains/eclair.nix b/pkgs/applications/blockchains/eclair/default.nix
index 7b74512a388..7b74512a388 100644
--- a/pkgs/applications/blockchains/eclair.nix
+++ b/pkgs/applications/blockchains/eclair/default.nix
diff --git a/pkgs/applications/blockchains/electrs.nix b/pkgs/applications/blockchains/electrs/default.nix
index cf2f4d3d47e..cf2f4d3d47e 100644
--- a/pkgs/applications/blockchains/electrs.nix
+++ b/pkgs/applications/blockchains/electrs/default.nix
diff --git a/pkgs/applications/blockchains/elements.nix b/pkgs/applications/blockchains/elements/default.nix
index c44f2078dae..c44f2078dae 100644
--- a/pkgs/applications/blockchains/elements.nix
+++ b/pkgs/applications/blockchains/elements/default.nix
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum/default.nix
index 28a7b22a24f..28a7b22a24f 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum/default.nix
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 1c6c41a0e72..6e97c51afce 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.30.0";
+  version = "2.31.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0xh28m3slzg6bp0fm183m62ydzqkvj384j4dwsfalgz4ndwvy595";
+    sha256 = "0cxf4i58l0kg9c13j7mf0w5ijrkkf9z1375vn6xghd0r8g5hvws5";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -30,7 +30,7 @@ in appimageTools.wrapType2 rec {
     description = "Wallet app for Ledger Nano S and Ledger Blue";
     homepage = "https://www.ledger.com/live";
     license = licenses.mit;
-    maintainers = with maintainers; [ thedavidmeister nyanloutre RaghavSood th0rgal ];
+    maintainers = with maintainers; [ andresilva thedavidmeister nyanloutre RaghavSood th0rgal ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/blockchains/litecoin.nix b/pkgs/applications/blockchains/litecoin/default.nix
index c80ef342c75..c80ef342c75 100644
--- a/pkgs/applications/blockchains/litecoin.nix
+++ b/pkgs/applications/blockchains/litecoin/default.nix
diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd/default.nix
index c956bca9a1a..c956bca9a1a 100644
--- a/pkgs/applications/blockchains/lnd.nix
+++ b/pkgs/applications/blockchains/lnd/default.nix
diff --git a/pkgs/applications/blockchains/lndmanage.nix b/pkgs/applications/blockchains/lndmanage/default.nix
index 56db469ff45..3c7e28d831e 100644
--- a/pkgs/applications/blockchains/lndmanage.nix
+++ b/pkgs/applications/blockchains/lndmanage/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "lndmanage";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "bitromortac";
     repo = pname;
     rev = "v${version}";
-    sha256 = "19sqf7cjslwpfzcdbyq182dx7gnn9hii77sahbnh88v69qxgwzvb";
+    sha256 = "1p73wdxv3fca2ga4nqpjk5lig7bj2v230lh8niw490p5y7hhnggl";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/blockchains/masari.nix b/pkgs/applications/blockchains/masari/default.nix
index bf995da36af..bf995da36af 100644
--- a/pkgs/applications/blockchains/masari.nix
+++ b/pkgs/applications/blockchains/masari/default.nix
diff --git a/pkgs/applications/blockchains/namecoin.nix b/pkgs/applications/blockchains/namecoin/default.nix
index dccee1dc056..dccee1dc056 100644
--- a/pkgs/applications/blockchains/namecoin.nix
+++ b/pkgs/applications/blockchains/namecoin/default.nix
diff --git a/pkgs/applications/blockchains/nano-wallet/default.nix b/pkgs/applications/blockchains/nano-wallet/default.nix
index 8e8d3da92be..e13a77c7d24 100644
--- a/pkgs/applications/blockchains/nano-wallet/default.nix
+++ b/pkgs/applications/blockchains/nano-wallet/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, boost, libGL
-, qtbase, python }:
+, qtbase, python3 }:
 
 stdenv.mkDerivation rec {
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = let
     options = {
-      PYTHON_EXECUTABLE = "${python}/bin/python";
+      PYTHON_EXECUTABLE = "${python3.interpreter}";
       NANO_SHARED_BOOST = "ON";
       BOOST_ROOT = boost;
       RAIBLOCKS_GUI = "ON";
@@ -32,6 +32,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
   buildInputs = [ boost libGL qtbase ];
 
+  strictDeps = true;
+
   buildPhase = ''
     runHook preBuild
     make nano_wallet
diff --git a/pkgs/applications/blockchains/particl/particl-core.nix b/pkgs/applications/blockchains/particl-core/default.nix
index 99bc49e8db3..99bc49e8db3 100644
--- a/pkgs/applications/blockchains/particl/particl-core.nix
+++ b/pkgs/applications/blockchains/particl-core/default.nix
diff --git a/pkgs/applications/blockchains/pivx.nix b/pkgs/applications/blockchains/pivx/default.nix
index 58986a10676..fd562edf93f 100644
--- a/pkgs/applications/blockchains/pivx.nix
+++ b/pkgs/applications/blockchains/pivx/default.nix
@@ -1,38 +1,57 @@
-{ fetchFromGitHub, lib, stdenv, pkg-config, autoreconfHook, wrapQtAppsHook ? null
-, openssl, db48, boost, zlib, miniupnpc, gmp
-, qrencode, glib, protobuf, yasm, libevent
-, util-linux, qtbase ? null, qttools ? null
+{ fetchFromGitHub
+, lib
+, stdenv
+, pkg-config
+, autoreconfHook
+, wrapQtAppsHook
+, openssl
+, db48
+, boost
+, zlib
+, miniupnpc
+, gmp
+, qrencode
+, glib
+, protobuf
+, yasm
+, libevent
+, util-linux
+, qtbase
+, qttools
 , enableUpnp ? false
 , disableWallet ? false
 , disableDaemon ? false
-, withGui ? false }:
+, withGui ? false
+}:
 
-with lib;
 stdenv.mkDerivation rec {
-  name = "pivx-${version}";
+  pname = "pivx";
   version = "4.1.1";
 
   src = fetchFromGitHub {
     owner = "PIVX-Project";
-    repo= "PIVX";
+    repo = "PIVX";
     rev = "v${version}";
     sha256 = "03ndk46h6093v8s18d5iffz48zhlshq7jrk6vgpjfs6z2iqgd2sy";
   };
 
-  nativeBuildInputs = [ pkg-config autoreconfHook ] ++ optionals withGui [ wrapQtAppsHook ];
+  nativeBuildInputs = [ pkg-config autoreconfHook ]
+    ++ lib.optionals withGui [ wrapQtAppsHook ];
+
   buildInputs = [ glib gmp openssl db48 yasm boost zlib libevent miniupnpc protobuf util-linux ]
-                  ++ optionals withGui [ qtbase qttools qrencode ];
+    ++ lib.optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                    ++ optional enableUpnp "--enable-upnp-default"
-                    ++ optional disableWallet "--disable-wallet"
-                    ++ optional disableDaemon "--disable-daemon"
-                    ++ optionals withGui [ "--with-gui=yes"
-                                           "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
-                                         ];
+    ++ lib.optional enableUpnp "--enable-upnp-default"
+    ++ lib.optional disableWallet "--disable-wallet"
+    ++ lib.optional disableDaemon "--disable-daemon"
+    ++ lib.optionals withGui [
+    "--with-gui=yes"
+    "--with-qt-bindir=${lib.getDev qtbase}/bin:${lib.getDev qttools}/bin"
+  ];
 
   enableParallelBuilding = true;
-  doChecks = true;
+  doCheck = true;
   postBuild = ''
     mkdir -p $out/share/applications $out/share/icons
     cp contrib/debian/pivx-qt.desktop $out/share/applications/
diff --git a/pkgs/applications/blockchains/quorum.nix b/pkgs/applications/blockchains/quorum/default.nix
index 1424ddc9516..1424ddc9516 100644
--- a/pkgs/applications/blockchains/quorum.nix
+++ b/pkgs/applications/blockchains/quorum/default.nix
diff --git a/pkgs/applications/blockchains/stellar-core.nix b/pkgs/applications/blockchains/stellar-core/default.nix
index 6ecc4e241cb..6ecc4e241cb 100644
--- a/pkgs/applications/blockchains/stellar-core.nix
+++ b/pkgs/applications/blockchains/stellar-core/default.nix
diff --git a/pkgs/applications/blockchains/sumokoin.nix b/pkgs/applications/blockchains/sumokoin/default.nix
index ee817b58195..ee817b58195 100644
--- a/pkgs/applications/blockchains/sumokoin.nix
+++ b/pkgs/applications/blockchains/sumokoin/default.nix
diff --git a/pkgs/applications/blockchains/tessera.nix b/pkgs/applications/blockchains/tessera/default.nix
index 5b139252553..5b139252553 100644
--- a/pkgs/applications/blockchains/tessera.nix
+++ b/pkgs/applications/blockchains/tessera/default.nix
diff --git a/pkgs/applications/blockchains/turbo-geth.nix b/pkgs/applications/blockchains/turbo-geth/default.nix
index b1548212a69..b1548212a69 100644
--- a/pkgs/applications/blockchains/turbo-geth.nix
+++ b/pkgs/applications/blockchains/turbo-geth/default.nix
diff --git a/pkgs/applications/blockchains/vertcoin.nix b/pkgs/applications/blockchains/vertcoin/default.nix
index acb02298e11..acb02298e11 100644
--- a/pkgs/applications/blockchains/vertcoin.nix
+++ b/pkgs/applications/blockchains/vertcoin/default.nix
diff --git a/pkgs/applications/blockchains/wownero.nix b/pkgs/applications/blockchains/wownero/default.nix
index bc020de8be4..bc020de8be4 100644
--- a/pkgs/applications/blockchains/wownero.nix
+++ b/pkgs/applications/blockchains/wownero/default.nix
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index bab29597c76..ad25fb898ba 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.137.2";
+  version = "1.139.5";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-OiLYXx1sBkEJpMPTa/45QPHLtmeI6ZLles7GfjEBGtQ=";
+    sha256 = "sha256-oBdEPLnM08gC3FZNDi1uyGar2MP8EmFkWJhH+fr6gBA=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 8ca09925058..c27c482b287 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -16,23 +16,23 @@
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "0cf6e09f673beb3a25d6957c97eeeee37024617b",
-    "sha256": "sha256-oqxzORNva7tZXNlI/mSe722p6Tbkf7Ie6GPL3TxjV98="
+    "rev": "2021.07.29",
+    "sha256": "sha256-XgkpadcTPeMu2B3XVX+9gHLZiAaLwNuHTCnZPtjakIk="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
-    "rev": "2021.07.09",
-    "sha256": "sha256-w5f1s8yjkYfDqAcKISRgJd3fe+f2NyO3ZtFLLfiBm2Q="
+    "rev": "2021.07.20",
+    "sha256": "sha256-yh9/2kHfg7swNzPe+7i+ON7MKhFrhxtGAT+pxL4GdVQ="
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2021.07.02",
-    "sha256": "sha256-PndvBiqdqw681AC6q33UWdzUvcYHxj1WuYsVFi2HK7c="
+    "rev": "2021.07.29",
+    "sha256": "sha256-2Wc4udsSEM0Ngzt/bokuDHcR0imKyHgkeG3RCWu3nXw="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2021.07.09",
-    "sha256": "sha256-QCG9i26m3v9J4uO1I1BiDwBerH4iX1rAJuNqx+gHLnA="
+    "rev": "2021.07.29",
+    "sha256": "sha256-mCT3F0GPC+Hl7WOtYznxErMTyr9cH4ghaanYMum+3Fg="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
@@ -46,8 +46,8 @@
   },
   "CudaText-lexers": {
     "owner": "Alexey-T",
-    "rev": "2021.02.01",
-    "sha256": "051jnrhfpl9n5pgrssf68lj732zxhvjbvna4746ngmdyxvw6dqfd"
+    "rev": "2021.07.09",
+    "sha256": "sha256-OyC85mTMi9m5kbtx8TAK2V4voL1i+J+TFoLVwxlHiD4="
   },
   "bgrabitmap": {
     "owner": "bgrabitmap",
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 2bbeaba2a2a..13269640355 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -39,10 +39,10 @@
       elpaBuild {
         pname = "ada-mode";
         ename = "ada-mode";
-        version = "7.1.4";
+        version = "7.1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ada-mode-7.1.4.tar";
-          sha256 = "13zcs7kn7rca82c80qshbdpmmmgkf5phr88hf7p5nwxqhkazy9cd";
+          url = "https://elpa.gnu.org/packages/ada-mode-7.1.5.tar";
+          sha256 = "037v25mqpg1n52hz89b49vf9zw68fmc0m7l6c1f8vnbw3dibyk8d";
         };
         packageRequires = [ emacs uniquify-files wisi ];
         meta = {
@@ -3362,21 +3362,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    shelisp = callPackage ({ elpaBuild, fetchurl, lib }:
-      elpaBuild {
-        pname = "shelisp";
-        ename = "shelisp";
-        version = "0.9.1";
-        src = fetchurl {
-          url = "https://elpa.gnu.org/packages/shelisp-0.9.1.el";
-          sha256 = "15z8rpx8nhx53q77z5fqcpww255di80lb5mm28mnn2myalrr8b59";
-        };
-        packageRequires = [];
-        meta = {
-          homepage = "https://elpa.gnu.org/packages/shelisp.html";
-          license = lib.licenses.free;
-        };
-      }) {};
     shell-command-plus = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "shell-command-plus";
@@ -3392,6 +3377,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    shelisp = callPackage ({ elpaBuild, fetchurl, lib }:
+      elpaBuild {
+        pname = "shelisp";
+        ename = "shelisp";
+        version = "0.9.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/shelisp-0.9.1.el";
+          sha256 = "15z8rpx8nhx53q77z5fqcpww255di80lb5mm28mnn2myalrr8b59";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/shelisp.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     shen-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "shen-mode";
@@ -4224,10 +4224,10 @@
       elpaBuild {
         pname = "wisi";
         ename = "wisi";
-        version = "3.1.3";
+        version = "3.1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/wisi-3.1.3.tar";
-          sha256 = "0cbjcm35lp164wd06mn3clikga07qxfsfnkvadswsapsd0cn2b4k";
+          url = "https://elpa.gnu.org/packages/wisi-3.1.4.tar";
+          sha256 = "1j35ln5x3dgypq3hn6xcdpg6vp6yjj6avcjakc2r6wx19vxixciw";
         };
         packageRequires = [ emacs seq ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
index 4dbf968ee26..6bfe29fc2e7 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/org-generated.nix
@@ -4,10 +4,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "20210719";
+        version = "20210726";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-20210719.tar";
-          sha256 = "1aravj0krdi8bnfinfj1d92vq3g06djxcnpipibkrw9ggk0d01d6";
+          url = "https://orgmode.org/elpa/org-20210726.tar";
+          sha256 = "0bz5dwnknxb5mwb3rk6ckwq8a5imd2cjsx40ql9p9vc0c8rirqd4";
         };
         packageRequires = [];
         meta = {
@@ -19,10 +19,10 @@
       elpaBuild {
         pname = "org-plus-contrib";
         ename = "org-plus-contrib";
-        version = "20210719";
+        version = "20210726";
         src = fetchurl {
-          url = "https://orgmode.org/elpa/org-plus-contrib-20210719.tar";
-          sha256 = "1knjkf365cnjd8sdhaisjx0n6n0l2zfpql1b2gzw0gj62kbpl476";
+          url = "https://orgmode.org/elpa/org-plus-contrib-20210726.tar";
+          sha256 = "0fxjmb1773skyq76qmgx1jqfcglxrxxxqysqiirm48cc6yf13kp7";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index e0cb7878bc8..3d5880c039e 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -1600,8 +1600,8 @@
   "repo": "chumpage/ack-menu",
   "unstable": {
    "version": [
-    20130107,
-    640
+    20150504,
+    2022
    ],
    "deps": [
     "mag-menu"
@@ -1951,8 +1951,8 @@
     "annotation",
     "eri"
    ],
-   "commit": "286bbef128cb3194f8bd63cd5e497bea621c709a",
-   "sha256": "1i176damqxg0nqawhgr22ypzysnbk44aii0r81pl6zbwsvdxkqn6"
+   "commit": "c1c20b8d29838b4e0708b768d98e2edce933d15d",
+   "sha256": "1rscm80nrgr1c00vcp683rvc42wdll08jc3s2srvaxw3iadd03ln"
   },
   "stable": {
    "version": [
@@ -2182,16 +2182,16 @@
   "fetcher": "github",
   "repo": "alan-platform/AlanForEmacs",
   "unstable": {
-   "version": [
-    20210721,
-    1343
+  "version": [
+    20210728,
+    1427
    ],
    "deps": [
     "flycheck",
     "s"
    ],
-   "commit": "c1c4205d2cdf8bf69b22e62548568ed4a8529807",
-   "sha256": "023lzr112gjscmyqgfz5ib3a80s3bis72acsaxnk4jw32knjy4yl"
+   "commit": "6e2005441af34fe54872c00ed793f6084f25c3f8",
+   "sha256": "0fqbjklfglgiy838j37p0v0rcvzj48vps8zsn0bmnabnd5vsrc3b"
   },
   "stable": {
    "version": [
@@ -2333,8 +2333,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "f3688475bba4c451fdfe52ad95fb25c7050ec9f9",
-   "sha256": "02h6xhnnbx27gq3xm2f2j3py5h94kcg8m8399j7dhski60ncn4b4"
+   "commit": "8089607dc118827e832d4bd524b3c0f0f56e8cdd",
+   "sha256": "1im0k28skb9skxxfkh279j91xjfc4c7qnmwc8l6sgazhglj5rqs6"
   },
   "stable": {
    "version": [
@@ -2441,11 +2441,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20210703,
-    2203
+    20210728,
+    2330
    ],
-   "commit": "9d97c074b08000eacefc03ebc5dadbdc33888cc2",
-   "sha256": "06ya21isl47cfs4fsl8k3qzh7d27gss0snxv7mmv8a0c7rgjyx7j"
+   "commit": "e01eeb40858f971e45c014726a14c75556d8cc8f",
+   "sha256": "0psyfmajz2rsi5asv07514zd7vlwzk42hff4dcbmycyf7s998ifn"
   },
   "stable": {
    "version": [
@@ -2513,14 +2513,14 @@
   "repo": "seagle0128/all-the-icons-ibuffer",
   "unstable": {
    "version": [
-    20210721,
-    651
+    20210727,
+    808
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "a3cc2d96f619a2a6cf1cb6ad881ab6e509ac8fc3",
-   "sha256": "09l0y99lqi3p7h0ll3hm13zi6kp2pbya8rdpvqrx7jpkg3w5slfk"
+   "commit": "c1c0606a793b71c8c1efc3c55dfcc22182214f24",
+   "sha256": "0p0icyj9084q7gm3bjknxgxd6g36sgy3b1kpxlm3fmh93j0v6l32"
   },
   "stable": {
    "version": [
@@ -2575,15 +2575,15 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20210721,
-    653
+    20210727,
+    757
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "b20df3e2c901a107441b6246b9d03fa3dc57f47f",
-   "sha256": "1hqf3jqpq0viygxnbkq7rsabpyygz2kr6nl6jrarm8wdczs55rpr"
+   "commit": "2a4baba0343d1e4dcabc29e5ccca596fd032ac90",
+   "sha256": "1fy86vkn5j0v9brkfzfjrwr1zrp792i7pxywlrflahcbxd8v68pp"
   },
   "stable": {
    "version": [
@@ -3217,8 +3217,8 @@
     20200914,
     644
    ],
-   "commit": "286bbef128cb3194f8bd63cd5e497bea621c709a",
-   "sha256": "1i176damqxg0nqawhgr22ypzysnbk44aii0r81pl6zbwsvdxkqn6"
+   "commit": "c1c20b8d29838b4e0708b768d98e2edce933d15d",
+   "sha256": "1rscm80nrgr1c00vcp683rvc42wdll08jc3s2srvaxw3iadd03ln"
   },
   "stable": {
    "version": [
@@ -4102,7 +4102,7 @@
   "unstable": {
    "version": [
     20210501,
-    1536
+    1527
    ],
    "commit": "9a8cd0c3d5c120bfa03187c54dba6e33f6e3ca19",
    "sha256": "1s2gdilaf38m2dg6nm4kcz5n4n455a9127pl4cbz9lg7mp3l2pg5"
@@ -4604,14 +4604,14 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20210615,
-    1457
+    20210728,
+    2054
    ],
    "deps": [
     "packed"
    ],
-   "commit": "0f3afc6b057f9c9a3b60966f36e34cb46008cf61",
-   "sha256": "0grb9y7v7ibbcjv1yhssnavz43cij16ys5c68my8mv12wg5ld86z"
+   "commit": "504863340fa82cf8aca785ad1f2a541be598c3d6",
+   "sha256": "0d1z6k4gcx9yxvvsi9m3pz0nfbql1f2vs29ccjcdycaxlq04k7ls"
   },
   "stable": {
    "version": [
@@ -5532,8 +5532,8 @@
     "avy",
     "embark"
    ],
-   "commit": "c0a3e5398c3303d9336d3614ff8e2ce543501eaf",
-   "sha256": "18g86ymca74jkkrpjqxcy289rna968qrk4gpn09k52zf83xaafha"
+   "commit": "4f969299a4726058fae8773bd9c4fb7c58371c86",
+   "sha256": "1mfhqv66j45mqs90i5jywxw8cv5v1df42s4q5svx9f75jjwrn8l7"
   },
   "stable": {
    "version": [
@@ -7038,14 +7038,14 @@
   "repo": "bdarcus/bibtex-actions",
   "unstable": {
    "version": [
-    20210714,
-    1030
+    20210727,
+    1208
    ],
    "deps": [
     "bibtex-completion"
    ],
-   "commit": "6b9a075aebd85fee8a071ffbbada1158ecd470d4",
-   "sha256": "0ihpm7pnlx5acj7jmrqr9di92908mz7z3k1kg62k8vxj2q43a00c"
+   "commit": "a2569ef74b40ed6b6459ed1b1b19e12282b426d0",
+   "sha256": "02yvr60ri07igfq8c0v2a0hybqzkvnacqp34jv1y4dhd5igbhfdc"
   },
   "stable": {
    "version": [
@@ -7067,8 +7067,8 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20210718,
-    1044
+    20210725,
+    1459
    ],
    "deps": [
     "biblio",
@@ -7078,8 +7078,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "a0d32ab16748b7b0c43d6421f1b497b7caf8e590",
-   "sha256": "0a0mn41lvqjx8rdrfgff5fjs757nin30caap7ciapnvr18g9mh5h"
+   "commit": "12079bb09f203dda5cc2dd003bd60a6ad490f762",
+   "sha256": "11y1yif6z26cc502s72p310z9m6130p5kyqb2py74r3x0k0nc61s"
   },
   "stable": {
    "version": [
@@ -8927,14 +8927,14 @@
   "repo": "alphapapa/burly.el",
   "unstable": {
    "version": [
-    20210709,
-    415
+    20210726,
+    125
    ],
    "deps": [
     "map"
    ],
-   "commit": "a67a026db0937b26c0b7a2fcf81bf44498ad2dd1",
-   "sha256": "0xck02i9l0yw7yzy6sgzg17k2hyqaj9lvafp7r229xzw8rdzl8cr"
+   "commit": "59fa9e92abdf1e730f8f3908d5a42852c10c5e2b",
+   "sha256": "1jbfsr28fhf945lhhbds89a9g5c8rbpmykwg8z5adp8ncfj6pw99"
   },
   "stable": {
    "version": [
@@ -9616,8 +9616,8 @@
   "repo": "beacoder/call-graph",
   "unstable": {
    "version": [
-    20210311,
-    830
+    20210728,
+    802
    ],
    "deps": [
     "anaconda-mode",
@@ -9626,8 +9626,8 @@
     "ivy",
     "tree-mode"
    ],
-   "commit": "3e5c510c51dd8b3491a32a1d67ad6268033348ee",
-   "sha256": "1jj8bj9a05dq0igxd2ddf0p9gc9sbffcn0wy3b26qlcspcvbpm1h"
+   "commit": "7a40f9ddb16a6ce9345e0bd632109b7e2048baa1",
+   "sha256": "18as7vq8cmhxkxgh0p8qlifyvza66n6xf9a2fi07wc4acp2gpn55"
   },
   "stable": {
    "version": [
@@ -9760,8 +9760,8 @@
     20210707,
     2310
    ],
-   "commit": "583f07515b3be254ec150ce1dadabb48fdfa5bd3",
-   "sha256": "1nccl2v2fvpmsmvga1ghb9kb72v90bgdqhxb153086qx69s7vlcn"
+   "commit": "c4c70235ebbfc1733789f07f084c2d071679feee",
+   "sha256": "063gfjlay5fdgd19q363np9p5s24hxrwvxbxahkjjfn40mnb6nqi"
   },
   "stable": {
    "version": [
@@ -10449,8 +10449,8 @@
     20171115,
     2108
    ],
-   "commit": "94d292543d4869c3c5b48bb4dd1e5d901ce6227e",
-   "sha256": "12pxnwgfr0ypf80hpgrqyb789wj41gv8cbzsr1jks7pinvpda65f"
+   "commit": "d33da533194106a0a30dc4a22f11acbd2846cfba",
+   "sha256": "0q89wmfa4pi2a3vs9qcy27dharxlqpxm9b4lpxbjzii9f08fad0x"
   },
   "stable": {
    "version": [
@@ -11240,8 +11240,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20210706,
-    1151
+    20210729,
+    521
    ],
    "deps": [
     "clojure-mode",
@@ -11252,8 +11252,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "fe8cf244fd3426261f9f630c981a6296afd433a4",
-   "sha256": "02xj7g6jnwd9vjr8jipqvwy89zadkzsak08pq8418hz2af26bvaf"
+   "commit": "52ad2bc4ebadf6692d9c2d5cfcae467e149beea6",
+   "sha256": "15vr53diq6q8sj9cnb3w8smxx6jlxp0ps4vjqk24yv1lgycfq0ng"
   },
   "stable": {
    "version": [
@@ -11522,8 +11522,8 @@
   "repo": "andras-simonyi/citeproc-el",
   "unstable": {
    "version": [
-    20210719,
-    918
+    20210727,
+    1320
    ],
    "deps": [
     "dash",
@@ -11533,8 +11533,8 @@
     "s",
     "string-inflection"
    ],
-   "commit": "b46d3c3c6e5a00237f62084c64a25c4b4efabe1b",
-   "sha256": "0gyyxaiky82km9c897vvslnin7yll3yzjfz0fd5zg7lz4kmjilqk"
+   "commit": "ad453630ced1fd1aa1f760b96da1cd702c77aaa9",
+   "sha256": "1v7k1psvj1n90y5nb8cflapfzn5hf75hxsfdmy4ppliw97b5bq9d"
   },
   "stable": {
    "version": [
@@ -11600,11 +11600,11 @@
   "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20210722,
-    1158
+    20210728,
+    125
    ],
-   "commit": "45e7f801744f471b43fdd96cfe734a4a3796bab6",
-   "sha256": "1sdj2nvgnbvsz2cvgzpr0axzm4gcb0sna0ps37mbxb0y356xyzfv"
+   "commit": "5c5958e467e4da7a8578039643d5036b3395e3d6",
+   "sha256": "1fal5cbj1wbji4ail1b8k9bc3c8mps7m68j7lk2086x67l1il9di"
   },
   "stable": {
    "version": [
@@ -12225,8 +12225,8 @@
     20210706,
     1318
    ],
-   "commit": "3e426b3a479f479963f2c7d1147cc826ed1a0ee1",
-   "sha256": "16smnr1hlbv347wnzhncasz5ihy0sb4fcpx5dw9v8az5r3q8xpak"
+   "commit": "ba59133b8ebdd98fdd282d21514dc718d600568a",
+   "sha256": "0lynpgkrl7vn12zfdhknsv94i3myamzlqwi9wd8fh06q9i0a81cz"
   },
   "stable": {
    "version": [
@@ -12252,8 +12252,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "3e426b3a479f479963f2c7d1147cc826ed1a0ee1",
-   "sha256": "16smnr1hlbv347wnzhncasz5ihy0sb4fcpx5dw9v8az5r3q8xpak"
+   "commit": "ba59133b8ebdd98fdd282d21514dc718d600568a",
+   "sha256": "0lynpgkrl7vn12zfdhknsv94i3myamzlqwi9wd8fh06q9i0a81cz"
   },
   "stable": {
    "version": [
@@ -12555,17 +12555,17 @@
     20210104,
     1831
    ],
-   "commit": "f7a3031b7defbc805a39a8b23dbefe10764d956b",
-   "sha256": "13036j6019viskahslw3vq28h5kn1xr6ap61l2hvgzpimriam012"
+   "commit": "9251205512c49bbdda5d82f48126dc5b8e79d70f",
+   "sha256": "0jkkb213w1zngask7n542rj8idjxvzbxy51pgydhas57m6xng4af"
   },
   "stable": {
    "version": [
     3,
     21,
-    0
+    1
    ],
-   "commit": "ff7a2e37bfff23ce1751a93b3eba179fbf32a9b6",
-   "sha256": "061cjj5mni91p6b0mpp6a2zrkrmw1hc3l4cci6lcqbx733y192fq"
+   "commit": "f7cf69e34a1607e8ea2b6d10fef6a6058377c24e",
+   "sha256": "18gwkb8p9086qg4acfbs74891nzh5wqs3id6iv5zqwc76kvcb4y7"
   }
  },
  {
@@ -13807,14 +13807,14 @@
   "repo": "redguardtoo/company-ctags",
   "unstable": {
    "version": [
-    20210629,
-    1038
+    20210723,
+    1322
    ],
    "deps": [
     "company"
    ],
-   "commit": "cf7bfdbfedc8ca4ee134c8d66e70eb6035185174",
-   "sha256": "0ysf3gd3fk74j203y2zg3rq41jx42wgk1y1fn2g5giawazi7ym2x"
+   "commit": "ff813c58e930d01fb55ee2f57fe810896a12c51b",
+   "sha256": "0v5a7aaqj1p2c6ci34v31r4jb1wd29rff7n779n3klaqjbkg3b6h"
   },
   "stable": {
    "version": [
@@ -13968,6 +13968,40 @@
   }
  },
  {
+  "ename": "company-emojify",
+  "commit": "a83aa15fa8c6fa2e8fd22c8368be18714d97861f",
+  "sha256": "07rnpz30k38cmh20r1gf6zimch4y8kxyhrl5bk03x887hwkrwc4y",
+  "fetcher": "github",
+  "repo": "jcs-elpa/company-emojify",
+  "unstable": {
+   "version": [
+    20210718,
+    424
+   ],
+   "deps": [
+    "company",
+    "emojify",
+    "ht"
+   ],
+   "commit": "cebfff07a21f885f87a692ec4d5e7f84468c6565",
+   "sha256": "1ishjn1biv9irm3ih96b0larsz6jq81lxd7jjkh4nqjs1207gcij"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "company",
+    "emojify",
+    "ht"
+   ],
+   "commit": "015dc2cee7c9713794efd44d398a12eb62a94185",
+   "sha256": "0w1pvknlnbz9q9v9krq4cvfjmk1mzhcvyh61qqn5m9srgc3hdkg3"
+  }
+ },
+ {
   "ename": "company-erlang",
   "commit": "ca96ed0b5d6f8aea4de56ddeaa003b9c81d96219",
   "sha256": "0qlc89c05523kjzsb7j3yfi022la47kgixl74ggkafhn60scwdm7",
@@ -14766,8 +14800,8 @@
     "company",
     "prescient"
    ],
-   "commit": "54b19cf7121d9eb679c2ba26b3c26e82c8a90df9",
-   "sha256": "122j06gav4y6ghkjgwivlfqq1y4rl52sm8wskcq1gm3g7n36ds5h"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -15720,11 +15754,11 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20210722,
-    1644
+    20210729,
+    844
    ],
-   "commit": "d42ccdca5bbc4c437819cf4d29c7b8728ed090bc",
-   "sha256": "134flhq2rx2qjhfc5fspsijpdiv7a3z5mk0j1pwipfwfkid27nqk"
+   "commit": "ebed71d554a5eda6914de6519cd30b867e9dbc28",
+   "sha256": "1bk9h3yh4r7l0jsmas83sa0hvzsbj8zvracf081jdhi7vl27p9zq"
   },
   "stable": {
    "version": [
@@ -15839,15 +15873,15 @@
   "url": "https://codeberg.org/jao/consult-notmuch.git",
   "unstable": {
    "version": [
-    20210701,
-    422
+    20210725,
+    2113
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "9e65c421cf54ca12234acad727818fa0fe60fa3e",
-   "sha256": "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx"
+   "commit": "62462df58ecd888ae8a3a8421078227acdfd36d1",
+   "sha256": "0z4ayx6xh9x9rqj1shm4kw4q1xw99xncisd0c4m9g5qbn4mq6yas"
   },
   "stable": {
    "version": [
@@ -16219,8 +16253,8 @@
     "ivy",
     "swiper"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "031d4d051da1d8fd20f0f46e8df66c426bf3174c",
+   "sha256": "16hsnh0l51vayr7a8h4y9h63pw0w5kzsdwhk90bypf2fpjgqdx94"
   },
   "stable": {
    "version": [
@@ -16414,26 +16448,26 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20210608,
-    206
+    20210725,
+    821
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "2c1f2161d36f70e0034e29abecfcb8878b30b6ac",
-   "sha256": "1hcsz773i67i82crzczm4csjkl9qj430m73lpvqkh7if543bs030"
+   "commit": "84fff26b0f207131c2e6669bd7f510eac43973aa",
+   "sha256": "07445bbr68q1pnwpj5bwqmml9ky1gq67g24zswv8fylnzjkhy9wc"
   },
   "stable": {
    "version": [
     1,
     9,
-    16
+    17
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "894cd7e25a2f96e29b70897ab799e7dd9e4f85fd",
-   "sha256": "01si554r0s6m7ypx1m2n0z6j6q6yihifz76dha6q6v56ixdlv626"
+   "commit": "84fff26b0f207131c2e6669bd7f510eac43973aa",
+   "sha256": "07445bbr68q1pnwpj5bwqmml9ky1gq67g24zswv8fylnzjkhy9wc"
   }
  },
  {
@@ -17389,25 +17423,20 @@
   "repo": "emacs-csharp/csharp-mode",
   "unstable": {
    "version": [
-    20210624,
-    1320
-   ],
-   "deps": [
-    "tree-sitter",
-    "tree-sitter-indent",
-    "tree-sitter-langs"
+    20210727,
+    1254
    ],
-   "commit": "093f0f21a9d04d79a380de145cbc42693ef8c76f",
-   "sha256": "1150s8zz9z6pmr9m8jny7g8qrhxdnpbk4nzrlyddhaf9hkw9nfi9"
+   "commit": "27cd2e8da1f374fd9db121826bf78484b0e4079e",
+   "sha256": "1qrcxyn9n2xn4k2is8q8brvicncc9x78gq3sl8xw00smww3i3rdj"
   },
   "stable": {
    "version": [
     0,
-    11,
+    12,
     0
    ],
-   "commit": "84664285a6d215998da763dc5d286d4f941df81e",
-   "sha256": "0aq6ln92jr3hcrd1592n4s5cb079fly7qaj2hm510p9zckyfx230"
+   "commit": "69fe52b5908e1b29b2765d7e01cd6a8f0fc16332",
+   "sha256": "1x40xm9d5sbxbnyxl12ppkzlgxzyn0bjg2vmc139jpkazmmw7r7k"
   }
  },
  {
@@ -17643,11 +17672,11 @@
   "repo": "raxod502/ctrlf",
   "unstable": {
    "version": [
-    20210418,
-    2044
+    20210724,
+    126
    ],
-   "commit": "dbe83710d06bc39315f1455f6f21479f3747c0aa",
-   "sha256": "0nl7mh1i9pw039gd0ma6xrv499aw2vs3a1fm1bxz71hh13jmbd4c"
+   "commit": "b78e129a8a4fabfebba8cdd5ef51278d0d57e0f4",
+   "sha256": "0j3rsax644x8753hginn0cd8sm86wf521p1rjqspdhgpi4dv0cdq"
   },
   "stable": {
    "version": [
@@ -17895,6 +17924,21 @@
   }
  },
  {
+  "ename": "cursor-flash",
+  "commit": "6a269e5187fd244f67adb83b940eedcbd643a0c2",
+  "sha256": "0y7ngpxwid83rgw1fbmrp7xifkkvf04a9s6wdfd2l8jdyh0jvn65",
+  "fetcher": "github",
+  "repo": "Boruch-Baum/emacs-cursor-flash",
+  "unstable": {
+   "version": [
+    20210722,
+    445
+   ],
+   "commit": "6bb54a1e2e1bf9df80926718b1b8b9ee49080484",
+   "sha256": "1zav30zkf7ir5zwy9625wldg4kaf8bk3mn1py5sidihpn299319b"
+  }
+ },
+ {
   "ename": "cursor-test",
   "commit": "6439f7561cfab4f6f3beb132d2a65e94b3deba9e",
   "sha256": "1c1d5xq4alamlwyqxjx557aykz5dw87acp0lyglsrzzkdynbwlb1",
@@ -18075,8 +18119,8 @@
     20190111,
     2150
    ],
-   "commit": "e46e9dd7c37d8d7ad432a94fff5daafa7fa444e3",
-   "sha256": "0lbla1pbqk2gaprkwdyxg5x381nmxx1jcc9snls6crlsf8bbhrm4"
+   "commit": "0574dbceef7b8ee16a9cc94091c3629dfa23133d",
+   "sha256": "1gnwy0pdxwwwicp46w9g9mcsnz070wb7hjvrj33nilsv796m3kss"
   },
   "stable": {
    "version": [
@@ -18173,11 +18217,11 @@
   "repo": "cbowdon/daemons.el",
   "unstable": {
    "version": [
-    20200421,
-    912
+    20210728,
+    1514
    ],
-   "commit": "a26155d04cec399ffe25b88f71cbfa4ada784569",
-   "sha256": "0bvfcrr3blyz0861ysfw2qbfh1iq8nfdh1kw9wz4m7g6big27qgd"
+   "commit": "cbab674d995022c1c223bfccf13d8009c7c4e2ba",
+   "sha256": "0h08k9g746j1kg4138am3v7lv9w6fg7yrz2hzm7x737qmg852chn"
   },
   "stable": {
    "version": [
@@ -19075,8 +19119,8 @@
     20201011,
     1543
    ],
-   "commit": "4fd5547a54ee931f4a16adde1d3b52bf01ce045a",
-   "sha256": "07yar2b0h8d16j3q55cw2mdk88akvsab6z7bpkzavyqalgvd061b"
+   "commit": "6f09126b2e97b2e195145204caba11d0d4f871df",
+   "sha256": "0qrjy3zs2xjf54b7kcwxbds99il76zxlx219c5d1siq6bkv0z0k4"
   },
   "stable": {
    "version": [
@@ -19889,8 +19933,8 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20210615,
-    1539
+    20210716,
+    241
    ],
    "deps": [
     "cl-lib"
@@ -20287,14 +20331,14 @@
   "repo": "tilmanrassy/emacs-dir-treeview",
   "unstable": {
    "version": [
-    20201003,
-    2206
+    20210625,
+    2358
    ],
    "deps": [
     "treeview"
    ],
-   "commit": "53dc9dae71d1be3a7a925332a53e72d2bd05366b",
-   "sha256": "0hgcargxbl58f4im57c1zqwnfxl52lfv78s8l69njjggvdki0hz1"
+   "commit": "c48b0e12eb02ae046cf6dc97fe006db31ded3f2b",
+   "sha256": "07hhy41h1qx38rrf6f9b2r13chs3v4mzyplhpx1r6wjrj0nmh2pv"
   }
  },
  {
@@ -21020,15 +21064,15 @@
   "repo": "ShuguangSun/dired-view-data",
   "unstable": {
    "version": [
-    20210529,
-    600
+    20210724,
+    1015
    ],
    "deps": [
     "ess",
     "ess-view-data"
    ],
-   "commit": "c865c34536d9c3140ce647f03c8b7498b46e935c",
-   "sha256": "0xca6kjr9qf7w9hz63hfai2hl055cdp5gm8nldr1xjv5gk42765h"
+   "commit": "92dc267bcaac1b6258ad595488bf10b88882b5ae",
+   "sha256": "00zzcrhjkc3f0wfda3a843wk0ajkhyi8qi4jy0lax4myc0i8mpsk"
   },
   "stable": {
    "version": [
@@ -22014,14 +22058,14 @@
   "repo": "emacs-pe/docker-tramp.el",
   "unstable": {
    "version": [
-    20210526,
-    748
+    20210729,
+    508
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "aaee11cedf7b4c31700f24a1fd88dcef9c2a7c3d",
-   "sha256": "120sxrifn82hhrqhqdy0dhnni353vwzkkd5x7inqg1wpzsxjwhzl"
+   "commit": "7bfbb55417e7d2aac53adf92cb0e3fd329c495c1",
+   "sha256": "078hqc8rqw27v5li8dgmh9sspfrypha6h7hx4iagjwndb2llg2ix"
   },
   "stable": {
    "version": [
@@ -22306,14 +22350,14 @@
   "repo": "hlissner/emacs-doom-themes",
   "unstable": {
    "version": [
-    20210714,
-    1511
+    20210728,
+    2333
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b7995ac041f8dadb021cd2445e85d29c9bf718ae",
-   "sha256": "09hhplhb0832ja9nnsq3d4p6g0fdw2sp9kl2y4n2kk6zq909ar54"
+   "commit": "9e2680b9188ebd58c490598684bb7545ba01950d",
+   "sha256": "1yricwp9xndkqask5gg4frg5axmjn2g65z8bbazg9gixvsj4gbbq"
   },
   "stable": {
    "version": [
@@ -22510,8 +22554,8 @@
    "deps": [
     "debian-el"
    ],
-   "commit": "0f2a8257788a2f99e87326e52402f69e3f534903",
-   "sha256": "1hkabhnbiwygcx3blv3hc819m3bckkcngsf280pfg2y1xmd9n7b2"
+   "commit": "458f5230d02b15c94e94eca1af4eabaec30f45db",
+   "sha256": "0cdsi18vn3la9yaq4nbpvvhrblr36x0lc54wp7gv75rlg23fbl5a"
   },
   "stable": {
    "version": [
@@ -22970,8 +23014,8 @@
     20210715,
     548
    ],
-   "commit": "07dd21abc029f50c6a3a96f2867d31102366faba",
-   "sha256": "0pvbvzdljxq7mjfsx4fcm3782wdawx2mgzi4hy7kvw7z80n9zm7k"
+   "commit": "d1e683b1489ff830d61566876a94b1da35bc2aaa",
+   "sha256": "0yi88xd0h3mbggjhay66pz7j55hjvqln7cs0av2na9d5mf70asrb"
   },
   "stable": {
    "version": [
@@ -23543,15 +23587,15 @@
   "repo": "masasam/emacs-easy-hugo",
   "unstable": {
    "version": [
-    20210303,
-    2352
+    20210726,
+    2034
    ],
    "deps": [
     "popup",
     "request"
    ],
-   "commit": "b3c9ca2a4e1d90013a7d990056d56cdf2bdf8e40",
-   "sha256": "1g48c2142yqs8ir2872q0zdl46qprx2mhhhd9jvcscakm4xv3cdf"
+   "commit": "279d242d66dd48f7a59405167dff332a569f4c1d",
+   "sha256": "0cvzq29299lsh6rq4sxmz2fdsnapbv4iqrx2bnsvld9dpm01m6j6"
   },
   "stable": {
    "version": [
@@ -24730,8 +24774,8 @@
   "repo": "millejoh/emacs-ipython-notebook",
   "unstable": {
    "version": [
-    20210522,
-    1036
+    20210723,
+    1958
    ],
    "deps": [
     "anaphora",
@@ -24742,8 +24786,8 @@
     "websocket",
     "with-editor"
    ],
-   "commit": "09af85821e4fce64675d5287fe9f3a6847d1c5d2",
-   "sha256": "12b8idh2mpd37nrc8ricr4s4hz4wgnp7cy1298qcpxl00xx99dqw"
+   "commit": "983ee612f81c1f976bc1ebce2bfe574a825ba9ed",
+   "sha256": "1hfsbw5fgxbxma7smzmdc7qa4f9affrgs19xxk3dk0p659789lip"
   },
   "stable": {
    "version": [
@@ -24768,24 +24812,6 @@
   }
  },
  {
-  "ename": "ein-mumamo",
-  "commit": "bd8fcf7f6332f94dc37697f9412c8043da8d4f76",
-  "sha256": "029sk90xz9fhv2s56f5hp0aks1d6ybz517009vv4892bbzkpjv1w",
-  "fetcher": "github",
-  "repo": "millejoh/ein-mumamo",
-  "unstable": {
-   "version": [
-    20150302,
-    28
-   ],
-   "deps": [
-    "ein"
-   ],
-   "commit": "028fefec499598add1a87b92ed991891f38f0c7b",
-   "sha256": "1w0b3giy9ca35pp2ni4afnqas64a2vriilab7jiw9anp3ryh6570"
-  }
- },
- {
   "ename": "eink-theme",
   "commit": "a1349c3f93ab60983f77c28f97048fa258b612a6",
   "sha256": "0z437cpf1b8bqyi7bv0w0dnc52q4f5g17530lwdcxjkr38s9b1zn",
@@ -25619,14 +25645,14 @@
   "repo": "Manoj321/elfeed-dashboard",
   "unstable": {
    "version": [
-    20201218,
-    347
+    20210727,
+    603
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "9e8e212da9ea471bdc58bc0a1f5932833029bb38",
-   "sha256": "182kr8nqrnf1lpiqbl04qm6871yvk0z53dxxdjc2y9xnh6dvx460"
+   "commit": "b143f8453aed2053e8fc6f05cef6233797408546",
+   "sha256": "1yvr3fg5dx0z6h7jbv3fvn5ccw5grpcaj2ynp7zri5y388g160ql"
   }
  },
  {
@@ -26294,11 +26320,21 @@
   "repo": "jcaw/elnode",
   "unstable": {
    "version": [
-    20190608,
-    1623
+    20190702,
+    1509
+   ],
+   "deps": [
+    "creole",
+    "dash",
+    "db",
+    "fakir",
+    "kv",
+    "noflet",
+    "s",
+    "web"
    ],
-   "commit": "305c532b6e59f58c4afcfb76466dbfbdc4e58b9c",
-   "sha256": "1214216wrdhfw3lbf59vnddk28hi4g3s1ksdi5walksihd3gh7my"
+   "commit": "29ef0f51a65a24fca7fdcdb4140d2e4556e4bb29",
+   "sha256": "1bks7aakhvdab56gbsa44ca9kbilajisdd9bns485d9wr62d2lgj"
   }
  },
  {
@@ -26456,20 +26492,20 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20210720,
-    1520
+    20210729,
+    1123
    ],
-   "commit": "3cddc8bdcb0a05ecd308c310bcd020f7288af4de",
-   "sha256": "12xcra3a5bsihcfqs014bcayw0wmv5f22gdk6dipfx1pjygz1x1k"
+   "commit": "2cdf02e99dbd2d7f765c08ad2f8477b4ea07d5f7",
+   "sha256": "19gsy0q8qddsm7mcf8ijkw2f92cqg7q32x7yhqblmmwbqa7zcsjf"
   },
   "stable": {
    "version": [
-    2,
-    10,
-    2
+    3,
+    1,
+    0
    ],
-   "commit": "1edbaec565d413a9c7d4c55e9356c38b2037e0f5",
-   "sha256": "0xqiisirpvw4ka9417pq4r73x937wl3qbf8cpn2i03akm8d58smd"
+   "commit": "8c20802c5f2262440dadbdca60b7901d09ca022f",
+   "sha256": "0a6qfm7x4nbfanjv33h1zgcwnywd77qbc4adya5kx8lndcn0669l"
   }
  },
  {
@@ -27129,11 +27165,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210723,
-    47
+    20210729,
+    1843
    ],
-   "commit": "c0a3e5398c3303d9336d3614ff8e2ce543501eaf",
-   "sha256": "18g86ymca74jkkrpjqxcy289rna968qrk4gpn09k52zf83xaafha"
+   "commit": "4f969299a4726058fae8773bd9c4fb7c58371c86",
+   "sha256": "1mfhqv66j45mqs90i5jywxw8cv5v1df42s4q5svx9f75jjwrn8l7"
   },
   "stable": {
    "version": [
@@ -27152,15 +27188,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20210717,
-    1845
+    20210729,
+    1543
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "c0a3e5398c3303d9336d3614ff8e2ce543501eaf",
-   "sha256": "18g86ymca74jkkrpjqxcy289rna968qrk4gpn09k52zf83xaafha"
+   "commit": "4f969299a4726058fae8773bd9c4fb7c58371c86",
+   "sha256": "1mfhqv66j45mqs90i5jywxw8cv5v1df42s4q5svx9f75jjwrn8l7"
   },
   "stable": {
    "version": [
@@ -27327,16 +27363,16 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20210619,
-    1246
+    20210726,
+    1926
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "6e0aaaf4c5598826b24c3079b80bf8af000a77c6",
-   "sha256": "016y0w1gy8z1gdri54njas20l3kw99jg5bjyrmcbmgzjmb1jq0y8"
+   "commit": "a0e26c1a143778f7378ec8a053725726e1e6aeef",
+   "sha256": "0j1jjwavdl3q33rn6zx9z3ka87d9fihd9s5bhrgw3x4fvgv8gikg"
   },
   "stable": {
    "version": [
@@ -27769,8 +27805,8 @@
   "repo": "rejeep/enclose.el",
   "unstable": {
    "version": [
-    20120618,
-    2019
+    20121008,
+    1614
    ],
    "commit": "2747653e84af39017f503064bc66ed1812a77259",
    "sha256": "0dz5xm05d7irh1j8iy08jk521p19cjai1kw68z2nngnyf1az7cim"
@@ -27910,7 +27946,7 @@
   "unstable": {
    "version": [
     20130407,
-    1236
+    1348
    ],
    "commit": "7fd2f48ef4ff32c8f013c634ea2dd6b1d1409f80",
    "sha256": "0v5p97dvzrk3j59yjc6iny71j3fdw9bb8737wnnzm098ff42dfmd"
@@ -28714,8 +28750,8 @@
     20200914,
     644
    ],
-   "commit": "286bbef128cb3194f8bd63cd5e497bea621c709a",
-   "sha256": "1i176damqxg0nqawhgr22ypzysnbk44aii0r81pl6zbwsvdxkqn6"
+   "commit": "c1c20b8d29838b4e0708b768d98e2edce933d15d",
+   "sha256": "1rscm80nrgr1c00vcp683rvc42wdll08jc3s2srvaxw3iadd03ln"
   },
   "stable": {
    "version": [
@@ -28738,8 +28774,8 @@
     20210315,
     1640
    ],
-   "commit": "4adbbaa681d902cc342f20c4e153d0cb6d866238",
-   "sha256": "01nq7qdmdpasvay3jg9kmg8wamvf37pwqcc37sfc85h81qf2rvc4"
+   "commit": "4a12f98146fb5f0484ae04b6bf1e469c3d882e12",
+   "sha256": "09rpzlvygp83drcwgbq75bxgi7m8xrap51mrgqc4rfgcmmmc3zk3"
   },
   "stable": {
    "version": [
@@ -28959,8 +28995,8 @@
   "repo": "dakrone/es-mode",
   "unstable": {
    "version": [
-    20201112,
-    2317
+    20201125,
+    2059
    ],
    "deps": [
     "cl-lib",
@@ -30195,15 +30231,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20210721,
-    658
+    20210726,
+    2220
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "5201f5cf5a4870e081d09bc3113a55cb94f3812f",
-   "sha256": "0i6b358vcsywx66fm5p4476rpy7bnl92zyjisb47kqlkznr3s25r"
+   "commit": "5c28294d830a5a79e9b9da2c32e7675d52d76720",
+   "sha256": "07va0zlaa9ykbjd6mrdpp2d428xpc1zf11vqsys0lfimcx2llxj6"
   },
   "stable": {
    "version": [
@@ -30963,26 +30999,26 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20210609,
-    1311
+    20210727,
+    1106
    ],
    "deps": [
     "evil"
    ],
-   "commit": "d7ad7f712b98aa64b7cc4fb16354b32666739c77",
-   "sha256": "1x7wpq0lgkp016yik6sc7b2abhixgcwk0mxx29dyycsjjkdlhp3a"
+   "commit": "80dc731ab736545541546ca64187e850bf0e39c8",
+   "sha256": "1j1p4z6ps58nbsh55l9h30gxbkrzwzkjpq7zl50q6yfc84z7byzk"
   },
   "stable": {
    "version": [
     2,
     3,
-    12
+    13
    ],
    "deps": [
     "evil"
    ],
-   "commit": "9cd0ddaacb3476221d37344715c759ed3cb538d7",
-   "sha256": "0l4ash907d91vccqdxjz1v5spd8f4va0vrdri6h9y1qc67mjlsph"
+   "commit": "80dc731ab736545541546ca64187e850bf0e39c8",
+   "sha256": "1j1p4z6ps58nbsh55l9h30gxbkrzwzkjpq7zl50q6yfc84z7byzk"
   }
  },
  {
@@ -31723,8 +31759,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "5201f5cf5a4870e081d09bc3113a55cb94f3812f",
-   "sha256": "0i6b358vcsywx66fm5p4476rpy7bnl92zyjisb47kqlkznr3s25r"
+   "commit": "5c28294d830a5a79e9b9da2c32e7675d52d76720",
+   "sha256": "07va0zlaa9ykbjd6mrdpp2d428xpc1zf11vqsys0lfimcx2llxj6"
   },
   "stable": {
    "version": [
@@ -31747,15 +31783,15 @@
   "repo": "iyefrat/evil-tex",
   "unstable": {
    "version": [
-    20210510,
-    1809
+    20210728,
+    2155
    ],
    "deps": [
     "auctex",
     "evil"
    ],
-   "commit": "87445d4d2339436179e792609bfbff0eaf056a9c",
-   "sha256": "014bwsnry6v07n9cv194gsiwny0jp6rxs5gl4dhqfwq9hbj74p84"
+   "commit": "9b3a560cc43cca73d2947747892f7d4f92c2c573",
+   "sha256": "0hain42prqaa08fc116a0qy12j8pbj4a8i589s6h87h4hhy8dj8d"
   },
   "stable": {
    "version": [
@@ -32791,15 +32827,15 @@
   "repo": "Wilfred/ez-query-replace.el",
   "unstable": {
    "version": [
-    20210525,
-    2222
+    20210724,
+    2247
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "3202cf4644ed3b6549284c3816b90bb230970a5b",
-   "sha256": "1xsvwf7g7c3v4p59svmahhn9pkr6zgp6vyr6dyvfy24mgaqw4jzv"
+   "commit": "2b68472f4007a73908c3b242e83ac5a7587967ff",
+   "sha256": "0zdgdqd9zi9fz6rn2z24jmpr83rzwbgxq0q38ynmskkd7n42a8ds"
   },
   "stable": {
    "version": [
@@ -32946,14 +32982,11 @@
   "url": "https://git.sr.ht/~pkal/face-shift",
   "unstable": {
    "version": [
-    20210707,
-    1127
-   ],
-   "deps": [
-    "cl-lib"
+    20210725,
+    2146
    ],
-   "commit": "0170ab2993211eb0f514f7d1ce14e8194a11f6b2",
-   "sha256": "0zj9h3nmswpc7q02a76rrzw3ypjwn1lwq5mkm6s28q0xrdpmrgq3"
+   "commit": "14dce79fc42116c49eb4c8a4ab7ca3c4bd7cbf6f",
+   "sha256": "0k10dskv9fzs1y05h7mq0z798kpwgkwwhh9dd9d7hdk70vkvlg66"
   },
   "stable": {
    "version": [
@@ -33105,8 +33138,8 @@
    "deps": [
     "popup"
    ],
-   "commit": "1096582f68cda91fe9d9336756b7c044ab0d6096",
-   "sha256": "0qp1nqcni5a3m9iaqar07sii6mpcnnqxmaf5n2fpz1iaz6bwsxva"
+   "commit": "eff6cba7b09611ce9ade56972f0ceccf227cf174",
+   "sha256": "0nzg2l9wxyqkhr4wj0mmcc4ydm1lx1smdcnsf1hs2yqh7bdgi02k"
   }
  },
  {
@@ -33371,11 +33404,11 @@
   "repo": "yqrashawn/fd-dired",
   "unstable": {
    "version": [
-    20210605,
-    1057
+    20210723,
+    549
    ],
-   "commit": "c223aee30af7dc7f52fb20045226ed9f49f4ec49",
-   "sha256": "14dzn3ggq8vb6qb5babngrpgsb29k6y8ficgzwwd9wfd5npynrpa"
+   "commit": "458464771bb220b6eb87ccfd4c985c436e57dc7e",
+   "sha256": "0253r4fbi9b8vk5akp1wz0krvik500jhy1hclwp1p0bwrq2irlml"
   },
   "stable": {
    "version": [
@@ -33493,11 +33526,11 @@
   "repo": "technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20210720,
-    1516
+    20210724,
+    2039
    ],
-   "commit": "12bdd8ee09ce2ba7c232df96fb199461d25a89c5",
-   "sha256": "13fyadml9wa30f4brdwfnby067q6bp2dl1y6x7hz0pzzlbk4sbs5"
+   "commit": "128702146298dad3f4d5409992e985fe670581d1",
+   "sha256": "12mvxziyrzgbmcg9kcqbscjld42ybl7km027m0kaln39awc0nb03"
   },
   "stable": {
    "version": [
@@ -33834,11 +33867,11 @@
   "repo": "redguardtoo/find-file-in-project",
   "unstable": {
    "version": [
-    20210720,
-    244
+    20210729,
+    5
    ],
-   "commit": "cde02e549512742366a91ffb70c86c354117cfde",
-   "sha256": "1xkpyn5lh6nhsmnq50174lnir9c9xhwb9ihvj0lw721s57xq3aa0"
+   "commit": "136018df39520433840d67acbbf92908ab115532",
+   "sha256": "0rgvk4r1iy4kncmxvgzlgb39dsjvvmihnqwrjgkmzdqfx9891m02"
   },
   "stable": {
    "version": [
@@ -38551,11 +38584,11 @@
   "repo": "d12frosted/flyspell-correct",
   "unstable": {
    "version": [
-    20210723,
-    505
+    20210724,
+    1042
    ],
-   "commit": "f9b57ea42938e272d9b7ac90d62c5496694ece00",
-   "sha256": "02vr4a0489l9kig9yypwx59dbaz44l2qi0akym1r5nsh4gmx9hsh"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38582,8 +38615,8 @@
     "avy-menu",
     "flyspell-correct"
    ],
-   "commit": "f9b57ea42938e272d9b7ac90d62c5496694ece00",
-   "sha256": "02vr4a0489l9kig9yypwx59dbaz44l2qi0akym1r5nsh4gmx9hsh"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38614,8 +38647,8 @@
     "flyspell-correct",
     "helm"
    ],
-   "commit": "f9b57ea42938e272d9b7ac90d62c5496694ece00",
-   "sha256": "02vr4a0489l9kig9yypwx59dbaz44l2qi0akym1r5nsh4gmx9hsh"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38646,8 +38679,8 @@
     "flyspell-correct",
     "ivy"
    ],
-   "commit": "f9b57ea42938e272d9b7ac90d62c5496694ece00",
-   "sha256": "02vr4a0489l9kig9yypwx59dbaz44l2qi0akym1r5nsh4gmx9hsh"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -38678,8 +38711,8 @@
     "flyspell-correct",
     "popup"
    ],
-   "commit": "f9b57ea42938e272d9b7ac90d62c5496694ece00",
-   "sha256": "02vr4a0489l9kig9yypwx59dbaz44l2qi0akym1r5nsh4gmx9hsh"
+   "commit": "00357953a736e21d0a1c8d76f5605820990544fe",
+   "sha256": "1jf1jd0y6pn61czgsb9bccj3zxwjyglv0cgvyjjkadk1biaz0chj"
   },
   "stable": {
    "version": [
@@ -39151,8 +39184,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20210716,
-    1447
+    20210727,
+    1934
    ],
    "deps": [
     "closql",
@@ -39165,8 +39198,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "49da45ac4515d7442ebd606f4ad4922a3e1439ff",
-   "sha256": "1vqhxckmkfbkvpnsigdb1625b5n0fpry2hxkympqnxspcccnijks"
+   "commit": "34cbaa7b6a77ba2e4c6750f4f922d3e887c08c67",
+   "sha256": "1bpkzzkm3r0ylfk319k0dr03ikllhps65yir5i7ybwafddj8albp"
   },
   "stable": {
    "version": [
@@ -39526,11 +39559,11 @@
   "repo": "tarsius/frameshot",
   "unstable": {
    "version": [
-    20200103,
-    1238
+    20210728,
+    1258
    ],
-   "commit": "1b5974f0cc7c2a34e5f9fab6b25578dad7df3dbf",
-   "sha256": "1rcx0la0njg3ij0xgw7l1wl8nlvdd0bj40v51wvmdybyiba7cdx6"
+   "commit": "63d42d913468cd0d75dcccb99e5517057fa34e25",
+   "sha256": "0ar5dxyxz7nwmh1b1rdiiy76fm43q0pxcpj5959pc7gqxbf5c1rh"
   },
   "stable": {
    "version": [
@@ -39652,11 +39685,11 @@
   "repo": "rnkn/freeze-it",
   "unstable": {
    "version": [
-    20210201,
-    731
+    20210727,
+    1535
    ],
-   "commit": "d5dc811fc892d78e042394bb4a1342dea2480b5c",
-   "sha256": "0n1w3rycc5cpqvhw6d1dzkwjdy1xx7bps7d994l4hcpdfx5c25lx"
+   "commit": "151d264a0d0593b413b5a984b391023e905a190b",
+   "sha256": "04cv6p9df7h6w9h2ina3y3mmkp0y1rs6d9wmzari0cbm7q50hz4l"
   },
   "stable": {
    "version": [
@@ -39989,8 +40022,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "d9b6d549251d4a1a7cec2e83b11bda2ef7ff4ed2",
-   "sha256": "0246kl945g5v539h1hvwg06jsmj10a4q8rld3g6jix2iy1jmnfw7"
+   "commit": "7b451bb813d242dbc0cd6c29d071e0b320f2200e",
+   "sha256": "0wvbjc40f3bph7vhkixnrqa7k18f5jl81zdvdrr3fplkqnm3vxwj"
   },
   "stable": {
    "version": [
@@ -40728,8 +40761,8 @@
   "repo": "emacs-geiser/gauche",
   "unstable": {
    "version": [
-    20200801,
-    2337
+    20200802,
+    1300
    ],
    "deps": [
     "geiser"
@@ -41316,15 +41349,15 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20210619,
-    1405
+    20210727,
+    1414
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "865424d4faf66048bfb3752856ac0cf68e1c6efe",
-   "sha256": "0kqjxwkm3n6r9zg6pi015g9ix4pyz7b2rngcmmrindcjb5h292a4"
+   "commit": "00a77b79c28e22db1b151c3f7857073ccbeff726",
+   "sha256": "0qrp2n53fhvwr5ndnmfzh841g88hzmcgz3i54hbcqq1gj6vwqd7f"
   },
   "stable": {
    "version": [
@@ -41690,8 +41723,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "0ea7868e368864da4604eaafa7dd332e70584cc8",
-   "sha256": "1np7rvp1la2l8gb8rkyjalgrhsk2zc9a9chdadx06769z16fbr2r"
+   "commit": "ad406cd28b4e08ddb6964c168c7c8dffb5debbc6",
+   "sha256": "10h3131a4zjnm90z73p6h8hh3iv8dgd4rd19vhrm05pbi1i6v7m8"
   },
   "stable": {
    "version": [
@@ -42343,11 +42376,11 @@
   "repo": "TxGVNN/github-explorer",
   "unstable": {
    "version": [
-    20210402,
-    1246
+    20210718,
+    824
    ],
-   "commit": "633b7371a6a00660422e195795c4b79f16bf29ae",
-   "sha256": "1wqnar0y6migb5n4hkz98r5bpxxx9m4qn15wg9cz213jpnykfkyy"
+   "commit": "98d759473ddfdddba0d82ff710aafc9ee6f0490b",
+   "sha256": "084scd1prj0i1ljz6l298a4yknqkj4rjl9yjvqmd605ac8ji3xh1"
   },
   "stable": {
    "version": [
@@ -44593,8 +44626,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "7822b34eb5d359ddae2f93d356c78c5ea05784d5",
-   "sha256": "0qkznd0a6cc32mwnmsa28lr8zji2nsi87kzcn467hq542zr61nz6"
+   "commit": "19e1a8188e003bae250ff6c40f61a31b638ce35d",
+   "sha256": "0iajd0qdcgh4vvl3f81z4r1pki9wkzy3hrywp1mmm5zhfncvhfis"
   },
   "stable": {
    "version": [
@@ -46645,16 +46678,16 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20210714,
-    1600
+    20210729,
+    1510
    ],
    "deps": [
     "async",
     "helm-core",
     "popup"
    ],
-   "commit": "f6cf6078a745ec6ab313dbe98097e3bd5cef0a8c",
-   "sha256": "1h00ay4jjzkvkv5wh9cnd187c3ix8rixasl3wl6ilbilvx1pwv37"
+   "commit": "2c6839f32afc5056b1045f21a1b9771452dfa8f9",
+   "sha256": "0mj1nywzhrj6arw5gnqfk72d0q9im1b2xssp7i10agg2isyfrc98"
   },
   "stable": {
    "version": [
@@ -46939,16 +46972,16 @@
   "repo": "tmalsburg/helm-bibtex",
   "unstable": {
    "version": [
-    20201214,
-    2111
+    20210725,
+    1510
    ],
    "deps": [
     "bibtex-completion",
     "cl-lib",
     "helm"
    ],
-   "commit": "a0d32ab16748b7b0c43d6421f1b497b7caf8e590",
-   "sha256": "0a0mn41lvqjx8rdrfgff5fjs757nin30caap7ciapnvr18g9mh5h"
+   "commit": "12079bb09f203dda5cc2dd003bd60a6ad490f762",
+   "sha256": "11y1yif6z26cc502s72p310z9m6130p5kyqb2py74r3x0k0nc61s"
   },
   "stable": {
    "version": [
@@ -47559,8 +47592,8 @@
    "deps": [
     "async"
    ],
-   "commit": "f6cf6078a745ec6ab313dbe98097e3bd5cef0a8c",
-   "sha256": "1h00ay4jjzkvkv5wh9cnd187c3ix8rixasl3wl6ilbilvx1pwv37"
+   "commit": "2c6839f32afc5056b1045f21a1b9771452dfa8f9",
+   "sha256": "0mj1nywzhrj6arw5gnqfk72d0q9im1b2xssp7i10agg2isyfrc98"
   },
   "stable": {
    "version": [
@@ -48406,26 +48439,26 @@
   "repo": "masutaka/emacs-helm-ghq",
   "unstable": {
    "version": [
-    20190526,
-    1409
+    20210724,
+    744
    ],
    "deps": [
     "helm"
    ],
-   "commit": "d0d6aa0f407388e7012f0443df8ae657ece01779",
-   "sha256": "08884pk0d6xplsn1z9slaf4b9mmam6s9dg4dcxi1na1inpi6y082"
+   "commit": "7b47ac91e42762f2ecbbceeaadc05b86c9fe5f14",
+   "sha256": "0a4piipqnsj0rnwmqz3vj674ljmy1bl33qr9hv959pw5b3jzqfh0"
   },
   "stable": {
    "version": [
     1,
     8,
-    0
+    1
    ],
    "deps": [
     "helm"
    ],
-   "commit": "d0d6aa0f407388e7012f0443df8ae657ece01779",
-   "sha256": "08884pk0d6xplsn1z9slaf4b9mmam6s9dg4dcxi1na1inpi6y082"
+   "commit": "7b47ac91e42762f2ecbbceeaadc05b86c9fe5f14",
+   "sha256": "0a4piipqnsj0rnwmqz3vj674ljmy1bl33qr9hv959pw5b3jzqfh0"
   }
  },
  {
@@ -48734,26 +48767,26 @@
   "repo": "masutaka/emacs-helm-hatena-bookmark",
   "unstable": {
    "version": [
-    20190609,
-    1455
+    20210724,
+    732
    ],
    "deps": [
     "helm"
    ],
-   "commit": "10b8bfbd7fc4c3f503b2bc01f0c062dac128059e",
-   "sha256": "17f7y7bw15y3x30j7b3ymp3gpnszfvnf8hmlgc1mkwafxvzv06i1"
+   "commit": "a6a2b37370ac84ca2cae5ef65b2b144a010b1584",
+   "sha256": "0zwngldnh6ys9m7v0fc4nwk1bcrwqvip08114vn4dcv8kl3lnxvv"
   },
   "stable": {
    "version": [
     2,
     4,
-    3
+    4
    ],
    "deps": [
     "helm"
    ],
-   "commit": "10b8bfbd7fc4c3f503b2bc01f0c062dac128059e",
-   "sha256": "17f7y7bw15y3x30j7b3ymp3gpnszfvnf8hmlgc1mkwafxvzv06i1"
+   "commit": "a6a2b37370ac84ca2cae5ef65b2b144a010b1584",
+   "sha256": "0zwngldnh6ys9m7v0fc4nwk1bcrwqvip08114vn4dcv8kl3lnxvv"
   }
  },
  {
@@ -49145,8 +49178,8 @@
   "repo": "julienXX/helm-lobste.rs",
   "unstable": {
    "version": [
-    20150211,
-    2214
+    20150213,
+    1546
    ],
    "deps": [
     "cl-lib",
@@ -49164,14 +49197,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20210324,
-    1515
+    20210729,
+    911
    ],
    "deps": [
     "helm"
    ],
-   "commit": "48696448e52d266f5b2cb5ee1390071dab4d16e8",
-   "sha256": "1nhza9af2xfwq1idk4g69kr4wyyf9samk3vi40jvkfnwap4w3ip4"
+   "commit": "d861fb407d72470db41ac458447b92c6d9b00206",
+   "sha256": "13hxglh5w70w5y7x4r7rqpa7npj4lfrajjjic8vizn71752cndkg"
   },
   "stable": {
    "version": [
@@ -54285,15 +54318,15 @@
   "repo": "idris-hackers/idris-mode",
   "unstable": {
    "version": [
-    20210614,
-    1212
+    20210728,
+    846
    ],
    "deps": [
     "cl-lib",
     "prop-menu"
    ],
-   "commit": "f52ad0b4770403561b40f1d0499ecaca70da886c",
-   "sha256": "1ai5ha67650ryj7mdxx6b86hlm2v13h7kipisgvxj5dss3j9j7lv"
+   "commit": "be578820a7e14cb4264a63eac272800a3540a7f3",
+   "sha256": "174xlr36n8iv8gmapmfy55jgppmbck0m51yhni35674f50q8200y"
   },
   "stable": {
    "version": [
@@ -55152,26 +55185,26 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20210322,
-    1421
+    20210723,
+    718
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "a2cebf5362fe583538dda8dcf6348a8d73b462a2",
-   "sha256": "0sfn6x08i7sd2k6z4swpd8hxaab3ly0gfyapcaq768chi0grr0gw"
+   "commit": "c23c55e662c16ec94e684b2ec9611e78531921a8",
+   "sha256": "070h1j2axc40c3j8q6kji4avjpns65hj5kjb8a7pv5xiac9j50cy"
   },
   "stable": {
    "version": [
     3,
-    0,
+    1,
     0
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "2c8e46b584be71fe1a585c9072da86382710dc59",
-   "sha256": "13rk3g58vaizp67c1plhfc80vsshdvvsz81wsf3076xp35p05w9b"
+   "commit": "c23c55e662c16ec94e684b2ec9611e78531921a8",
+   "sha256": "070h1j2axc40c3j8q6kji4avjpns65hj5kjb8a7pv5xiac9j50cy"
   }
  },
  {
@@ -55911,8 +55944,8 @@
   "repo": "dcjohnson/inverse-acme-theme",
   "unstable": {
    "version": [
-    20170615,
-    1337
+    20210204,
+    1640
    ],
    "deps": [
     "autothemer",
@@ -56432,11 +56465,11 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20210602,
-    1349
+    20210727,
+    1907
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "031d4d051da1d8fd20f0f46e8df66c426bf3174c",
+   "sha256": "16hsnh0l51vayr7a8h4y9h63pw0w5kzsdwhk90bypf2fpjgqdx94"
   },
   "stable": {
    "version": [
@@ -56463,8 +56496,8 @@
     "avy",
     "ivy"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "031d4d051da1d8fd20f0f46e8df66c426bf3174c",
+   "sha256": "16hsnh0l51vayr7a8h4y9h63pw0w5kzsdwhk90bypf2fpjgqdx94"
   },
   "stable": {
    "version": [
@@ -56496,8 +56529,8 @@
     "cl-lib",
     "swiper"
    ],
-   "commit": "a0d32ab16748b7b0c43d6421f1b497b7caf8e590",
-   "sha256": "0a0mn41lvqjx8rdrfgff5fjs757nin30caap7ciapnvr18g9mh5h"
+   "commit": "12079bb09f203dda5cc2dd003bd60a6ad490f762",
+   "sha256": "11y1yif6z26cc502s72p310z9m6130p5kyqb2py74r3x0k0nc61s"
   },
   "stable": {
    "version": [
@@ -56831,8 +56864,8 @@
     "hydra",
     "ivy"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "031d4d051da1d8fd20f0f46e8df66c426bf3174c",
+   "sha256": "16hsnh0l51vayr7a8h4y9h63pw0w5kzsdwhk90bypf2fpjgqdx94"
   },
   "stable": {
    "version": [
@@ -57039,8 +57072,8 @@
     "ivy",
     "prescient"
    ],
-   "commit": "54b19cf7121d9eb679c2ba26b3c26e82c8a90df9",
-   "sha256": "122j06gav4y6ghkjgwivlfqq1y4rl52sm8wskcq1gm3g7n36ds5h"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -58915,14 +58948,14 @@
   "repo": "tminor/jsonnet-mode",
   "unstable": {
    "version": [
-    20210627,
-    1451
+    20210726,
+    1251
    ],
    "deps": [
     "dash"
    ],
-   "commit": "404ebe3ca964fde99b7a6d89d2840ce53376d80a",
-   "sha256": "1ddkljjmvbm35gdw6wnys2na19826wxxgydlikn52nvchvr5z5z9"
+   "commit": "63c0f44fe7b5a333173235db7102ef8c2ae0b006",
+   "sha256": "1l7v5ibbl52ylbnz92ipw10ds8ahj3s2q4yxansnj8xy19kpjchz"
   },
   "stable": {
    "version": [
@@ -59071,8 +59104,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20210722,
-    426
+    20210728,
+    523
    ],
    "deps": [
     "dash",
@@ -59081,8 +59114,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "e4035da5322b9528b9751a0305a0feaa28e181fb",
-   "sha256": "1rpcsw7ddg7cs5mha7sn4j719rkvk04vwsri1y6d1c80y2fdlr10"
+   "commit": "7652679de3118c10659fdc492d67ec097e9ef46e",
+   "sha256": "1n41bvrrnqgj3qijdn4s7zac4xrfvyh759q99agycbsm1xdpkrvj"
   },
   "stable": {
    "version": [
@@ -59645,28 +59678,28 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20210605,
-    1117
+    20210727,
+    1225
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "7eb08e47bc5f227c72c318ff327c689ab54a7620",
-   "sha256": "181vnz6ancqhb13w9890pbplnw6lzbzcx3xkg4li9fk10lab72zk"
+   "commit": "1e6d02784a1c1e9f537b45aa487ee16885283b60",
+   "sha256": "1prs055mx64ck6dhwsj5xx0pk90mhw0vbinxwr2chn68zkzyvf6g"
   },
   "stable": {
    "version": [
     1,
     6,
-    4
+    5
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "c50bc11fdd42dc98ff806d1fc7cd94619c0ab7bb",
-   "sha256": "08ypmv43vjk1l409n894jxplnja6nicn2k3qwhwaf9qxhz0yxpjr"
+   "commit": "1e6d02784a1c1e9f537b45aa487ee16885283b60",
+   "sha256": "1prs055mx64ck6dhwsj5xx0pk90mhw0vbinxwr2chn68zkzyvf6g"
   }
  },
  {
@@ -59771,11 +59804,11 @@
   "repo": "ifosch/keepass-mode",
   "unstable": {
    "version": [
-    20210628,
-    729
+    20210110,
+    630
    ],
-   "commit": "fd7d380b762c888f25435d0c241012cdabf6e288",
-   "sha256": "1623hqlyk7qlvb5kigkyiji98a2vp39y0v6smag2mnqa3r89jq7l"
+   "commit": "515343a7667b2bf4253309449f65a6eb94933df7",
+   "sha256": "0hrq521swki0l3m81wk9p7pkc5j99li441fb75h7107v6z0p102c"
   },
   "stable": {
    "version": [
@@ -60454,8 +60487,8 @@
     20210318,
     2106
    ],
-   "commit": "143ba31a0a5c23d8c1a8d6fb1972d94cc1d7f31c",
-   "sha256": "1daisqp687p0bpjk8mj7c3sxq9clwi25byzbk7yx8l15rcr1bhr5"
+   "commit": "a55ad400a52e038f110df10d8f3c1e822b90f76c",
+   "sha256": "06kwhj190k7g5hqy9ibgphf1xrhkhzp36d0d3kqbqkdfc4jx7xaj"
   },
   "stable": {
    "version": [
@@ -60475,15 +60508,15 @@
   "repo": "stardiviner/kiwix.el",
   "unstable": {
    "version": [
-    20210723,
-    443
+    20210724,
+    1237
    ],
    "deps": [
     "elquery",
     "request"
    ],
-   "commit": "c0c597d1e1653112f3e10c67dcc22d85beb2aed8",
-   "sha256": "1k056qzw3a4i4icyrl1a0dv971jnl5d096hawj5qhgwslplrhdpj"
+   "commit": "71e770ce1e9994cf3e035cbcc7a2f26b1922323c",
+   "sha256": "0m6insjzl4hc00ank3i5f7y3mq734cbz085yfkm79vziy5j1i2bc"
   },
   "stable": {
    "version": [
@@ -61007,8 +61040,8 @@
     "auctex",
     "yasnippet"
    ],
-   "commit": "9d6f4448347fcf48d0fed51eba16423c9254c212",
-   "sha256": "0kfivjdjhlrbrn1z6i51y36s6f4qj386iy1jpcbvv33xa0lh5ksi"
+   "commit": "d6cd35d57ed9cd1728913ee75e42f575f090c3b9",
+   "sha256": "0i571idikvgryyar4sskl9k31jrn88cax7gm18mm6yfjq33ivk18"
   },
   "stable": {
    "version": [
@@ -61109,8 +61142,8 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "138e6794122f8601e58731a365930bd7cf5791ea",
-   "sha256": "0zj3i612h0sih7lyy4zvzldcrgqmsqcvr4y42zv75r81s0l6gddz"
+   "commit": "4cf69db45aeeb01feb6b38c88b6aa2d01ae4da13",
+   "sha256": "1ihs24dqnbzj37y9zrwdwzwnr1xrxcs4qxm0z3d1bjalffai2x13"
   }
  },
  {
@@ -61983,8 +62016,8 @@
   "repo": "phillord/lentic",
   "unstable": {
    "version": [
-    20190102,
-    2124
+    20210727,
+    1247
    ],
    "deps": [
     "dash",
@@ -61992,8 +62025,8 @@
     "m-buffer",
     "s"
    ],
-   "commit": "e6d013bf570bb235817f6c8f0abdd31d3b456d53",
-   "sha256": "0ksmb5mvcpa699bw62fkhrx1i8adgrzsbc2fivfsimq54y25rdd7"
+   "commit": "36861bdf9c1d88492648da553f66529e3a879880",
+   "sha256": "0cj19czxmrxw1id1ym1ai3k7sv9shl3lz4fqj8qyg73j4kj1gbn0"
   },
   "stable": {
    "version": [
@@ -62167,15 +62200,30 @@
   "repo": "tecosaur/lexic",
   "unstable": {
    "version": [
-    20210318,
-    1315
+    20210729,
+    1808
+   ],
+   "commit": "25c8d839cf78332c15b5762024ccb5f7c90b7a11",
+   "sha256": "14x4a6dw9ywzl16f4blg7bmb0rvvik5jjldilshjdxf4zpvy80fd"
+  }
+ },
+ {
+  "ename": "lf",
+  "commit": "8073246c85cf632c01c14c48c453e1fd80d49569",
+  "sha256": "1rs5lik11xqpm624p6l02vdmf0zsmlz422s0d1wlz3f5hnchv7p2",
+  "fetcher": "github",
+  "repo": "alhassy/lf",
+  "unstable": {
+   "version": [
+    20210729,
+    229
    ],
    "deps": [
     "dash",
-    "visual-fill-column"
+    "s"
    ],
-   "commit": "4ded6be2ce3e8dadc5635a534827181a8c8ab602",
-   "sha256": "116qjizqa83zy6xas5cah58sf22ha05pps2004wfgng487ln9n59"
+   "commit": "54994d4db09d879c247db9aecdc0b6f27dcb7e6a",
+   "sha256": "0slv6ix6z0pnwr4rphpyy0fk0ff0bx0h6vqb8qjf85gnwz8l6dwr"
   }
  },
  {
@@ -62270,8 +62318,8 @@
   "repo": "merrickluo/liberime",
   "unstable": {
    "version": [
-    20200915,
-    542
+    20210526,
+    623
    ],
    "commit": "4a6da0f6ab9b43651f3fcc73412e3480b9403caa",
    "sha256": "04ag7icqqdhz40fi91fx4bxx8j6vw2774gw1fbppbks3sasimyy0"
@@ -62437,8 +62485,8 @@
     20210303,
     1751
    ],
-   "commit": "3603e4473ce9f81c5d73ba623c1938e152d03723",
-   "sha256": "1s1wsz8w7i1p509dqvv0ykljlqlr56203k4lrc542vjdnj4ih4z4"
+   "commit": "ec85691c073f0c3cb5a96d3716c70a93ff207faf",
+   "sha256": "0319awqqr6wv05wwqkhi3wwdj0rv76h3j92dml3mr9nna4lcdaqa"
   },
   "stable": {
    "version": [
@@ -62447,7 +62495,7 @@
     0
    ],
    "commit": "ec88b4d6b430338a1a44a04dca1642fdef15641f",
-   "sha256": "02n5yc0nqckfpfxkw8gxigg59769alxvk043c2d9bxgm79zxvhhy"
+   "sha256": "0319awqqr6wv05wwqkhi3wwdj0rv76h3j92dml3mr9nna4lcdaqa"
   }
  },
  {
@@ -62598,14 +62646,14 @@
   "repo": "noctuid/link-hint.el",
   "unstable": {
    "version": [
-    20150922,
-    451
+    20210727,
+    1302
    ],
    "deps": [
     "avy"
    ],
-   "commit": "9fbf196d155016d9b8471a99318ed67a086cf257",
-   "sha256": "0v2g9gzf2v88ag59q1pf5vhd4qjnz3g4i6gzl27k6fi7pvlxdn39"
+   "commit": "d3c5bacc9c697c4cf8b14616c4199210f9267068",
+   "sha256": "1d25lf556c9idr0slzakcks93rcw032bp1hbbcqffrljqzapxz4x"
   }
  },
  {
@@ -63226,8 +63274,8 @@
     20210701,
     1955
    ],
-   "commit": "db1f98cc470972f92d72f40b78db4baff5768edd",
-   "sha256": "1wgqcb4m5nzkbxkvdx801h9d1wqswlqmqbar4282wabgnw78zwwy"
+   "commit": "23e674f8572f3189fbe3917af6f22e6ec8708818",
+   "sha256": "1j25p0hmdfyfhlfrdn02q2ng6sgnaqvcjz1ll7rl0liq5acjvd2w"
   },
   "stable": {
    "version": [
@@ -63367,11 +63415,11 @@
   "url": "https://hg.serna.eu/emacs/lms",
   "unstable": {
    "version": [
-    20201214,
-    1852
+    20210724,
+    1250
    ],
-   "commit": "e6dae7465423a5304d0e38e92625383d07fe6f52",
-   "sha256": "1axxfh96pl2s0c301ak1gjh10k744wafnza3qx4sqaxcka5f6hc9"
+   "commit": "b4f56e17933d1d4098eeb04ef665a3f18479def9",
+   "sha256": "0fcz8hz26pwpwbl5dq4w3z6vmnjjjzwckv19zhwxj7bgv9dnm6wa"
   }
  },
  {
@@ -63833,14 +63881,14 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20210710,
-    228
+    20210729,
+    144
    ],
    "deps": [
     "map"
    ],
-   "commit": "f3f81affc88e6cb9efbc5440b26e081cffddd311",
-   "sha256": "0ibag71yz92abhbxsry3sby7g5361n4y7qac5myav2rj4bcjsl0n"
+   "commit": "b38817b9e161947ec6433c34952ac0af90ae88cd",
+   "sha256": "1dzvw3zy7caslx7jidm2vqn2a53pcnvzdli0ywam1yfaj26fv6b3"
   }
  },
  {
@@ -63858,8 +63906,8 @@
     "dash",
     "loopy"
    ],
-   "commit": "f3f81affc88e6cb9efbc5440b26e081cffddd311",
-   "sha256": "0ibag71yz92abhbxsry3sby7g5361n4y7qac5myav2rj4bcjsl0n"
+   "commit": "b38817b9e161947ec6433c34952ac0af90ae88cd",
+   "sha256": "1dzvw3zy7caslx7jidm2vqn2a53pcnvzdli0ywam1yfaj26fv6b3"
   }
  },
  {
@@ -63926,8 +63974,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20210715,
-    1659
+    20210728,
+    201
    ],
    "deps": [
     "dap-mode",
@@ -63938,8 +63986,8 @@
     "lsp-treemacs",
     "pkg-info"
    ],
-   "commit": "8481da68a9df4061bc2cd884a3b73c14e8fb4bea",
-   "sha256": "1accwvgwjp6j82i26788g3k9zc4al9xjw700cpdgsxw7mn6lkw8n"
+   "commit": "1237f6762a6c8c8f0618c850a3c9be13655118a3",
+   "sha256": "0bw940zv6alh4gsryyll4k607c5lpl8fzr8v6qd2v91kydsks848"
   },
   "stable": {
    "version": [
@@ -64127,8 +64175,8 @@
   "repo": "emacs-lsp/lsp-java",
   "unstable": {
    "version": [
-    20210710,
-    1757
+    20210728,
+    1739
    ],
    "deps": [
     "dap-mode",
@@ -64140,8 +64188,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "b66a075bcb1edf57b09a0e1c73c3a399596d4760",
-   "sha256": "1s47y8hd9mnvz858h3sbdbdgrv3d1kdxag8flm44jla4yhgish7g"
+   "commit": "7ba9c459a484a9ef8d6a59e509c03d761fccde45",
+   "sha256": "1pi17qxqpaig8x2hpcdhwnvn3a8smgkkspc2a2gb9xwq9bcjglp5"
   },
   "stable": {
    "version": [
@@ -64357,8 +64405,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20210721,
-    511
+    20210729,
+    732
    ],
    "deps": [
     "dash",
@@ -64368,8 +64416,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "ac3b7e6efd1f8d4bb92aa4d89fc361fce3208c46",
-   "sha256": "1gx5y9j259q4iqnp7b58958wnpw8l3fdcs88zx38252givf814nx"
+   "commit": "f996db04e1159299c4fce2cbf3dc0cfa0e3966c4",
+   "sha256": "1w903yw2w4gwcz8ma1rpr2il8w76yh6gnifp3p2885r305xhsf5a"
   },
   "stable": {
    "version": [
@@ -65157,11 +65205,11 @@
   "repo": "roadrunner1776/magik",
   "unstable": {
    "version": [
-    20200304,
-    1323
+    20210728,
+    1354
    ],
-   "commit": "e54f934952cde3f96d6a131968295d993b3cf624",
-   "sha256": "1yivbgbcy5qvs55dn5lx08mbkmsd4mriymas9jgh7rn6hl14x8hj"
+   "commit": "d221002128b7954fb5705c37b974223514a9c4f0",
+   "sha256": "0h04i2xif8iqlrp85kp3p34snzhfcgqcf65asd1qblh0qlhp37gn"
   },
   "stable": {
    "version": [
@@ -65181,8 +65229,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20210721,
-    1556
+    20210728,
+    2026
    ],
    "deps": [
     "dash",
@@ -65191,8 +65239,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "0ea7868e368864da4604eaafa7dd332e70584cc8",
-   "sha256": "1np7rvp1la2l8gb8rkyjalgrhsk2zc9a9chdadx06769z16fbr2r"
+   "commit": "ad406cd28b4e08ddb6964c168c7c8dffb5debbc6",
+   "sha256": "10h3131a4zjnm90z73p6h8hh3iv8dgd4rd19vhrm05pbi1i6v7m8"
   },
   "stable": {
    "version": [
@@ -65538,8 +65586,8 @@
     "libgit",
     "magit"
    ],
-   "commit": "0ea7868e368864da4604eaafa7dd332e70584cc8",
-   "sha256": "1np7rvp1la2l8gb8rkyjalgrhsk2zc9a9chdadx06769z16fbr2r"
+   "commit": "ad406cd28b4e08ddb6964c168c7c8dffb5debbc6",
+   "sha256": "10h3131a4zjnm90z73p6h8hh3iv8dgd4rd19vhrm05pbi1i6v7m8"
   },
   "stable": {
    "version": [
@@ -65706,8 +65754,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "0ea7868e368864da4604eaafa7dd332e70584cc8",
-   "sha256": "1np7rvp1la2l8gb8rkyjalgrhsk2zc9a9chdadx06769z16fbr2r"
+   "commit": "ad406cd28b4e08ddb6964c168c7c8dffb5debbc6",
+   "sha256": "10h3131a4zjnm90z73p6h8hh3iv8dgd4rd19vhrm05pbi1i6v7m8"
   },
   "stable": {
    "version": [
@@ -66501,11 +66549,11 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20210721,
-    2100
+    20210729,
+    1226
    ],
-   "commit": "a3a8edbf25db4b1e167f1fdff6f60a065d0bf9cb",
-   "sha256": "0a4ra9fwyj5av4cjyj1y1y1z1kr6dnq39hhf51c072zqw3k3jar9"
+   "commit": "a36af71f8ac530fbb24700494f5b2a75f2cc0111",
+   "sha256": "18xxglr557svzmh2j2n6lybxd9rkwmafxfw6zxd6qxn2b11ps0fh"
   },
   "stable": {
    "version": [
@@ -66621,11 +66669,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20210722,
-    839
+    20210728,
+    756
    ],
-   "commit": "f3c4fd9230252503e3a9f2de6f5d469c4ac270ae",
-   "sha256": "08snhqw9kyg8vdaz7ibga0pf2j5cg1akjiphs88dgvxkph8m65nr"
+   "commit": "8158bc8239c531756fbf6602f4b4dea8d52eb4cc",
+   "sha256": "1g58va0a4m8q82nr16l693wngbbdj3xw07a937a2x21y1pzrgiih"
   },
   "stable": {
    "version": [
@@ -66964,15 +67012,15 @@
   "repo": "matsievskiysv/math-preview",
   "unstable": {
    "version": [
-    20210219,
-    1431
+    20210729,
+    1842
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "08aa7c47ffc85c9cba1c9812e1c14250cc4192e4",
-   "sha256": "1z371v68aw92iaj5mbsk47mfr44scgkwazbf9i6gzygq84fdm6dh"
+   "commit": "b6f54d7a53d2ed5c71fc9ab6d65da63103c799bc",
+   "sha256": "0hzchn5m5r0iv0im43paxbpd00fyv4m1rv53asp1fg2h27zg7xfz"
   }
  },
  {
@@ -67565,18 +67613,19 @@
     20210720,
     950
    ],
-   "commit": "3442c5f32498d566b9cfbe0f503eb4304820ca78",
-   "sha256": "0hh5qb3327n4zmb41aggb7q9468ixsda17bkj73qnc8afhfm4m6x"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67594,13 +67643,14 @@
     "auto-complete",
     "merlin"
    ],
-   "commit": "3442c5f32498d566b9cfbe0f503eb4304820ca78",
-   "sha256": "0hh5qb3327n4zmb41aggb7q9468ixsda17bkj73qnc8afhfm4m6x"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
@@ -67608,8 +67658,8 @@
     "auto-complete",
     "merlin"
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67627,13 +67677,14 @@
     "company",
     "merlin"
    ],
-   "commit": "3442c5f32498d566b9cfbe0f503eb4304820ca78",
-   "sha256": "0hh5qb3327n4zmb41aggb7q9468ixsda17bkj73qnc8afhfm4m6x"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
@@ -67641,8 +67692,8 @@
     "company",
     "merlin"
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -67689,13 +67740,14 @@
     "iedit",
     "merlin"
    ],
-   "commit": "3442c5f32498d566b9cfbe0f503eb4304820ca78",
-   "sha256": "0hh5qb3327n4zmb41aggb7q9468ixsda17bkj73qnc8afhfm4m6x"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   },
   "stable": {
    "version": [
     4,
-    2,
+    3,
+    1,
     -4,
     412
    ],
@@ -67703,8 +67755,8 @@
     "iedit",
     "merlin"
    ],
-   "commit": "fe7380bb13ff91f8ed5cfbfea6a6ca01ee1ef88c",
-   "sha256": "0dlrxss3i1z584l0dack8v3pf02bimx8bydqkj3bfiljqsi912v1"
+   "commit": "ba8ec63cf40b8999238c4639d111ca3bdb1e34cf",
+   "sha256": "1icd08irnj927d9hs5bzqjfdgc789829xy7032hs946ng44xkcg3"
   }
  },
  {
@@ -68262,14 +68314,14 @@
   "repo": "kiennq/emacs-mini-modeline",
   "unstable": {
    "version": [
-    20210312,
-    452
+    20210725,
+    900
    ],
    "deps": [
     "dash"
    ],
-   "commit": "3e67b8e59d46659df4b37dedf75485a366c93600",
-   "sha256": "1iqdbm90qj90a522qmssbqn5im0kxdw1kxq7z821ss3fag960xw8"
+   "commit": "fb2fc8661b4a32a40b3f5777ae1d69654c263ff0",
+   "sha256": "1bv06p6m5xygqcpwxngds2hral58h23jvp3di5dq3ac2hkf2m92l"
   },
   "stable": {
    "version": [
@@ -69056,20 +69108,20 @@
   "repo": "SidharthArya/modular-config.el",
   "unstable": {
    "version": [
-    20210629,
-    2319
+    20210726,
+    1614
    ],
-   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
-   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
+   "commit": "2bd77193fa3a7ec0541db284b4034821a8f59fea",
+   "sha256": "1bbycd4cr280vl643kvnzyml44mg63yh4i28bbszmj2yrkxy0frj"
   },
   "stable": {
    "version": [
     0,
     0,
-    3
+    5
    ],
-   "commit": "222ed4aab718ebcc2944c6cca87ebc3370d5ac3c",
-   "sha256": "0bdh5akywlj3grwclkl4vk82iij2jlvinmcp3xbi973n7y9i4s49"
+   "commit": "3c78fde6b7c53857c712408691427536d3c891bc",
+   "sha256": "057lhrlnyhl0hdp419lvl0fqpkkp3msmzn7gynvqmjig756dra7p"
   }
  },
  {
@@ -69080,11 +69132,11 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20210722,
-    1916
+    20210729,
+    950
    ],
-   "commit": "fd61a0c67ceafa3aeb0aeebddb93955148376b7e",
-   "sha256": "0l9gfq4qapa5snskb747jydprb0xvn80rjc83da1vwh4j8s3gavz"
+   "commit": "7447abafd82a1a7f9696ed5c193ae683609b5b82",
+   "sha256": "14wwfvc0gn3ciigslvbl8didxiif84ragwzwaya4wcchwjg5vzsj"
   },
   "stable": {
    "version": [
@@ -69427,11 +69479,11 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20210615,
-    1511
+    20210729,
+    1215
    ],
-   "commit": "9d8b2f758098d19781c7c5cdaeda5785e41be039",
-   "sha256": "1z9pspjrpclxznc9d16lix1zc0yx520jx1nqjbxj3kcwfxzkbbl4"
+   "commit": "9b679400ca885b8ff51bcfd75b87f79d66c0ee26",
+   "sha256": "14x3hd0z0nh0dyfi434vqywi7aawfxhlqj6sp7m17np56zq32yhi"
   },
   "stable": {
    "version": [
@@ -69786,8 +69838,8 @@
     20210306,
     1053
    ],
-   "commit": "d08f2a8d96af3ff80aac0e5641d9d20281084038",
-   "sha256": "1dbpy2bw131g5d166dmw5m4zq7y6h3krm7k1lv33cnbss10kj2fl"
+   "commit": "87f9ce226a32225cd3dfedde47a21fa16541ae88",
+   "sha256": "07364nxahcwn77l1xxr5gl9hqf0jc4q6gkzg0gs3wlwbbm9qdaic"
   },
   "stable": {
    "version": [
@@ -69913,8 +69965,8 @@
   "repo": "mpdel/mpdel",
   "unstable": {
    "version": [
-    20201026,
-    1123
+    20210107,
+    1303
    ],
    "deps": [
     "libmpdel",
@@ -70338,16 +70390,16 @@
   "repo": "lordpretzel/mu4e-views",
   "unstable": {
    "version": [
-    20210709,
-    150
+    20210729,
+    1158
    ],
    "deps": [
     "esxml",
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "9fbe402dc5931ba9cafec581ac3e6d86e9a9f2da",
-   "sha256": "0a73izknp2nkzklkhf9wyxy38fnw4f1jyimdcnh14m1v5bcw2wal"
+   "commit": "f3f454c7f92e8a9eecb5501af9ca81a547fd1841",
+   "sha256": "137r0kbd386954ydiwz6g9ff3j5289nqfzkvhp13rjjkrs668332"
   },
   "stable": {
    "version": [
@@ -70513,8 +70565,8 @@
   "repo": "sagarjha/multi-run",
   "unstable": {
    "version": [
-    20190507,
-    2349
+    20210108,
+    336
    ],
    "deps": [
     "window-layout"
@@ -70564,15 +70616,15 @@
   "repo": "suonlight/multi-vterm",
   "unstable": {
    "version": [
-    20201203,
-    1500
+    20210727,
+    1050
    ],
    "deps": [
     "project",
     "vterm"
    ],
-   "commit": "934397efd2e78a6b83d2b06ef4e4c281c0ae3c65",
-   "sha256": "0cz3zs9xd2zbyb9g9r4r893kl9nqk8i9l0zy66s500iy5522vcnh"
+   "commit": "a3df7218c1ecadef779e2c47815201052283f9ea",
+   "sha256": "0z6321994c4c8f5iya240pzvhirci9idlc110wjjwsm4pzdrrppj"
   }
  },
  {
@@ -72109,8 +72161,8 @@
     20181024,
     1439
    ],
-   "commit": "c8f8f2a9e3016ab7a9ecb2e8b084cf441f3ae88e",
-   "sha256": "1nj7w0dgvhmqy5hkdn0idf468x7s2h2y5372j13w3x1fkdcnyln8"
+   "commit": "d52a43d105040b92442e7c6657b50a2188b80ebd",
+   "sha256": "1pikcr0m533l03ffkwv9ak5w1zqcln3ar28km2052330mq93gpj4"
   },
   "stable": {
    "version": [
@@ -72411,16 +72463,16 @@
   "repo": "dickmao/nnhackernews",
   "unstable": {
    "version": [
-    20210716,
-    1030
+    20210729,
+    953
    ],
    "deps": [
     "anaphora",
     "dash",
     "request"
    ],
-   "commit": "50a6a7a58bc0316a9acc2b972380692f7438d9ed",
-   "sha256": "0q86wzl4va5xjj7czh6ldypwgb09gv8gp7kqi449bhx984a1yq7n"
+   "commit": "3a2fc7da6c6cfaba15fabcf1f3c9cf57b016c362",
+   "sha256": "1z91i6kl0bpsk87rl0ysfm8wifb3a196r82bxb6wlk6lkxlqr8jq"
   }
  },
  {
@@ -72702,8 +72754,8 @@
   "repo": "esessoms/nofrils-theme",
   "unstable": {
    "version": [
-    20180227,
-    2153
+    20180620,
+    1248
    ],
    "commit": "98ad7bfaff1d85b33dc162645670285b067c6f92",
    "sha256": "0f8s7mhcs1ym4an8d4dabfvhin30xs2d0c5gv875hsgz8p3asgxs"
@@ -72809,11 +72861,11 @@
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20210719,
-    1132
+    20210725,
+    1815
    ],
-   "commit": "bed62eb8bee4aeca1fabfa5e302b515849f50b31",
-   "sha256": "00mixvwwhrmmr7wcscyzdhwhbnfiha0b0lcx1f3zk5xyshll2y9n"
+   "commit": "b649b0c871e7fbfcd15a24d51b071bad2680e5d2",
+   "sha256": "1jvibldc37whindnq64ghnj6iha1k3nvvj8bkv9s2fm90g7y4zy1"
   },
   "stable": {
    "version": [
@@ -72993,8 +73045,8 @@
   "repo": "shaneikennedy/npm.el",
   "unstable": {
    "version": [
-    20200812,
-    1850
+    20210601,
+    1122
    ],
    "deps": [
     "jest",
@@ -74629,8 +74681,8 @@
     20210617,
     1726
    ],
-   "commit": "121f3913f5dad7468b33d4a5ca19e7a687d2ecfc",
-   "sha256": "104jaqllwzcikk17iajgnjnnqchgivj210mhrx07qrk5vy5qwv5d"
+   "commit": "269984a50006efe282c693a6315962c92749296a",
+   "sha256": "19w93zpffybb4zb0h12rvyfh0857f1vf3hyr1r7rmgwyslfgp6gh"
   },
   "stable": {
    "version": [
@@ -75189,8 +75241,8 @@
   "repo": "OmniSharp/omnisharp-emacs",
   "unstable": {
    "version": [
-    20201220,
-    906
+    20210725,
+    1955
    ],
    "deps": [
     "auto-complete",
@@ -75202,8 +75254,8 @@
     "popup",
     "s"
    ],
-   "commit": "5fad6835bee15792774183164dd423ba18cf1e01",
-   "sha256": "1ww202j6bh8ycw2wfngy9rw1hv5qrjg66bgp2yj28j12ag1qxn2r"
+   "commit": "e276ff140666057c6d6848f9cfc84a82e3a7650c",
+   "sha256": "0aicn5s368s6ks4dq5b8xga0ifijd4lkqawzs0a4y58z8s922h69"
   },
   "stable": {
    "version": [
@@ -77016,16 +77068,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20210719,
-    2242
+    20210727,
+    519
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "2ea00944a7426012cda95cede99e49470f1383aa",
-   "sha256": "179h5j0k79hbbxz2n3x6hm1v2ws9qii6n8zx4800avbq1fgsh792"
+   "commit": "c8b05805f897b5325e12d94e4f10a287219db44d",
+   "sha256": "1vd49wxdj8r228xk9hpqig1f68m0iv5rsrj24ya4rdlf3z4671p4"
   },
   "stable": {
    "version": [
@@ -77169,14 +77221,14 @@
   "repo": "stardiviner/org-link-beautify",
   "unstable": {
    "version": [
-    20210704,
-    2214
+    20210724,
+    1406
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "40d40c1e6187ec9c13292beb3f7f319f189264d8",
-   "sha256": "0253i9hvq9yki97jmdrvbv82xbgdrq76l73frq6xbbzzhw6615m6"
+   "commit": "e34c314b84a0c2aef50772baa7c849f54323f598",
+   "sha256": "0bq1fl8qn3sf9wmqjj27ii42b95g501c16dbwziapvm3jhw3cz6h"
   }
  },
  {
@@ -77423,14 +77475,14 @@
   "repo": "jeremy-compostella/org-msg",
   "unstable": {
    "version": [
-    20210716,
-    2237
+    20210728,
+    2037
    ],
    "deps": [
     "htmlize"
    ],
-   "commit": "7cedeeece58879e05d3a3bab8af1385006f234df",
-   "sha256": "0gw34smbw9v0f3xwjci7zsj8hbnqd54yzbph6az65r5634nqhiv2"
+   "commit": "bb51a47513d1c4232aca8ca2c705ec57bd174b4b",
+   "sha256": "01xhhq0r36hkfhhacvwm7nwajvl7j8v3qbpn1xhi3vyy3zabhpzp"
   }
  },
  {
@@ -78251,8 +78303,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20210510,
-    1614
+    20210726,
+    1533
    ],
    "deps": [
     "bibtex-completion",
@@ -78267,8 +78319,8 @@
     "pdf-tools",
     "s"
    ],
-   "commit": "8aa2bb45268f660956151547533689d4ec30378d",
-   "sha256": "0ihjjmysldxx8n3q7mi06p5ydxknxy347c9lf3gnlgzcc776a49v"
+   "commit": "839ca73f3ae451efbf82859dcd17b63375cb8d76",
+   "sha256": "0zhzxmwlgwa0c27rfqpbpz7k477mm5ahhxyvmkvk6nafv5gdryc6"
   },
   "stable": {
    "version": [
@@ -78394,8 +78446,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20210721,
-    1746
+    20210729,
+    1527
    ],
    "deps": [
     "dash",
@@ -78405,8 +78457,8 @@
     "magit-section",
     "org"
    ],
-   "commit": "9c10a3c04c06d1658a63d44927e385e2d97854d6",
-   "sha256": "0kd7wkd6k37ahsgmcjcs0msp02x6vfkq8gdih210yp2w6vz10hhy"
+   "commit": "127d6efa485c2d7846e1ec88954f4bf93623281f",
+   "sha256": "1663brqgysfkn5ja26jm6f4rf8zjdvrbbfkwi0xcfkac2sg2f4bq"
   },
   "stable": {
    "version": [
@@ -78434,16 +78486,16 @@
   "repo": "org-roam/org-roam-bibtex",
   "unstable": {
    "version": [
-    20210720,
-    1306
+    20210729,
+    1238
    ],
    "deps": [
     "bibtex-completion",
     "org-ref",
     "org-roam"
    ],
-   "commit": "13de4262d87debdbc43f8e2bd72b991b7284e705",
-   "sha256": "0iizd5vzxxl7fsm7k4y7dwisipsqwc3xqn33nk8r4c182mga3d9c"
+   "commit": "919ec8d837a7a3bd25232bdba17a0208efaefb2a",
+   "sha256": "0ir7516ngagf8mvy3qdir50bfigrqd2pl45c4g2y5cih5lvmfsn6"
   },
   "stable": {
    "version": [
@@ -78468,8 +78520,8 @@
   "repo": "org-roam/org-roam-server",
   "unstable": {
    "version": [
-    20210521,
-    1055
+    20210723,
+    1424
    ],
    "deps": [
     "dash",
@@ -78479,8 +78531,8 @@
     "s",
     "simple-httpd"
    ],
-   "commit": "a0f82bf41e318d4ef606a26f54054262ed6c3441",
-   "sha256": "06j8wabbxay9h8ca4pbv5xgjygfzbb3kbk4icni3lrfj6izsp3i4"
+   "commit": "35cd20280428470d37c1bff18d26cd49436ec3a2",
+   "sha256": "0xf229xkvzwaxwg2aqxgxpsi89aw3dp76ixhpkwyx6l52798nznf"
   },
   "stable": {
    "version": [
@@ -78879,8 +78931,8 @@
     "s",
     "ts"
    ],
-   "commit": "f5e80e4d0da6b2eeda9ba21e021838fa6a495376",
-   "sha256": "18q1af3hjjbsny9lxqjsq68qjzzpdjqgx7npg7pl7k3hzdjaj42f"
+   "commit": "a5557ea4f51571ee9def3cd9a1ab1c38f1a27af7",
+   "sha256": "1xbdkscg32pqpwzs50igdwkyi2k2mgi01wkqm7rc6bhrpgsk9gkw"
   },
   "stable": {
    "version": [
@@ -78936,8 +78988,8 @@
   "repo": "arbox/org-sync",
   "unstable": {
    "version": [
-    20181203,
-    2242
+    20181204,
+    23
    ],
    "deps": [
     "cl-lib",
@@ -79041,15 +79093,15 @@
   "repo": "stardiviner/org-tag-beautify",
   "unstable": {
    "version": [
-    20210527,
-    1130
+    20210729,
+    929
    ],
    "deps": [
     "all-the-icons",
     "org-pretty-tags"
    ],
-   "commit": "20193bf9b07efba03fdd5ffb2852cd43fcd88051",
-   "sha256": "0diccvg4gx9djayihd1hp39q5n2s8cahck93s5r58vk0d4jlcyyk"
+   "commit": "69e7dcb50278ff0d7b220cda9562d4fe7e4db0ec",
+   "sha256": "0wyqjzb2ph7092ghrnq0gxaf4r57mvcm0007kqpzqvknc3byd38d"
   }
  },
  {
@@ -80960,14 +81012,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20210518,
-    108
+    20210727,
+    117
    ],
    "deps": [
     "org"
    ],
-   "commit": "290b5d6b659addf99cb96a316fb24caa90ad0e77",
-   "sha256": "04isqw4wfn5hq772sf0szq2rc3b8finhgjc5cna2sw7bhfgycywb"
+   "commit": "8345ceb90ff1314d598c6b67ba6ee7616e2b0bc4",
+   "sha256": "09x5dr4kc9pxz8iw1ibl262164akr1m5gms5cws2q3zy04qjqfzl"
   },
   "stable": {
    "version": [
@@ -81760,14 +81812,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20210707,
-    1424
+    20210724,
+    1143
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "eea82edcbcc95e9cd35e33243d77adeb88ec7edc",
-   "sha256": "018pihaz1msmizhfjqwsp4d1aa9idiri4nrf6ifkpp6v6j8k7mva"
+   "commit": "01246e739da2eded6e007631861cada633302faa",
+   "sha256": "03w5yaivh2zc8c42zrfqmrlcc8lkmg3jjxa7sf223bwq1v9xypdj"
   },
   "stable": {
    "version": [
@@ -81864,11 +81916,11 @@
   "repo": "tttuuu888/package-loading-notifier",
   "unstable": {
    "version": [
-    20210608,
-    1406
+    20210724,
+    1700
    ],
-   "commit": "1e30d097de8939c4aa380915d3ba3060a87ce3c6",
-   "sha256": "0wmf3pfjvxrv86mpvbkn5n4drc20yc12fwm4k6a613br0bs75gan"
+   "commit": "895ab23f970f954349ccb6c89d397ad7d86087f8",
+   "sha256": "0maa3w06wx54f482z2k6d0vq8mr01j75nnbb7d0mjw15d6qi7pbk"
   }
  },
  {
@@ -82692,15 +82744,15 @@
   "repo": "clojure-emacs/parseedn",
   "unstable": {
    "version": [
-    20200419,
-    1124
+    20210729,
+    1657
    ],
    "deps": [
     "a",
     "parseclj"
    ],
-   "commit": "90cfe3df51b96f85e346f336c0a0ee6bf7fee508",
-   "sha256": "0fhmxj8qjhpqzmj07phf1njkjryc6d2qqqcl4f515b6hly1l41kz"
+   "commit": "7b9ca20b398ca0ca0e3005e84c16f23aab49b667",
+   "sha256": "0knv5m6w7v9zi94b6qi861r271l49pxzmwzp4nm595c33lxagqj2"
   },
   "stable": {
    "version": [
@@ -83188,11 +83240,11 @@
   "repo": "JonWaltman/pcmpl-args.el",
   "unstable": {
    "version": [
-    20210722,
-    329
+    20210729,
+    331
    ],
-   "commit": "36139ba64f43a3d3f4090ef0118bcebfef7e20c9",
-   "sha256": "1isab23shk1gfk54z4ppbnnkrm527rzb9cvbqqa47s8gv9k7zbnm"
+   "commit": "7d444d5793c779a863d5834572c1dae4d87a250b",
+   "sha256": "0mvpbv0y25qvk42yrhkawbimff92mbd8kgpcb8rb3lvdjv4mh0n0"
   }
  },
  {
@@ -84197,14 +84249,14 @@
   "repo": "OVYA/php-cs-fixer",
   "unstable": {
    "version": [
-    20201126,
-    1538
+    20210729,
+    1022
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "c5b5d8a4986b31bade5e2a57131469bf90630db8",
-   "sha256": "0v6nhyrkcb4nw1b0d30wlns0f82h5a8i7wf5jsb0wjlbqgxabx4b"
+   "commit": "cc9a3624dcdc72d748d91e3d7cdb8544a1d85a51",
+   "sha256": "1iiazmyzr6gxwsdpx687j0zp3s1zs0rk4kgv4hicl9mjda2f7dmz"
   },
   "stable": {
    "version": [
@@ -84265,20 +84317,20 @@
   "repo": "vpxyz/php-quickhelp",
   "unstable": {
    "version": [
-    20210721,
-    1945
+    20210725,
+    1413
    ],
-   "commit": "f22e6d31aad504094b441e2f635869fc97939ddf",
-   "sha256": "12dwjrflhbih1v75sxh0kp4w67i4xzccyxvy9601f94xnrha9s84"
+   "commit": "18678b9648a4227e612df773bac9ec46fc51b75d",
+   "sha256": "0x2n95sd85486irk04ig07lmilzc5v3448ys6p0kwn7357iir6wv"
   },
   "stable": {
    "version": [
     0,
     5,
-    3
+    4
    ],
-   "commit": "f22e6d31aad504094b441e2f635869fc97939ddf",
-   "sha256": "12dwjrflhbih1v75sxh0kp4w67i4xzccyxvy9601f94xnrha9s84"
+   "commit": "18678b9648a4227e612df773bac9ec46fc51b75d",
+   "sha256": "0x2n95sd85486irk04ig07lmilzc5v3448ys6p0kwn7357iir6wv"
   }
  },
  {
@@ -86784,11 +86836,11 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20210723,
-    143
+    20210724,
+    1756
    ],
-   "commit": "54b19cf7121d9eb679c2ba26b3c26e82c8a90df9",
-   "sha256": "122j06gav4y6ghkjgwivlfqq1y4rl52sm8wskcq1gm3g7n36ds5h"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -86853,14 +86905,14 @@
   "unstable": {
    "version": [
     20210606,
-    1150
+    1152
    ],
    "deps": [
     "iter2",
     "nvm"
    ],
-   "commit": "85c9349de2730b71c5796e342d67efee34faa9ed",
-   "sha256": "06gcqnd6wwcxqij4gx06y16kcqsh5znhs7hi5kwhzrbvqvqvrki8"
+   "commit": "e38d21a885e234af9ea6b03f499c487175570571",
+   "sha256": "1c7n43xi1sjprqn0xhd1hfdr39ipqiw1r8w76qbm3xx04h9bccy8"
   },
   "stable": {
    "version": [
@@ -87952,8 +88004,8 @@
     20200619,
     1742
    ],
-   "commit": "d662ec9c2e4f8ca21cb500b25cfe7430511014b2",
-   "sha256": "1n8ls2pm36imqg98yz20q9nyyxf4z0250mp4aigjcv3c66j8fp2a"
+   "commit": "53365065d9b8549a5c7b7ef1e7e0fd22926dbd07",
+   "sha256": "07r0mvflnhhnqc5igmv6r894nrv70a4j6sf9fzz23ka945ss5dgq"
   },
   "stable": {
    "version": [
@@ -88806,16 +88858,16 @@
   "repo": "dwcoates/pygn-mode",
   "unstable": {
    "version": [
-    20210721,
-    1917
+    20210724,
+    2207
    ],
    "deps": [
     "ivy",
     "nav-flash",
     "uci-mode"
    ],
-   "commit": "30cce9c134f685d7f2db81aa879e683864a23b66",
-   "sha256": "0q4q5wziwy2nhv0yyx7k5jx6bccx9lxr4f97njb06j2nvz2x7k1v"
+   "commit": "7298c3cd798853309bece115848e9d0400a7a627",
+   "sha256": "049aw0cs8kh4p2113v7f2cxcv9277zby02hxalg86bx0rdy8yaz5"
   },
   "stable": {
    "version": [
@@ -89010,17 +89062,17 @@
     20210411,
     1931
    ],
-   "commit": "a054796d7008f4531b482490f917bdef1454b8fd",
-   "sha256": "07zs0dzh500xs26ybyfz2z4wigc74l6wq3z1225gnblphhzl4jv9"
+   "commit": "ca3bc53fd8d628473fba25c7736d0abfac8e4a4a",
+   "sha256": "0yhkj2468si884x748v0a3jhzyg890fvxv02y5g5v8alpj19j1jj"
   },
   "stable": {
    "version": [
     2,
     9,
-    5
+    6
    ],
-   "commit": "ec8219e48f031f93377cc7d862a6f3bf80d76dbf",
-   "sha256": "1fixqimr8mq0mg5qs8wj4hbrzlw9925x72311is4s5r8phyjaabb"
+   "commit": "444f654e23de0772036c0e29c8e5745e48a8970c",
+   "sha256": "15yw69v1cj6zkndk60c2g0dgl0khh8bfm1lrwhjffpdjfc7nkc9a"
   }
  },
  {
@@ -89912,15 +89964,15 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20210720,
-    2002
+    20210727,
+    1545
    ],
    "deps": [
     "faceup",
     "pos-tip"
    ],
-   "commit": "76ca5838cbc266c306aa54964410730f6fd93d88",
-   "sha256": "1q4cgsi659bk4p1avl6bpzfhlf314432mqjhj3hlyxhf4d3nza8m"
+   "commit": "ef9a3fed943495ec2b0c8258f8e00307d6434b17",
+   "sha256": "0rkhkhpjpnp4h3c60ms9637737sfz6nfjlvlgvw0wfa51bvmzimd"
   }
  },
  {
@@ -90869,7 +90921,7 @@
   "unstable": {
    "version": [
     20210513,
-    1453
+    2237
    ],
    "deps": [
     "load-relative",
@@ -92514,8 +92566,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20210628,
-    1648
+    20210723,
+    1236
    ],
    "deps": [
     "cl-lib",
@@ -92523,8 +92575,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "b93e761209211f8a6de1bb4b8f1d36651564a8d9",
-   "sha256": "0z0iwsqr92g8ykxb51gkawwxwzx0faw0027zgdi7c38ngjqld237"
+   "commit": "1d9bcc6dad4182e9b6a5839f8261b260e57be2fc",
+   "sha256": "157hndsslfxyi4n927y67shnk2xwhwz0idxwkdhcd4zl9jjzwpqr"
   },
   "stable": {
    "version": [
@@ -92999,14 +93051,14 @@
   "repo": "Andersbakken/rtags",
   "unstable": {
    "version": [
-    20200310,
-    1909
+    20210721,
+    2314
    ],
    "deps": [
     "rtags"
    ],
-   "commit": "65113e2a137baa9f85dc2157b893291470788dc4",
-   "sha256": "1qc4hy6r2sz59nb28xrrqiad91xbmsrr9jzhi4k915qgds6m029h"
+   "commit": "3a057f127b931c683288f8731f05ba5e2aab4133",
+   "sha256": "1brf05grh0xdcjllaiixpjxmcg2j130gcrxkqm5v4ryb1w9fki7g"
   },
   "stable": {
    "version": [
@@ -93861,8 +93913,8 @@
   "repo": "djcb/sauron",
   "unstable": {
    "version": [
-    20201011,
-    905
+    20201015,
+    836
    ],
    "commit": "5daade4836da5b1b2ab26d84128d6c38328a5d52",
    "sha256": "0fkq8knq023zm538ls4zxghlkn9zf4rfccpmmgfcpad6bdm00cpc"
@@ -94024,8 +94076,8 @@
     20200830,
     301
    ],
-   "commit": "cff035686cc9505d114115646e4d98edac307512",
-   "sha256": "0w5bzlsbs5zdk3h8ij019yj7861ggg0a4wcqwq7dm7rwf1bshsl2"
+   "commit": "bb54b9743aca98017746959e2cf0d9c9e0844110",
+   "sha256": "0yj3ivxbzgv2x96jsagnvn059hh7r65qpmz7gv76l8b6qnfr1i80"
   }
  },
  {
@@ -94524,8 +94576,8 @@
   "repo": "t-e-r-m/sculpture-themes",
   "unstable": {
    "version": [
-    20210524,
-    354
+    20210530,
+    624
    ],
    "commit": "1da2b3501f3732b4a58d28b502e356226a43a96f",
    "sha256": "198rjkyv876h7mbs73h8dq4lx5xhl66p7xrpvb23v0vk4vw0q5vz"
@@ -94866,15 +94918,15 @@
   "repo": "raxod502/prescient.el",
   "unstable": {
    "version": [
-    20210425,
-    1720
+    20210724,
+    1756
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "54b19cf7121d9eb679c2ba26b3c26e82c8a90df9",
-   "sha256": "122j06gav4y6ghkjgwivlfqq1y4rl52sm8wskcq1gm3g7n36ds5h"
+   "commit": "027c2137a8d9e01a1d4c7b5e5d98da017dd2d48e",
+   "sha256": "04hwfqia53bk2fi7kw1pzwi5v0rgimr15kw6mmjlvcmwk0c1mghr"
   },
   "stable": {
    "version": [
@@ -95885,11 +95937,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210721,
-    148
+    20210725,
+    2353
    ],
-   "commit": "635a71df74d755113f26a6c6d9ae48ccb485393d",
-   "sha256": "0llby9858sjfxrh6x5nklkm24lmk6d5xm6mw0y6d02pn6rinx0sx"
+   "commit": "f0baf78897c95799a725d6f9092eef4a55a7f518",
+   "sha256": "1cb5c8fmdg5fzqcj9dsqxb0xah7kk5sl0crm9rq6l13zvvqn714a"
   }
  },
  {
@@ -96536,14 +96588,14 @@
   "repo": "andreas-roehler/simple-paren",
   "unstable": {
    "version": [
-    20210206,
-    2015
+    20210729,
+    611
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7b17fcc467e485dce5550be901d26223b8ad3f23",
-   "sha256": "1ksckai0hr2345vpjsahv0kzk8h52vrg2wki290v5aj64iy2nw76"
+   "commit": "9601e6b15f36d2e3a721043820a650413cbee42b",
+   "sha256": "1mclkg8frsljzcklfbbbnr72i9i990ag41n2iivbf1p27xbcp5cc"
   }
  },
  {
@@ -97202,11 +97254,11 @@
   "repo": "joaotavora/sly",
   "unstable": {
    "version": [
-    20210721,
-    1756
+    20210729,
+    1613
    ],
-   "commit": "e8f57c09cb4cc857887310e61eed7325500e9998",
-   "sha256": "1ipbi9h1p943mxzyc81wyrpyah41dhg33kmb3y9cy6avr2pkm1ry"
+   "commit": "540a8c5b9a04af0a6907e07cb070f1fed8a76f48",
+   "sha256": "13m15gcsqmagxmjvn28kd5rhh0ly7d4p4malhg5m7cbbms4svv68"
   },
   "stable": {
    "version": [
@@ -98436,14 +98488,14 @@
   "repo": "bbatsov/solarized-emacs",
   "unstable": {
    "version": [
-    20210112,
-    1050
+    20210724,
+    703
    ],
    "deps": [
     "dash"
    ],
-   "commit": "8271679a627148c96ad894f960cec9b1abfb1e6c",
-   "sha256": "1xrya65z54si9cf64whllq7vhw5dnafal9q2m4jf62jvxmbjdfsi"
+   "commit": "e281635dbaecb1715805a604f3404e7143a19356",
+   "sha256": "0a1sv5x49adj5s26khandc86y844vqk7241jc5qsli2dvdbxsqdg"
   },
   "stable": {
    "version": [
@@ -99839,11 +99891,11 @@
   "repo": "srfi-explorations/emacs-srfi",
   "unstable": {
    "version": [
-    20210721,
-    125
+    20210727,
+    1800
    ],
-   "commit": "de1fdca07229e5d43c18cb3dc300397849eeab78",
-   "sha256": "0vdlcy211zx3fr8vcl6hm8xj8v3wkjj4y7pjcni9g87iijzf6gx2"
+   "commit": "70935753de73724f338700725462dec2cfda90f7",
+   "sha256": "1z1cvkbxpw28pgi6fzmkk1w6ha339pw09qy1hzppis8haijj0zxs"
   },
   "stable": {
    "version": [
@@ -99956,11 +100008,11 @@
   "repo": "jhgorrell/ssh-config-mode-el",
   "unstable": {
    "version": [
-    20210714,
+    20210724,
     951
    ],
-   "commit": "1c8f8779f20479e55f9d3d1151f1f68c1dff56f2",
-   "sha256": "0vcs6bz3qzw06c7bs253m9q2l43k8nppzdv7hqbybcdh4fakp8xw"
+   "commit": "2642659aa4cb882d95d84f780e8f8bf5e3a9114b",
+   "sha256": "1fivfpadw14cw9f78jpjhn7zl1b9sh3jhh7g8lh7f62kjv2p0a9m"
   }
  },
  {
@@ -100432,20 +100484,20 @@
   "repo": "akicho8/string-inflection",
   "unstable": {
    "version": [
-    20210712,
-    755
+    20210729,
+    658
    ],
-   "commit": "bf60b0c943cc0934aa188ada7c1c16053517df07",
-   "sha256": "077qxldhya397ka96786w0876bwa77x0il3zwixa9pcbqmqsg8qd"
+   "commit": "73b9a35e80e09ba744f2c364db4291f2d6f0a17a",
+   "sha256": "0g4lm384380q03pdspqzv8rb2gppb77m354r0xzw71340w8xh3hd"
   },
   "stable": {
    "version": [
     1,
     0,
-    13
+    14
    ],
-   "commit": "96a9baf4936df43b9f46804629384b79238691c3",
-   "sha256": "1v8h05m7iwxqp7lypdngib2620z0x23zc715vxqpqys79djwh9yh"
+   "commit": "73b9a35e80e09ba744f2c364db4291f2d6f0a17a",
+   "sha256": "0g4lm384380q03pdspqzv8rb2gppb77m354r0xzw71340w8xh3hd"
   }
  },
  {
@@ -101380,8 +101432,8 @@
    "deps": [
     "ivy"
    ],
-   "commit": "56139df678d9886d0612c0a192cce2cf6f156628",
-   "sha256": "0xjjdq3vmpm3fpvmd3g57m4ldixx8j73in0nmdx4vvnzvh0n904g"
+   "commit": "031d4d051da1d8fd20f0f46e8df66c426bf3174c",
+   "sha256": "16hsnh0l51vayr7a8h4y9h63pw0w5kzsdwhk90bypf2fpjgqdx94"
   },
   "stable": {
    "version": [
@@ -101591,14 +101643,14 @@
   "url": "https://tildegit.org/contrapunctus/sxiv",
   "unstable": {
    "version": [
-    20210713,
-    1845
+    20210514,
+    918
    ],
    "deps": [
     "dash"
    ],
-   "commit": "14057b156dd57610edf101403e653be874a342bb",
-   "sha256": "14wh7fw45w5cfdqibrcfzahsf4cwbi97xp16jd773ynkcf049cjs"
+   "commit": "028409c3a9ff7ba33a1cc2158abfc1793ed50717",
+   "sha256": "0zscfz1f6sgf4b9arfj9bmyvxqlpphm7q36k73zn5hn28kzd9di4"
   },
   "stable": {
    "version": [
@@ -101711,8 +101763,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20210720,
-    1708
+    20210727,
+    1646
    ],
    "deps": [
     "evil",
@@ -101724,8 +101776,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "acd0874024018a3352761ffef3ca88916370b195",
-   "sha256": "17fi4jzsfp2k1fp772b75ihjsg602qyc1vzc0k6vv0p05kiv8s2x"
+   "commit": "e775e97d5bca462571078f727796727088833949",
+   "sha256": "0gmwkn5az4xrz9d85xd16bg1h8p5mph344800pqcpapqs389cpba"
   },
   "stable": {
    "version": [
@@ -101958,15 +102010,15 @@
   "repo": "vapniks/syslog-mode",
   "unstable": {
    "version": [
-    20210722,
-    1112
+    20210727,
+    1827
    ],
    "deps": [
     "hide-lines",
     "ov"
    ],
-   "commit": "e18d74d8a12b943a3a64eb8c693981e55aea8e9a",
-   "sha256": "0snf3pjnhff0r7v4iwqqq3568h0a4ff7b2s3axssxk4rfg8bm3ks"
+   "commit": "299042e1ce65bea0728bc56b0540a7ab8ab02010",
+   "sha256": "1y2p74am7v0n9bdzsix0fi6fzhi3pafxr8c2n36cm9hf5xdmb4q1"
   },
   "stable": {
    "version": [
@@ -102372,11 +102424,11 @@
   "repo": "11111000000/tao-theme-emacs",
   "unstable": {
    "version": [
-    20210417,
-    626
+    20210726,
+    1827
    ],
-   "commit": "d5ccf6f53d65e80083acdfb0bced6bcd678c6ea9",
-   "sha256": "1wgk0xngamwgh242wfmxizi5r1ji5dxmr8s542g3p7rgfv5w0qs8"
+   "commit": "f35b97823f27e8d0f378bbd18b79a61f9e34cc55",
+   "sha256": "097zvklc90dy90p62fbk5khnysijzmb6knvzyi8m6wba2g32v4mh"
   },
   "stable": {
    "version": [
@@ -102587,15 +102639,15 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20210711,
-    1323
+    20210728,
+    1000
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "377531fc19063b490b842e779df9b07195e8c496",
-   "sha256": "0gmjfw6kz5cflvj3zmyhw9qad850ckvq14k5vys62603yvm53qgw"
+   "commit": "e3ae2dfe048f25f3929b414279f6ceffbed748cf",
+   "sha256": "1lawl9gn59qkn7bfp6phzsiaw1nkmz3g38skbzrn86nsk9dczkzl"
   },
   "stable": {
    "version": [
@@ -102642,16 +102694,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20210322,
-    2248
+    20210724,
+    1411
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "aebac4658e553902369a3bf465bacc1f07a01106",
-   "sha256": "1kbxhrlg3pddg10zb9h3ky72f6l67nb5cziv17i3d0shx2z0sw17"
+   "commit": "ff5fcb2181cf1d52bfc5fb8d76ac37f9cad22ce2",
+   "sha256": "15l5w4avs3y6mj22k6c1vfvk7az69wiws0yym4vyqmfpdpsmwab2"
   },
   "stable": {
    "version": [
@@ -103535,14 +103587,14 @@
   "repo": "myTerminal/theme-looper",
   "unstable": {
    "version": [
-    20210714,
-    1807
+    20210727,
+    249
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "bb711c4bb992d7a129dd434a41a356cdaf8c387d",
-   "sha256": "09i7w2s594ksyi7a9bwpcycn4j7is19jh9kznrk39ar2kc3m118h"
+   "commit": "32ca76dfa8100a2069ca735e28e19ae87c74f956",
+   "sha256": "184n2r33d99wmzrnscpl0rqqivmvm17k60gfbrw5yjppq5fl55m3"
   },
   "stable": {
    "version": [
@@ -103678,8 +103730,8 @@
     20200212,
     1903
    ],
-   "commit": "1486e47402a5fa7df9791bd01c7e703671de9de6",
-   "sha256": "098hf7w27223v0h7090w4s2gcw5ylnj6fdfw3c1ifhblglyrbq1n"
+   "commit": "00e9095d6b2eeba01ba1b76b4816891d21ccf7e4",
+   "sha256": "0k9d7zb6l8v7pihgk5spy73jkdab9c7cwc4zwhbd9v65rd6756zj"
   },
   "stable": {
    "version": [
@@ -104630,10 +104682,10 @@
  },
  {
   "ename": "tracking",
-  "commit": "a2b295656d53fddc76cacc86b239e5648e49e3a4",
-  "sha256": "096h5bl7jcwz5hpbm2139bf8a784hijfy40vzf42y1c9794al46z",
+  "commit": "f0f88655608fec94c0a218e261cef10436aa8265",
+  "sha256": "1708zilyjwx0x27v2izd6yiqs2lfaxw620ikqiyx2fjfvxrf6794",
   "fetcher": "github",
-  "repo": "jorgenschaefer/circe",
+  "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
     20210713,
@@ -104743,11 +104795,11 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20210721,
-    2104
+    20210723,
+    1601
    ],
-   "commit": "769219b5f5757f1373a28e993f36b6a41c778651",
-   "sha256": "1s108ps8l563ywn4k5z64y67fgi3j0c7ln2zz9qi9xfih0lnz81b"
+   "commit": "efdf91980a6f8bcb151debb877302ead8751ab65",
+   "sha256": "17gyd76ih8b9f8jw0c47x337lfdynz98xq1kykxs8riwrih1dhip"
   },
   "stable": {
    "version": [
@@ -105051,14 +105103,14 @@
   "repo": "ubolonton/tree-sitter-langs",
   "unstable": {
    "version": [
-    20210314,
-    1704
+    20210724,
+    1056
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "5d362ce98dcf656d7a55fcad6ae21c0a2caca861",
-   "sha256": "11nfyyzyz9x4w4l4hpz0y27awknlwx3kn9dwvkzdn174jk2kxp9a"
+   "commit": "a516144aa9b109582e89702e5d76217e8fae907b",
+   "sha256": "1p2izm6n3r31jjxq8sazkqxnlhvg3kalf10323q246pdq6frk0qz"
   },
   "stable": {
    "version": [
@@ -105117,8 +105169,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20210713,
-    2032
+    20210726,
+    1955
    ],
    "deps": [
     "ace-window",
@@ -105130,8 +105182,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   },
   "stable": {
    "version": [
@@ -105167,8 +105219,8 @@
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "a6f9e9f1cea3502b3ead082fd208c4011a55add0",
-   "sha256": "1g004yj613x6qr06gaffb6rp2n47ximb1w8776l0s6w8d40msyyg"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   }
  },
  {
@@ -105186,8 +105238,8 @@
     "evil",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   },
   "stable": {
    "version": [
@@ -105216,8 +105268,8 @@
    "deps": [
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   },
   "stable": {
    "version": [
@@ -105248,8 +105300,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   },
   "stable": {
    "version": [
@@ -105281,8 +105333,8 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   },
   "stable": {
    "version": [
@@ -105314,8 +105366,8 @@
     "perspective",
     "treemacs"
    ],
-   "commit": "a6f9e9f1cea3502b3ead082fd208c4011a55add0",
-   "sha256": "1g004yj613x6qr06gaffb6rp2n47ximb1w8776l0s6w8d40msyyg"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   }
  },
  {
@@ -105333,8 +105385,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "e4a85e3266581b8a8f526dbf4142c26d6e76d294",
-   "sha256": "1bjjz504a6nyh8ymqj4zbakp7b2006r0ayid5akc6yzpmyrsb4rl"
+   "commit": "ac920b2265ca24c0536dd4502f792f06638a6fdc",
+   "sha256": "1md7way1yygljfpcf50wlm3mm4r6d33jigl02fyhbqi15dk48d10"
   },
   "stable": {
    "version": [
@@ -105381,11 +105433,11 @@
   "repo": "tilmanrassy/emacs-treeview",
   "unstable": {
    "version": [
-    20200921,
-    6
+    20210723,
+    2256
    ],
-   "commit": "e6012303670d112596e00eb3cb505eb0e0d61d84",
-   "sha256": "0drjzjwrk7fkcc6q8qbvzf60dgcbnysm482cdvzikc0phzgjpl9n"
+   "commit": "09c8c1d045c7c8eace61b10b6df9d2f9079de78e",
+   "sha256": "008m6ckrcc0ddnrc5p9b5agbvsma31bq0094yygv5dwg49lh7ly4"
   }
  },
  {
@@ -107976,8 +108028,8 @@
   "repo": "koral/veri-kompass",
   "unstable": {
    "version": [
-    20181103,
-    1246
+    20200213,
+    934
    ],
    "deps": [
     "cl-lib",
@@ -108564,6 +108616,29 @@
   }
  },
  {
+  "ename": "vline",
+  "commit": "515c6cd2efaa2c330122aabd7b23f29d5e4ec27d",
+  "sha256": "12kwxblqd8zdqhlcacvpd6z732l3ig92vklzbsv90n31k27yzzyn",
+  "fetcher": "github",
+  "repo": "emacsorphanage/vline",
+  "unstable": {
+   "version": [
+    20120108,
+    1245
+   ],
+   "commit": "8cc7947387f8da2888da25538668afa33a1d8662",
+   "sha256": "0iqnin1z8fxhh59199zakfd6jw7nj7425y642vrxxn043a3s08vw"
+  },
+  "stable": {
+   "version": [
+    1,
+    11
+   ],
+   "commit": "bc29e08c8e04845fb0e09155fe8f5212862f0a92",
+   "sha256": "1gcskm7p6f3b29ax41hafxjla38qw8cyvazmnn9xmx3pw0hf0jx0"
+  }
+ },
+ {
   "ename": "vmd-mode",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1xjyl2xh3vig2rzjqm1a4h2ridygbanmal78s4yc32hacy0lfyrx",
@@ -108990,11 +109065,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20210615,
-    103
+    20210728,
+    2251
    ],
-   "commit": "635a71df74d755113f26a6c6d9ae48ccb485393d",
-   "sha256": "0llby9858sjfxrh6x5nklkm24lmk6d5xm6mw0y6d02pn6rinx0sx"
+   "commit": "f0baf78897c95799a725d6f9092eef4a55a7f518",
+   "sha256": "1cb5c8fmdg5fzqcj9dsqxb0xah7kk5sl0crm9rq6l13zvvqn714a"
   }
  },
  {
@@ -109998,11 +110073,11 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20210712,
-    1852
+    20210728,
+    150
    ],
-   "commit": "55fcce0c6143044535bc6825a68f42ca83f58f00",
-   "sha256": "0bap1k6rzaqvqp7njzikw8clhky1fj78mdcx4zah1y57vhszavcw"
+   "commit": "cc84b2d0da629ecb62a92e3fd23cbee4ea20ce56",
+   "sha256": "0h4f1pdkvp92mqp6vy8vk1xbyjfhgccm4fw00kim08mzf0z8zjyy"
   },
   "stable": {
    "version": [
@@ -110709,8 +110784,8 @@
     20210405,
     1410
    ],
-   "commit": "c67784cc0c44dc7c590f1f1f5a979a36b1e8c11d",
-   "sha256": "0pisq1b2yjfplv64xn33lw38ymmpr8wah84pfnwvzqnlfsn5s1hs"
+   "commit": "a144cfd1604c308f65f990a1e994ab0d5d7fe244",
+   "sha256": "0q5ivjaxsw9ci40ap7qavziqjfbarlk7fwqivmndcgwnh0is3ddx"
   }
  },
  {
@@ -111560,11 +111635,11 @@
   "repo": "xahlee/xah-get-thing-or-selection",
   "unstable": {
    "version": [
-    20170821,
-    1053
+    20210724,
+    159
    ],
-   "commit": "e3ef069ea9fea3a092689d45c94c6211b51d0ea4",
-   "sha256": "0z9pflz99p2i7czccpzvw7bkbshfycpb6js9n8a12yhc1ndbz6z0"
+   "commit": "4f9041e7231108bc86ce722c623884146973343b",
+   "sha256": "1my96vqbwnnqfmh3r93ch6yqka6kqfq3qis9s3dqrmb91zvcjdl0"
   }
  },
  {
@@ -113815,8 +113890,8 @@
   "repo": "egh/zotxt-emacs",
   "unstable": {
    "version": [
-